שימוש בקישורים סמליים כדי לגשת לדיסקים שמצורפים למכונת חישוב של Linux

כשמצרפים דיסק למכונה של Compute Engine שמשתמשת במערכת הפעלה של Linux,‏Google Cloud יוצרת באופן אוטומטי קישור סימבולי (symlink) לדיסק. כדי לגשת לדיסקים לאחסון מתמיד או לדיסקי SSD מקומיים במכונה, משתמשים בקישורים הסימבוליים. הקישורים הסימבוליים האלה ניתנים לחיזוי ונשארים עקביים גם אחרי הפעלה מחדש. Google Cloud יוצר קישורים סימבוליים לכל הדיסקים שמחוברים למכונה ב-/dev/disk/by-id.

במאמר הזה מוסבר איך לזהות את הקישורים הסימבוליים הנכונים לדיסקים שמחוברים למכונה של Compute Engine ב-Linux.

קישורים סימבוליים נוצרים ב-/dev/disk/by-id כשדיסק מצורף למכונה, במהלך יצירת המכונה או אחרי שהיא נוצרה. השמות של הקישורים הסימבוליים נוצרים באופן הבא:

Persistent Disk ו-Google Cloud Hyperdisk

הקישורים הסימבוליים נוצרים לפי הכללים הבאים:

  • אם ציינתם שם מכשיר בהתאמה אישית כשיצרתם את הדיסק: google-DEVICE_NAME
  • אם לא ציינתם שם מותאם אישית למכשיר כשיצרתם את הדיסק:
    • דיסק אתחול: google-INSTANCE_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.

קישורים סמליים של מכשירים

‫Compute Engine יוצר קישורים סימבוליים נוספים בספרייה, על סמך סוג הדיסק והממשק, לדוגמה scsi-0Google_PersistentDisk_DEVICE_NAME. הקישורים האלה מבצעים את אותה פונקציה כמו הקישורים הסימבוליים שצוינו קודם.

דוגמה 1: מכונה מסוג C3 עם SSD מקומי מצורף

נניח שיצרתם מכונה עם המאפיינים הבאים:

  • שם המכונה: instance-1
  • סדרת מכונות: C3
  • סוג ממשק הדיסק: NVMe גם לדיסק לאחסון מתמיד וגם ל-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, שמבוסס על שם המכונה. דיסק האתחול מפורמט ומותקנת בו מערכת ההפעלה. לדיסק האתחול יש 3 מחיצות: part1,‏ part14 ו-part15. דיסקי ה-SSD המקומיים המצורפים לא מעוצבים, ולכן נוצר רק קישור סימבולי אחד לכל דיסק SSD מקומי.

דוגמה 2: מכונת N2 עם כונן NVMe Local SSD מצורף ודיסק אחסון מתמיד (persistent disk) נוסף

נניח שיצרתם מכונה עם המאפיינים הבאים:

  • שם המכונה: instance-2
  • סדרת מכונות: N2
  • סוג ממשק הדיסק: SCSI ל-Persistent Disk ו-NVMe ל-SSD מקומי
  • דיסקים נוספים: Persistent Disk אחד בשם 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, שמבוסס על שם המכונה. דיסק האתחול מפורמט וקובץ האימג' של מערכת ההפעלה מותקן בו. לדיסק האתחול יש 3 מחיצות: part1,‏ part14 ו-part 15. גם דיסק ה-SSD המקומי הראשון מחולק למחיצות, עם מחיצה אחת, כך שנוצר קישור סימבולי נוסף למחיצת הדיסק הזו. לדיסק הנוסף של Persistent Disk שנוסף למכונה יש את הקישור הסימבולי google-extra-scsi-disk, שמבוסס על שם הדיסק. הדיסק הנוסף של Persistent Disk והדיסק השני של Local SSD לא מעוצבים, ולכן מופיע רק קישור סימבולי אחד לדיסקים האלה.

המאמרים הבאים