Partager l'article ! Fedora 15 Linux Ubuntu RAID 5 LVM grow tuto how to (Étape 2): ÉTAPE 2 : Installation de LVM Sans attendre la fin de la construct ...
ÉTAPE 2 : Installation de LVM
Sans attendre la fin de la construction de notre nouveau système de RAID, passons à l'installation de LVM.
Quelques mots sur LVM : ce système permet de gérer plusieurs volumes physiques (un RAID, un NAS, un ou des disques locaux... et tout autres types de stockage) comme un seul « périphérique » ayant comme capacité totale la capacité additionnée de tous les éléments qui le compose et dans lequel on pourra créer des « partions » (appelées « volumes logiques ») de taille modifiables. Un petit dessin vaut mieux qu'un long discours, tiré d'un article sur la structure LVM chez HP :
En synthèse, la création d'un LVM passe par les trois étapes suivantes :
Déclarer chaque périphérique physique comme utilisable en tant que membre d'un groupe de volumes. (Toutes les commandes concernant ce niveau d'opération commencent par « pv » pour « Physical Volume »)
Créer le groupe de volumes. (Toutes les commandes concernant ce niveau d'opération commencent par «vg » pour « Volum Group »).
Créer les lecteurs logiques. (Toutes les commandes concernant ce niveau d'opération commencent par «lv » pour « Logical Volume »).
Pourquoi à chaque puce avoir précisé entre parenthèses « Toutes les commandes... », tout simplement parce qu’il existe pour chaque niveau d'opération des suffixes de commandes identiques... Vous comprendrez plus tard...
ÉTAPE 2.1 : Préparation du (des) volume(s) physique(s).
Pour préparer les volumes physiques de mon LVM, cela se résume à utiliser la commande pvcreate pour chaque volume que je souhaite utiliser. Dans le cadre de cet exemple, je n'utilise qu'un seul volume : md0.
[root@roberto-test roberto]# pvcreate /dev/md0
Physical volume "/dev/md0" successfully created
[root@roberto-test roberto]#
Selon votre configuration, libre à vous de répéter cette commande autant de fois que nécessaire.
Pour vérifier que tout c'est bien passé, tapez pvdisplay :
[root@roberto-test roberto]# pvdisplay
"/dev/md0" is a new physical volume of "40,00 GiB"
--- NEW Physical volume ---
PV Name /dev/md0
VG Name
PV Size 40,00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 44zJuD-nfdW-0FFq-zx3o-Clvs-v0Uk-cOYoVY
[root@roberto-test roberto]#
Et là, vous avez tout un tas d'infos, dont la majeure partie inutile, alors que la commande pvs, qui conduit à peu près au même résultat, est beaucoup plus concise.
[root@roberto-test roberto]# pvs
PV VG Fmt Attr PSize PFree
/dev/md0 lvm2 a- 40,00g 40,00g
[root@roberto-test roberto]#
Le « vous comprendrez plus tard » s'explique ici, dans toutes les phases de création, modification, … de volume physique, de groupe de volumes ou de volumes logiques, vous aurez le choix entre la commande « **display » ou « **s » pour voir le résultat de vos actions ( « **display » est très bavarde, « **s » est très basique... À vous de choisir la méthode que vous préférez... Comme expliqué plus haut, remplacez « ** » par le préfixe qui vous sied). Dans la même optique, j'utiliserai vgcreate pour créer le groupe de volume et lvcreate pour créer les volumes logiques.
ÉTAPE 2.2 : Créer le groupe de volume(s).
Tout aussi simple que l'étape précédente, cela se résume à l'utilisation de vgcreate, qui a besoin de deux paramètres ou plus, en premier le nom du groupe que vous souhaiter créer, et ensuite le nom du (des) périphérique(s) physique(s) associé(s) . Dans mon cas :
[root@roberto-test roberto]# vgcreate mvg /dev/md0
Volume group "mvg" successfully created
[root@roberto-test roberto]#
Mon groupe de volume s'appelle mvg (pour « Mon Volume Groupé »), et sera disponible au niveau du système sous /dev/mvg.
N'oubliez pas d'essayer la commande vgs pour savoir sommairement si tout c'est bien passé.
[root@roberto-test roberto]# vgs
VG #PV #LV #SN Attr VSize VFree
mvg 1 0 0 wz--n- 40,00g 40,00g
[root@roberto-test roberto]#
ou essayez « vgdisplay » si vous avez envie de lire...
ÉTAPE 2.3 : Création du (des) volume(s) logique(s)
Nous allons rester dans la même simplicité d'utilisation en utilisant lvcreate. Mais pour cette commande, il faut trois paramètres :
le premier, pour indiquer le nom du volume créé, indiqué par le flag « -n »
le second, pour indiquer la taille du volume, indiquée par le flag « -L »
et le dernier, pour indiquer sur quel groupe de volumes rattacher ce volume logique (dans mon cas, aucun souci, il n'y a qu'un groupe : « mvg »).
Je vais maintenant créer deux volumes, vol1 et vol2 (désolé pour le manque d'originalité), le premier de 5 Go et le second de 10 Go. Et en français dans le texte, ça donne :
[root@roberto-test roberto]# lvcreate -n vol1 -L 5G mvg
Logical volume "vol1" created
[root@roberto-test roberto]# lvcreate -n vol2 -L 10G mvg
Logical volume "vol2" created
[root@roberto-test roberto]#
Cette commande est très « Human Compatible », c'est à dire qu'elle accepte toutes les unités connues : K pour kilo, M pour méga, G pour giga, T pour tera and so on....(n'hésitez pas, si vous en avez les moyens, à créer une partition de 3 Po...Petaoctets, pour les profanes)
Pour rester fidèle à ce dont on parlait tout à l'heure, un « lvs » vous racontera ce qui c'est passé, alors qu'un « lvdisplay » 'bavera' sur ce qui c'est passé.
[root@roberto-test roberto]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
vol1 mvg -wi-a- 5,00g
vol2 mvg -wi-a- 10,00g
[root@roberto-test roberto]#
C'est parfait, je viens de créer deux volumes logiques, appelés vol1 et vol2, qui font respectivement 5 et 10 Go... Exactement ce que je voulais...
Maintenant, il faut les formater pour les rendre utilisable... Facile...
[root@roberto-test roberto]# mkfs.ext4 /dev/mvg/vol1
mke2fs 1.41.14 (22-Dec-2010)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=4096 (log=2)
Taille de fragment=4096 (log=2)
« Stride » = 128 blocs, « Stripe width » = 256 blocs
327680 i-noeuds, 1310720 blocs
65536 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=0
Nombre maximum de blocs du système de fichiers=1342177280
40 groupes de blocs
32768 blocs par groupe, 32768 fragments par groupe
8192 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
32768, 98304, 163840, 229376, 294912, 819200, 884736
Écriture des tables d'i-noeuds : complété
Création du journal (32768 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de fichiers : complété
Le système de fichiers sera automatiquement vérifié tous les 25 montages ou après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i pour écraser la valeur.
[root@roberto-test roberto]# mkfs.ext4 /dev/mvg/vol2
mke2fs 1.41.14 (22-Dec-2010)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=4096 (log=2)
Taille de fragment=4096 (log=2)
« Stride » = 128 blocs, « Stripe width » = 256 blocs
655360 i-noeuds, 2621440 blocs
131072 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=0
Nombre maximum de blocs du système de fichiers=2684354560
80 groupes de blocs
32768 blocs par groupe, 32768 fragments par groupe
8192 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Écriture des tables d'i-noeuds : complété
Création du journal (32768 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de fichiers : complété
Le système de fichiers sera automatiquement vérifié tous les 35 montages ou après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
pour écraser la valeur.
[root@roberto-test roberto]#
J'ai formaté, parce que je préfère, en ext4. Libre à chacun de choisir son format de système de fichiers.
Pour pouvoir utiliser ces deux volumes logiques, il faut maintenant créer des points de montages, monter les volumes et s'en approprier les droits. Ce qui se fait tout simplement par :
[root@roberto-test roberto]# mkdir /mnt/vol1 /mnt/vol2
[root@roberto-test roberto]#
pour la création des points d'accès, et par :
[root@roberto-test roberto]# mount /dev/mvg/vol1 /mnt/vol1
[root@roberto-test roberto]# mount /dev/mvg/vol2 /mnt/vol2
[root@roberto-test roberto]#
pour les monter (oui, on accède aux volumes logiques que l'on a créé par /dev/<LeNomDuGroupeDeVolume>/<LeNomDuVolumeLogique>), et pour en devenir propriétaire :
[root@roberto-test roberto]# chown roberto:roberto /mnt/vol1 /mnt/vol2
[root@roberto-test roberto]#
Donc, à cette heure ci, une commande « df -h » (-h voulant dire « humain ») nous répond :
[root@roberto-test roberto]# df -h
Sys. de fichiers Taille Uti. Disp. Uti% Monté sur
rootfs 40G 2,7G 37G 7% /
udev 1000M 4,0K 1000M 1% /dev
tmpfs 1008M 272K 1007M 1% /dev/shm
tmpfs 1008M 720K 1007M 1% /run
/dev/sda5 40G 2,7G 37G 7% /
tmpfs 1008M 0 1008M 0% /sys/fs/cgroup
tmpfs 1008M 0 1008M 0% /media
/dev/sda6 166G 188M 158G 1% /home
/dev/sda2 485M 50M 410M 11% /boot
/dev/sda5 40G 2,7G 37G 7% /tmp
/dev/sda5 40G 2,7G 37G 7% /var/tmp
/dev/sda6 166G 188M 158G 1% /home
/dev/mapper/mvg-vol1 5,0G 138M 4,6G 3% /mnt/vol1
/dev/mapper/mvg-vol2 9,9G 151M 9,2G 2% /mnt/vol2
[root@roberto-test roberto]#
Bon, je vous l'accorde, cela n'a pas grand chose d'humain pour un profane, mais ce qui nous intéresse ici, ce sont les deux dernières lignes.
J'entends pour la deuxième fois dans ce billet une question qui n'a pas encore été posée : « /dev/mapper/mvg-vol1 », je n'ai jamais causé de ça, môa !!!
On ne va pas rentrer dans des explications qui pourraient ressembler à un roman, sachez que vous utilisez vos volumes logiques en tant que « /dev/<NomDuGroupeDeVolume>/<NomDuVolumeLogique> » et que la machine les traite en tant que « /dev/mapper/<NomDuGroupeDeVolume>-<NomDuVolumeLogique> », et ce depuis LVM version 2. (Pour plus d'infos, cherchez dans les wikis qui vont bien). Toutefois, pour des raisons de compatibilité, continuez, dans toutes vos formulations à utiliser « /dev/<NomDuGroupeDeVolume>/<NomDuVolumeLogique> ».
Pour en revenir au « df -h », on a bien vol1 et vol2 qui ont les tailles qui vont bien et auxquels ont peut accéder sans souci.
FIN DE L 'ETAPE 2 (Oufffff... mais on est loin d'être au sommet du calvaire)
| Mai 2012 | ||||||||||
| L | M | M | J | V | S | D | ||||
| 1 | 2 | 3 | 4 | 5 | 6 | |||||
| 7 | 8 | 9 | 10 | 11 | 12 | 13 | ||||
| 14 | 15 | 16 | 17 | 18 | 19 | 20 | ||||
| 21 | 22 | 23 | 24 | 25 | 26 | 27 | ||||
| 28 | 29 | 30 | 31 | |||||||
|
||||||||||