{"id":550,"date":"2010-11-04T14:08:23","date_gmt":"2010-11-04T13:08:23","guid":{"rendered":"https:\/\/hoper.dnsalias.net\/atdc\/?p=550"},"modified":"2017-05-06T14:30:45","modified_gmt":"2017-05-06T12:30:45","slug":"lvm-les-bases","status":"publish","type":"post","link":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/2010\/11\/04\/lvm-les-bases\/","title":{"rendered":"LVM &#8211; Les bases"},"content":{"rendered":"<div class=\"post-content\">\n<h3>LVM, une autre mani\u00e8re de partitionner<\/h3>\n<h4>Introduction<\/h4>\n<p><strong>LVM<\/strong> (Logical Volume Manager, ou <em>gestionnaire de volumes logiques<\/em> en bon fran\u00e7ais) permet la cr\u00e9ation et la gestion de volume logique sous Linux. L\u2019utilisation de volumes logiques remplace en quelque sorte le partitionnement des disques. C\u2019est un syst\u00e8me beaucoup plus souple, qui permet par exemple de diminuer la taille d\u2019un syst\u00e8me de fichier pour pouvoir en agrandir un autre, sans se pr\u00e9occuper de leur emplacement sur le disque.<\/p>\n<h4>Avantages de LVM<\/h4>\n<ul>\n<li>Il n\u2019y a pas de limitations \u00ab\u00a0\u00e9tranges\u00a0\u00bb comme avec les partitions (primaire, \u00e9tendue, etc.).<\/li>\n<li>On ne se pr\u00e9occupe plus de l\u2019emplacement exact des donn\u00e9es.<\/li>\n<li>On peut conserver quelques giga-octets de libres pour pouvoir les ajouter n\u2019importe o\u00f9 et n\u2019importe quand.<\/li>\n<li>Les op\u00e9rations de redimensionnement deviennent quasiment sans risques, contrairement au redimensionnement des partitions.<\/li>\n<\/ul>\n<h4>Inconv\u00e9nients de LVM<\/h4>\n<p>Aucun, pour ceux qui ne sont pas allergiques \u00e0 la ligne de commande \ud83d\ude42<\/p>\n<p>Il existe le paquet <a href=\"apt:\/\/system-config-lvm\">system-config-lvm<\/a> dans les d\u00e9p\u00f4ts Universe, qui propose une interface graphique. Je d\u00e9conseille vivement son utilisation. Le seul usage qui peut en \u00eatre fait sans risques, est la simple consultation. Concr\u00e8tement cela vous permettra de visualiser la configuration (contenue dans les fichiers textes \/etc\/lvm\/backup\/* ) d&rsquo;une fa\u00e7on plus graphique. Mais pour ce qui est du param\u00e9trage et de la mise en place de la configuration, surtout tenez-vous en aux lignes de commandes.<\/p>\n<h4>But de ce document<\/h4>\n<p>D\u00e9couvrir le principe de fonctionnement de LVM, les avantages qu&rsquo;il offre et les outils qui lui sont associ\u00e9s.<\/p>\n<p>Note\u00a0: Il n&rsquo;est pas possible de changer de mode de fonctionnement (avec ou sans lvm) simplement. Cela n\u00e9cessite une recopie des fichiers. Autrement dit, concernant la partie syst\u00e8me (\/, swap&#8230;) il n&rsquo;est pas \u00e9vident de \u00ab\u00a0convertir\u00a0\u00bb une installation (Et cela n&rsquo;apporterait pas grand chose). LVM est donc surtout utilis\u00e9 pour la partie \u00ab\u00a0donn\u00e9es\u00a0\u00bb.<\/p>\n<h4>Pr\u00e9-requis<\/h4>\n<ul>\n<li>Un disque ou une partition libre.<\/li>\n<li>Ne pas \u00eatre allergique \u00e0 la ligne de commande.<\/li>\n<li>Avoir un peu de temps et l\u2019esprit grand ouvert. \ud83d\ude09<\/li>\n<\/ul>\n<h4>Installation<\/h4>\n<p>Installez le paquet <a href=\"apt:\/\/lvm2\">lvm2<\/a>.<\/p>\n<p>Ok j\u2019avoue, c\u2019\u00e9tait la partie la plus facile. Maintenant, avant d\u2019utiliser r\u00e9ellement LVM, il faut comprendre un peu de vocabulaire. Ne vous inqui\u00e9tez pas si tout n\u2019est pas tr\u00e8s clair lors de la lecture, \u00e7a viendra au fur et \u00e0 mesure, en passant \u00e0 la pratique.<\/p>\n<h3>Notions et vocabulaire<\/h3>\n<h4>Volume physique<\/h4>\n<p>Un <strong>volume physique<\/strong> ou \u00ab\u00a0PV\u00a0\u00bb (physical volume) est tout simplement un disque ou une partition. Bref, c\u2019est un espace de stockage bien r\u00e9el (autrement dit un p\u00e9riph\u00e9rique de la forme <em>\/dev\/sda2<\/em> par exemple), que l\u2019on va confier \u00e0 LVM. Bien \u00e9videmment, tout ce qui \u00e9tait pr\u00e9sent sur la partition sera effac\u00e9.<\/p>\n<h4>Groupe de volumes<\/h4>\n<p>Un <strong>groupe de volumes<\/strong> ou \u00ab\u00a0VG\u00a0\u00bb (volume group) est, comme son nom l\u2019indique, un ensemble de volumes physiques. On a donc un ou plusieurs volumes physiques dans un groupe de volumes, et pour utiliser LVM, il faut obligatoirement au moins un groupe de volumes. En entreprise ce type de fonctionnalit\u00e9 peut \u00eatre utilis\u00e9e pour \u00e9tendre temporairement un espace de stockage. Pour un particulier, le fait de mettre plusieurs disques dans un m\u00eame groupe de volume peut permettre \u00ab\u00a0d\u2019\u00e9taler\u00a0\u00bb un syst\u00e8me de fichiers sur plusieurs disques, et d\u2019avoir donc <em>\/home<\/em> par exemple qui utiliserait 2 disques. <strong>Une telle configuration est dangereuse !<\/strong> (deux disques donc deux fois plus de risques de pannes). De plus, elle n\u2019apporte aucun gain de performance contrairement \u00e0 du RAID-0 (qui lui aussi permet de cumuler la volum\u00e9trie de plusieurs espaces de stockage).<\/p>\n<p>D&rsquo;une fa\u00e7on g\u00e9n\u00e9rale, je recommande donc de ne mettre qu&rsquo;un seul PV dans un groupe de volumes, sauf si il s&rsquo;agit de fichiers sans importance, et que seuls plusieurs \u00ab\u00a0petits\u00a0\u00bb disques de capacit\u00e9s diff\u00e9rentes sont disponibles pour constituer l&rsquo;espace de stockage.<\/p>\n<h4>Volume logique<\/h4>\n<p>Un <strong>volume logique<\/strong> ou \u00ab\u00a0LV\u00a0\u00bb (logical volume) est ce que nous allons utiliser au final. Un volume logique est un espace \u00ab\u00a0quelque part dans un groupe de volume\u00a0\u00bb o\u00f9 l\u2019on peut mettre un syst\u00e8me de fichiers. C\u2019est donc ce qui remplace les partitions. On peut donc utiliser un volume logique pour mettre la m\u00e9moire virtuelle (swap), un pour <em>home<\/em>, etc. Peut-on mettre <em>\/<\/em> sur un volume logique\u00a0? Oui. Mais a mon avis c&rsquo;est vraiment se compliquer la vie pour pas grand chose. (sauf besoin pr\u00e9cis, genre snapshot du \/ mais nous n&rsquo;en sommes pas la\u00a0! \ud83d\ude42<\/p>\n<h4>Synth\u00e8se graphique<\/h4>\n<p>A venir&#8230; je cherche un sch\u00e9ma qui me plaise \ud83d\ude42<\/p>\n<h3>Cr\u00e9ation<\/h3>\n<p>Passons \u00e0 la pratique. Puisque nous allons passer toutes les commandes en tant que root, je vous conseille de prendre les droits administrateur une bonne fois pour toutes\u00a0:<\/p>\n<pre> sudo -i<\/pre>\n<p>Cela m\u2019\u00e9vitera (et vous \u00e9vitera) d\u2019avoir \u00e0 mettre sudo devant chaque commande&#8230;<\/p>\n<p>Bonne nouvelle, les commandes LVM sont tr\u00e8s simples \u00e0 utiliser et elles int\u00e8grent toutes une aide en ligne tr\u00e8s bien con\u00e7ue, claire, courte, mais suffisante. De plus, leur nom se \u00ab\u00a0devine\u00a0\u00bb assez facilement\u00a0:<\/p>\n<ul>\n<li>Toutes les commandes agissant sur les volumes physiques commencent par pv\u00a0;<\/li>\n<li>Toutes les commandes agissant sur les groupes de volumes commencent par vg\u00a0;<\/li>\n<li>Toutes les commandes agissant sur les volumes logiques commencent par lv.<\/li>\n<\/ul>\n<p>La premi\u00e8re chose \u00e0 faire est de cr\u00e9er un disque physique, en donnant une partition \u00e0 LVM. Essayez la commande suivante pour connaitre la liste des commandes disponibles pour les volumes physiques\u00a0:<\/p>\n<pre> man -k pv<\/pre>\n<p>Parmi toutes les commandes renvoy\u00e9es, on remarque \u00ab\u00a0pvcreate\u00a0\u00bb, \u00e7a doit \u00eatre celle-l\u00e0\u2026 Cette astuce fonctionne avec toutes les commandes LVM et permet de les retrouver facilement. Notons aussi l&rsquo;existence des commandes\u00a0: pvs, vgs, et lvs. Ces commandes permettent de lister les objets correspondants.<\/p>\n<h4>Disque physique<\/h4>\n<p><strong>ATTENTION<\/strong>\u00a0: J\u2019utilise <em>\/dev\/sdc1<\/em> pour l\u2019exemple, adaptez \u00e0 votre cas\u00a0! <ins><strong>Toutes les donn\u00e9es de cette partition seront effac\u00e9es !<\/strong><\/ins><\/p>\n<pre> pvcreate \/dev\/sdc1<\/pre>\n<p>Cette commande \u00ab\u00a0formate\u00a0\u00bb \/dev\/sdc1 en LVM (avec de tr\u00e8s gros guillemets).<\/p>\n<blockquote><p>\u00ab\u00a0Je veux utiliser la totalit\u00e9 d\u2019un disque, \/dev\/sdc par exemple, puis-je faire <em>pvcreate \/dev\/sdc<\/em> (sans num\u00e9ro de partition) ?\u00a0\u00bb<\/p><\/blockquote>\n<p>Oui et non\u2026 Techniquement, oui, pas de probl\u00e8me. Seulement, le fait que votre disque ne soit m\u00eame plus partitionn\u00e9 pourrait vous poser probl\u00e8me un jour ou l\u2019autre. Je vous conseille plut\u00f4t de cr\u00e9er une seule partition sdc1 (primaire) utilisant tout le disque dur. Cela permettra \u00e9galement de modifier le type de la partition pour indiquer qu&rsquo;elle sera utilis\u00e9 pour LVM (type 8e dans fdisk).<\/p>\n<pre><\/pre>\n<h4>Groupe de volume<\/h4>\n<p>Il existe de nombreuses options lors de la cr\u00e9ation d\u2019un groupe de volume\u2026 Mais continuons de faire au plus simple. Le seul param\u00e8tre indispensable sera de lui donner un nom, nous utiliserons les valeurs par d\u00e9faut pour tout le reste. Pour une raison que j\u2019expliquerai par la suite, donnons-lui un nom tr\u00e8s court (2 ou 3 caract\u00e8res). Par exemple\u00a0: \u00ab\u00a0mvg\u00a0\u00bb pour \u00ab\u00a0mon vg \u00bb.<\/p>\n<p>Pour conna\u00eetre la syntaxe de la commande \/\/vgcreate\/\/ (comme pour toutes les autres commandes LVM), tapez simplement son nom\u00a0:<\/p>\n<pre> vgcreate<\/pre>\n<p>La syntaxe est donc\u00a0:<\/p>\n<pre> vgcreate VolumeGroupName PhysicalVolume <a title=\"optionnellement d\u2019autres PhysicalVolume\" href=\"https:\/\/hoper.dnsalias.net\/tdc\/optionnellement%20d%E2%80%99autres%20PhysicalVolume\">optionnellement d\u2019autres Physical...<\/a><\/pre>\n<p>Allons-y\u00a0:<\/p>\n<pre> vgcreate mvg \/dev\/sdc1<\/pre>\n<p>Si tout se passe bien, vous avez maintenant un groupe de volume, contenant un disque physique. Vous pouvez obtenir d\u2019autres informations sur ce groupe de volume en tapant \u00ab\u00a0vgdisplay\u00a0\u00bb. Essayez aussi la commande \u00ab\u00a0pvs\u00a0\u00bb, qui liste les volumes physiques, ainsi que le groupe de volume auquel ils appartiennent.<\/p>\n<h4>Volume logique<\/h4>\n<p>Nous y voil\u00e0\u2026 Cette fois-ci, nous allons vraiment cr\u00e9er deux espaces que l\u2019on pourra ensuite \u00ab\u00a0formater\u00a0\u00bb en ext4 par exemple. Comme pr\u00e9c\u00e9demment, le plus simple est de commencer par jeter un \u0153il sur la syntaxe de la commande\u00a0:<\/p>\n<pre> lvcreate<\/pre>\n<p>Les deux options vraiment importantes sont \u00ab\u00a0-n\u00a0\u00bb pour son nom, et \u00ab\u00a0-L\u00a0\u00bb pour sa taille. Le param\u00e8tre principal est \u00ab\u00a0OriginalLogicalVolume \u00bb. Il s\u2019agit peut-\u00eatre d\u2019une erreur dans le manuel. En fait, ce qu\u2019il faut indiquer, c\u2019est bien le groupe de volume dans lequel nous allons cr\u00e9er le volume logique. Pour l&rsquo;exemple, je fais ici deux volumes, 10 Gio et 50 Gio\u00a0:<\/p>\n<pre> lvcreate -n vol1 -L 10g mvg\r\n lvcreate -n Vol2 -L 50g mvg<\/pre>\n<p>Lancez les deux commandes\u00a0: \u00ab\u00a0lvdisplay\u00a0\u00bb, et \u00ab\u00a0lvs\u00a0\u00bb, pour voir le r\u00e9sultat.<\/p>\n<h4>Syst\u00e8me de fichiers<\/h4>\n<p>Avec les partitions, on avait des noms ressemblant \u00e0 <em>\/dev\/sda3<\/em>, etc. Avec LVM, on utilise aussi des p\u00e9riph\u00e9riques dans <em>\/dev<\/em>, mais le chemin est de la forme <em>\/dev\/nom_du_vg\/nom_du_lv<\/em>. Autrement dit, puisqu\u2019on a d\u00e9cid\u00e9 d\u2019appeler nos volumes logiques \u00ab\u00a0vol1\u00a0\u00bb et \u00ab\u00a0vol2\u00a0\u00bb, les noms des p\u00e9riph\u00e9riques de ces volume logique sont \u00ab\u00a0\/dev\/mvg\/vol1\u00a0\u00bb et \u00ab\u00a0\/dev\/mvg\/vol2\u00a0\u00bb.<\/p>\n<p>\u00c0 partir de maintenant, la syntaxe <em>\/dev\/mvg\/Volx<\/em> peut \u00eatre utilis\u00e9 dans toutes les situations et avec toutes les commandes qui attendent quelque chose de la forme <em>\/dev\/\u2026<\/em> Par exemple\u00a0:<\/p>\n<pre> mkfs -t ext4 \/dev\/mvg\/vol1\r\n mkfs -t ext4 \/dev\/mvg\/vol2\r\n mkdir \/Essai1\r\n mount \/dev\/mvg\/vol1 \/Essai1\r\n df -h<\/pre>\n<p>Et normalement, <em>\/dev\/mvg\/vol1<\/em> devrait \u00eatre mont\u00e9 sur <em>\/Essai<\/em>. Regardez bien la ligne correspondante. Si on avait choisi un nom de VG ou de LV plus long, la sortie de df aurait \u00e9t\u00e9 modifi\u00e9e, car le nom aurait \u00ab\u00a0touch\u00e9\u00a0\u00bb les valeurs\u2026 On aurait \u00e9t\u00e9 oblig\u00e9 de passer des lignes et l\u2019affichage aurait \u00e9t\u00e9 plus difficile \u00e0 lire. Techniquement, choisir des noms \u00ab\u00a0longs\u00a0\u00bb pour les VG et les LV ne pose aucun probl\u00e8me, mais c\u2019est l\u2019affichage qui sera parfois d\u00e9licat. Pour cette raison uniquement, je pr\u00e9conise de se limiter \u00e0 7 caract\u00e8res au total (donc par exemple 3 pour le vg et 4 pour le lv, ou 2 et 5, comme vous voulez).<\/p>\n<blockquote><p>Pourquoi est-il \u00e9crit <em>\/dev\/mapper\/mvg-vol1<\/em> et non <em>\/dev\/mvg\/vol1<\/em>\u00a0?<\/p><\/blockquote>\n<p>Avec LVM en version 1, c\u2019est bien <em>\/dev\/mvg\/vol1<\/em> qui aurait \u00e9t\u00e9 affich\u00e9. Depuis la version 2, LVM utilise le device mapper, ce qui permet pas mal de choses (comme chiffrer les volumes logiques, etc.). Pour simplifier, disons que ces deux notations \u00ab\u00a0\/dev\/mvg\/vol1\u00a0\u00bb et \u00ab\u00a0\/dev\/mapper\/mvg-vol1\u00a0\u00bb sont synonymes. Dans la pratique, il est conseill\u00e9 quand m\u00eame d\u2019utiliser plut\u00f4t la forme \u00ab\u00a0\/dev\/mvg\/vol1 \u00bb, certaines commandes ne passeront pas autrement.<\/p>\n<h4>Suppression<\/h4>\n<p>Rien de plus simple\u00a0:<\/p>\n<pre> umount \/Essai1\r\n lvremove \/dev\/mvg\/vol1<\/pre>\n<h3>Redimensionnement<\/h3>\n<h4>Volume physique<\/h4>\n<p>Imaginons maintenant que notre groupe de volume (mvg) n&rsquo;ait plus suffisamment d&rsquo;espace libre. On souhaite donc lui rajouter un volume physique afin de rajouter de l&rsquo;espace libre. \u00c7a tombe bien, on dispose d&rsquo;un volume physique sdc2 que l&rsquo;on va pouvoir ajouter \u00e0 mvg\u00a0:<\/p>\n<p>On initialise le volume en vue de son utilisation dans LVM\u00a0:<\/p>\n<pre> pvcreate \/dev\/sdc2<\/pre>\n<p>On rajoute le volume sdc2 au groupe de volume mvg\u00a0:<\/p>\n<pre> vgextend mvg \/dev\/sdc2<\/pre>\n<p><strong>ATTENTION<\/strong>\u00a0: Je r\u00e9p\u00e8te encore qu&rsquo;avoir des syst\u00e8mes de fichiers r\u00e9partis sur plusieurs disques est risqu\u00e9\u00a0! Ne le faite que si vous n&rsquo;avez pas d&rsquo;autre possibilit\u00e9s. (Et que toutes vos donn\u00e9es vraiment critiques sont sauvegard\u00e9s).<\/p>\n<h4>Volume logique<\/h4>\n<p>Il est tr\u00e8s facile d\u2019augmenter ou de diminuer la taille d\u2019un volume logique. Mais attention, la taille d\u2019un LV n\u2019a pas de lien direct avec la taille de ce qu\u2019il contient (swap ou syst\u00e8me de fichier). Le LV est une boite, le syst\u00e8me de fichier est le contenu de la boite. Augmenter la taille de la bo\u00eete sans augmenter la taille du contenu ne pose pas de probl\u00e8me, mais l\u2019inverse\u2026<\/p>\n<h5>Agrandissement<\/h5>\n<p>La plupart des formats (ext3, reisersfs, XFS, ext4&#8230;) supportent cette modification \u00ab\u00a0\u00e0 chaud\u00a0\u00bb (avec des donn\u00e9es qui restent donc accessibles en lecture\/\u00e9criture durant toute l&rsquo;op\u00e9ration. Mais si vous voulez vraiment ne courir aucun risques, il faut dans l&rsquo;ordre\u00a0: D\u00e9monter le syst\u00e8me de fichier, augmenter la taille du volume logique (la \u00ab\u00a0boite\u00a0\u00bb), puis augmenter la taille du syst\u00e8me de fichier. Il ne reste plus qu&rsquo;\u00e0 le remonter.<\/p>\n<p>Voila donc un exemple\u00a0:<\/p>\n<pre> umount \/Essai2\t\t\t\t# d\u00e9montage du volume  \r\n e2fsck -f \/dev\/mvg\/vol2\t\t# v\u00e9rification du volume\r\n lvresize -L 55g \/dev\/mvg\/vol2\t\t# redimensionnement du volume\r\n resize2fs \/dev\/mvg\/vol2\t\t# redimensionnement du syst\u00e8me de fichier\r\n mount \/dev\/mvg\/vol2 \/Essai2<\/pre>\n<p><strong>TRES IMPORTANT<\/strong>\u00a0: le param\u00e8tre &rsquo;55g&rsquo; pass\u00e9 \u00e0 la commande lvresize correspond \u00e0 la taille totale finale du lv et doit donc \u00eatre sup\u00e9rieur \u00e0 sa taille de d\u00e9part\u00a0!<\/p>\n<p>Si jamais vous indiquez une taille (ici 55 Gio) inf\u00e9rieure \u00e0 celle de d\u00e9part, vous d\u00e9truirez le syst\u00e8me de fichier (toute la partie qui ne \u00ab\u00a0rentrera plus dans la boite dont vous venez de diminuer la taille). Donc, indiquez bien une taille sup\u00e9rieure \u00e0 celle qu&rsquo;elle avait. Il est moins risqu\u00e9 d&rsquo;utiliser une autre syntaxe, la notion \u00ab\u00a0<em>+ng<\/em>\u00a0\u00bb par exemple indiquer\u00a0: -L +10g ou +100m ou&#8230;<\/p>\n<p>J&rsquo;utilise resize2fs car le syst\u00e8me de fichier est en extX (ou 2, 3 ou 4), il faudrait utiliser un autre programme pour reiserfs ou autre. Si vous obtenez un message d&rsquo;erreur vous demandant de refaire un fsck (ou un e2fsck) alors que vous l&rsquo;avez fait et qu&rsquo;il n&rsquo;y a pas d&rsquo;erreur, il est possible de forcer le redimensionnement (option \u00ab\u00a0-f \u00bb). N&rsquo;utilisez pas cette option dans d&rsquo;autres circonstances&#8230; Tous les syst\u00e8mes de fichiers ne sont pas extensibles de cette fa\u00e7on\u00a0!<\/p>\n<p>Globalement, l&rsquo;agrandissement \u00e0 chaud d&rsquo;un syst\u00e8me de fichier ne pose plus vraiment de soucis, et les op\u00e9rations pr\u00e9c\u00e9dentes peuvent donc \u00eatres r\u00e9sum\u00e9s en\u00a0:<\/p>\n<pre> lvresize -L 55g \/dev\/mvg\/vol2 # redimensionnement du volume\r\n resize2fs \/dev\/mvg\/vol2       # redimensionnement du syst\u00e8me de fichier<\/pre>\n<h5>R\u00e9tr\u00e9cissement<\/h5>\n<p>Diminuer la taille d&rsquo;un syst\u00e8me de fichier est plus d\u00e9licat. En effet, si jamais on commet l&rsquo;erreur de diminuer la taille de la \u00ab\u00a0boite\u00a0\u00bb (le volume logique) avant de r\u00e9duire la taille du contenu (le syst\u00e8me de fichier lui m\u00eame) alors on d\u00e9truit son syst\u00e8me de fichier&#8230; pareil si on r\u00e9duit trop la taille du volume logique.<\/p>\n<p>Pour \u00e9viter tout risque, je conseille d&rsquo;utiliser la m\u00e9thode suivante (un peu plus longue que la normale, mais beaucoup plus fiable)\u00a0:<\/p>\n<ol>\n<li>R\u00e9duire la taille du syst\u00e8me de fichier plus que n\u00e9cessaire<\/li>\n<li>R\u00e9duire la taille du volume logique pour lui donner exactement la nouvelle taille souhait\u00e9e.<\/li>\n<li>Agrandir le syst\u00e8me de fichier pour qu&rsquo;il occupe tout l&rsquo;espace disponible.<\/li>\n<\/ol>\n<p>De cette fa\u00e7on, le risque d&rsquo;erreur est beaucoup plus faible.<\/p>\n<p>Attention, tous les syst\u00e8mes de fichiers ne peuvent pas \u00eatre \u00ab\u00a0r\u00e9duits\u00a0\u00bb. Pour reiserfs, ext3 et ext4, cela se fait tr\u00e8s bien. Voila un exemple avec reiserfs\u00a0:<\/p>\n<pre> df -h | grep ca\r\n \/dev\/mapper\/svg-ca    512M  230M  283M  45% \/home\/ca<\/pre>\n<p>Dans cet exemple, le volume \u00ab\u00a0ca\u00a0\u00bb, se trouve dans le groupe de volume svg. Sur ce volume logique existe un syst\u00e8me de fichier en reiserfs d&rsquo;une taille de 512 Mo. Or, je n&rsquo;utilise que 230 Mo. De plus, je sais que je n&rsquo;ajouterai jamais rien dans ce volume. Je d\u00e9sire donc diminuer sa taille \u00e0 256 Mo (pour se laisser une marge de s\u00e9curit\u00e9, et parce que \u00e7a fait un compte rond \ud83d\ude09<\/p>\n<p>Je commence par d\u00e9monter le syst\u00e8me de fichier\u00a0:<\/p>\n<pre> umount \/home\/ca<\/pre>\n<p>Ensuite je vais donc diminuer la taille du syst\u00e8me de fichier, plus que n\u00e9cessaire. Plut\u00f4t que de retirer 256 Mo, je vais donc en retirer 258. Je peux le faire, car il reste 283 Mo de libre&#8230; \u00c9videment, retirer plus de place qu&rsquo;il n&rsquo;en reste serait suicidaire&#8230;<\/p>\n<pre> e2fsck -f \/dev\/svg\/ca\r\n resize_reiserfs -s -258M \/dev\/svg\/ca<\/pre>\n<p>Si vous \u00eates en ext3, on ne peut pas indiquer la quantit\u00e9 d&rsquo;espace \u00e0 enlever, il faut donner la taille finale voulue (512-258). les bonnes commandes auraient \u00e9t\u00e9\u00a0:<\/p>\n<pre> e2fsck -f \/dev\/svg\/ca\r\n resize2fs -p \/dev\/svg\/ca 254M<\/pre>\n<p>Maintenant que le syst\u00e8me de fichier \u00e0 diminu\u00e9, il faut donner au volume logique sa nouvelle taille, 256 Mo au lieu de 512<\/p>\n<pre> lvresize -L -256M \/dev\/svg\/ca\r\n WARNING: Reducing active logical volume to 256.00 MB\r\n THIS MAY DESTROY YOUR DATA (filesystem etc.)\r\n Do you really want to reduce ca? <a title=\"y\/n\" href=\"https:\/\/hoper.dnsalias.net\/tdc\/y\/n\">y\/n<\/a>: y\r\n Reducing logical volume ca to 256.00 MB<\/pre>\n<p>Plus qu&rsquo;une derni\u00e8re \u00e9tape, on indique au syst\u00e8me de fichier qu&rsquo;il peut s&rsquo;\u00e9tendre automatiquement pour prendre tout l&rsquo;espace disponible. Il devrait donc pouvoir grandir de 2 Mo. Il trouvera tout seul la taille exacte en nombre de blocs etc&#8230; On n&rsquo;a pas pris le risque de faire une erreur en le r\u00e9duisant \u00ab\u00a0pile poil\u00a0\u00bb de la m\u00eame taille que le volume logique, car la moindre erreur aurait pu corrompre le syst\u00e8me de fichier \u00e0 quelques blocs pr\u00e8s.<\/p>\n<pre> resize_reiserfs \/dev\/svg\/ca<\/pre>\n<p>ou, si vous utilisez ext3\u00a0:<\/p>\n<pre>resize2fs \/dev\/svg\/ca<\/pre>\n<p>Il ne reste plus qu&rsquo;\u00e0 remonter le syst\u00e8me de fichier\u00a0:<\/p>\n<pre> mount \/dev\/svg\/ca \/home\/ca\r\n df -h | grep ca\r\n \/dev\/mapper\/svg-ca    256M  230M   27M  90% \/home\/ca<\/pre>\n<p>C&rsquo;est gagn\u00e9&#8230; Le syst\u00e8me de fichier fait maintenant 256 Mo, et nous avons toujours nos 230 Mo de donn\u00e9es \u00e0 l&rsquo;int\u00e9rieur. Conclusion\u00a0: Jouer avec la taille des volumes logiques fonctionne tr\u00e8s bien, il faut juste prendre son temps et ne pas faire n&rsquo;importe quoi \ud83d\ude42<\/p>\n<h3>Mieux comprendre ou aller plus loin<\/h3>\n<p>J&rsquo;explique le fonctionnement de LVM (et ce qu&rsquo;il est possible de param\u00e9trer) <a href=\"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/2010\/11\/06\/lvm-fonctionnement-interne\/\">ici<\/a>. J&rsquo;explique aussi comment utiliser les \u00ab\u00a0snapshost\u00a0\u00bb sur <a href=\"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/2011\/08\/02\/lvm-snapshots\/\">cette page<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>LVM, une autre mani\u00e8re de partitionner Introduction LVM (Logical Volume Manager, ou gestionnaire de volumes logiques en bon fran\u00e7ais) permet la cr\u00e9ation et la gestion de volume logique sous Linux. L\u2019utilisation de volumes logiques remplace en quelque sorte le partitionnement des disques. C\u2019est un syst\u00e8me beaucoup plus souple, qui permet par exemple de diminuer la [&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-550","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\/550","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=550"}],"version-history":[{"count":2,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/550\/revisions"}],"predecessor-version":[{"id":574,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/550\/revisions\/574"}],"wp:attachment":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/media?parent=550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/categories?post=550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/tags?post=550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}