במאמר הזה מוסבר איך לקבל את המזהה הייחודי האוניברסלי (UUID) של מכונה וירטואלית (VM) מתוך מערכת ההפעלה של האורח.
לכל מכונה וירטואלית ב-Compute Engine יש UUID של המערכת עם המאפיינים הבאים:
ה-UUID הוא ייחודי בין המכונות הווירטואליות של Compute Engine.
Compute Engine יוצר את ה-UUID ממספר הפרויקט, מהאזור ומהשם של המכונה הווירטואלית.
ה-UUID יציב לאורך כל חיי ה-VM. אם מוחקים ויוצרים מחדש מכונה וירטואלית באותו פרויקט, באותו אזור ועם אותו שם, המכונה הווירטואלית מקבלת את אותו UUID, אבל יכול להיות שעיצוב המחרוזת, כמו אותיות רישיות וסדר הבייטים, ישתנה בין מערכות הפעלה וארכיטקטורות מעבד (CPU).
מזהי UUID זמינים למכונות וירטואליות שנוצרו ב-30 באוקטובר 2014 או אחרי התאריך הזה. אם יש לכם מכונת VM שנוצרה לפני התאריך הזה, אתם צריכים ליצור אותה מחדש כדי ש-Compute Engine יוכל להקצות לה UUID.
שימוש בכלים של מערכת ההפעלה כדי לקבל את ה-UUID של מכונה וירטואלית
כדי לקבל את ה-UUID של מכונה וירטואלית, מריצים את הפקודה שמתאימה למערכת ההפעלה של המכונה הווירטואלית:
Linux
מתחברים למכונה הווירטואלית של Linux וקוראים את ה-UUID של מערכת ה-BIOS לניהול המערכת (SMBIOS) מהקובץ /sys/class/dmi/id/product_uuid:
sudo cat /sys/class/dmi/id/product_uuid
לחלופין, אם הכלי dmidecode מותקן במכונה הווירטואלית, מריצים את הפקודה הבאה:
sudo dmidecode -s system-uuid
הפלט אמור להיראות כך:
3748eb17-a207-5bc3-aa4f-3113a1b9409d
Windows (PowerShell)
מ-PowerShell ב-Windows VM, מריצים את ה-cmdlet הבא של Get-CimInstance כדי לשלוח שאילתה למחלקת Win32_ComputerSystemProduct Common Information Model (CIM):
(Get-CimInstance -ClassName Win32_ComputerSystemProduct).UUID
הפלט אמור להיראות כך:
81CBB42C-73A0-9660-6C7D-2FE94627F3A3
Windows (שורת הפקודה)
בשורת הפקודה של ה-VM של Windows, מריצים את הפקודה הבאה כדי להפעיל את ה-cmdlet של PowerShell Get-CimInstance:
powershell -NoProfile -Command "(Get-CimInstance -ClassName Win32_ComputerSystemProduct).UUID"
הפלט אמור להיראות כך:
81CBB42C-73A0-9660-6C7D-2FE94627F3A3