Come aumentare le dimensioni del volume di root in Google Cloud Platform – GCP

Come aumentare le dimensioni del volume di root in Google Cloud Platform – GCP

Come aumentare le dimensioni del volume di root in Google Cloud Platform – GCP 150 150 Leeonard

“La piattaforma Google Cloud è molto popolare tra i provider cloud pubblici disponibili. Ha molte funzionalità come il bilanciamento del carico (Load Balancer), Container Engine (per avviare contenitori docker), VPN (reti private virtuali), servizi di interconnessione (per connettere la rete interna al cloud), i servizi SQL, i servizi di archiviazione oggetti e molti altri. In questo articolo si sintetizza quello che si può trovare in internet e nella pratica come attività basilare e molto essenziale: l’aumento dello spazio senza downtime.

Quando crei un’istanza Virtual Machine in Google Cloud, generalmente la ridimensioni in base alle esigenze del momento. Il dimensionamento anticipato dello spazio di archiviazione per le esigenze future che potrebbero sorgere non è necessario in un ambiente cloud come Google, in quanto può risparmiare sui costi. Tuttavia, hai ancora la possibilità di aumentare le dimensioni di archiviazione come e quando necessario, senza tempi di inattività.

Qui i passaggi per aumentare la dimensione del volume di root di una macchina Linux in esecuzione su Google Cloud senza tempi di inattività. Con l’uso della riga di comando di gcloud per raggiungere il nostro obiettivo.

Si noti che è necessario che l’utilità della riga di comando di gcloud sia configurata correttamente sul proprio sistema affinché funzioni. Sulla maggior parte delle macchine VM disponibili nel cloud di Google, l’utilità gcloud è installata per impostazione predefinita. Quindi consiglierei di eseguire questa operazione da qualsiasi istanza nel cloud.
Una volta disponibile l’utilità gcloud, è solo questione di configurarla con un account di servizio che richiede le autorizzazioni per eseguire l’operazione. Suppongo che tu abbia un account di servizio e che tutto sia configurato correttamente. In caso contrario, è possibile creare un account di servizio e chiedere a gcloud di utilizzare il file delle credenziali json dell’account di servizio.

gcloud auth activ-service-account –key-file = test-project.json


Nel comando sopra, test-project.json è il file delle credenziali. Potrai scaricare questo, mentre crei un account di servizio con l’autorizzazione richiesta. Fatto ciò, devi dire a gcloud di usare il progetto e la regione richiesti nel tuo account

gcloud config set project my-project-1234

“my-project-1234” è un esempio nel comando precedente, è necessario sostituirlo con l’ID progetto reale. È possibile ottenere l’ID progetto dalla console Web di Google Cloud.

Quindi iniziamo. Ho un’istanza in esecuzione nel mio account, che ha un volume di root e dispone di 10 Gb di spazio di archiviazione disponibile. Andiamo avanti e aumentiamo a 20G senza tempi di inattività.

Il mio nome istanza è “istanza-10”. Andiamo avanti e accediamo a quell’istanza e vediamo le dimensioni del volume della radice corrente usando ilstandard df -h comando. Vedi sotto.

root@instance-10:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.8G 4.0K 1.8G 1% /dev
tmpfs 370M 268K 370M 1% /run
/dev/sda1 9.9G 2.4G 7.0G 26% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 0 1.9G 0% /run/shm
none 100M 0 100M 0% /run/user

Vedi le dimensioni di / dev / sda1. Sono 9,9 GB. Dobbiamo aumentarlo a 20Gb senza tempi di inattività. La prima cosa che dobbiamo fare è identificare il nome del disco usando l’utilità gcloud. Poiché questo disco è collegato alla nostra istanza (istanza-10), possiamo elencare le proprietà di questa istanza e catturare il nome del disco dall’output.
Quindi andiamo avanti ed elenciamo le proprietà dell’istanza.

$ gcloud compute instances describe instance-10 |grep disk
disks:
source: https://www.googleapis.com/compute/v1/projects/my-project-1234/zones/us-east1-c/disks/instance-10

Si è fatto greping solo per il disco dall’output, poiché l’output è un dato yaml piuttosto lungo. Quindi abbiamo ottenuto il nostro nome del disco. È lo stesso del nome dell’istanza nella maggior parte dei casi (il nostro nome del disco è “instance-10”).
Ora ridimensioniamolo a 20Gb. Esegui il comando di seguito.

$ gcloud compute disks resize instance-10 –size 20GB
This command increases disk size. This change is not reversible.
For more information, see:
https://cloud.google.com/sdk/gcloud/reference/compute/disks/resize
Do you want to continue (Y/n)? y
Updated [https://www.googleapis.com/compute/v1/projects/my-project-1234/zones/us-east1-c/disks/instance-10].

Si noti che è stato eliminato l’output del comando precedente. Chiederà conferma e una volta che premi “y” e procedi, la dimensione del disco verrà cambiata in qualsiasi cosa tu abbia menzionato (cioè: 20Gb in questo caso).

Dobbiamo ora far sapere al sistema operativo che la dimensione è cambiata e che anche la partizione root deve crescere alla nuova dimensione. Oltre alla partizione, dobbiamo anche dire al file system di usare il nuovo spazio disponibile nella partizione. Quindi ora abbiamo due cose da fare.

  • Aumenta la dimensione della partizione
  • Creare un filesystem nello spazio appena aggiunto

Nel precedente output di df -h che abbiamo visto, il nome della nostra partizione di root è / dev / sda1. Ecco come funziona la convenzione di denominazione per impostazione predefinita. / dev / sda è il nome del disco. / dev / sda1 è la prima partizione in quel disco.

Il nostro disco viene ridimensionato e il sistema operativo è ben consapevole di questo fatto. Come confermare? Puoi semplicemente eseguire il comando fdisk -l e vedere che il sistema operativo ha già rilevato la nuova dimensione del disco (vedi un output incollato qui sotto).

root @ instance-10: ~ # fdisk -l
Disk / dev / sda: 21,5 GB, 21474836480 byte

df -h mostrerà comunque la dimensione precedente per / dev / sda1 (che è il nostro volume di root), perché non abbiamo ancora cambiato la dimensione della nostra partizione. Lo strumento che ci aiuterà a farlo è chiamato “growpart”. Growpart estenderà le dimensioni di una partizione a qualsiasi cosa tu voglia. Se non specifichi alcuna dimensione, utilizzerà tutto lo spazio disponibile nel nostro disco (/ dev / sda) per aumentare la dimensione della nostra partizione (/ dev / sda1).
Quindi lanceremo semplicemente il comando seguente.

root@instance-10:~# growpart /dev/sda 1
CHANGED: partition=1 start=2048 old: size=20969472 end=20971520 new: size=41940992,end=41943040

Nota che c’è uno spazio tra / dev / sda e 1 nel comando sopra. / dev / sda è il nome del disco e 1 è il numero della partizione.
Dall’output è abbastanza chiaro che abbiamo ridimensionato la partizione.
Ma comunque … df -h mostrerà la vecchia dimensione. Questo perché df -h sta esaminando le dimensioni del file system, che non è stato ancora costruito sullo spazio appena aggiunto in quella partizione.

Il comando/codice che ci aiuterà qui è chiamato resize2fs. resize2fs può essere usato per ridimensionare i file system ext2, ext3 ed ext4. Vedi sotto.

root@instance-10:~# resize2fs /dev/sda1
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/sda1 is now 5242624 blocks long.

Ora df -h dovrebbe mostrare la nuova dimensione della tua partizione. Inoltre, le applicazioni dovrebbero essere in grado di utilizzare le nuove dimensioni (tutto questo senza alcun tipo di downtime).

Tieni presente che abbiamo usato resize2fs perché / dev / sda1 utilizzava il formato del file system ext4. Se il tuo volume di root è diverso da ext2 o ext3 o ext4, dovrai usare lo strumento appropriato per quello.
Ad esempio, se si utilizza il file system XFS, tutti i passaggi di questo articolo sono uguali, tranne l’ultimo. Nel caso di XFS, useremo il comando xfs_growfs invece di resize2fs. Così, per esempio:

xfs_growfs / dev / sda1

Fonti Google Cloud