Questa pagina fornisce una panoramica del file system Container-Optimized OS e descrive come montare e formattare i dischi.
File system
Il layout del file system di immagini dei nodi Container-Optimized OS è ottimizzato per per migliorare la sicurezza dei nodi. Lo spazio su disco di avvio è suddiviso in tre tipi di partizioni:
- Partizione principale, montata come di sola lettura.
- Partizioni stateful, scrivibili e stateful.
- Partizioni stateless, che sono scrivibili, ma i cui contenuti non vengono mantenuti tra i riavvii.
Quando utilizzi Container-Optimized OS, tieni presente il partizionamento se esegui i tuoi servizi che hanno determinate aspettative sul layout del file system. all'esterno dei container.
Il file system principale viene montato come di sola lettura per proteggere l'integrità del sistema.
Tuttavia, le home directory e /mnt/stateful_partition
sono permanenti
in scrittura.
Utilizzo del file system di Container-Optimized OS
Di seguito è riportato un elenco di percorsi nel file immagine dei nodi Container-Optimized OS sistema, insieme alle loro proprietà e all'utilizzo consigliato:
Percorso | Proprietà | Finalità |
---|---|---|
/ |
|
Il file system radice è montato in sola lettura per mantenere l'integrità. La il kernel verifica l'integrità del file system radice durante l'avvio e si rifiuta di avviarlo in caso di errori. |
/home /var |
|
Questi percorsi sono pensati per archiviare dati che persistono per tutta la durata del
il disco di avvio. Sono montati da /mnt/stateful_partition . |
/var/lib/google /var/lib/docker /var/lib/toolbox |
|
Questi percorsi sono le directory di lavoro per i pacchetti Compute Engine (ad esempio il servizio Account Manager), Docker e Toolbox. |
/var/lib/cloud |
|
Questo percorso è la directory di lavoro del pacchetto cloud-init . |
/etc |
|
In genere contiene la configurazione (ad esempio,
systemd servizi definiti tramite cloud-init ).
Ti consigliamo di acquisire lo stato desiderato delle istanze
cloud-init , poiché cloud-init viene applicato quando
quando viene creata un'istanza e quando viene
è stata riavviata. |
/tmp |
|
In genere viene utilizzato come spazio temporaneo e non deve essere usato per archiviare e permanenti. |
/mnt/disks |
|
Puoi montare dischi permanenti nelle directory all'interno di /mnt/disks . |
Montaggio e formattazione dei dischi
Quando utilizzi Container-Optimized OS, puoi collegare un disco permanente o creare un'istanza con unità SSD locali. Segui le istruzioni riportate in Formattazione e montaggio un disco permanente oppure Formattare e montare un dispositivo SSD locale per il caso d'uso appropriato.
I dischi possono essere montati creando una sottodirectory in /mnt/disks
. Poiché /etc/
è stateless su Container-Optimized OS, non puoi usarlo per eseguire automaticamente fsck (controllo di consistenza del file system) e montare i dischi all'avvio. Tuttavia, puoi ottenere lo stesso risultato eseguendo queste operazioni dalla sezione bootcmd
in cloud-config
.
Nell'esempio seguente, il disco DEVICE_ID
viene montato nella directory /mnt/disks
.
Crea un file di script con i seguenti contenuti:
#cloud-config bootcmd: - fsck.ext4 -tvy /dev/DEVICE_ID - mkdir -p /mnt/disks/MNT_DIR - mount -t ext4 -o ... /dev/DEVICE_ID /mnt/disks/MNT_DIR
Sostituisci quanto segue:
DEVICE_ID
: l'ID dispositivo del disco che vuoi formattare e montare.MNT_DIR
: la directory in cui montare il disco.
Per un set completo di opzioni, consulta la documentazione di Linux supportata dal
fsck.ext4
emount
.Aggiorna i metadati della VM in modo da includere il file dello script utilizzando il flag
--metadata-from-file
.Per creare una VM, utilizza il seguente comando:
gcloud compute instances create INSTANCE_NAME \ --metadata-from-file user-data=SCRIPT_FILE_NAME
Per aggiornare un'istanza esistente, utilizza il seguente comando:
gcloud compute instances add-metadata INSTANCE_NAME \ --metadata-from-file user-data=SCRIPT_FILE_NAME
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza VM.SCRIPT_FILE_NAME
: il nome del file dello script dei metadati.