[16:03] <MaWaLe> salam ichihi 
[16:03] <MaWaLe> déjà connecté :)
[16:03] <MaWaLe> c'est un peu tôt non ;)
[16:13] <ichihi> :)
[16:14] <ichihi> déjà
[16:14] <ichihi> Est-ce que ce mot ^ s'affiche correctement sur ton client IRC?
[16:16] <MaWaLe> quel mot 
[16:16] <MaWaLe> ichihi:  quel mot
[16:16] <ichihi> MaWaLe: le mot "déjà"
[16:16] <MaWaLe> oui
[16:16] <MaWaLe> sans problème
[16:16] <ichihi> MaWaLe: OK.
[16:17] <MaWaLe> ichihi:  ton passage sur le chan principal (#ubuntu-tn) nous manque ;)
[16:17] <ichihi> MaWaLe: Ca fait peut-être 2 années que je me suis pas connecté sur IRC
[16:18] <MaWaLe> ichihi:  yup, i know, and we midd you and your valuable advices ;)
[16:18] <MaWaLe> s/midd/miss
[16:19] <ichihi> MaWaLe: tu exagères un peu, mais je resterai très probablement loin d'IRC pour quelques mois encore.
[16:19] <MaWaLe> dommage pour nous
[19:02] <oussema-isims> saléém
[19:03] <MaWaLe> salam oussema-isims 
[19:03] <MaWaLe> la session est à 21h
[19:04] <oussema-isims> ok
[19:08] <nizarus> rappel du mail de ichihi : https://lists.ubuntu.com/archives/ubuntu-tn/2010-November/008814.html
[19:09] <MaWaLe> Lors de la session, les questions et discussions se passent sur le channel #ubuntu-tn-classroom-chat et ce pour garder le log clair pour son traitement ultérieur. MERCI
[19:13] <ns_hardy> st tou le monde
[19:18] <nizarus> test
[19:18] <MaWaLe> salut ns_hardy 
[19:18] <ns_hardy> slt mawale et nizarus 
[19:18] <MaWaLe> S'il vous plait arrêtez dès maintenant les interférences ce chan
[19:18] <MaWaLe> Lors de la session, les questions et discussions se passent sur le channel #ubuntu-tn-classroom-chat et ce pour garder le log clair pour son traitement ultérieur. MERCI
[19:58] <LinuxKiller> bsr
[19:59] <nizarus> Lors de la session, les questions et discussions se passent sur le channel #ubuntu-tn-classroom-chat et ce pour garder le log clair pour son traitement ultérieur. MERCI
[20:00] <ichihi> 21:00 ici, le classroom commence. Nous sommes le 05/12/2010.
[20:00] <ichihi> ********************************************************************
[20:00] <ichihi> Ubuntu Classroom sur le sujet: Le Logical Volume Manager dans Linux
[20:08] <ichihi> LVM fait, donc, une correspondance entre une vue logique d'un ensemble d'extents et des extents physiques.
[20:09] <ichihi> Les extents physiques proviennent des "physical volumes"
[20:09] <ichihi> Ces physical volumes (PV) sont typiquement des partitions sur un disque
[20:10] <ichihi> Plusieurs Physical Volumes (PVs) sont groupés en un "Volume Group" (VG)
[20:10] <ichihi> Ces dernier, le volume group, peut être partitionné comme on fait pour les disques ordinaires
[20:11] <ichihi> La "partition" sur un volume group s'appelle "logical volume"
[20:11] <MaWaLe> QUESTION : donc un extent physique est une partition d'un HDD?
[20:12] <ichihi> Non, la partition d'un HDD est typiquement un "physical volume"
[20:12] <ichihi> Le physical volume est composé de plusieurs "extents"
[20:12] <ichihi> Un extent est typiquement 4 MB de taille sous Linux.
[20:13] <MaWaLe> Question : un extent est l'équivalent d'un cluster ou un bloc?
[20:14] <ichihi> Pour faire une analogie: sur les disques ordinaires, nous avons des partitions composées de plusieurs secteurs. Un secteur est 512 B de taille.
[20:14] <ichihi> sur LVM, nous avons des "physical volumes" composés d'extents. Un extent est 4 MB de taille (typiquement).
[20:15] <ichihi> Ainsi, pour répondre à la question, un extent est équivalent à un secteur.
[20:15] <ichihi> Le système LVM est composé de:
[20:15] <MaWaLe> REPONSE : un extent est l'équivalent (par analogie) d'un secteur sur un HDD ordinaire
[20:16] <ichihi> exact.
[20:16] <ichihi> 1. une partie implémentée dans le noyau: le module dm_mod essentiellement
[20:18] <ichihi> 2. une partie implémentée en espace utilisateur: une librairie libdevmapper et une suite d'outils pv*, lv*, vg*, etc.
[20:19] <ichihi> 3. des meta-données stockées sur les disques gérés par LVM
[20:19] <ichihi> Section II: Avantages de LVM
[20:20] <ichihi> L'objectif premier de LVM est la flexibilité dans la gestion des espaces de stockage.
[20:20] <ichihi> Il permet, entre autres, d'avoir des systèmes de fichiers plus gros que le plus grand disque
[20:21] <ichihi> Il permet aussi de déplacer des blocs de données entre des disques de manière transparente aux applications
[20:21] <ichihi> Il permet de prendre des "snapshot" de l'état des systèmes de fichiers à un moment donné.
[20:22] <ichihi> Nous allons maintenant faire quelques manipulations pour expérimenter avec ces concepts et comprendre de quoi il s'agit
[20:23] <ichihi> Je sais qu'il est dur de suivre de longs textes sans voir du concret.
[20:23] <ichihi> Section III: Manipulations pratiques
[20:24] <ichihi> Nous allons faire ces manipulations sur des pseudo-disques:
[20:24] <MaWaLe> QUESTION : quel est l'intérêt des LVM pour une personne simple avec son laptop?
[20:26] <ichihi> REPONSE: sur un laptop, LVM est bien moins utile que sur un serveur tournant des applications importantes.
[20:27] <ichihi> Linux permet la création de "loop devices", il s'agit de périphériques qui apparaissent comme des disques mais ils sont juste des fichiers.
[20:28] <ichihi> C'est ce que j'ai appelé: pseudo-disques.
[20:28] <ichihi> Commeçons ensemble:
[20:28] <ichihi> # cd /tmp
[20:28] <ichihi> # mkdir lvm
[20:28] <ichihi> # cd lvm
[20:29] <ichihi> # losetup -a
[20:30] <ichihi> Cette commande liste tous les loop devices configurés sur le système actuellement. Vous n'aurez aucun device configuré en principe.
[20:30] <ichihi> Nous allons maintenant créer 3 fichiers que nous allons assimiler à des disques pour faire notre exercice.
[20:31] <ichihi> # dd if=/dev/zero of=pv0 bs=1M count=200
[20:31] <ichihi> # dd if=/dev/zero of=pv1 bs=1M count=200
[20:31] <ichihi> # dd if=/dev/zero of=pv2 bs=1M count=200
[20:31] <ichihi> Ces commandes devraient créer 3 fichiers pv0, pv1 et pv2 de 200 MB chacun.
[20:32] <ichihi> Créons un quatrième qui nous servira parsuite tant que nous y sommes:
[20:32] <ichihi> # dd if=/dev/zero of=pv3 bs=1M count=200
[20:32] <MaWaLe> QUESTION : Pouvez vous s'il vous plait expliquer la commande tapée. MERCI
[20:33] <ichihi> REPONSE: il s'agit de la commande "dd" pour "disk dump".
[20:33] <ichihi> REPONSE: dd sert à faire des copies en mode brut, pas nécessairement entre fichiers d'un système de fichiers.
[20:34] <ichihi> REPONSE: la première commande, par exemple, sert à dire: copier 200 blocs de 1 MB (bloc size, bs) chacun depuis le input file (if) /dev/zero, vers le output file (of) pv0.
[20:35] <ichihi> REPONSE: /dev/zero est un périphérique spécial qui ne génère que des zeros lorsqu'on le lit et ignore tout ce qu'on écrit dessus.
[20:37] <ichihi> OK, donc vous suivez avec moi? Nous devons avoir 4 fichiers de 200 MB chacun dans /tmp/lvm maintenant.
[20:37] <ichihi> Arrêtez moi si j'avance trop vite.
[20:38] <ichihi> Maintenant, nous allons créer nos fameux pseudo-disques assimilés aux 4 fichiers que nous venons de créer.
[20:38] <ichihi> # losetup /dev/loop0 pv0
[20:38] <ichihi> # losetup /dev/loop1 pv1
[20:38] <ichihi> # losetup /dev/loop2 pv2
[20:38] <ichihi> # losetup /dev/loop3 pv3
[20:39] <ichihi> losetup pour dire "LOopback SETUP"
[20:39] <ichihi> Nous venons d'associer un pseudo-disque /dev/loop0 au fichier pv0
[20:40] <ichihi> /dev/loop0 se comporte maintenant comme un disque dur: vous pouvez lancer fdisk dessus, vous pouvez le formater, etc. Les écritures se sont, en réalité, sur le fichier associé: pv0.
[20:42] <ichihi> Vérifions déjà que nos disques sont proprement créés:
[20:42] <ichihi> # losetup -a
[20:43] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo losetup -a
[20:43] <MaWaLe> /dev/loop0: [0801]:1317055 (/tmp/lvm/pv0)
[20:43] <MaWaLe> /dev/loop1: [0801]:1317056 (/tmp/lvm/pv1)
[20:43] <MaWaLe> /dev/loop2: [0801]:1317057 (/tmp/lvm/pv2)
[20:43] <MaWaLe> /dev/loop3: [0801]:1317058 (/tmp/lvm/pv3)
[20:43] <ichihi> Parfait.
[20:44] <ichihi> Désormais, nous allons prétendre que nous avons 4 vrais disques.
[20:45] <LinuxKiller> QUESTION: C'est quoi la signification de '[0801]:131705?' dans l'exemple ci-dessus ?
[20:47] <ichihi> REPONSE: je pensais que le [0801] étaient les nombres major et minor du device en question, mais apparement ce n'est pas le cas.
[20:48] <ichihi> REPONSE: je ne peux donc pas répondre à cette question avec certitude pour le moment.
[20:49] <ichihi> Maintenant nous allons marquer ces disques comme des "physical volumes" pour qu'ils puissent être gérés par LVM
[20:49] <ichihi> # pvcreate /dev/loop0
[20:49] <ichihi> # pvcreate /dev/loop1
[20:49] <ichihi> # pvcreate /dev/loop2
[20:51] <ichihi> La commande pvcreate sert à créer un physical volume (PV)
[20:52] <ichihi> Nous pouvons maintenant inspecter la liste des physical volumes configurés:
[20:52] <ichihi> # pvs
[20:52] <MaWaLe> QUESTION : la commande pvcreate fait partie de quel package?
[20:54] <ichihi> REPONSE: lvm2
[20:54] <MaWaLe> REPONSE : les personnes qui n'ont pas trouvé la commande : sudo apt-get install lvm2
[20:55] <ichihi> # pvs
[20:55] <ichihi>   PV         VG   Fmt  Attr PSize   PFree  
[20:55] <ichihi>   /dev/loop0      lvm2 --   200.00m 200.00m
[20:55] <ichihi>   /dev/loop1      lvm2 --   200.00m 200.00m
[20:55] <ichihi>   /dev/loop2      lvm2 --   200.00m 200.00m
[20:56] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo pvs
[20:56] <MaWaLe>   PV         VG   Fmt  Attr PSize   PFree  
[20:56] <MaWaLe>   /dev/loop0      lvm2 --   200,00m 200,00m
[20:56] <MaWaLe>   /dev/loop1      lvm2 --   200,00m 200,00m
[20:56] <MaWaLe>   /dev/loop2      lvm2 --   200,00m 200,00m
[20:56] <ichihi> OK. Donc nous avons maintenant au moins 3 disques prêts à être utilisés sous LVM.
[20:57] <ichihi> Nous allons maintenant créer notre volume group qui va rassembler les 3 premiers PVs
[20:58] <ichihi> Plutôt, gréons ce premier Volume Group avec 2 disques seulement.
[20:58] <ichihi> # vgcreate vg1 /dev/loop0 /dev/loop1
[20:58] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo vgcreate vg1 /dev/loop0 /dev/loop1
[20:58] <MaWaLe>   Volume group "vg1" successfully created
[20:59] <ichihi> Comme vous l'avez peut-être deviné, les commandes commençant par pv* sont pour la gestion des "Physical Volumes", vg* pour les "Volume Groups", etc.
[20:59] <ichihi> # vgs
[20:59] <ichihi>   VG   #PV #LV #SN Attr   VSize   VFree  
[20:59] <ichihi>   vg1    2   0   0 wz--n- 392.00m 392.00m
[21:00] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo vgs
[21:00] <MaWaLe>   VG   #PV #LV #SN Attr   VSize   VFree  
[21:00] <MaWaLe>   vg1    2   0   0 wz--n- 392,00m 392,00m
[21:00] <ichihi> Maintenant, nous avons un Volume Group de près de 400 MB. Nous pouvons avoir plus de détails sur celui-ci avec:
[21:00] <ichihi> # vgdisplay
[21:01] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo vgdisplay 
[21:01] <MaWaLe>   --- Volume group ---
[21:01] <MaWaLe>   VG Name               vg1
[21:01] <MaWaLe>   System ID             
[21:01] <MaWaLe>   Format                lvm2
[21:01] <MaWaLe>   Metadata Areas        2
[21:01] <MaWaLe>   Metadata Sequence No  1
[21:01] <MaWaLe>   VG Access             read/write
[21:01] <MaWaLe>   VG Status             resizable
[21:01] <MaWaLe>   MAX LV                0
[21:01] <MaWaLe>   Cur LV                0
[21:01] <MaWaLe>   Open LV               0
[21:01] <MaWaLe>   Max PV                0
[21:01] <MaWaLe>   Cur PV                2
[21:01] <MaWaLe>   Act PV                2
[21:01] <MaWaLe>   VG Size               392,00 MiB
[21:01] <MaWaLe>   PE Size               4,00 MiB
[21:01] <MaWaLe>   Total PE              98
[21:01] <MaWaLe>   Alloc PE / Size       0 / 0   
[21:01] <MaWaLe>   Free  PE / Size       98 / 392,00 MiB
[21:01] <MaWaLe>   VG UUID               BLWFEA-e3oo-vHOa-LY9d-sjE3-Ml5G-mKZqT2
[21:01] <MaWaLe> QUESTION : pourquoi la taille obtenue n'est pas de 400M?
[21:01] <ichihi> Très bien.
[21:01] <MaWaLe> REPONSE: c'est parce qu'il y a un espace consommé pour le stockage des meta-données LVM.
[21:02] <ichihi> Nous avons maintenant un Volume Group, l'équivalent d'un disque, que nous allons "partitionner" et créer un Logical Volume.
[21:03] <ichihi> # lvcreate -l 98 -n lv0 vg1
[21:03] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo lvcreate -l 98 -n lv0 vg1
[21:03] <MaWaLe>   Logical volume "lv0" created
[21:04] <ichihi> Ceci est pour dire "créer un Logical Volume dans le Volume Group vg0 dont le nom est lv0 et dont la taille est de 98 extents"
[21:04] <ichihi> Comme d'habitude, pour avoir les détail de ce nouveau Logical Volume, nous pouvons faire:
[21:05] <ichihi> # lvdisplay
[21:05] <MaWaLe> 98 extents * 4 Mio = 392 Mio (taille du disque)
[21:05] <ichihi> Exactement.
[21:05] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo lvdisplay 
[21:05] <MaWaLe>   --- Logical volume ---
[21:05] <MaWaLe>   LV Name                /dev/vg1/lv0
[21:05] <MaWaLe>   VG Name                vg1
[21:05] <MaWaLe>   LV UUID                Uch2dx-Ktdb-Ksav-V4sP-hn2L-iYRx-KKLZT6
[21:05] <MaWaLe>   LV Write Access        read/write
[21:05] <MaWaLe>   LV Status              available
[21:05] <MaWaLe>   # open                 0
[21:05] <MaWaLe>   LV Size                392,00 MiB
[21:05] <MaWaLe>   Current LE             98
[21:05] <MaWaLe>   Segments               2
[21:05] <MaWaLe>   Allocation             inherit
[21:05] <MaWaLe>   Read ahead sectors     auto
[21:05] <MaWaLe>   - currently set to     256
[21:05] <MaWaLe>   Block device           252:0
[21:06] <ichihi> Un device devrait être créé sous /dev/vg1/lv0
[21:07] <ichihi> Ce device nous servira pour créer un système de fichiers. Nous allons donc l'utiliser comme un disque ordinaire.
[21:07] <ichihi> # mkfs.ext3 /dev/vg1/lv0
[21:07] <ichihi> # mkdir /mnt/lvm
[21:08] <ichihi> # mount /dev/vg1/lv0 /mnt/lvm
[21:08] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo mkfs.ext3 /dev/vg1/lv0
[21:08] <MaWaLe> mke2fs 1.41.12 (17-May-2010)
[21:08] <MaWaLe> Étiquette de système de fichiers=
[21:08] <MaWaLe> Type de système d'exploitation : Linux
[21:08] <MaWaLe> Taille de bloc=1024 (log=0)
[21:08] <MaWaLe> Taille de fragment=1024 (log=0)
[21:08] <MaWaLe> « Stride » = 0 blocs, « Stripe width » = 0 blocs
[21:09] <MaWaLe> 100352 i-noeuds, 401408 blocs
[21:09] <MaWaLe> 20070 blocs (5.00%) réservés pour le super utilisateur
[21:09] <MaWaLe> Premier bloc de données=1
[21:09] <MaWaLe> Nombre maximum de blocs du système de fichiers=67633152
[21:09] <MaWaLe> 49 groupes de blocs
[21:09] <MaWaLe> 8192 blocs par groupe, 8192 fragments par groupe
[21:09] <MaWaLe> 2048 i-noeuds par groupe
[21:09] <MaWaLe> Superblocs de secours stockés sur les blocs : 
[21:09] <anix> Assalamou 3alaykom
[21:09] <MaWaLe> 	8193, 24577, 40961, 57345, 73729, 204801, 221185
[21:09] <MaWaLe> Écriture des tables d'i-noeuds : complété                        
[21:09] <MaWaLe> Création du journal (8192 blocs) : complété
[21:09] <MaWaLe> Écriture des superblocs et de l'information de comptabilité du système de
[21:09] <MaWaLe> fichiers : complété
[21:09] <MaWaLe> Le système de fichiers sera automatiquement vérifié tous les 39 montages ou
[21:09] <MaWaLe> après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
[21:09] <MaWaLe> pour écraser la valeur.
[21:09] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo mkdir /mnt/lvm
[21:09] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo mount /dev/vg1/lv0 /mnt/lvm
[21:09] <MaWaLe> QUESTION: d'autres systèmes de fichiers sont supportés à part l'ext3?
[21:09] <Guest19548> Assalamou 3alaykom
[21:10] <ichihi> QUESTION: absolument. Il s'agit d'un bloc device et nous pouvons faire tout ce qu'on veut avec.
[21:10] <ichihi> s/QUESTION/REPONSE
[21:10] <MaWaLe> REPONSE : Tous les systèmes de fichiers supportés sur un HDD le sont avec un LV.
[21:12] <ichihi> Maintenant nous avons un Logical Volume opérationnel avec un système de fichiers monté.
[21:13] <ichihi> Nous allons maintenant simuler un cas typique: un système de fichiers est entrain de se remplir et l'administrateur ne veut pas arrêter la machine parce qu'elle est critique.
[21:14] <ichihi> Notre administrateur peut insérer un nouveau disque dans un slot libre de son serveur et étendre LVM puis le système de fichiers.
[21:15] <ichihi> Ce qui est beau dans tout ça, c'est que les utilisateurs de la machine ne seront pas affectés du tout et ne sauront même pas ce qui s'est passé.
[21:15] <ichihi> Comme nous avons notre 3eme disque (/dev/loop2) toujours libre, nous allons l'utiliser pour étendre le LVM existant.
[21:16] <ichihi> # vgextend vg1 /dev/loop2
[21:16] <MaWaLe> QUESTION : en cas d'un serveur de secours ayant les mêmes caractéristiques, il faut prévoir la même extension?
[21:17] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo vgextend vg1 /dev/loop2
[21:17] <MaWaLe>   Volume group "vg1" successfully extended
[21:17] <ichihi> REPONSE: sur les machine de secours, généralement, il n'y a pas la même pression pour faire des manipulations à chaud.
[21:18] <ichihi> REPONSE: Mais si la procédure exige un système de secours à l'identique alors il faudra appliquer les mêmes changements dessus aussi.
[21:18] <ichihi> La commande vgextend sert à ajouter un Physical Volume à un Volume Group.
[21:19] <MaWaLe> QUESTION': Pour les systèmes de secours avec réplication ...?
[21:20] <ichihi> REPONSE: prière de reformuler la question, j'ai une difficulté à la comprendre.
[21:20] <MaWaLe> QUESTION': Pour les systèmes de secours avec réplication, il faudra faire la même extension?
[21:22] <ichihi> REPONSE: s'il y a un mécanisme de réplication des données entre deux machines alors je pense, en effet, qu'on devra prévoir de maintenir la même capacité de stockage des deux côtés.
[21:23] <MaWaLe> QUESTION : Ce cas de figure nécessite-t-il un matériel spécial pour ajouter un disque physique à chaud?
[21:23] <ichihi> REPONSE: Ainsi, oui, cette extension est aussi à prévoir sur le système de secours dans ce cans.
[21:24] <ichihi> REPONSE: En effet, la possibilité d'ajouter des disques à chauds nécessite du matériel capable des fonctions "hotplug"
[21:24] <ichihi> REPONSE: toutefois, ce matériel n'est plus "spécial" maintenant: tous les serveurs de moyenne et haut de gamme sont équipés de disques hotplug
[21:25] <ichihi> OK. Notre disque est maintenant ajouté, mais il n'est pas encore utilisable.
[21:25] <ichihi> # vgdisplay | grep PE
[21:26] <ichihi> Cette commande va nous indiquer les extents libres et occupés sur le Volume Group vg1
[21:26] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo vgdisplay | grep PE
[21:26] <MaWaLe>   PE Size               4,00 MiB
[21:26] <MaWaLe>   Total PE              147
[21:26] <MaWaLe>   Alloc PE / Size       98 / 392,00 MiB
[21:26] <MaWaLe>   Free  PE / Size       49 / 196,00 MiB
[21:26] <ichihi> Nous devons explicitement indiquer que nous souhaitons étendre le Logical Volume lv0:
[21:27] <ichihi> # lvextend -l 146 /dev/vg1/lv0
[21:27] <ichihi> Ou bien:
[21:27] <ichihi> # lvextend -l 147 /dev/vg1/lv0
[21:27] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo lvextend -l 146 /dev/vg1/lv0
[21:27] <MaWaLe>   Extending logical volume lv0 to 584,00 MiB
[21:27] <MaWaLe>   Logical volume lv0 successfully resized
[21:27] <ichihi> Remarquez que notre système de fichiers n'a pas, encore, augmenté de capacité.
[21:27] <ichihi> # df -h /mnt/lvm
[21:28] <ichihi> Nous devons maintenant étendre la capacité du système de fichiers:
[21:28] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo df -h /mnt/lvm
[21:28] <MaWaLe> Sys. de fich.            Taille  Uti. Disp. Uti% Monté sur
[21:28] <MaWaLe> /dev/mapper/vg1-lv0   380M   11M  350M   3% /mnt/lvm
[21:28] <ichihi> # resize2fs /dev/vg1/lv0
[21:28] <ichihi> # df -h /mnt/lvm/
[21:28] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo df -h /mnt/lvm
[21:28] <MaWaLe> Sys. de fich.            Taille  Uti. Disp. Uti% Monté sur
[21:28] <MaWaLe> /dev/mapper/vg1-lv0   380M   11M  350M   3% /mnt/lvm
[21:28] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo resize2fs /dev/vg1/lv0
[21:28] <MaWaLe> resize2fs 1.41.12 (17-May-2010)
[21:28] <MaWaLe> Le système de fichiers de /dev/vg1/lv0 est monté sur /mnt/lvm ; le changement de taille doit être effectué en ligne
[21:28] <MaWaLe> old desc_blocks = 2, new_desc_blocks = 3
[21:28] <MaWaLe> En train d'effectuer un changement de taille en ligne de /dev/vg1/lv0 vers 598016 (1k) blocs.
[21:28] <MaWaLe> Le système de fichiers /dev/vg1/lv0 a maintenant une taille de 598016 blocs.
[21:30] <ichihi> En ce moment, nos utilisateurs ont soudainement plus d'espace disque et nous n'avons pas eu à interrompre leur travail.
[21:33] <ichihi> Nous allons maintenant simuler un cas de remplacement de disque à chaud.
[21:33] <ichihi> Il arrive qu'un disque présente de symptômes de panne imminente et qu'on doit le remplacer rapidement avant de perdre des données.
[21:34] <ichihi> Essayes de lire plus sur ce sujet quand vous avez un moment. Il s'agit des outils SMART de monitoring des disques.
[21:34] <ichihi> Nous commençons par préparer un disque nouveau de remplacement:
[21:34] <ichihi> # pvcreate /dev/loop3
[21:35] <ichihi> Puis, nous l'insérons dans le Volume Group:
[21:35] <ichihi> # vgextend vg1 /dev/loop3
[21:35] <ichihi> Maintenant, nous allons demander à LVM de déplacer les blocs de données depuis le disque supposé défectueux vers le nouveau disque.
[21:35] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo pvcreate /dev/loop3
[21:35] <MaWaLe>   Physical volume "/dev/loop3" successfully created
[21:35] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo vgextend vg1 /dev/loop3
[21:35] <MaWaLe>   Volume group "vg1" successfully extended
[21:36] <ichihi> # pvmove -i1 /dev/loop2
[21:36] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo pvmove -i1 /dev/loop2
[21:36] <MaWaLe>   /dev/loop2: Moved: 52,1%
[21:36] <MaWaLe>   /dev/loop2: Moved: 81,2%
[21:36] <MaWaLe>   /dev/loop2: Moved: 100,0%
[21:37] <ichihi> Nous pouvons maintenant retirer le mauvais disque /dev/loop2 complètement du Volume Group
[21:37] <ichihi> # vgreduce vg1 /dev/loop2
[21:37] <MaWaLe> QUESTION : le déplacement est fait où ?
[21:37] <ichihi> # pvremove /dev/loop2
[21:38] <ichihi> REPONSE: On ne spécifie pas en endroit particulier, LVM se charge de trouver des extents libres dans le même Volume Group
[21:38] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo vgreduce vg1 /dev/loop2
[21:38] <MaWaLe>   Removed "/dev/loop2" from volume group "vg1"
[21:38] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo pvremove /dev/loop2
[21:38] <MaWaLe>   Labels on physical volume "/dev/loop2" successfully wiped
[21:38] <ichihi> REPONSE: et comme nous venons d'ajouter un disque, nous sommes certains que les "extents libres" viendrons de ce nouveau disque.
[21:39] <ichihi> Une dernière manipulation: les snapshots.
[21:39] <ichihi> Il s'agit d'une fonctionnalité extrêmement utile de LVM.
[21:40] <ichihi> Le scénario typique est celui des backups: lorsque nous avons besoin de faire des sauvegardes des données sur un serveur de fichiers par exemple, nous devons arrêter le service pour assurer une sauvegarde consistente.
[21:41] <ichihi> Le problème est que si l'on fait une sauvegarde de données en cours d'utilisation, nous risquons d'avoir un jeu de backup corrompu et inutilisable.
[21:42] <ichihi> En même temps, le backup de 2 TB peut prendre plusieurs heures ou jours et il est n'est pas pratique d'arrêter le service pour autant de temps.
[21:43] <ichihi> Les snapshots LVM servent à résoudre ce problème: ils nous permettent d'avoir une image du système de fichiers à un moment donné sans avoir à faire une copie entière.
[21:43] <ichihi> C'est la partie la plus importante, donc si vous dormez dans ce passage, vous allez le regretter.
[21:44] <MaWaLe> go on please ichihi 
[21:44] <ichihi> Commeçons par ré-insérer /dev/loop2
[21:44] <ichihi> # pvcreate /dev/loop2
[21:44] <ichihi> # vgextend vg1 /dev/loop2
[21:45] <ichihi> Pour pouvoir utiliser cette fonction, nous devons vérifier que le module dm_snapshot est chargé:
[21:45] <ichihi> # modprobe dm_snapshot
[21:45] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo pvcreate /dev/loop2
[21:45] <MaWaLe>   Physical volume "/dev/loop2" successfully created
[21:45] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo vgextend vg1 /dev/loop2
[21:45] <MaWaLe>   Volume group "vg1" successfully extended
[21:46] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo modprobe dm_snapshot
[21:46] <MaWaLe> mawale@Narwhal:/tmp/lvm$ 
[21:46] <ichihi> Nous allons maintenant créer un espace de snapshot qui va contenir les différences entre l'état réel (actuel) du Logical Volume et l'état au moment du snapshot
[21:46] <ichihi> # lvcreate -s -l50 -n slv0 /dev/vg1/lv0
[21:47] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo lvcreate -s -l50 -n slv0 /dev/vg1/lv0
[21:47] <MaWaLe>   Logical volume "slv0" created
[21:47] <ichihi> Montons ce snapshot dans un répertoire nouveau
[21:47] <ichihi> # mkdir /mnt/slvm
[21:47] <ichihi> Attention, c'est /mnt/slvm et pas /mnt/lvm
[21:47] <ichihi> # mount /dev/vg1/slv0 /mnt/slvm
[21:48] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo mkdir /mnt/slvm
[21:48] <MaWaLe> mawale@Narwhal:/tmp/lvm$ sudo mount /dev/vg1/slv0 /mnt/slvm
[21:48] <MaWaLe> mawale@Narwhal:/tmp/lvm$ 
[21:48] <ichihi> OK, maintenant, nous pouvons continuer à modifier /mnt/lvm mais vous remarquerez que /mnt/slvm ne bouge pas/
[21:48] <ichihi> Essayez de copier un fichier dans /mnt/lvm, il n'apparaîtra pas dans /mnt/slvm
[21:49] <ichihi> Ainsi, /mnt/slvm va maintenir l'état de notre système de fichier au moment de la prise du snapshot.
[21:50] <ichihi> Pour revenir à notre problématique de backup, ce que nous pouvons faire, c'est arrêter le service pour quelques secondes, prendre un snapshot, remettre le service en marche et prendre le backup depuis le snapshot tranquillement.
[21:51] <ichihi> Ceci réduit le temps d'indisponibilité pour le backup de plusieurs heures à quelques secondes.
[21:52] <ichihi> OK, je pense qu'il est déjà assez tard. N'hésitez pas à m'nvoyer vos questions par e-mail.
[21:52] <MaWaLe> QUESTION: on ne peut pas prendre le snapshoot à chaud?
[21:53] <ichihi> REPONSE: Si, on peut le prendre à chaud, mais nous ne sommes pas certains qu'au moment de la prise de ce snapshot, les données sont dans un état cohérent.
[21:54] <MaWaLe> QUESTION: comment le snapshot va se faire ?
[21:54] <ichihi> REPONSE; il est probable, qu'en ce moment, il y ait de copies en cours, des fichiers en cours de modifications, des répertoires en cours d'effacement, etc.
[21:55] <ichihi> REPONSE: LVM va créer un Logical Volume slv0 qui, initialement, n'aura que des pointeurs sur le LV original lv0 et n'occuppera, donc, aucun espace.
[21:55] <MaWaLe> Un grand merci à ichihi pour cette superbe session
[21:56] <MaWaLe> je tiens par la même occasion à représenter au nom de toute la communauté toutes nos condoléances à notre ami ichihi 
[21:56] <MaWaLe> merci à tous les présents
[21:56] <MaWaLe> et à la prochaine session inchallah
[21:56] <nizarus> thx ichihi & thx MaWaLe 
[21:56] <MaWaLe> merci à tous
[21:56] <MaWaLe> la discussion est ouverte sur le chan principal d'ubuntu-tn (#ubuntu-tn)
[21:59] <darkwise> ichihi: merci beaucoup pour ce classroom
[21:59] <darkwise> je tiens à m'excuser pour le retard
[21:59] <darkwise> neige et bouchon sont les causes :'(
[22:00] <ALAYA> thx ichihi
[22:00] <ichihi> darkwise, ALAYA: merci, j'espère que vous allez le trouver utile. Bon travail et à bientôt inshallah.
[22:00] <darkwise> mais vais resuivre le classroom dès le début avec le log
[22:00] <darkwise> très utilise ichihi encore merci
[22:02] <LinuxKiller> Merci beaucoup ichihi .