Utilizza 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 viene creato automaticamente un link simbolico (collegamento simbolico) per il disco. Per accedere ai volumi dei dischi permanenti o ai dischi SSD locali nella VM Linux, utilizza i collegamenti simbolici. Questi collegamenti simbolici sono prevedibili e rimangono coerenti dopo i riavvii. Google Cloud crea collegamenti 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 collegati a una VM.

Limitazioni

Se colleghi dischi SSD locali a una VM C3 o C3D, potresti dover eseguire ulteriori passaggi per creare i collegamenti 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 collegamenti simbolici dell'unità SSD locale in formato /dev/disk/by-id/google-local-nvme-ssd-N. In queste immagini esistono solo i collegamenti simbolici che utilizzano le informazioni del dispositivo, ad esempio nvme-nvme.1ae0-6e766d655f636172642d7064-6e766d655f636172642d7064-00000001.

Per ottenere i collegamenti 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 collegamenti simbolici per i dischi SSD locali su C3 e C3D, consulta la sezione Risoluzione dei problemi relativi ai dischi NVMe.

In alternativa all'utilizzo dei collegamenti simbolici, puoi accedere ai dischi SSD locali sulle VM utilizzando i relativi nomi dispositivo, ad esempio /dev/nvme0n1.

I collegamenti 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 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 collegamento simbolico viene aggiunto -partN, dove N è il numero della partizione, ad esempio google-data-disk-part1.

Dischi SSD locali

I collegamenti simbolici 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, a partire da 0.
  • NVMe: i collegamenti 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 collegamenti simbolico viene aggiunto -partN, dove N è il numero della partizione, ad esempio google-local-nvme-ssd-0-part1.

Collegamenti simbolici del dispositivo

Compute Engine crea collegamenti 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 collegamenti simbolici menzionati in precedenza.

Esempio 1: VM C3 con SSD locale collegata

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

  • Nome VM: instance-1
  • Serie di macchine: C3
  • Tipo di interfaccia del disco: NVMe sia per il disco permanente sia per l'SSD locale
  • Dischi aggiuntivi: nessuno
  • Dischi SSD locali collegati: 2
  • Nomi dispositivi personalizzati utilizzati: nessuno

Compute Engine crea i seguenti collegamenti 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 collegamento simbolico del disco di avvio del disco permanente è google-instance-1, che si basa sul nome della VM. Il disco di avvio è formattato e vi è installato il sistema operativo. Il disco di avvio ha 3 partizioni: part1, part14 e part15. I dischi SSD locali collegati non sono formattati, pertanto è stato creato un solo collegamento 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 VM: instance-2
  • Serie di macchine: N2
  • Tipo di interfaccia del disco: SCSI per i dischi permanenti e NVMe per le unità SSD locali
  • Dischi aggiuntivi: 1 disco permanente denominato extra-scsi-disk
  • Dischi SSD locali collegati: 2
  • Nomi dispositivi personalizzati utilizzati: nessuno

Per la 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 disco di avvio del disco permanente è google-instance-2, che si basa sul nome della VM. Il disco di avvio è formattato e vi è installata l'immagine sistema operativo. Il disco di avvio ha 3 partizioni: part1, part14 e part15. Anche il primo disco SSD locale è partizionato, con una singola partizione, quindi viene creato un altro collegamento simbolico per la partizione del disco. Il disco permanente aggiuntivo inserito nella VM ha il collegamento simbolico google-extra-scsi-disk, basato sul nome del disco. Il disco permanente aggiuntivo e il secondo disco SSD locale non sono formattati, pertanto per questi dischi è elencato un solo collegamento simbolico.

Passaggi successivi