איך מקבלים את המזהה הייחודי האוניברסלי (UUID) של מכונה וירטואלית

במאמר הזה מוסבר איך לקבל את המזהה הייחודי האוניברסלי (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