ייבוא ויצוא קבצי OVF: העברת מכונות וירטואליות בין מארחים

בעבודתי היומית הנוכחית, נשאל אותי בדרך כלל על שימוש ב-PowerCLI לביצוע מספר משימות בקבוצת vCenter. בפוסט הזה, אשתף איך למדתי לייבא קובץ OVF ב-VMware.

OVF File

זוהי סיפור על בקשת סיוע אחרונה שקיבלתי מקולגה שהייתה צריכה לייצא תבנית של מערך ניטור מותאם אישית לקבוצת vCenter חדשה שהייתה בתהליך בניה. הקולגה שלי הייתה עם מגבלת זמן ולא כיה לה הגישה הנדרשת לתבנית.

אם עדיין לא יש לך, דאג להוריד את המודול PowerCLI באמצעות Install-Module -Name PowerCLI

חיבור ל-vCenter

לא מעוניין לפספס הזדמנות להשתמש ב־PowerShell או ב־PowerCLI, קפצתי בראש קדימה לעזור. אני אסף את המידע הנדרש מהקולגה שלי ומתחיל להתחבר לקבוצה:

PS6> Connect-VIServer -Server vcenter.mydomain.local -Credential (Get-Credential)

זה לוקח רק רגע להשלמה. לאחר שהתחברת, עליך לדעת אילו פקודות להשתמש. ניתן לעשות זאת בעזרת הפקודה Get-Command -Module PowerCLI.

ישנם שני פקודות שמתפרצות:

  • Export-VApp
  • Import-VApp

השתיים מהם נראים את מה שאתה צריך בדיוק. אבל קודם כל, מאחר וזו הזדמנות ללמוד בשבילי ואולי גם בשבילך, אני אלמד קצת עוד על השימוש הנכון של כל אחת מהן.

ייצוא מכונות וירטואליות לקובץ OVF

הַפְּקֻדָּה Export-VApp תְּיַיֵצֶא אֶת הַ-VM שֶׁהוּא כֻּבָּוֵה כְּ-OVF לַתְּיקִיָּה הַנוֹוכְחִית בְּדֶרֶךְ בְּרִירַת מֶחְדָּל אִם לֹא תְּצַיֵּן נָתְיב.

I already have a path in mind so I’m going to be using the C:\Exported-OVF directory but yours may vary. Knowing this, you can then run Export-VApp against the VM template specifying the destination folder.

PS6> Export-VApp -VM 'My_VM_Template' -Destination 'C:\Exported-OVF\'

אַבֶּל יֵשׁ בָּעָיה. אַתָּה לֹא יְכוֹל לְיַיֵצֵא VM פּוֹעֵל לְ-OVF. אַל דְּאָגָה, זֶה תִיקוּן מַהֵיר. שַׁנֶּה אֶת הַקוֹד שֶׁלְּךָ קְצָת יוֹתֵר וּדְאוּ שֶׁתּוֹם רִאשׁוֹן אֶת הַ-VM בְּאֶמְצַעוּת הַפְּקֻדָּה Shutdown-VMGuest.

PS6> Shutdown-VMGuest -VM 'My_VM_Template'

עִם הַתַּבְנִית שֶׁל הַמַּכְשֵׁיר מְנוּתָקָה כְּעֵת, הַמָּשִׁיכוּ לְהַפְעִיל אֶת הַפְּקֻדָּה Export-VApp שֶׁנִּסְתַּם קֹדֶם. תַּהֲלִיך זֶה יִיקַח מִסְפָּר דַקוֹת, וְלֹא הָיָה מַכְשֵׁיר גָּדוֹל מְאֹד לְהַתְחָלָה.

כְּשֶׁיֵשׁ הַשְׁלֵמוּת, יֵשׁ לְךָ מַכְשֵׁיר מוּכָן לְהִתְקִין בְּסְבִיבָת vCenter אַחֶרֶת. אוֹ אוּלַי לֹא?

יְבוּא קוֹבּוֹת OVF

עַכְשָׁיו עַלֶיךָ לְהַחְזִיר קוֹבּוֹת עַל הַמְּעִרָכָת הַקוֹבּוֹת שֶׁלְּךָ. זֶה כְּדי לְיַיֵצֵא אוֹתוֹ. כְּדי לעֲשׂוֹת זֹאת, יֵשׁ לְךָ לִשְׁאֹול אֶת הַמַּעֲרָכָת לְיַיֵצֵא אוֹתוֹ יַחְדָּ עִם הַמַּכְשֵׁיר VM. תוּכְלוּ לְהַשְׁתִּמֵשׁ בַּאוֹבְיָקְטִים שֶׁל שְׁנֵי הַאֲבָרִים כְּדֵי לִהְעִבִּיר לְפַקֵּודָת הַיְבוּא Import-Vapp.

PS6> $myDatastore = Get-Datastore -Name "MyDatastore1"
PS6> $vmHost = Get-VMHost -Name "MyHost"
PS6> $vmHost | Import-vApp -Source 'C:\Exported-OVF\My_VM_Template\My_VM_Template.ovf' -Datastore $myDatastore -Force

אֲבָל רַק רְגַע! זֶה לֹא עוֹבֵד. בַּמַּקָּרָה שֶׁלִּי, זֶה נִכְשָׁל כְּיָתֵר שֶׁאִתִּי לֹא שָׁם לֵב כִּי אֲנִי קוֹשֵׁר בְּאַפְשָׁרוּת קְלִיטָה נוֹסֵף שֶׁל vCenter אַחֵר.

מַשְׁהוּ קָרָה כְּשֶׁהַתְחַלְתִּי לְיַיֵצֵא אֶת הַמַּכְשֵׁיר VM שֶׁיוּיְצָא מִרְאשׁ. יָם שֶׁל הוֹדָעוֹת תְּקֻלּוֹת אָדוֹמוֹת.

I read the error message, and sure enough, the host is not a part of a vCenter cluster and therefore does not have proper licensing to complete the import using PowerCLI. This is a limitation that VMware enforces.

אַל דְּאָגָה, עֲדַיִן הָיָה נִיתָן לְהִתְחַבֵּר לִמְמֶשֶׁק הָאֲינְטֶרְנֶט שֶׁל הַמַּאֲרִיך וּלְיַיֵצֵא בְּאֶמְצַעוּת מַמְשֵׁק HTML5. הַקוֹבּוֹת מַדְרִיכִים אוֹתְךָ דֶּרֶךְ כָּל צַעַד, נָתְנוּ לַמַּכְשֵׁיר הַיְבוּא שֵׁם, בְּחֵר בַּ-OVF, בְּאֵיזוֹת, בְּסוּג הַהִתְקָנוּת (עִבְרִית אוֹ דַקָה), וּבְדִק אֶת הַתְּצוּרָה. לְאַחַר מִכָּךְ, בְּחַר סיום וְהַיְבוּא מַתְחִיל.

בזמן שניסיון הייבוא הקודם היה יעיל עם אשף vCenter, זה פשוט לא היה עובד במצב הזה. זה לקח יותר זמן ממה שציפינו, אך היה ישר קדימה. ניתן לקרוא עוד על התהליך כאן.

בסופו של יום, הייבוא היה מוצלח והקולג שלי פגש במועדו.

סיכום

עד למעמד זה, לא התרגלתי שלא כל קומנדלטים של PowerCLI זמינים בכל המצבים. אך שנינו למדנו מיומיום חדש ולמרות קשיים בלתי צפויים, הצלחנו עדיין להשלים במשימה שלנו.

לעיתים קרובות אנו ממהרים עם פרויקטי ה-IT בחיפוש אחר תיקון 'מהיר'. שמרו על מהירותכם, תקחו דקה נוספת לשאול שאלות, לשוב צעד אחורה ולהבין את הבעיה שאתם מנסים לפתור. ייתכן שתגלו שאתם לומדים משהו חדש.

Source:
https://adamtheautomator.com/ovf-file/