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. Per accedere ai volumi dei dischi permanenti o ai dischi SSD locali nella VM Linux, utilizza i link simbolici. Questi collegamenti simbolici sono prevedibili e rimangono coerenti tra 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 collegamenti simbolici corretti per i dischi è collegato 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 obbligatori solo se utilizzi una delle seguenti immagini pubbliche 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 hanno i link simbolici dell'unità SSD locale 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 link simbolici facili da usare per queste immagini Linux, devi aggiornare le regole udev e aggiungere uno script all'istanza.

Per istruzioni su come aggiornare le regole udev per supportare i link simbolici per Dischi SSD locali su C3 e C3D, consulta Risoluzione dei problemi dei dischi NVMe.

In alternativa all'utilizzo dei link simbolici, puoi accedere ai dischi SSD locali sulle VM utilizzando i relativi nomi dispositivo, 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 collegamenti simbolici vengono creati come segue:

Persistent Disk e Google Cloud Hyperdisk

I link 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 link simbolici si chiamano google-local-ssd-N, dove N è il numero del disco SSD locale, a partire da 0.
  • NVMe: i link simbolici sono denominati google-local-nvme-ssd-N, dove N è il numero dell'unità SSD, a partire da 0.

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

Link simbolici del dispositivo

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

Esempio 1: VM C3 con SSD locale collegato

Supponiamo che tu abbia creato una VM con le seguenti proprietà:

  • Nome della 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 dispositivi personalizzati 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 tre partizioni: part1, part14 e part15. 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 collegato 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 Persistent Disk 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 sia formattato e su di esso sia installata l'immagine del sistema operativo. Il disco di avvio ha 3 partizioni: parte 1, parte 14 e parte 15. 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