Utilizza link simbolici per accedere ai dischi collegati a una VM Linux


Quando colleghi un disco a una macchina virtuale (VM) che utilizza un sistema operativo Linux, Google Cloud crea automaticamente un link simbolico (symlink) per il disco. A per accedere a volumi di Persistent Disk o a dischi SSD locali nella tua VM Linux, o link simbolici. Questi link simbolici sono prevedibili e rimangono coerenti dopo i riavvii. Google Cloud crea link simbolici per tutti i dischi collegati a una VM in /dev/disk/by-id.

Questo documento spiega come identificare i link simbolici corretti per i dischi collegati a una VM.

Limitazioni

Se colleghi dischi SSD locali a una VM C3 o C3D, potrebbe essere necessario eseguire ulteriori passaggi per creare i link simbolici per i dischi SSD locali. Questi passaggi sono necessari solo se utilizzi uno dei seguenti strumenti pubblici offerte da Google Cloud:

  • SLES 15 SP4 e SP5
  • SLES 12 SP4

Questi passaggi aggiuntivi si applicano solo ai dischi SSD locali. Non devi fare nulla per i volumi dei dischi permanenti.

Le immagini pubbliche nell'elenco precedente non includono l'SSD locale link simbolici in formato /dev/disk/by-id/google-local-nvme-ssd-N. In queste immagini esistono solo i link simbolici che utilizzano le informazioni del dispositivo, ad esempionvme-nvme.1ae0-6e766d655f636172642d7064-6e766d655f636172642d7064-00000001.

Per ottenere i collegamenti simbolici facili da usare per queste immagini Linux, devi aggiornare il udev regole e aggiungi uno script all'istanza.

Per istruzioni su come aggiornare le regole udev per supportare i link simbolici per i dischi SSD locali su C3 e C3D, consulta la sezione Risolvere i problemi relativi ai dischi NVMe.

In alternativa all'uso dei collegamenti simbolici, puoi accedere ai dischi SSD locali alle VM usando i nomi dei dispositivi, ad esempio /dev/nvme0n1.

I link simbolici vengono creati in /dev/disk/by-id quando un disco viene collegato alla VM, durante o dopo la creazione della VM. I nomi dei link simbolici vengono creati come segue:

Persistent Disk e Hyperdisk di Google Cloud

I collegamenti simbolici vengono creati utilizzando le seguenti regole:

  • Se hai specificato un nome dispositivo personalizzato durante la creazione del disco: google-DEVICE_NAME
  • Se non hai specificato un nome dispositivo personalizzato durante la creazione del disco:
    • Disco di avvio: google-VM_NAME
    • Disco non di avvio: google-DISK_NAME

Dopo aver formattato il disco, al link simbolico viene aggiunta -partN, dove N è il numero di partizione, ad esempio google-data-disk-part1.

Dischi SSD locali

I collegamenti simbolici degli SSD locali hanno formati diversi a seconda dell'interfaccia del disco.

  • SCSI: i collegamenti simbolici sono denominati google-local-ssd-N, dove N è il numero del disco SSD locale, che inizia da 0.
  • NVMe: i collegamenti simbolici sono denominati google-local-nvme-ssd-N, dove N è il numero dell'SSD, che inizia da 0.

Dopo aver formattato un disco SSD locale, al link simbolico viene aggiunto -partN, dove N è il numero di partizione, ad esempio google-local-nvme-ssd-0-part1.

Link simbolici dei dispositivi

Compute Engine crea link simbolici aggiuntivi nella directory in base al tipo di disco e all'interfaccia, ad esempio scsi-0Google_PersistentDisk_DEVICE_NAME. Questi link svolgono la stessa funzione dei link simbolici menzionati in precedenza.

Esempio 1: VM C3 con SSD locale collegato

Supponi di aver creato una VM con le seguenti proprietà:

  • Nome VM: instance-1
  • Serie di macchine: C3
  • Tipo di interfaccia del disco: NVMe sia per Persistent Disk che per SSD locale
  • Dischi aggiuntivi: nessuno
  • Dischi SSD locali collegati: 2
  • Nomi personalizzati dei dispositivi utilizzati: nessuno

Compute Engine crea i seguenti link simbolici per la VM:

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

In questo esempio, il link simbolico del disco di avvio del disco permanente è google-instance-1, che si basa sul nome della VM. Il disco di avvio sia formattato e include il sistema operativo installato. Il disco di avvio ha 3 partizioni: parte 1, parte 14 e parte 15. I dischi SSD locali collegati non sono formattati, pertanto è stato creato un solo link simbolico per ogni disco SSD locale.

Esempio 2: VM N2 con SSD locale NVMe collegata e disco permanente aggiuntivo

Supponi di aver creato una VM con le seguenti proprietà:

  • Nome VM: instance-2
  • Serie di macchine: N2
  • Tipo di interfaccia del disco: SCSI per Persistent Disk e NVMe per SSD locale
  • Dischi aggiuntivi: 1 disco permanente denominato extra-scsi-disk
  • Dischi SSD locali collegati: 2
  • Nomi dispositivi personalizzati utilizzati: nessuno

Per quella VM vengono creati i seguenti collegamenti simbolici:

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

In questo esempio, il collegamento simbolico del Persistent Disk è google-instance-2, che si basa sul nome della VM. Il disco di avvio è formattato e su di esso è installata l'immagine del sistema operativo. Il disco di avvio ha tre partizioni: part1, part14 e part15. Anche il primo disco SSD locale è partizionato, con una singola partizione, quindi viene creato un altro link simbolico per la partizione del disco. Il Persistent Disk aggiuntivo aggiunto alla VM ha link simbolico google-extra-scsi-disk, che è basato sul nome del disco. L'extra Persistent Disk e il secondo disco SSD locale non sono formattati, quindi viene elencato un solo collegamento simbolico per questi dischi.

Passaggi successivi