{"id":552,"date":"2010-11-06T14:10:00","date_gmt":"2010-11-06T13:10:00","guid":{"rendered":"https:\/\/hoper.dnsalias.net\/atdc\/?p=552"},"modified":"2017-05-06T14:12:23","modified_gmt":"2017-05-06T12:12:23","slug":"lvm-fonctionnement-interne","status":"publish","type":"post","link":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/2010\/11\/06\/lvm-fonctionnement-interne\/","title":{"rendered":"LVM &#8211; Fonctionnement interne"},"content":{"rendered":"<div class=\"post-content\">\n<h3>Les Physical Extend (PE)<\/h3>\n<p>Un extend ou \u00ab\u00a0physical extend, aussi appel\u00e9 PE, est un tout petit morceau d\u2019un groupe de volumes. Au moment de la cr\u00e9ation d&rsquo;un vg, le ou les disques plac\u00e9s dans ce groupe de volume sont d\u00e9coup\u00e9s en morceaux de quelques Mo (4 Mio par d\u00e9faut). Ensuite, lors de la cr\u00e9ation d&rsquo;un volume logique, LVM va utiliser autant de PE que n\u00e9cessaires pour se rapprocher le plus pr\u00e8s possible de la taille demand\u00e9. La taille r\u00e9elle d\u2019un volume logique sera donc toujours un multiple de la taille d\u2019un PE.<\/p>\n<p>L&rsquo;option &lsquo;-s&rsquo; de la commande vgcreate permet justement de modifier la taille des PE. Pourquoi vouloir la modifier\u00a0? Historiquement, il y avait un nombre maximum de PE par disque physique. M\u00eame si, avec LVM2, ce n&rsquo;est plus le cas, il est inutile d&rsquo;utiliser des ressources cpu, et surtout m\u00e9moire, en utilisant beaucoup plus de PE que n\u00e9cessaire. Si vous n&rsquo;avez qu&rsquo;un petit espace de stockage \u00e0 g\u00e9rer (quelques centaines de Go), la taille par d\u00e9faut conviendra tr\u00e8s bien. Mais si vous voulez manipuler des groupe de volume contenant plusieurs To de donn\u00e9s, alors il peut \u00eatre judicieux de choisir d\u00e8s le d\u00e9part une taille de PE plus importante (32 ou m\u00eame 64 Mo par exemple). Attention, si vous faites plusieurs groupes de volumes, essayez toujours de prendre des tailles de PE identiques. Cela vous permettra si n\u00e9cessaire de fusionner les groupes de volumes. Il est en effet impossible de fusionner (vgmerge) des groupes de volumes ayant des tailles de PE diff\u00e9rentes.<\/p>\n<h3>La politique d&rsquo;allocation<\/h3>\n<p>Lorsqu&rsquo;on cr\u00e9e un volume logique (lvcreate), lvm choisit donc des PE disponible pour constituer le nouveau volume. La m\u00e9thode utilis\u00e9 pour ce choix est la m\u00e9thode d&rsquo;allocation (allocation policy en bon anglais). Je vous conseille d&rsquo;aller jeter un coup d&rsquo;oeil au man de lvm sur le sujet. En r\u00e9sum\u00e9, la politique par d\u00e9faut conviendra parfaitement \u00e0 99,99% des gens. Il n&rsquo;y a que dans des cas tr\u00e8s, tr\u00e8s pr\u00e9cis que l&rsquo;on pourrait vouloir la modifier pour utiliser le mode \u00ab\u00a0contiguous\u00a0\u00bb par exemple. Dans ce mode, un volume logique ne peut \u00eatre cr\u00e9e que si il est possible d&rsquo;allouer tous ses PE de fa\u00e7on contigu. On perd donc en grande partie la souplesse de LVM\u00a0! Mais on est alors certain de ne pas \u00ab\u00a0fragmenter\u00a0\u00bb le volume.<\/p>\n<h3>R\u00e9solution de probl\u00e8me<\/h3>\n<p>LVM est extr\u00eamement fiable. Vraiment. Il reste forc\u00e9ment encore des bugs \u00e0 droite \u00e0 gauche, mais par exp\u00e9rience, il vous sera toujours possible de retrouver vos donn\u00e9es quoi que vous fassiez. (Je parle bien sur des probl\u00e8mes logiciels hein&#8230; Si c&rsquo;est le disque dur qui tombe en panne, la bien sur&#8230;) Bref, de tr\u00e8s nombreux m\u00e9canismes sont mis en place pour tout s\u00e9curiser.<\/p>\n<p>L&rsquo;ensemble des op\u00e9rations r\u00e9alis\u00e9s donne lieu \u00e0 un archivage des configurations LVM. Vous les trouverez dans\u00a0: \/etc\/lvm\/archive. La version actuelle de la configuration se trouve elle dans\u00a0: \/etc\/lvm\/backup. Je vous invite vraiment \u00e0 jeter un oeil \u00e0 ces fichiers textes. Ils sont assez simple \u00e0 comprendre et d\u00e9crivent tr\u00e8s simplement l&rsquo;organisation du groupe de volume en question. Cette configuration se trouve \u00e9galement dans ce que l&rsquo;on appelle la VGDA. (Une partie du disque cr\u00e9e lors de la commande pvcreate). Ces informations sont vitales pour le bon fonctionnement de LVM. Il est donc possible de cr\u00e9er 2 VGDA par disques (la premi\u00e8re sera cr\u00e9e au d\u00e9but du disque, l&rsquo;autre tout \u00e0 la fin). Voir l&rsquo;option &lsquo;&#8211;metadatacopies&rsquo; de pvcreate. A l&rsquo;inverse, il peut d&rsquo;ailleurs \u00eatre int\u00e9ressant pour des probl\u00e8mes de performance de ne pas cr\u00e9er de vgda sur certains disques, si le groupe de volume contient un tr\u00e8s grand nombre de disques physique (Cas de figure possible en entreprise avec de grosses baies de disques etc).<\/p>\n<p>Des commandes tr\u00e8s simples \u00e0 utiliser existent pour les cas d&rsquo;urgence\u00a0: vgscan, vgcfgbackup, vgcfgrestore&#8230; Cette derni\u00e8re commande permet, \u00e0 partir d&rsquo;un des fichiers de configuration pr\u00e9sent dans \/etc\/lvm\/archives (ou backup) de restaurer l&rsquo;\u00e9tat du disque tel qu&rsquo;il \u00e9tait \u00e0 ce moment la. Test\u00e9 et approuv\u00e9\u00a0!<\/p>\n<p>Enfin, dans les cas les plus d\u00e9sesp\u00e9r\u00e9s, les informations de <a href=\"http:\/\/forum.ubuntu-fr.org\/viewtopic.php?id=437836\">ce thread<\/a> peuvent aussi \u00eatre utiles. En r\u00e9sum\u00e9 un PV est toujours constitu\u00e9 de 512 octets (contenu al\u00e9atoire) des m\u00e9ta data, puis des donn\u00e9es elles m\u00eames.<\/p>\n<h3>LVM et RAID<\/h3>\n<p>Il est tout \u00e0 fait possible d\u2019utiliser LVM sur un volume en RAID logiciel. Une fois que le RAID a \u00e9t\u00e9 cr\u00e9\u00e9, il suffit de le donner \u00e0 LVM, avec la commande habituelle (pvcreate \/dev\/md0).<\/p>\n<p>Bien qu&rsquo;il soit possible de partitionner le raid <em>\/dev\/md0<\/em> comme n&rsquo;importe quel disque ordinaire (ce qui permet d&rsquo;obtenir des devices de la forme \/dev\/md0p1, \/dev\/md0p2 etc), je vous le d\u00e9conseille vivement. En effet le but est bien d&rsquo;utiliser lvm pour d\u00e9couper l&rsquo;espace, et plus l&rsquo;ancienne notion de partition physique. De plus, l&rsquo;utilisation de ces partitions n\u00e9cessiterait des changements dans la configuration de lvm (filter dans \/etc\/lvm\/lvm.conf). Bref, C&rsquo;est se vraiment se donner du mal pour rien.<\/p>\n<h3>R\u00e9f\u00e9rences<\/h3>\n<p>Vous trouverez bien d&rsquo;autres informations sur les pages suivantes\u00a0:<\/p>\n<p><a href=\"http:\/\/www.centos.org\/docs\/5\/html\/Cluster_Logical_Volume_Manager\/index.html\">http:\/\/www.centos.org\/docs\/5\/html\/Cluster_Logical_Volume_Manager\/index.html<\/a><\/p>\n<p><a href=\"https:\/\/hoper.dnsalias.net\/tdc\/Comment%20chiffrer%20une%20partition%20syst%C3%A8me%20Linux\">http:\/\/www.korben.info\/comment-chiffrer-une-partition-systeme-linux-ici-ubuntu.html#comment-164907<\/a><\/p>\n<p>Et enfin, toujours pour information et parce que je sens que si je ne l&rsquo;indique pas cela va me retomber dessus un jour ou l&rsquo;autre&#8230; Merci \u00e0 toutes les personnes qui se posent des questions sur la ressemblance de contenu entre les pages de ce blog et celles d&rsquo;ubuntu-fr de lire <a href=\"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/2010\/11\/04\/20101104lvm-demenage\/\">ceci<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Les Physical Extend (PE) Un extend ou \u00ab\u00a0physical extend, aussi appel\u00e9 PE, est un tout petit morceau d\u2019un groupe de volumes. Au moment de la cr\u00e9ation d&rsquo;un vg, le ou les disques plac\u00e9s dans ce groupe de volume sont d\u00e9coup\u00e9s en morceaux de quelques Mo (4 Mio par d\u00e9faut). Ensuite, lors de la cr\u00e9ation d&rsquo;un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-552","post","type-post","status-publish","format-standard","hentry","category-geekitude"],"_links":{"self":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/comments?post=552"}],"version-history":[{"count":1,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/552\/revisions"}],"predecessor-version":[{"id":553,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/552\/revisions\/553"}],"wp:attachment":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/media?parent=552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/categories?post=552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/tags?post=552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}