Configurare LVM in una macchina virtuale Linux in Azure
Questo documento illustra come configurare Gestione volumi logici (LVM) nella macchina virtuale di Azure. La LVM può essere usata nel disco del sistema operativo o nei dischi dati nelle macchine virtuali di Azure, tuttavia, per impostazione predefinita la maggior parte delle immagini cloud non avrà LVM configurata sul disco del sistema operativo. La procedura seguente è incentrata sulla configurazione di LVM per i dischi dati.
Volumi logici lineari e con striping
LVM può essere usata per combinare un numero di dischi fisici in un singolo volume di archiviazione. Per impostazione predefinita, LVM creerà in genere volumi logici lineari, il che significa che l'archiviazione fisica viene concatenata insieme. In questo caso, le operazioni di lettura/scrittura verranno in genere inviate solo a un singolo disco. Al contrario di ciò, possiamo anche creare volumi logici stripe in cui le letture e le scritture vengono distribuite su più dischi contenuti nel gruppo di volumi (simile a RAID 0). Per motivi di miglioramento delle prestazioni, è probabile che si voglia eseguire lo striping dei volumi logici in modo che le letture e le scritture utilizzino tutti i dischi dati collegati.
Questo documento descrive come combinare più dischi dati in un singolo gruppo di volumi e quindi creare un volume logico con striping. I passaggi seguenti sono generalizzati per lavorare con la maggior parte delle distribuzioni. Nella maggior parte dei casi, le utilità e i flussi di lavoro per la gestione di LVM in Azure non sono fondamentalmente diversi rispetto ad altri ambienti. Come di consueto, consultare anche il fornitore linux per la documentazione e le procedure consigliate per l'uso di LVM con la distribuzione specifica.
Collegamento di dischi dati
In genere si vuole iniziare con due o più dischi dati vuoti quando si usa LVM. In base alle esigenze di I/O, è possibile scegliere di collegare dischi archiviati nell'archiviazione Standard, con un massimo di 500 operazioni di I/O/ps per disco o l'archiviazione Premium con un massimo di 5000 operazioni di I/O/ps per disco. Questo articolo non illustra in dettaglio come effettuare il provisioning e collegare dischi dati a una macchina virtuale Linux. Vedere l'articolo di Microsoft Azure collegare un disco per istruzioni dettagliate su come collegare un disco dati vuoto a una macchina virtuale Linux in Azure.
Installare le utilità LVM
Ubuntu
sudo apt-get update sudo apt-get install lvm2
RHEL, CentOS & Oracle Linux
sudo yum install lvm2
SLES 12 e openSUSE
sudo zypper install lvm2
SLES 11
sudo zypper install lvm2
In SLES11 è anche necessario modificare
/etc/sysconfig/lvm
e impostareLVM_ACTIVATED_ON_DISCOVERED
su "enable":LVM_ACTIVATED_ON_DISCOVERED="enable"
Configurare LVM
In questa guida si presuppone che siano stati collegati tre dischi dati, a cui si farà riferimento come /dev/sdc
, /dev/sdd
e /dev/sde
. Questi percorsi potrebbero non corrispondere ai nomi dei percorsi del disco nella macchina virtuale. È possibile eseguire 'sudo fdisk -l
' o comando simile per elencare i dischi disponibili.
Preparare i volumi fisici:
sudo pvcreate /dev/sd[cde] Physical volume "/dev/sdc" successfully created Physical volume "/dev/sdd" successfully created Physical volume "/dev/sde" successfully created
Creare un gruppo di volumi. In questo esempio viene chiamato il gruppo di volumi
data-vg01
:sudo vgcreate data-vg01 /dev/sd[cde] Volume group "data-vg01" successfully created
Crea i volumi logici. Il comando seguente creerà un singolo volume logico denominato
data-lv01
per estendere l'intero gruppo di volumi, ma si noti che è anche possibile creare più volumi logici nel gruppo di volumi.sudo lvcreate --extents 100%FREE --stripes 3 --name data-lv01 data-vg01 Logical volume "data-lv01" created.
Formattare il volume logico
sudo mkfs -t ext4 /dev/data-vg01/data-lv01
Nota
Con SLES11 usare
-t ext3
anziché ext4. SLES11 supporta solo l'accesso in sola lettura ai file system ext4.
Aggiungere il nuovo file system a /etc/fstab
Importante
Se il file /etc/fstab
non viene modificato in modo corretto, il sistema potrebbe non essere disponibile per l'avvio. In caso di dubbi, fare riferimento alla documentazione della distribuzione per informazioni su come modificare correttamente questo file. È inoltre consigliabile creare una copia di backup del file /etc/fstab
prima della modifica.
Creare il punto di montaggio desiderato per il nuovo file system, ad esempio:
sudo mkdir /data
Individuare il percorso del volume logico
lvdisplay --- Logical volume --- LV Path /dev/data-vg01/data-lv01 ....
Aprire
/etc/fstab
in un editor di testo e aggiungere una voce per il nuovo file system, ad esempio:/dev/data-vg01/data-lv01 /data ext4 defaults 0 2
Quindi, salva e chiudi
/etc/fstab
.Verifica che l'elemento
/etc/fstab
sia corretto.sudo mount -a
Se questo comando genera un messaggio di errore, controllare la sintassi nel file
/etc/fstab
.Eseguire quindi il comando
mount
per assicurarsi che il file system sia montato:mount ...... /dev/mapper/data--vg01-data--lv01 on /data type ext4 (rw)
(Facoltativo) Parametri di avvio failsafe in
/etc/fstab
Molte distribuzioni includono i parametri di montaggio
nobootwait
onofail
che possono essere aggiunti al file di/etc/fstab
. Questi parametri consentono errori durante il montaggio di un file system specifico e consentono al sistema Linux di continuare l'avvio anche se non è in grado di montare correttamente il file system RAID. Per altre informazioni su questi parametri, vedere la documentazione della distribuzione.Esempio (Ubuntu):
/dev/data-vg01/data-lv01 /data ext4 defaults,nobootwait 0 2
Supporto TRIM/UNMAP
Alcuni kernel di Linux supportano operazioni TRIM/UNMAP allo scopo di rimuovere i blocchi inutilizzati sul disco. Queste operazioni sono particolarmente utili nell'archiviazione standard per informare Azure che le pagine eliminate non sono più valide e possono essere rimosse. L'eliminazione delle pagine può ridurre i costi se si creano file di grandi dimensioni e quindi li si elimina.
Esistono due modi per abilitare la funzione TRIM in una VM Linux. Come di consueto, consultare la propria distribuzione per ottenere l'approccio consigliato.
Usare l'opzione di montaggio
discard
in/etc/fstab
, ad esempio:/dev/data-vg01/data-lv01 /data ext4 defaults,discard 0 2
In alcuni casi l'opzione
discard
può avere implicazioni sulle prestazioni. In alternativa, è possibile eseguire il comandofstrim
manualmente dalla riga di comando oppure aggiungerlo a crontab per eseguirlo a intervalli regolari:Ubuntu
# sudo apt-get install util-linux # sudo fstrim /datadrive
RHEL, CentOS & Oracle Linux
# sudo yum install util-linux # sudo fstrim /datadrive