Jeudi 13 octobre 2011 4 13 /10 /Oct /2011 00:05

É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)

Allez, on continue?

Par Roberto - Publié dans : Technologies et informatique
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Créer un Blog

Recherche

Calendrier

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      
<< < > >>
Créer un blog gratuit sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés