On va ici, à titre d'illustration de LVM et dans le cadre particulier du tuto , réserver la totalité du disque
sda
aux données propres aux virtualisations qu'on souhaite mettre en œuvre: Machine virtuelles et containers.
On s'appuie sur ces informations (il y en a d'autres bien sûr sur la toile).
Cette documentation semble particulièrement complète et en français, même si c'est pour Read Hat 6.
Les particularités qu'on a :
lxc-xxx
)/var
notamment, et donc sur la clé. On va donc redéfinir ces zones pour LXC – potentiellement pénalisantes à plusieurs niveaux sur la clé (espace, accès) – dans un LV dédié qu'on appelle ici env-lxc
(cf. Virtualisation - Containers LXC)L'idée est d'obtenir quelque chose comme ceci:
Pour toutes les manipulations à suivre, on se positionne en root
via
$ sudo -i
Le prompt en #
vous indique que vous avez des droits d'administrateur: Pas de bêtises et votre attention de rigueur…
La commande d'installation est «de base»:
# apt-get install lvm2
On part donc sur une disque /dev/sda
, vierge de toute partition.
On va signaler au système qu'il s'agira d'un disque géré via LVM, à l'aide la la commande fdisk
# fdisk -l /dev/sda
Vous devriez obtenir quelque chose qui ressemble à celà, c'est à dire sans partition, sans identifiant:
Disque /dev/sda : 233,8 GiB, 251000193024 octets, 490234752 secteurs Modèle de disque : Maxtor 6V250F0 Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Identifiant de disque : 0x00000000
# fdisk /dev/sda
Appliquer les options raccourcis suivants, dans l'ordre:
e8
: e8
est le code qui définit les partitions «LVM Linux». On peut voir la liste des codes possibles en saisissant l. # fdisk -l /dev/sda
vous devriez obtenir quelque chose qui ressemble à cela, c'est à dire avec une partition sda1
de type LVM:
fdisk -l /dev/sda Disque /dev/sda : 233,8 GiB, 251000193024 octets, 490234752 secteurs Modèle de disque : Maxtor 6V250F0 Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : dos Identifiant de disque : 0xadb281cf Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/sda1 2048 490234751 490232704 233,8G 8e LVM Linux
☛ Notre disque est prêt pour entrer dans la définition d'un Volume Physique (PV).
On peut faire de notre partition /dev/sda1
un PV qui pourra être intégré à un VG :
# pvcreate /dev/sda1
Utilisez:
pvs pvdisplay
pour avoir des info sur ce volume physique…
La création du groupe de volumes est simple, d'autant qu'on a qu'un groupe, et qu'un disque:
# vgcreate VGVirtu /dev/sda1
Et pareil, infos avec:
vgs vgdisplay
Les volumes logiques LV pour les containers en lxc-xxx
seront créés au moment de la définition de nos différents containers LXC au cours de ce § dans le tuto du projet , ou dans les rubriques où des containers LXC interviennent.
Le LV qu'on va créer ici est destiné aux données (de configuration, cache, etc…) qu'on veut ne pas laisser sur la clé: on l’appellera env-lxc
.
Les commandes ci-dessous s'appliquent bien sûr à la création de tout volume logique LV.
La commande de définition d'un LV est la suivante:
# lvcreate -n <nom LV> -L <taille> <Nom VG>
On va créer notre LV avec 10G, taille au pif à ce stade mais qu'on pourra réduire à l'usage:
# lvcreate -n env-lxc -L 10g VGVirtu
De même encore ici, les commandes suivantes donneront des infos sur les Volumes Logiques LV:
lvs lvdisplay
A ce stade, on a une belle organisation avec des boîtes sur trois étages… Mais ces boîtes sont vides !
Les LV sont comme des partitions sur un disque, il faut leur donner un format, ou un type de File System. Par exemple, la commande suivantes nous «formate» le LV env-lxc
en EXT4:
# mkfs -t ext4 /dev/VGVirtu/env-lxc
Pour l'instant, on n'a pas accès à notre Volume Logique env-lxc
. On est sous Linux, donc il faut «monter» cet espace.
On va le faire à l'emplacement prévu pour les montages /mnt
:
# mkdir /mnt/env-lxc
# mount /dev/VGVirtu/env-lxc /mnt/env-lxc
On peut alors y accéder via
# ls -als /mnt/env-lxc
/etc/fstab
: nano /etc/fstab # Ajout par <machin> - ssaa.mm.jj - montage config environnement lxc /dev/VGVirtu/env-lxc /mnt/env-lxc ext4 defaults,nofail,discard 0 0
Et woula …
Il y a plein d'autres possibilités, en particulier extension de LV et snapshot, dont vous pourrez trouver les commandes dans les liens donnés au début et un peu partout sur le net.