Menggunakan link simbolis untuk mengakses disk yang terpasang ke VM Linux


Saat Anda memasang disk ke virtual machine (VM) yang menggunakan OS Linux, Google Cloud akan otomatis membuat link simbolis (symlink) untuk disk tersebut. Untuk mengakses volume Persistent Disk atau disk SSD Lokal di VM Linux Anda, gunakan symlink. Symlink ini dapat diprediksi dan tetap konsisten meskipun perangkat dimulai ulang. Google Cloud membuat symlink untuk semua disk yang terpasang ke VM di /dev/disk/by-id.

Dokumen ini menjelaskan cara mengidentifikasi symlink yang benar untuk disk yang terpasang ke VM.

Batasan

Jika memasang disk SSD Lokal ke VM C3 atau C3D, Anda mungkin perlu melakukan langkah tambahan guna membuat symlink untuk disk SSD Lokal. Langkah-langkah ini hanya diperlukan jika Anda menggunakan salah satu image publik berikut yang ditawarkan oleh Google Cloud:

  • SLES 15 SP4 dan SP5
  • SLES 12 SP4

Langkah-langkah tambahan ini hanya berlaku untuk disk SSD Lokal. Anda tidak perlu melakukan apa pun untuk volume Persistent Disk.

Gambar publik dalam daftar sebelumnya tidak memiliki symlink SSD Lokal dalam bentuk /dev/disk/by-id/google-local-nvme-ssd-N. Hanya symlink yang menggunakan informasi perangkat, misalnya nvme-nvme.1ae0-6e766d655f636172642d7064-6e766d655f636172642d7064-00000001, yang ada di gambar ini.

Untuk mendapatkan symlink yang mudah digunakan untuk image Linux ini, Anda harus mengupdate aturan udev dan menambahkan skrip ke instance.

Untuk mengetahui petunjuk cara memperbarui aturan udev guna mendukung symlink untuk disk SSD Lokal di C3 dan C3D, lihat Memecahkan masalah disk NVMe.

Sebagai alternatif menggunakan symlink, Anda dapat mengakses disk SSD Lokal di VM dengan menggunakan nama perangkat-nya, misalnya, /dev/nvme0n1.

Symlink dibuat di /dev/disk/by-id saat disk terpasang ke VM, baik selama maupun setelah pembuatan VM. Nama symlink dibuat sebagai berikut:

Persistent Disk dan Hyperdisk Google Cloud

Symlink dibuat menggunakan aturan berikut:

  • Jika Anda menentukan nama perangkat kustom saat membuat disk: google-DEVICE_NAME
  • Jika Anda tidak menentukan nama perangkat kustom saat membuat disk:
    • Boot disk: google-VM_NAME
    • Disk non-booting: google-DISK_NAME

Setelah Anda memformat disk, symlink akan ditambahkan dengan -partN, dengan N sebagai nomor partisi, misalnya google-data-disk-part1.

Disk SSD lokal

Symlink SSD lokal memiliki format yang berbeda bergantung pada antarmuka disk.

  • SCSI: Symlink diberi nama google-local-ssd-N, dengan N adalah nomor disk SSD Lokal yang dimulai dari 0.
  • NVMe: Symlink diberi nama google-local-nvme-ssd-N, dengan N adalah nomor SSD, dimulai dari 0.

Setelah Anda memformat disk SSD Lokal, symlink akan ditambahkan dengan -partN, dengan N sebagai nomor partisi, misalnya, google-local-nvme-ssd-0-part1.

Simlink perangkat

Compute Engine membuat symlink tambahan dalam direktori berdasarkan antarmuka dan jenis disk, misalnya scsi-0Google_PersistentDisk_DEVICE_NAME. Link ini menjalankan fungsi yang sama seperti symlink yang disebutkan sebelumnya.

Contoh 1: VM C3 dengan SSD Lokal terpasang

Misalkan Anda membuat VM dengan properti berikut:

  • Nama VM: instance-1
  • Seri mesin: C3
  • Jenis antarmuka disk: NVMe untuk Persistent Disk dan SSD Lokal
  • Disk tambahan: tidak ada
  • Disk SSD Lokal yang terpasang: 2
  • Nama perangkat kustom yang digunakan: tidak ada

Compute Engine membuat symlink berikut untuk VM tersebut:

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

Dalam contoh ini, symlink disk booting Persistent Disk adalah google-instance-1, yang didasarkan pada nama VM. Boot disk diformat dan sudah disertai sistem operasi yang terinstal. Boot disk ini memiliki 3 partisi: part1, part14, dan part15. Disk SSD Lokal yang terpasang tidak diformat, sehingga hanya satu symlink yang dibuat untuk setiap disk SSD Lokal.

Contoh 2: VM N2 dengan SSD Lokal NVMe yang terpasang dan Persistent Disk tambahan

Misalkan Anda membuat VM dengan properti berikut:

  • Nama VM: instance-2
  • Seri mesin: N2
  • Jenis antarmuka disk: SCSI untuk Persistent Disk dan NVMe untuk SSD Lokal
  • Disk tambahan: 1 Persistent Disk bernama extra-scsi-disk
  • Disk SSD Lokal yang terpasang: 2
  • Nama perangkat kustom yang digunakan: tidak ada

Symlink berikut dibuat untuk VM tersebut:

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

Dalam contoh ini, symlink disk booting Persistent Disk adalah google-instance-2, yang didasarkan pada nama VM. Boot disk sudah diformat dan memiliki OS image yang terinstal. Boot disk ini memiliki 3 partisi: part1, part14, dan part15. Disk SSD Lokal pertama juga dipartisi, dengan satu partisi, sehingga ada symlink tambahan yang dibuat untuk partisi disk tersebut. Persistent Disk tambahan yang ditambahkan ke VM memiliki symlink google-extra-scsi-disk, yang didasarkan pada nama disk. Persistent Disk tambahan dan disk SSD Lokal kedua tidak diformat, sehingga hanya satu symlink yang dicantumkan untuk disk tersebut.

Langkah selanjutnya