Avevo pensato di scrivere un post sullo standard di cifratura LUKS, supportato nativamente dal kernel Linux, che permette di proteggere i dati criptando partizioni di un disco. Prima, però, voglio fare un breve accenno a un altro strumento nativo, che può tornarci utile quando scegliamo di cifrare l’intero sistema: LVM, o Logical Volume Manager.
Per “gestione logica dei volumi” s’intende una forma di allocazione dinamica dello spazio. L’idea di base è quella di superare i limiti imposti dai tradizionali metodi di partizionamento come MBR, “sganciando” il livello logico dal livello fisico e fornendo uno strato di astrazione tra un file-system e i dischi o le partizioni che si utilizzano.
Questo consente di creare i cosiddetti logical volumes (LVs), ognuno dei quali può estendersi su più dispositivi di storage in maniera del tutto trasparente, cioè senza provocare interruzioni del servizio. Un logical volume, infatti, è costruito sopra un’entità che funge da disco rigido virtuale, il volume group (VG), formato da uno o più dispositivi fisici chiamati physical volumes (PVs):
Con LVM, poiché la configurazione reale dei dischi è nascosta dal software, diventa possibile gestire i dati a un livello più alto, unificando lo spazio di archiviazione disponibile sul sistema per definire un numero arbitrario di unità logiche. In questo modo, se un file-system si riempie, un nuovo physical volume (disco o partizione) potrà essere aggiunto al volume group così da espandere facilmente il volume logico.
Esempio:
voglio incrementare le dimensioni della partizione LVM di root. In primo luogo, verifico le informazioni relative allo spazio occupato dal file-system che m’interessa:
Lancio i comandi pvs, vgs e lvs per capire com’è organizzato il mio LVM:
Al momento ho:
- un physical volume in /dev/mapper/sda5_crypt;
- un unico volume group chiamato ubuntu-vg;
- due logical volumes, di cui uno riservato alla partizione di root (quella che voglio espandere) e l’altro riservato alla partizione di swap
Poiché nel volume group non c’è più spazio, dovrò collegare un altro physical volume. Tramite fdisk -l posso vedere il mio nuovo device:
A questo punto, vado a creare una partizione con i seguenti comandi:
Ora possiamo finalmente inizializzarla come physical volume:
E allocare spazio aggiungendo il physical volume appena creato al volume group:
Procediamo quindi ad espandere il logical volume, che da 47,52gb passerà a 54,52gb:
E per concludere, andiamo a ridimensionare il file-system affinché possa gestire lo spazio appena ottenuto:
Il risultato sarà visibile lanciando il comando df -hT: