Utilizzare i 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 Persistent Disk o ai dischi SSD locali nella VM Linux, utilizza i 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, potresti dover 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 Persistent Disk.

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 i dischi SSD locali su C3 e C3D, consulta la sezione Risolvere i problemi relativi ai 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 link simbolici vengono creati come segue:

Persistent Disk e Hyperdisk di Google Cloud

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 quando hai creato il disco:
    • Disco di avvio: google-VM_NAME
    • Disco non di avvio: google-DISK_NAME

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

Disco SSD locale

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

  • SCSI: i link simbolici sono denominati 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 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 collegata

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 l'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 Persistent Disk è google-instance-1, che si basa sul nome della VM. Il disco di avvio è formattato e su di esso è installato il sistema operativo. 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 collegata e disco permanente aggiuntivo

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

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

Per la VM vengono creati i seguenti link 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 link simbolico del disco di avvio 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 il link simbolico google-extra-scsi-disk, basato sul nome del disco. Il Persistent Disk aggiuntivo e il secondo disco SSD locale non sono formattati, pertanto per questi dischi è elencato un solo link simbolico.

Passaggi successivi