" itemprop="description"/>

FaciLinux

Guide Facili per Linux

Ok, lo capisco, io ormai sono un boomer dei sistemi Gnu/Linux. Ma quando ho aggiornato all'ultima Fedora (44) con il nuovo scintillante Gnome (50) e mi sono accorto che non potevo più usare la primary selection per incollare velocemente del testo che avevo selezionato....un pochino mi sono depresso...

Per carità, è vero, questa funzionalità è un retaggio del vetusto X11, viva Wayland eccetera eccetera. Ma quante funzionalità dobbiamo perdere per far spazio al "nuovo" (che poi, magari, le reinventa)?

Beh, per fortuna, almeno per ora, si può riabilitare con un colpo di gsettings; aprite il vostro fidato terminale e digitate:

gsettings set org.gnome.desktop.interface gtk-enable-primary-paste true

E la paura (almeno per ora) passa!

Problema: uno dei volumi logici del nostro sistema è a corto di spazio. Vorremmo estendere il volume logico, ma il Volume Group associato non ha spazio disponibile.

Come fare??

La risposta è: occorre aggiungere un nuovo disco. Che il vostro sistema sia una Virtual Machine (e allora l'operazione può essere l'aggiunta di un nuovo disco virtuale) o una macchina fisica (e allora dovrete comprare un nuovo hard disk e collegarlo al sistema), cambia la procedura di aggiunta del disco, ma non la sostanza. Se serve spazio e non è possibile allocarlo dal Volume Group, allora bisogna aggiungere uno (o più) hard disk.

  • 1: Individuazione del nuovo disco

Una volta aggiunto il nuovo hard disk, con il comando lsblk possiamo controllare a quale device è stato associato il nuovo disco. Nell'esempio qui sotto, il disco aggiuntivo è /dev/sdb, che non ha un mountpoint

$ lsblk 
NAME                                            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                                               8:0    0 238,5G  0 disk  
├─sda1                                            8:1    0   600M  0 part  /boot/efi
├─sda2                                            8:2    0     2G  0 part  /boot
└─sda3                                            8:3    0 235,9G  0 part  
  ├─mypc-root                       253:0    0  37,3G  0 lvm   
  │ └─luks-c8b84b2a-1c44-4fe4-89e3-732c025badac 253:2    0  37,2G  0 crypt /
  ├─mypc-swap                       253:1    0  14,9G  0 lvm   
  │ └─luks-da72b4f1-4d86-43e8-933d-e045a4b0d154 253:3    0  14,9G  0 crypt [SWAP]
  └─mypc-home                       253:4    0 183,7G  0 lvm   
    └─luks-c696aa66-d91a-43c8-b4c6-6f7908bd1cd4 253:5    0 183,7G  0 crypt /home
sdb                                               8:16   1   922M  0 disk  
  • 2: Inizializzazione del nuovo disco per l'uso con LVM

Il comando pvcreate inizializza un disco, o una partizione, per essere aggiunto successivamente a un LVM. Per il nostro esempio

# pvcreate /dev/sdb
  • 3: Estensione del Volume group con il nuovo disco

Ora è sufficiente usae il comando vgextend seguito dal nome del Volume Group da estendere e del disco che abbiamo inizializzato poco fa. Per il nostro esempio:

# vgextend mypc /dev/sdb
  • 4: Verifica dell'estensione

Con il comando vgdisplay seguito dal nome del nostro Volume Group possiamo verificare che lo spazio non allocato e disponibile è aumentato della dimensione del disco aggiunto.

vgdisplay mypc
  --- Volume group ---
 VG Name                      mypc
 System ID
 Format                       lvm2
 Metadata Areas               1
 Metadata Sequence No         4
 VG Access                    read/write
 VG Status                    resizable
 MAX LV                       0
 Cur LV                       3
 Open LV                      3
 Max PV                       0
 Cur PV                       1
 Act PV                       1
 VG Size                      27.01 GiB
 PE Size                      4.00 MiB
 Total PE                     6915
 Alloc PE / Size              5256 / 20.53 GiB
 Free  PE / Size              1659 / 922 MiB

Approfondimenti:

Ecco in breve come estendere una partizione logica formattata in XFS.

  • 1: Controlla lo spazio libero sul filesystem Esegui il comando df per controllare lo spazio libero residuo rimanente sul filesystem che vuoi estendere (in questo esempio il mount-point /home).
[root@linux]# df -h
Filesystem            Size  Used Avail Use% Mounted on
[..] 
/dev/mapper/vg_linux-home
                       9.7G  9.7G     0 100% /home
[..]
  • 2: Controlla lo spazio libero nel Volume Group Per poter estendere il tuo filesystem, il Volume Group deve avere spazio libero da allocare. Puoi controllare lo spazio non allocato con il comando # vgdisplay <nome-del-volume-group> Per il nostro esempio, il comando risulta come quello sottostante; la riga da controllare è "Free PE / Size":
[root@cloud home]# vgdisplay vg_linux
   --- Volume group ---
 VG Name                      vg_linux
 System ID
 Format                       lvm2
 Metadata Areas               1
 Metadata Sequence No         4
 VG Access                    read/write
 VG Status                    resizable
 MAX LV                       0
 Cur LV                       3
 Open LV                      3
 Max PV                       0
 Cur PV                       1
 Act PV                       1
 VG Size                      27.01 GiB
 PE Size                      4.00 MiB
 Total PE                     6915
 Alloc PE / Size              5256 / 20.53 GiB
 Free  PE / Size              1659 / 6.48 GiB
  • 3: Aumentare lo spazio Dal comando precedente abbiamo notato che è possibile aumentare lo spazio della nostra /home di circa 6GB. Con il comando lvextend è possibile estendere il logical volume. Restando sul nostro esempio:
# lvextend -L +6G /dev/mapper/vg_linux_home
Extending logical volume home to 15.7 GiB
Logical volume home successfully resized
  • 4: Non è finita, estendere il filesystem Ok, abbiamo ridimensionato il logical volume, cioè il contenitore su cui abbiamo creato il nostro filesystem XFS, ma non abbiamo acora esteso il filesystem stesso. XFS è un filesystem moderno, e con un semplice comando, xfs_growfs, è possibile ridimensionare il filesystem e informare il sistema operativo di usare la nuova dimensione:
# xfs_growfs /dev/mapper/vg_linux_home
  • 5: Verifica Diamo nuovamente il comando df per verificare che l'estensione del filesystem sia avvenuta con successo.
Filesystem            Size  Used Avail Use% Mounted on
[..] 
/dev/mapper/vg_linux-home
                       15.7G  9.7G     0 62% /home
[..]

Approfondimenti:

  1. Come estendere un Volume Group se non c'è più spazio disponibile?
  2. Come estendere un Logical Volume formattato in ext4?

A volte, sui sistemi GNU/Linux, ci si può trovare nel dubbio di quanti e quali siano i dischi presenti nel sistema, e di come siano rappresentate e rese disponibili nei punti di mount le loro partizioni.
In realtà esiste un comando molto semplice a terminale per scoprire moltissime informazioni sui dischi collegati a sistema, comprese le periferiche usb (chiavette usb, SD card...).
Il comando di cui trattiamo in questa veloce guida è lsblk.
Se lanciato senza argomenti, il comando mostra un output simile al seguente:

$ lsblk 
NAME                                            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                                               8:0    0 238,5G  0 disk  
├─sda1                                            8:1    0   600M  0 part  /boot/efi
├─sda2                                            8:2    0     2G  0 part  /boot
└─sda3                                            8:3    0 235,9G  0 part  
  ├─mypc-root                       253:0    0  37,3G  0 lvm   
  │ └─luks-c8b84b2a-1c44-4fe4-89e3-732c025badac 253:2    0  37,2G  0 crypt /
  ├─mypc-swap                       253:1    0  14,9G  0 lvm   
  │ └─luks-da72b4f1-4d86-43e8-933d-e045a4b0d154 253:3    0  14,9G  0 crypt [SWAP]
  └─mypc-home                       253:4    0 183,7G  0 lvm   
    └─luks-c696aa66-d91a-43c8-b4c6-6f7908bd1cd4 253:5    0 183,7G  0 crypt /home

Tralasciando le parti "complicate" (i più esperti noteranno subito le partizioni criptate con luks), è immediato visualizzare che il computer ha collegato un unico disco, invididuato a sistema con il device sda; tae disco è inoltre partizionato in 3 partizioni primarie (sda1, sda2 ed sda3); l'ultima è un volume criptato, che contiene a sua volta un LVM (per chi non consoca LVM c'è un articolo introduttivo in merito).

Se si collega un nuovo dispositivo come ad esempio una chiavetta usb e si rilancia il comand lsblk si otterrà la seguente schermata:

$ lsblk 
NAME                                            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                                               8:0    0 238,5G  0 disk  
├─sda1                                            8:1    0   600M  0 part  /boot/efi
├─sda2                                            8:2    0     2G  0 part  /boot
└─sda3                                            8:3    0 235,9G  0 part  
  ├─mypc-root                       253:0    0  37,3G  0 lvm   
  │ └─luks-c8b84b2a-1c44-4fe4-89e3-732c025badac 253:2    0  37,2G  0 crypt /
  ├─mypc-swap                       253:1    0  14,9G  0 lvm   
  │ └─luks-da72b4f1-4d86-43e8-933d-e045a4b0d154 253:3    0  14,9G  0 crypt [SWAP]
  └─mypc-home                       253:4    0 183,7G  0 lvm   
    └─luks-c696aa66-d91a-43c8-b4c6-6f7908bd1cd4 253:5    0 183,7G  0 crypt /home
sdb                                               8:16   1   922M  0 disk  /run/media/myuser/F831-875C

Appare subito evidente che è apparso un nuovo dispositivo, sdb, che è stato già montato automaticamente dal sistema nella posizione /run/media/myuser/F831-875C.

Altre informazioni

Il comando lsblk può essere lanciato anche con altri argomenti, per ottenere informazioni relative, ad esempio, al tipo di filesystem con cui sono formattate le partizioni (argomento --fs), o per concentrare la ricerca su un singolo device.
Naturalmente è possibile una combinazione di argomenti; il comando lsbkl --fs /dev/sdb ad esempio ritorna questo output:

NAME FSTYPE LABEL UUID                                 MOUNTPOINT
sdb  vfat         F831-875C                            /run/media/myuser/F831-875C

L'elenco completo degli argomenti supportati da lsblk è disponibile con: lsblk --help.


Se ti piace il contenuto di questo sito e vuoi supportarmi offrendomi un caffè, una birra o una pizza, fai una piccola donazione!


Introduzione a LVM

- Posted in linux by

Sui sistemi GNU/Linux, oltre alle partizioni standard, è possibile definire dei Volumi Logici.
I volumi logici sono dei "contenitori" che possono astrarre dalla dimensione dei singoli dischi collegati al computer e creare volumi che si estendono si più dischi fisici, o in partizioni che sarebbero fisicamente separate di uno stesso disco, o una combinazione delle possibilità sopra descritte. Aggiungendo nuovi dischi a un sistema GNU/Linux è possibile estendere i Volumi Logici già configurati per ottenere nuovo spazio sulle partizioni che ne hanno bisogno.
I volumi logici e la gestione dei volumi logici semplificano la gestione dello spazio su disco.
Se un filesystem che ospita un volume logico ha bisogno di più spazio, può essere allocato al suo volume logico dallo spazio libero nel suo gruppo di volumi e il file system può essere ridimensionato.
Se un disco inizia a guastarsi, un disco sostitutivo può essere registrato come volume fisico con il gruppo di volumi e le estensioni logiche del volume possono essere migrate sul nuovo disco.

NB. Non è mai una best practice usare LVM come sistema di gestione delle rotture hardware di un disco. Lo scopo primario di LVM è quello di gestire dinamicamente lo spazio sui volumi logici. La gestione dei fail di disco viene gestita meglio con altri metodi (ridondanza, RAID, backup, virtualizzazione....).

Definizioni per LVM

Device fisici: I dispositivi fisici sono i dispositivi di archiviazione utilizzati per salvare i dati archiviati in un volume logico. Questi sono dispositivi a blocchi e possono essere partizioni del disco, interi dischi, array RAID o dischi SAN. Un dispositivo deve essere inizializzato come volume fisico LVM per essere utilizzato con LVM. L'intero dispositivo verrà utilizzato come volume fisico.
Volumi fisici (PVs): È necessario inizializzare un dispositivo come volume fisico prima di utilizzarlo in un sistema LVM. Gli strumenti di LVM segmentano i volumi fisici in estensioni fisiche (PE), che sono piccoli blocchi di dati che agiscono come il più piccolo blocco di archiviazione su un volume fisico.
Volume groups (VGs): I volume groups sono pool di archiviazione costituiti da uno o più volumi fisici. Questo è l’equivalente funzionale di un intero disco nella memoria di base. Un PV può essere assegnato solo a un singolo VG. Un VG può essere costituito da spazio inutilizzato e un numero qualsiasi di volumi logici.
Logical Volumes (LVs): I logical volumes vengono creati da estensioni fisiche libere in un VG e forniscono il dispositivo di "memorizzazione" utilizzato da applicazioni, utenti e sistema operativo. I LV sono una collezione di estensioni logiche (LE), che mappano le estensioni fisiche, il più piccolo blocco di archiviazione di un PV. Per impostazione predefinita, ogni LE è mappato su un PE.

Gli articoli presenti in questo sito sono di proprietà degli autori di FaciLinux
Idee, consigli? Scrivici su
info-at-berretto.eu
Questo blog è basato su HTMLy