Come espandere le partizioni del disco nelle VM Linux
Uno spazio su disco virtuale insufficiente può causare problemi, tra cui prestazioni ridotte. Ad esempio, si configura un disco virtuale, si creano delle partizioni e si installa un sistema operativo guest su una di esse. Successivamente, ci si accorge che lo spazio su disco è insufficiente. In questo caso, è necessario estendere la dimensione del disco.
VMware offre opzioni di configurazione flessibili per l’hardware virtuale, come CPU, memoria e dischi, consentendo di estendere le dimensioni di un disco virtuale esistente. Si noti che il ridimensionamento di una partizione deve essere effettuato manualmente, poiché lo spazio su disco non allocato viene aggiunto dopo l’estensione del disco virtuale. Continua a leggere per scoprire i diversi metodi di ridimensionamento delle partizioni in diverse impostazioni.
Prerequisiti
Assicurarsi che siano soddisfatte le seguenti condizioni prima di ridimensionare un disco virtuale e le partizioni su di esso:
- È possibile aumentare la dimensione di un disco virtuale mentre la VM è in esecuzione. Tuttavia, potrebbe essere necessario riavviare la VM affinché il sistema operativo rilevi il disco ridimensionato.
- Per poter essere ridimensionato, un disco virtuale non deve contenere snapshot. Se la VM presenta snapshot, è necessario eliminarli (consolidarli) prima di ridimensionare un disco virtuale e modificare le dimensioni delle partizioni del disco.
- Si consiglia di eseguire il backup della VM prima di effettuare operazioni sui dischi. La modifica delle dimensioni delle partizioni del disco può comportare dei rischi se si commette un errore durante il processo di configurazione.
Estendere le partizioni del disco in Linux Ubuntu
In questa sezione viene spiegato come estendere le partizioni in Linux dopo aver espanso i dischi virtuali, utilizzando Ubuntu come esempio. È possibile utilizzare questa procedura su Ubuntu 18, 19, 20, 22 e versioni successive. Esistono diversi metodi per regolare le dimensioni delle partizioni del disco ed estendere le partizioni di Linux. È possibile utilizzare gli strumenti da riga di comando o quelli con interfaccia grafica. Innanzitutto, espanderemo un disco virtuale di una VM Linux su un server ESXi. Lo faremo dalla riga di comando di ESXi, ma è possibile utilizzare anche VMware vSphere Client o VMware Host Client.
Ridimensionamento di un disco virtuale dalla riga di comando di ESXi
Per prima cosa, abilitare la shell ESXi e la console Bash nell’interfaccia utente della console diretta (DCUI) di ESXi o in VMware Host Client. Quindi connettersi a ESXiguscio tramite SSH oppure aprire direttamente la shell ESXi su un host ESXi.
- Accedere alla directory in cui si trova il disco virtuale della VM di cui si ha bisogno:
cd /vmfs/volumes/datastore2/Ubuntu19/ - Verificare il contenuto della directory e la dimensione dei file:
ls -al
Abbiamo un con allocazione dinamica disco virtuale Ubuntu19.vmdk la cui dimensione massima è di 20 GB, mentre la dimensione attuale del disco virtuale è di circa 5,6 GB (la dimensione totale dei file memorizzati sul disco virtuale). La dimensione del file viene visualizzata in byte nella riga di comando.
- Eseguire il comando per espandere il disco virtuale da 20 GB a 30 GB. Inserisci la dimensione desiderata della destinazione del disco virtuale, non la dimensione dell’incremento che intendi aggiungere alla destinazione del disco virtuale. Nel nostro esempio, aumentiamo la dimensione della destinazione del nostro disco virtuale da 10 GB a 30 GB utilizzando il comando riportato di seguito:
vmkfstools -X 30G Ubuntu19.vmdkSeleziona un vmdk file disco, non -flat.vmdk . Inserisci la dimensione del disco richiesta e il file del disco virtuale in base alle tue esigenze e alla tua configurazione. G sta per gigabyte, M per megabyte, K per kilobyte, T per terabyte, ecc. Se si desidera che il disco thick venga azzerato immediatamente dopo l’aumento delle dimensioni, utilizzare un comando come questo:
vmkfstools-X 30G -deagerzeroedthickvm-disk-name.vmdk. - Grow 100% completato – questo output indica che il disco virtuale è stato espanso con successo. Verifica la nuova dimensione del disco virtuale:
ls -al
Come puoi vedere nell’output, la dimensione del disco virtuale è stata aumentata.

Estensione di una partizione Linux con l’utilità Dischi
Le nuove versioni di Ubuntu dispongono di un’utilità integrata Dischi con un’interfaccia grafica intuitiva (GUI), che consente di modificare le dimensioni delle partizioni del disco con pochi clic:
- Accendere la VM dopo aver esteso il disco virtuale e avviare Ubuntu Linux installato sulla VM.
- Fare clic su Dash > Utilità > Dischi oppure digitare Dischi nel menu Dash. Scegliere l’elemento appropriato una volta individuato e visualizzato l’elemento dell’utilità Dischi .
Dopo aver ridimensionato un disco virtuale, le partizioni Linux non vengono estese automaticamente e sullo spazio del disco è visibile lo spazio non allocato (non partizionato). Nel nostro esempio, abbiamo installato Ubuntu utilizzando lo schema di partizionamento predefinito, in cui abbiamo un’unica grande partizione / (root) sul disco.

- Espandiamo la partizione / (root) sul disco virtuale su cui è installato Ubuntu direttamente da questa istanza installata di Ubuntu nell’utilità Dischi . Selezionate la prima partizione montata nella directory / in Linux, fate clic sull’icona delle impostazioni e, nel menu contestuale, fate clic su Ridimensiona .
Se avete più partizioni, potete modificarne le dimensioni nell’utilità Dischi .

- Nella finestra Ridimensiona volume inserite i nuovi parametri, quali la dimensione della partizione, lo spazio libero successivo o la differenza. In alternativa, spostate il cursore dalla dimensione attuale a quella desiderata. Quindi fare clic sul pulsante Ridimensiona .

- Inserire la password per modificare le impostazioni delle partizioni e cambiare le dimensioni delle partizioni del disco.
Ora la partizione è stata estesa sul disco virtuale, la cui dimensione è stata aumentata.

Se si utilizza una versione di Linux diversa da Ubuntu e la propria versione di Linux non dispone dell’utilità Dischi per regolare le dimensioni delle partizioni del disco, utilizzare parted , disponibile su tutte le distribuzioni Linux.
Utilizzo di parted per estendere le partizioni Linux
Parted è un’utilità da riga di comando per la gestione delle partizioni del disco in Linux. Parted è preinstallato in Ubuntu. Tuttavia, se questa utilità non è installata sul proprio sistema Linux, installarla manualmente dai repository del software (con i permessi di root).
- Sui sistemi Debian e Ubuntu:
sudo apt-get install parted - Su RHEL (Red Hat Enterprise Linux), CentOS e Fedora:
yum install parted - Sulle versioni di Fedora 22 e successive:
dnf install parted - Su OpenSUSE:
zypper install parted
Smontaggio delle partizioni
Eseguire i seguenti passaggi per modificare le dimensioni delle partizioni del disco in Linux:
- Smontare le partizioni prima di eseguire operazioni sulle partizioni in Parted . Le operazioni su partizioni smontate possono danneggiare i dati presenti sul disco. Utilizzare il comando umount per smontare una partizione, ad esempio:
umount /dev/sdb1 - Verificare se una partizione è montata utilizzando uno di questi comandi:
mountdf -hcat /proc/mounts
Preparazione all’estensione di una partizione di sistema
Se è necessario ridimensionare una partizione di sistema utilizzata dal sistema operativo installato, avviare il sistema da un CD/DVD live o da una chiavetta USB, poiché non è possibile smontare la partizione attualmente in uso dal sistema operativo. A questo scopo è possibile utilizzare il supporto di installazione di Ubuntu. Questa procedura si applica alle macchine virtuali su Host VMware ESXi e alle macchine con VMware Workstation.
- Selezionare il file ISO del supporto di installazione di Ubuntu nella configurazione di un’unità CD/DVD virtuale della VM.
- Nella schermata seguente sono visibili le impostazioni della VM con la configurazione dell’unità CD/DVD in VMware vSphere Client.

- Avviare la VM.
- Fare clic sullo schermo della VM e, una volta accesa, premere F2 per accedere al BIOS virtuale della VM. Eseguire l’operazione rapidamente poiché si ha a disposizione solo circa un secondo per premere F2.
NOTA : Quando si seleziona il disco di installazione, il CD/DVD-ROM virtuale viene impostato come primo dispositivo di avvio all’interno della VM. Al termine dell’installazione del sistema operativo ospite, il disco rigido virtuale su cui è installato il sistema operativo ospite viene automaticamente impostato come primo dispositivo di avvio della VM. Se si desidera avviare il sistema da un’unità CD/DVD virtuale, selezionare il primo dispositivo di avvio appropriato nelle impostazioni del BIOS della VM.

- Selezionare la scheda Boot nel BIOS. Selezionare un dispositivo di avvio e premere + e – per modificare l’ordine dei dispositivi di avvio. Selezionare l’unità CD/DVD di una VM come primo dispositivo di avvio. Salvare le modifiche e uscire (andare alla scheda Exit ).

- Avviare dal supporto di installazione live di Ubuntu e selezionare l’opzione Try Ubuntu .
Modifica delle dimensioni delle partizioni del disco
Tieni presente che una volta eseguito un comando in Parted , le modifiche vengono scritte immediatamente sul disco. Quando esegui comandi per apportare modifiche alle partizioni del disco, vengono visualizzate domande di conferma.
- Apri il terminale ed esegui Parted con i permessi di root:
sudo parted - /dev/sda è il disco che si apre per impostazione predefinita. Poiché la nostra macchina virtuale Ubuntu ha un solo disco virtuale, aprire /dev/sda è l’opzione corretta.
- Per selezionare un altro disco, ad esempio /dev/sdb , utilizzare il comando:
select /dev/sdbIn questo modo, è possibile selezionare /dev/sdb per le operazioni sulle partizioni di quell’unità. In questo esempio utilizziamo /dev/sda .
- Elenca tutte le partizioni Linux esistenti sul disco selezionato.
printPrendere nota del numero della partizione necessaria ( 1 nel nostro caso).

- È possibile elencare tutte le partizioni su tutti i dischi collegati:
print all - Controlla lo spazio libero (non partizionato) sul disco selezionato:
print freeIl nostro spazio libero sul disco è compreso tra 21,5 GB e 32,2 GB perché abbiamo aumentato la dimensione del disco, ma la partizione non è stata ampliata automaticamente.

Risolviamo questa situazione ed estendiamo la partizione esistente.
- Inserisci il comando in parted per ridimensionare la partizione:
resizepart - Inserisci il numero della partizione di cui vuoi aumentare la dimensione. La mia partizione su /dev/sda ha il numero 1 in questo esempio.
Numero della partizione? 1
- Inserisci la dimensione finale della partizione (nel nostro caso, la partizione inizia alle 1049 KB e deve terminare a 32,2 GB). Se non si specificano le unità di misura, per impostazione predefinita vengono utilizzati i megabyte.
Fine? 32,2 GB
- Avvertenza: la riduzione di una partizione può causare la perdita di dati; si è sicuri di voler continuare?
Sì/No? y
Le modifiche dovrebbero ora essere scritte sul disco.
- Verifica che le modifiche siano state scritte sul disco.
print
La dimensione della partizione è stata aumentata con successo.
Utilizzo di GParted su Live CD
GParted è un’edizione alternativa di parted dotata di interfaccia grafica. Questa utility è gratuita, proprio come parted . Se si avvia il sistema da un Live CD con GParted , è possibile ridimensionare le partizioni su diverse distribuzioni Linux, comprese quelle prive di un’utilità di partizionamento del disco in grado di ridimensionare le partizioni al volo. È inoltre possibile ridimensionare le partizioni su cui è installato Linux quando non è possibile ridimensionarle dal sistema operativo stesso, poiché quest’ultimo le monta e le utilizza per il normale funzionamento.
- Scarica l’immagine ISO avviabile dal sito web ufficiale.
- Inserire l’immagine ISO avviabile di GParted in un’unità CD/DVD virtuale di una VM di cui si sta ridimensionando il disco.
- Avvia il sistema da questa immagine ISO (abbiamo spiegato come avviare il sistema dall’immagine ISO nella sezione precedente).
- Nel menu di avvio, seleziona GParted Live (Impostazioni predefinite), quindi premi Invio .

A questo punto devi selezionare alcune opzioni.
- Configurazione dei dati della console
Puoi lasciare il valore predefinito ( Non modificare la mappa dei tasti ) e premere OK per continuare.
- Quale lingua preferisci?
Seleziona la tua lingua. Io seleziono 33 (inglese USA). Premi Invio per mantenere il valore predefinito e continuare, oppure digita il numero dell’opzione desiderata, quindi premi Invio .
- Quale modalità preferisci?
Seleziona 0 (Continua per avviare X e utilizzare automaticamente GParted).

- Ora vedrai l’interfaccia grafica di GParted . L’interfaccia di GParted è intuitiva. Selezionare il disco desiderato nell’angolo in alto a destra (/dev/sda nel nostro caso). Vengono visualizzate le partizioni del disco selezionato con le relative informazioni.

- Selezionare la partizione desiderata, fare clic su Partizione > Ridimensiona/Sposta (oppure fare clic con il tasto destro del mouse sulla partizione desiderata per aprire questo menu). La partizione che vogliamo ridimensionare (espandere) è /dev/sda1 . Abbiamo 10 GB di spazio su disco non allocato dopo aver aumentato la dimensione del disco virtuale da 20 GB a 30 GB.

- Nella finestra aperta, inserisci una nuova dimensione del disco in megabyte oppure usa il mouse per regolare le dimensioni della partizione del disco. Fai clic su Ridimensiona/Sposta dopo aver impostato la nuova configurazione corretta.

- Fai clic su Modifica > Applica tutte le operazioni per applicare le modifiche. In GParted le modifiche non vengono scritte immediatamente sul disco. È necessario applicare le modifiche di configurazione per salvarle.

- Ora la dimensione della partizione è stata aumentata fino alla dimensione massima possibile sul disco virtuale espanso della macchina virtuale VMware. Spegnere la macchina virtuale, espellere l’immagine ISO con GParted , avviare la macchina virtuale e avviare il sistema dal disco rigido virtuale che è stato espanso e che contiene la partizione la cui dimensione è stata aumentata.
- È possibile verificare le dimensioni delle partizioni dopo l’avvio di Linux con il df -h comando. Nella schermata seguente, si può osservare la /dev/sda1 dimensione della partizione prima e dopo il ridimensionamento.

Utilizzo di LVM
Se il sistema Linux installato su una VM utilizza LVM per gestire i volumi su disco, sono disponibili almeno due opzioni per la gestione dei dischi qualora si desideri aumentare la dimensione di un disco virtuale:
- Aumentare la dimensione di un disco virtuale esistente. Creare una nuova partizione (il tipo di partizione deve essere Linux LVM con ID 8e) su un disco esteso, aggiungere questa partizione a un gruppo di volumi esistente ed estendere il volume logico con la nuova partizione. Se si utilizza l’MBR, il numero massimo di partizioni primarie è quattro.
- Aggiungere un nuovo disco virtuale, creare una partizione sul nuovo disco virtuale, aggiungere questa partizione a un gruppo di volumi esistente ed espandere il gruppo di volumi utilizzando una nuova partizione LVM su un nuovo disco virtuale.
Utilizzo di VMware vCenter Converter
Un altro modo per estendere le partizioni e regolare le dimensioni delle partizioni del disco sulle macchine virtuali VMware con Linux installato come sistema operativo guest è l’utilizzo di VMware vCenter Converter Standalone, uno strumento gratuito. Esistono alcuni prerequisiti:
- Il convertitore deve essere installato su un computer Windows.
- Deve esserci una connessione di rete tra i componenti del convertitore, la macchina virtuale Linux e l’host VMware ESXi oppure vCenter Server.
- L’accesso SSH deve essere configurato sulla macchina virtuale Linux.
Eseguire i seguenti passaggi per estendere le partizioni su una macchina virtuale Linux con il convertitore VMware:
- Avviare VMware Converter Standalone su un computer Windows e fare clic su Converti macchina . È possibile utilizzare qualsiasi macchina collegata alla VM Linux di origine e a un Host VMware ESXi su cui deve essere collocata la VM.

- Nel Sistema di origine passaggio della procedura guidata, selezionare Accesa come tipo di origine e selezionare Macchina Linux remota nel menu a discesa. Quando si utilizza VMware Converter per estendere le partizioni su una VM Linux, il convertitore si connette al sistema operativo guest di questa VM, analogamente a quanto avviene quando ci si connette a qualsiasi altra macchina fisica Linux.
- Inserire il nome utente e la password utilizzati sulla macchina Linux. Questo utente deve disporre dei permessi per l’accesso remoto alla macchina Linux tramite SSH e poter utilizzare sudo su quella macchina Linux. È possibile visualizzare i dettagli della sorgente e premere Avanti per continuare.
A volte, possono verificarsi errori durante la connessione a una macchina Linux remota in un VMware Converter. Nella sezione seguente sono riportati gli errori più comuni e le relative soluzioni.

- Selezionare il sistema di destinazione, che può essere lo stesso host ESXi su cui si trova la macchina virtuale Linux di origine. In alternativa, è possibile selezionare un altro host ESXi su cui archiviare la macchina virtuale con dischi virtuali estesi e partizioni dopo la conversione. Immettere l’indirizzo IP o il nome host di un host ESXi e le relative credenziali di root. È inoltre possibile utilizzare le credenziali amministrative di vCenter.

- Immettere un nome per la macchina virtuale di destinazione, ad esempio, Linux03 . Nella sezione sottostante, è possibile visualizzare le VM presenti sull’host ESXi selezionato.

- Selezionare la destinazione per la macchina virtuale convertita. Selezionare un host ESXi, selezionare un archivio dati collegato a questo host e definire la versione hardware della macchina virtuale.

- Configurare le opzioni e impostare i parametri per l’attività di conversione. Fare clic su Modifica nella sezione Dati da copiare . Questa sezione contiene le impostazioni per regolare le dimensioni delle partizioni del disco.

- Assicurarsi che Seleziona i volumi da copiare sia selezionato nel menu a discesa. Di seguito è possibile visualizzare i dischi virtuali e le partizioni della VM corrente con le relative dimensioni attuali. Fare clic su Avanzate per aprire la vista che consente di modificare le dimensioni delle partizioni del disco.

- Selezionare la scheda Layout di destinazione una volta selezionata la vista Avanzate. Selezionare il tipo di disco virtuale con provisioning thin o thick.

- Fare clic sul menu a discesa relativo alla partizione desiderata e selezionare < Inserire la dimensione in GB >. Immettere la nuova dimensione della partizione. La dimensione del disco virtuale verrà aumentata automaticamente dopo l’estensione delle partizioni.

- Fare clic su Modifica nelle opzioni Advanced e deselezionare la casella di controllo Riconfigura la VM di destinazione . Poiché si sta convertendo un sistema Linux già installato su una VM VMware, non è necessario riconfigurare la VM. È necessario riconfigurare una VM quando si converte una macchina fisica Linux in una VM, per regolare le impostazioni di sistema relative ai dispositivi virtuali della VM convertita.

- Leggere il riepilogo e verificare i parametri di conversione. Fare clic su Fine per avviare il processo di conversione.

- Attendere il completamento del processo di conversione della VM.
- Avviare la VM convertita e verificare che la modifica delle dimensioni della partizione del disco sia stata eseguita correttamente. In caso di esito positivo, ripristinare le impostazioni di sicurezza SSH e sudo allo stato in cui si trovavano prima della conversione. È possibile eliminare la macchina virtuale di origine.
Errori comuni durante l’utilizzo di VMware vCenter Converter
A volte, possono verificarsi errori durante la connessione a una macchina Linux remota in VMware Converter.
Errore 1
Impossibile eseguire la query sulla macchina Linux di origine attiva. Assicurarsi di poter eseguire sudo senza inserire una password quando si accede alla macchina sorgente tramite SSH come ‘user1’.
Soluzione:
- Modificare la configurazione di sudo nel /etc/sudoers file:
sudo vim /etc/sudoersoppure
visudo - Aggiungere la seguente riga per consentire a user1 di utilizzare sudo senza inserire una password. Utilizzare il proprio nome utente al posto di user1 .
user1 ALL=(ALL) NOPASSWD:ALL
- Salvare le modifiche al file.
Errore 2
Errore di autenticazione. Nome utente, password o chiave privata del client non corretti. Questa operazione è obbligatoria e richiede che la configurazione del demone SSH della macchina sorgente consenta l’accesso remoto come root .
Soluzione:
- Per risolvere questo problema, modificare il file di configurazione del server SSH e consentire l’accesso come root tramite SSH. Utilizzare vim o un altro editor di testo.
sudo vim /etc/ssh/sshd_config - Modifica (aggiungere o rimuovere il commento) la riga PermitRootLogin e impostare yes :
PermitRootLogin yes
- Salvare le modifiche al file (premere Esc , digitare :wq e premere Invio in vim) e uscire.
- Riavviare il demone sshd (servizio):
sudo service sshd restart
Per motivi di sicurezza, non dimenticare di ripristinare le modifiche apportate a questi file di configurazione (/etc/ssh/sshd_config e /etc/sudoers) quando termina la conversione e l’espansione delle partizioni sulla VM Linux.
Gli errori sopra descritti potrebbero verificarsi per i seguenti motivi:
Motivo 1
Le directory sono montate più volte come punti di montaggio.
Soluzione:
Le directory montate più volte (montate più di una volta) possono causare problemi. Smonta i punti di montaggio ridondanti per risolvere il problema.
Motivo 2
Questo problema può verificarsi se durante l’installazione di Linux è stata utilizzata la struttura di partizione predefinita.
Soluzione:
Prova a utilizzare il partizionamento manuale durante l’installazione di Linux se prevedi di utilizzare VMware Converter per quella macchina Linux.
Motivo 3
Configurazione errata di VMware vCenter Converter.
Soluzione:
- Controlla i file di configurazione XML di VMware Converter installato sulla tua macchina Windows:
%ALLUSERSPROFILE%Application DataVMwareVMware vCenter Converter Standalone
- Se hai modificato i file XML dell’agente, del server o del worker, riavvia i servizi appropriati in Windows per attivare le modifiche alla configurazione.

Conclusione
Puoi utilizzare parted nella maggior parte delle distribuzioni Linux; l’utilità Disks è disponibile nelle distribuzioni moderne di Ubuntu. Se è necessario estendere le partizioni utilizzate dal sistema operativo Linux installato, avviare il sistema da un Live CD con GParted , che è lo strumento universale per modificare le dimensioni delle partizioni del disco. VMware vCenter Converter può essere utile in alcuni casi anche per le VM Linux. Leggere anche le informazioni sull’estensione delle partizioni in Windows.
Prima di eseguire operazioni sui dischi virtuali delle VM e sulle partizioni del disco, si raccomanda di eseguire il backup di queste VM per evitare la perdita di dati. NAKIVO Backup & Replication è una soluzione universale per la protezione dei dati che supporta il backup delle macchine virtuali VMware vSphere.