- Panoramica
- Funzionalità LVM
- Ridimensionamento del disco con LVM
- Identificare le partizioni per il ridimensionamento
- Controlla lo spazio su disco corrente
- Allega un nuovo disco virtuale
- Crea una partizione
- Conferma la creazione della partizione
- Identificare il gruppo di volumi
- Estendi il gruppo di volumi
- Conferma l'estensione del gruppo di volumi
- Assegna spazio extra alla partizione desiderata
- Conferma assegnazione
- Ridimensionare la partizione
- Conferma il ridimensionamento
Panoramica #
LVM sta per Logical Volume Manager ed è una tecnica ampiamente utilizzata nei sistemi operativi Linux e Unix per la gestione delle unità disco e dell'archiviazione. Offre un livello di astrazione tra il sistema operativo e i dispositivi di archiviazione fisici, consentendo agli amministratori di creare volumi logici che possono estendersi su più dischi fisici. Componenti chiave di LVM:
Volumi fisici (PV): i volumi fisici sono in genere singoli dischi rigidi, unità a stato solido (SSD) o partizioni su tali unità. LVM combina uno o più volumi fisici in gruppi di volumi.
Gruppi di volume (VG): I gruppi di volumi sono pool di volumi fisici raggruppati insieme per formare un'entità di archiviazione più grande. È possibile aggiungere più volumi fisici a un gruppo di volumi e contribuiscono con la loro capacità di archiviazione al gruppo. È possibile creare più gruppi di volumi su un singolo sistema.
Volumi logici (LV): I volumi logici sono le partizioni virtuali create all'interno dei gruppi di volumi. Possono essere ridimensionate dinamicamente, a differenza delle partizioni tradizionali. I LV sono ciò che effettivamente usi per archiviare i dati e sono montati come normali partizioni.
Estensioni fisiche (PE): Le estensioni fisiche sono l'unità di archiviazione più piccola all'interno di LVM. Quando crei un gruppo di volumi, i volumi fisici vengono divisi in parti di uguali dimensioni chiamate estensioni fisiche. I volumi logici vengono creati allocando un certo numero di estensioni fisiche dal gruppo di volumi.
Estensioni logiche (LE): Le estensioni logiche sono simili alle estensioni fisiche, ma vengono utilizzate all'interno di volumi logici anziché in gruppi di volumi. Le estensioni logiche sono l'unità più piccola di allocazione dei dati all'interno di un volume logico.
Comandi LVM: LVM fornisce una serie di comandi per la gestione di volumi fisici, gruppi di volumi e volumi logici. Alcuni comandi comuni includono pvccreate (per inizializzare i volumi fisici), vgcreate (per creare gruppi di volumi), lvcreare (per creare volumi logici), lvestendi (per estendere i volumi logici) e molti altri.
Funzionalità LVM #
Logical Volume Manager (LVM) offre diverse caratteristiche e funzionalità utili che lo rendono uno strumento prezioso per la gestione dell'archiviazione nei sistemi operativi Linux e Unix-like. Ecco alcuni usi comuni di LVM:
Gestione flessibile del disco: LVM consente il ridimensionamento dinamico dei volumi logici (LV) e dei gruppi di volumi (VG) senza la necessità di smontare il file system o interrompere l'accesso ai dati. Questa flessibilità è particolarmente vantaggiosa negli ambienti in cui le esigenze di archiviazione cambiano nel tempo.
Gestione dei volumi: LVM consente l'aggregazione di più volumi fisici (PV) in gruppi di volumi logici (VG), fornendo un pool di archiviazione unificato. Ciò consente agli amministratori di gestire le risorse di archiviazione in modo efficiente e di allocare spazio su partizioni o file system diversi in base alle necessità.
Creazione di istantanee: LVM supporta la creazione di snapshot, che sono copie point-in-time di volumi logici. Le istantanee possono essere utilizzate per vari scopi, tra cui operazioni di backup, ripristino del sistema e test di aggiornamenti o configurazioni software senza influire sui dati originali.
Migrazione e mobilità dei dati: LVM facilita lo spostamento dei dati tra dispositivi fisici e array di storage senza interrompere servizi o applicazioni. Gli amministratori possono migrare i dati tra diversi tipi di dispositivi di storage o ridistribuire i dati tra array di storage per ottimizzare prestazioni o capacità.
Striping e mirroring del volume: LVM supporta lo striping e il mirroring del volume per migliorare le prestazioni e la ridondanza dei dati. Lo striping distribuisce i dati su più volumi fisici per migliorare le prestazioni I/O, mentre il mirroring duplica i dati su volumi fisici separati per fornire tolleranza agli errori e protezione dei dati contro i guasti del disco.
Provisioning sottile: LVM offre il thin provisioning, consentendo agli amministratori di allocare lo spazio di archiviazione su richiesta anziché preallocarlo in anticipo. Il thin provisioning aiuta a ottimizzare l'utilizzo dello storage riducendo lo spazio sprecato e consente una gestione più efficiente delle risorse di storage.
Crittografia dei dati: LVM fornisce supporto per la crittografia dei dati a livello di volume utilizzando tecnologie come dm-crypt e LUKS (Linux Unified Key Setup). Questa funzionalità migliora la sicurezza dei dati crittografando le informazioni sensibili archiviate su volumi logici, proteggendole da accessi non autorizzati o furti.
Resilienza e tolleranza ai guasti: LVM migliora la resilienza del sistema e la tolleranza agli errori fornendo funzionalità come RAID (Redundant Array of Independent Disks) e mirroring dei volumi. Queste funzionalità aiutano a proteggere dalla perdita di dati e a ridurre al minimo i tempi di inattività in caso di guasti del disco o altri problemi hardware.
Ridimensionamento del disco con LVM #
RELIANOID Elettrodomestici vengono forniti in un formato leggero per facilitare la distribuzione e l'installazione su qualsiasi piattaforma, ma se è necessario più spazio di archiviazione per il sistema di registrazione o l'integrazione di un'applicazione personalizzata è necessario un ridimensionamento del filesystem.
Questa guida fornisce istruzioni dettagliate per ridimensionare le partizioni su RELIANOID Bilanciatore del carico utilizzando Logical Volume Manager (LVM). In questo caso, viene spiegato come collegare un nuovo disco al sistema ed estendere la partizione dei registri che sta esaurendo lo spazio sufficiente.
Identificare le partizioni per il ridimensionamento #
Usa il comando lvdisplay per identificare le partizioni idonee al ridimensionamento.
root@ee-noid-01:~# lvdisplay | grep "Percorso LV" | grep root Percorso LV /dev/root/backup Percorso LV /dev/root/config Percorso LV /dev/root/log Percorso LV /dev/root/root Percorso LV /dev/root/swap
Nota: se il percorso LV non viene visualizzato, la partizione root non può essere aumentata.
Controlla lo spazio su disco corrente #
Usa il df per verificare lo spazio su disco corrente e identificare lo spazio disponibile per il ridimensionamento.
root@ee-noid-01:~# df -h Dimensione file system utilizzata Avail Usa% Montato su udev 983M 0 983M 0% /dev tmpfs 200M 3.0M 197M 2% /run /dev/mapper/root-root 5.0G 1.5G 3.3G 30% / tmpfs 998M 0 998M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 998M 0 998M 0% /sys/fs/cgroup /dev/mapper/root-log 3.4G 15M 3.2G 1% /var/log /dev/mapper/root-config 430M 2.4M 401M 1% /usr/local/zevenet/config /dev/mapper/root-backup 874M 2.2M 811M 1% /usr/local/zevenet/backups tmpfs 200M 0 200M 0% /esegui/utente/0
Allega un nuovo disco virtuale #
Dal Cliente dell'hypervisor nel caso in cui si tratti di un dispositivo virtuale o fisicamente con un nuovo disco in caso di dispositivo hardware, allegare un nuovo disco virtuale con lo spazio desiderato (ad esempio, 2 GB). Identificare il nuovo disco, ad esempio, / Dev / sdb, utilizzando fdisk.
root@ee-noid-01:~# fdisk -l Disco / dev / sdb: 2 GiB, 2147483648 byte, 4194304 settori Modello disco: Unità: settori di 1 * 512 = 512 byte Dimensione settore (logico/fisico): 512 byte / 512 byte Dimensione I/O (minima/ottimale): 512 byte / 512 byte Disco /dev/sda: 12 GiB, 12884901888 byte, 25165824 settori [...]
Crea una partizione #
Usa fdisk / Dev / sdb per creare una partizione che copra l'intero spazio su disco. Seleziona il tipo di partizione p come primaria e assegnagli l'intero spazio su disco. Modificare il tipo di partizione in Linux LVM utilizzando t comando. Scrivi le modifiche utilizzando w comando.
root@ee-noid-01:~# fdisk /dev/sdb Benvenuto in fdisk (util-linux 2.33.1). Le modifiche rimarranno solo in memoria, finché non deciderai di scriverle. Fare attenzione prima di utilizzare il comando di scrittura. Il dispositivo non contiene una tabella delle partizioni riconosciuta. Creata una nuova disklabel DOS con identificatore del disco 0xeb0c8ed2. Comando (m per aiuto): n Tipo di partizione p primaria (0 primaria, 0 estesa, 4 libera) e estesa (contenitore per partizioni logiche) Seleziona (predefinito p): p Numero di partizione (1-4, default 1): 1 Primo settore (2048-4194303, default 2048):Ultimo settore, +/-settori o +/-dimensione{K,M,G,T,P} (2048-4194303, predefinito 4194303): Creata una nuova partizione 1 di tipo "Linux" e di dimensione 2 GiB. Comando (m per aiuto): t Partizione selezionata 1 Codice esadecimale (digitare L per elencare tutti i codici): 8e Modificato il tipo di partizione da 'Linux' a 'Linux LVM'. Comando (m per aiuto): w La tabella delle partizioni è stata modificata. Chiamando ioctl() per rileggere la tabella delle partizioni. Sincronizzazione dei dischi.
Conferma la creazione della partizione #
Verificare la creazione di / dev / sdb1 utilizzando fdisk -l /dev/sdb.
root@ee-noid-01:~# fdisk -l /dev/sdb Disco /dev/sdb: 2 GiB, 2147483648 byte, 4194304 settori Modello disco: VBOX HARDDISK Unità: settori di 1 * 512 = 512 byte Dimensione del settore (logica /fisico): 512 byte / 512 byte Dimensione I/O (minima/ottimale): 512 byte / 512 byte Tipo etichetta disco: dos Identificatore disco: 0xeb0c8ed2 Dispositivo Avvio Fine Settori Dimensione ID Tipo /dev/sdb1 2048 4194303 4192256 2G 8e Linux LVM
Identificare il gruppo di volumi #
Verificare i dettagli correnti del gruppo di volumi da estendere con vgdisplay comando.
root@ee-noid-01:~# vgdisplay --- Gruppo volume --- VG Nome radice Formato ID sistema lvm2 Aree metadati 1 Sequenza metadati N. 6 Accesso VG lettura/scrittura Stato VG ridimensionabile LV MAX 0 LV corrente 5 LV aperto 5 PV massimo 0 PV corrente 1 PV effettivo 1 Dimensioni VG <12.00 GiB Dimensioni PE 4.00 MiB Totale PE 3071 Alloc PE/dimensioni 2862/<11.18 GiB PE gratuiti/dimensioni 209/836.00 MiB VG UUID FxCrfj-5Rt7-1CrE-9hUv-7qwj-0yAb-AJ2euu
Estendi il gruppo di volumi #
Usa il vgextend root /dev/sdb1 per estendere il gruppo di volumi con la nuova partizione.
root@ee-noid-01:~# vgextend root /dev/sdb1 Volume fisico "/dev/sdb1" creato con successo. Il gruppo di volumi "root" è stato esteso con successo
Conferma l'estensione del gruppo di volumi #
Verificare l'estensione del gruppo di volumi utilizzando vgdisplay.
root@ee-noid-01:~# vgdisplay --- Gruppo volume --- VG Nome radice Formato ID sistema lvm2 Aree metadati 2 Sequenza metadati N. 7 Accesso VG lettura/scrittura Stato VG ridimensionabile LV MAX 0 LV corrente 5 LV aperto 5 PV massimo 0 PV corrente 2 PV effettivo 2 Dimensione VG 13.99 GiB Dimensioni PE 4.00 MiB PE totali 3582 Alloc PE/dimensioni 2862/<11.18 GiB PE gratuiti/dimensioni 720/2.81 GiB VG UUID FxCrfj-5Rt7-1CrE-9hUv-7qwj-0yAb-AJ2euu
Assegna spazio extra alla partizione desiderata #
Usa il lvextend -l +100%GRATIS /dev/root/log per assegnare lo spazio extra alla partizione desiderata (ad esempio, log).
root@ee-noid-01:~# lvextend -l +100%GRATIS /dev/root/log La dimensione della radice/log del volume logico è cambiata da 3.46 GiB (886 estensioni) a 6.27 GiB (1606 estensioni). Root/log del volume logico ridimensionato correttamente.
Conferma assegnazione #
Confermare l'assegnazione utilizzando lvdisplay.
root@ee-noid-01:~# lvdisplay [...] --- Volume logico --- Percorso LV /dev/root/log Nome LV log Nome VG root UUID LV 3TJZYd-gT8Z-JjJY-2mNB-wxLr-Xcdt-6bMrVs Accesso in scrittura LV lettura/scrittura Host di creazione LV, ora zva6000, 2023-06-20 12:43:08 +0000 Stato LV disponibile # aperto 1 Dimensioni LV 6.27 GiB Attuale LE 1606 Segmenti 3 Allocazione eredita Leggi avanti settori auto - attualmente impostato su 256 Dispositivo a blocchi 254:4 [...]
Ridimensionare la partizione #
Usa il ridimensiona2fs /dev/root/log per ridimensionare la partizione con il nuovo spazio libero.
root@ee-noid-01:~# ridimensiona2fs /dev/root/log resize2fs 1.44.5 (15-dic-2018) Il filesystem su /dev/root/log è montato su /var/log; è richiesto il ridimensionamento online old_desc_blocks = 1, new_desc_blocks = 1 Il filesystem su /dev/root/log è ora lungo 1644544 (4k) blocchi.
Conferma il ridimensionamento #
Verificare che il nuovo spazio libero sia disponibile utilizzando df.
root@ee-noid-01:~# df -h Dimensione file system utilizzata Avail Usa% Montato su udev 983M 0 983M 0% /dev tmpfs 200M 3.1M 197M 2% /run /dev/mapper/root-root 5.0G 1.5G 3.3G 30% / tmpfs 998M 0 998M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 998M 0 998M 0% /sys/fs/cgroup /dev/mapper/root-config 430M 2.4M 401M 1% /usr/local/zevenet/config /dev/mapper/root-backup 874M 2.2M 811M 1% /usr/local/zevenet/backups /dev/mapper/root-log 6.2G 17M 5.8G 1% /var/log tmpfs 200M 0 200M 0% /run/utente/0
Seguendo questi passaggi, puoi ridimensionare efficacemente le partizioni su RELIANOID Load Balancer che utilizza LVM, garantendo un utilizzo ottimale dello spazio su disco e pronto per scalare più servizi.