כשמצרפים דיסק למכונה וירטואלית (VM) שמשתמשת במערכת הפעלה Linux,Google Cloud יוצרת באופן אוטומטי קישור סמלי (symlink) לדיסק. כדי לגשת לדיסקים לאחסון מתמיד או לדיסקים מקומיים מסוג SSD במכונת ה-VM של Linux, משתמשים בקישורים סמליים. הקישורים הסמליים האלה צפויים ונשארים עקביים גם אחרי הפעלה מחדש.
Google Cloud יוצר קישורים סמליים לכל הדיסקים שמצורפים למכונה וירטואלית ב-Google Cloud ./dev/disk/by-id
במאמר הזה מוסבר איך לזהות את הקישורים הסמליים הנכונים לדיסקים שמצורפים למכונה וירטואלית.
פורמט של קישורים סימבוליים
קישורי Symlink נוצרים ב-/dev/disk/by-id כשמצרפים דיסק ל-VM, במהלך יצירת ה-VM או אחרי היצירה. שמות הקישורים הסמליים נוצרים באופן הבא:
Persistent Disk ו-Google Cloud Hyperdisk
הקישורים הסמליים נוצרים לפי הכללים הבאים:
- אם ציינתם שם מכשיר בהתאמה אישית כשנוצר הדיסק:
google-DEVICE_NAME - אם לא ציינתם שם מכשיר מותאם אישית כשנוצר הדיסק:
- דיסק אתחול:
google-VM_NAME - דיסק שאי אפשר לאתחל ממנו:
google-DISK_NAME
- דיסק אתחול:
אחרי שמעצבים את הדיסק, הקישור הסמלי מתווסף עם -partN, כאשר N הוא מספר המחיצה, לדוגמה google-data-disk-part1.
דיסקים של SSD מקומי
לקישורי סמליים של SSD מקומיים יש פורמטים שונים בהתאם לממשק הדיסק.
- SCSI:
- אם ציינתם שם מכשיר בהתאמה אישית כשנוצר הדיסק:
google-DEVICE_NAME - אם לא ציינתם שם מכשיר מותאם אישית כשנוצר הדיסק:
google-local-ssd-N, כאשר N הוא מספר דיסק ה-SSD המקומי, החל מ-0.
- אם ציינתם שם מכשיר בהתאמה אישית כשנוצר הדיסק:
- NVMe: השמות של הקישורים הסמליים הם
google-local-nvme-ssd-N, כאשר N הוא מספר ה-SSD, החל מ-0.
אחרי שמפרמטים דיסק SSD מקומי, הקישור הסמלי מסתיים ב--partN, כאשר N הוא מספר המחיצה, לדוגמה, google-local-nvme-ssd-0-part1.
קישורי symlink למכשירים
Compute Engine יוצר קישורי symlink נוספים בספרייה על סמך סוג הדיסק והממשק, לדוגמה scsi-0Google_PersistentDisk_DEVICE_NAME.
הקישורים האלה מבצעים את אותה פעולה כמו הקישורים הסמליים שצוינו קודם.
דוגמה 1: מכונת VM מסוג C3 עם SSD מקומי מצורף
נניח שיצרתם מכונה וירטואלית עם המאפיינים הבאים:
- שם ה-VM:
instance-1 - סדרת מכונות: C3
- סוג ממשק הדיסק: NVMe גם ל-Persistent Disk וגם ל-Local SSD
- דיסקים נוספים: אין
- דיסקים מקומיים מסוג SSD שמצורפים: 2
- שמות מכשירים בהתאמה אישית בשימוש: אין
Compute Engine יוצר את הקישורים הסמליים הבאים למכונה הווירטואלית:
ls -l /dev/disk/by-id/google-*
google-instance-1 -> ../../nvme2n1
google-instance-1-part1 -> ../../nvme2n1p1
google-instance-1-part14 -> ../../nvme2n1p14
google-instance-1-part15 -> ../../nvme2n1p15
google-local-nvme-ssd-0 -> ../../nvme0n1
google-local-nvme-ssd-1 -> ../../nvme1n1
בדוגמה הזו, הקישור הסימבולי של דיסק האתחול של Persistent Disk הוא google-instance-1, שמבוסס על שם ה-VM. דיסק האתחול מעוצב ומערכת ההפעלה מותקנת בו. דיסק האתחול כולל 3 מחיצות: part1, part14 ו-part 15.
הדיסקים המקומיים של SSD שמצורפים לא מעוצבים, ולכן נוצר רק קישור סמלי אחד לכל דיסק מקומי של SSD.
דוגמה 2: מכונת VM מסוג N2 עם NVMe Local SSD מצורף ודיסק אחסון מתמיד (persistent disk) נוסף
נניח שיצרתם מכונה וירטואלית עם המאפיינים הבאים:
- שם ה-VM:
instance-2 - סדרת מכונות: N2
- סוג ממשק הדיסק: SCSI ל-Persistent Disk ו-NVMe ל-Local SSD
- דיסקים נוספים: דיסק אחסון מתמיד אחד בשם
extra-scsi-disk - דיסקים מקומיים מסוג SSD שמצורפים: 2
- שמות מכשירים בהתאמה אישית בשימוש: אין
נוצרים הקישורים הסמליים הבאים למכונה הווירטואלית:
ls -l /dev/disk/by-id/google-*
google-extra-scsi-disk -> ../../sdb
google-instance-2 -> ../../sda
google-instance-2-part1 -> ../../sda1
google-instance-2-part14 -> ../../sda14
google-instance-2-part15 -> ../../sda15
google-local-nvme-ssd-0 -> ../../nvme0n1
google-local-nvme-ssd-0-part1 -> ../../nvme0n1p1
google-local-nvme-ssd-1 -> ../../nvme0n2
בדוגמה הזו, הקישור הסימבולי של דיסק האתחול של Persistent Disk הוא google-instance-2, שמבוסס על שם ה-VM. דיסק האתחול מפורמט ומותקן בו קובץ אימג' של מערכת ההפעלה. דיסק האתחול כולל 3 מחיצות: part1, part14 ו-part 15.
גם הדיסק הראשון של Local SSD מחולק למחיצות, עם מחיצה אחת, ולכן נוצר קישור סמלי נוסף למחיצת הדיסק הזו.
לדיסק ה-Persistent Disk הנוסף שנוסף למכונה הווירטואלית יש את הקישור הסימבולי google-extra-scsi-disk, שמבוסס על שם הדיסק. הדיסק הנוסף של Persistent Disk והדיסק השני של Local SSD לא מעוצבים, ולכן מוצג רק symlink אחד לדיסקים האלה.
המאמרים הבאים
- איך משתמשים בשמות קבועים של מכשירים
- מפרמטים ומעלים את הדיסקים החדשים במכונות וירטואליות של Linux או Windows.
- איך משווים את הביצועים של Persistent Disk לביצועים של דיסקים אחרים