Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue80:tuto_-_utiliser_un_gestionnaire [2014/04/29 12:32] – [4] frangi | issue80:tuto_-_utiliser_un_gestionnaire [2014/05/04 11:14] (Version actuelle) – [6] auntiee |
---|
** | ** |
| |
Bien que j'utilise et j'étudie GNU/Linux depuis un certain temps maintenant, LVM est une nouvelle bête dans mon zoo. Peut-être que d'autres aspects de l'administration du système semblaient plus intéressants, ou peut-être que je n'ai pas senti le besoin d'avoir LVM. Mais maintenant que j'en sais plus à ce sujet, il est en passe de devenir un élément essentiel de ma boîte à outils. | Bien que j'utilise et j'étudie GNU/Linux depuis un certain temps maintenant, LVM est une nouvelle bête dans mon zoo. Peut-être que d'autres aspects de l'administration du système aient semblé plus intéressants, ou peut-être que je n'aie pas senti le besoin d'avoir LVM. Mais maintenant que j'en sais plus à son sujet, il est en passe de devenir un élément essentiel de ma boîte à outils. |
| |
Si nous jetons un coup d’œil aux numéros précédents de notre magazine préféré (Full Circle Mag, quoi d'autre?), nous constatons effectivement que LVM est mentionné très peu de fois. Il apparaît en fait dans l'« Edition Spéciale 01: le Serveur Parfait » en 2011, et il a également été brièvement mentionné dans les numéros 31 et 67, mais il n'y a pas eu d'articles de fond sur la question. | Si nous jetons un coup d’œil aux numéros précédents de notre magazine préféré (le Full Circle, évidemment), nous constatons effectivement que LVM est mentionné très peu de fois. Il apparaît en fait dans l'« Edition spéciale 01 : le Serveur Parfait » en 2011, et il a également été brièvement mentionné dans les numéros 31 et 67, mais il n'y en a pas eu d'articles de fond. |
| |
Pour aujourd'hui, après avoir donné un exemple simple pour mettre tous les morceaux en place, nous allons examiner trois scénarios différents, couvrant quelques applications de LVM, pratiques, du monde réel. Dans la première, nous allons utiliser LVM pour nous donner une certaine souplesse lors de l'installation d'un nouveau système. Ce sera un système pour lequel nous ne connaissons pas vraiment dès le début quels besoins exacts en espace disque surgiront pour notre système et pour les partitions de documents des utilisateurs. Devrions nous conserver une partition Windows, ou allons nous vouloir l'enlever plus tard et combiner cet espace avec nos partitions Ubuntu? Dans le deuxième scénario, nous verrons comment la capacité de LVM à prendre des clichés (snapshots) peut être une bouée de sauvetage si nous devons mettre à niveau un système existant, sans risquer de tout perdre. Enfin, dans le troisième cas, nous allons créer une clé USB bootable avec plusieurs Ubuntu (ou autres distributions) ensemble, afin que nous puissions démarrer un ordinateur à partir de l'un d'eux. | Aujourd'hui, après avoir donné un exemple simple pour mettre tous les morceaux en place, nous allons examiner trois scénarios différents, couvrant quelques usages, pratiques et tirés de la « vraie vie » de LVM. Dans la première, nous utiliserons LVM pour nous donner une certaine souplesse lors de l'installation d'un nouveau système. Ce sera un système pour lequel nous ne connaissons pas vraiment dès le début les besoins exacts en espace disque du système et des partitions de documents des utilisateurs. Devrions-nous conserver une partition Windows, ou allons-nous vouloir l'enlever plus tard et fusionner cet espace avec nos partitions Ubuntu ? Dans le deuxième scénario, nous verrons comment la capacité de LVM à prendre des photos instantanées (snapshots) peut être une bouée de sauvetage si nous devons mettre à niveau un système existant, sans risquer de tout perdre. Enfin, dans le troisième cas, nous allons créer une clé USB amorçable avec plusieurs distributions Ubuntu (ou autres) ensemble, afin que nous puissions démarrer un ordinateur à partir de n'importe lequel d'entre eux. |
| |
** | ** |
Ce qu'est LVM | Ce qu'est LVM |
| |
La gestion normale de disque sous GNU/Linux, et aussi sous Ubuntu, consiste à travailler avec des partitions de disque, d'une part, et des systèmes de fichiers d'autre part. Les partitions de disque sont les divisions de bas niveau de nos disques. Si vous commencez avec un disque détecté par le système comme étant /dev/sda, il peut contenir des partitions /dev/sda1, /dev/sda2, etc. Chacune de ces partitions peut ensuite être formatée en utilisant un système de fichiers: extended pour GNU/Linux, NTFS ou VFAT pour Windows, HFS pour Mac-OS-X, etc. La limitation de cette organisation est que chaque partition ne peut supporter qu'un seul système de fichiers. | La gestion normale de disque sous GNU/Linux, et aussi sous Ubuntu, consiste à travailler avec des partitions de disque, d'une part, et des systèmes de fichiers, d'autre part. Les partitions de disque sont les divisions de bas niveau de nos disques. Si vous commencez avec un disque détecté par le système comme étant /dev/sda, il peut contenir des partitions /dev/sda1, /dev/sda2, etc. Chacune de ces partitions peut ensuite être formatée en utilisant un système de fichiers : extended pour GNU/Linux, NTFS ou VFAT pour Windows, HFS pour Mac-OS-X, etc. La limitation de cette organisation est que chaque partition ne peut supporter qu'un seul système de fichiers. |
| |
L'idée principale derrière le gestionnaire de volumes logiques (LVM = Logical Volume Manager) est d'insérer une troisième couche entre les partitions physiques d'une part, et les systèmes de fichiers d'autre part. Il s'agit d'une couche d'abstraction qui rend les systèmes de fichiers plus indépendant des disques physiques en dessous. Les disques physiques sont regroupés d'un côté de cette couche d'abstraction, et ensuite les systèmes de fichiers sont créés de l'autre côté, complètement indépendants des disques. | L'idée principale derrière le gestionnaire de volumes logiques (LVM = Logical Volume Manager) est d'insérer une troisième couche entre les partitions physiques, d'une part, et les systèmes de fichiers, d'autre part. Il s'agit d'une couche d'abstraction qui rend les systèmes de fichiers plus indépendants des disques physiques en dessous. Les disques physiques sont regroupés d'un côté de cette couche d'abstraction et ensuite les systèmes de fichiers sont créés de l'autre côté, complètement indépendants des disques. |
| |
==== 2 ==== | ==== 2 ==== |
Un exemple simple | Un exemple simple |
| |
Pour utiliser LVM, en premier lieu on doit s'assurer que nous avons installé les programmes appropriés. Ils viennent en standard sur la plupart des versions modernes d'Ubuntu (13.04, 13.10, ...) et des dérivés (ex: Linux Mint 15). Ils peuvent également être installés sur des versions antérieures: cherchez le paquet lvm2 dans votre gestionnaire de logiciels préféré. | Pour utiliser LVM, en premier lieu nous devons nous assurer d'avoir installé les programmes appropriés. Ils existent en standard dans la plupart des versions modernes d'Ubuntu (13.04, 13.10,...) et des dérivés (ex. : Linux Mint 15). Ils peuvent également être installés sur des versions antérieures : cherchez le paquet lvm2 dans votre gestionnaire de logiciels préféré. |
| |
Une fois le logiciel installé, il faut passer par trois étapes: | Une fois le logiciel installé, il faut passer par trois étapes : |
| |
1. Nous convertissons nos partitions de disques physiques en volumes physiques LVM (PV = Physical Volume). Chaque partition convertie ne pourra plus accueillir un système de fichiers directement, ainsi nous devons nous assurer qu'ils ne contiennent pas de données que nous voulons garder. | 1. Nous convertissons nos partitions de disques physiques en volumes physiques LVM (PV = Physical Volume). Chaque partition convertie ne pourra plus accueillir un système de fichiers directement, ainsi nous devons nous assurer qu'ils ne contiennent pas de données que nous voulons garder. |
| |
2. Nous regroupons nos volumes physiques dans un groupe de volumes (VG = Volume Group). Il n'y a pas de besoin réel d'avoir plus d'un PV dans un VG particulier, mais si nécessaire nous pouvons le faire. Les PV sont ensuite combinés dans le VG, et leurs tailles s'additionnent. Le groupe peut ensuite être utilisé comme un seul ensemble d'espace disque, que nous pouvons diviser en morceaux et utiliser comme souhaité. | 2. Nous regroupons nos volumes physiques dans un groupe de volumes (VG = Volume Group). Il n'y a pas de besoin réel d'avoir plus d'un PV dans un VG particulier, mais si nécessaire nous pouvons le faire. Les PV sont ensuite combinés dans le VG et leurs tailles s'additionnent. Le groupe peut ensuite être utilisé comme un seul ensemble d'espace disque, que nous pouvons diviser en morceaux et utiliser à notre guise. |
| |
3. Nous créons un ou plusieurs volumes logiques (LV = Logical Volume) à partir de notre groupe de volumes. | 3. Nous créons un ou plusieurs volumes logiques (LV = Logical Volume) à partir de notre groupe de volumes. |
** | ** |
| |
Pour prendre un exemple pratique, nous pourrions commencer avec un ordinateur ayant deux disques, /dev/sdc et /dev/sdd, les deux étant des volumes de 2 To. sdc porte une partition unique occupant tout le disque et hotée sdc1, alors que sdd est divisé en sdd1 et sdd2, chacune de 1 To. Nous voulons utiliser sdc1 et sdd2 avec LVM, et conserver sdd1 sans faire de modifications. | Voici un exemple pratique : nous pourrions commencer avec un ordinateur ayant deux disques : /dev/sdc et /dev/sdd, les deux étant des volumes de 2 To. sdc a une partition unique occupant tout le disque et notée sdc1, alors que sdd est divisé en sdd1 et sdd2, chacune de 1 To. Nous voulons utiliser sdc1 et sdd2 avec LVM, et conserver sdd1 sans faire de modifications. |
| |
L'étape 1 serait: | L'étape 1 serait : |
| |
sudo bash | sudo bash |
| |
(Nous devons être root pour modifier les volumes LVM) | (Nous devons être root pour modifier les volumes LVM.) |
| |
pvcreate /dev/sdc1 | pvcreate /dev/sdc1 |
pvcreate /dev/sdd2 | pvcreate /dev/sdd2 |
| |
Une fois que nous avons les deux PV créés, nous pouvons créer notre groupe de volumes pour les accueillir. Le VG peut être appelé n'importe comment (mais pas d'espaces ou de caractères « bizarres » dans le nom), ainsi dans cet exemple nous allons l'appeler simplement « groupe ». Nous allons donc d'abord le créer avec un volume, puis ajouter le deuxième: | Une fois que nous avons créé les deux PV, nous pouvons créer notre groupe de volumes pour les accueillir. Le VG peut être appelé n'importe comment (mais pas d'espaces ou de caractères « bizarres » dans le nom), ainsi dans cet exemple nous allons l'appeler simplement « group ». Nous allons donc d'abord le créer avec un volume, puis ajouter le deuxième : |
| |
vgcreate group /dev/sdc1 | vgcreate group /dev/sdc1 |
** | ** |
| |
Nous obtenons maintenant un seul groupe de volumes, avec une capacité totale de 3 To. Nous pouvons maintenant passer à l'étape 3, et « sculpter » un ou plusieurs volumes logiques selon le besoin; et oui, le terme technique utilisé est en effet « sculpter » [NDT: « to carve » en anglais, mais en français on utilise plutôt le verbe « créer »]. Par exemple, si nous voulions créer un volume de 1,5 To, pour l'utiliser comme sauvegarde, nous pourrions le faire de cette façon: | Nous avons actuellement un seul groupe de volumes, avec une capacité totale de 3 To. Nous pouvons maintenant passer à l'étape 3 et « tailler » un ou plusieurs volumes logiques selon nos besoins ; et oui, le terme technique utilisé est en effet « tailler » [Ndt : « to carve » en anglais, mais en français on utilise plutôt le verbe « créer »]. Par exemple, si nous voulions créer un volume de 1,5 To, pour l'utiliser comme sauvegarde, nous pourrions le faire de cette façon : |
| |
lvcreate group -L 1500M -n backup | lvcreate group -L 1500M -n backup |
| |
Donner au LV un nom significatif avec l'option -n, nous le rendra plus facile à reconnaître et à utiliser. Par exemple: | Si nous donnons au LV un nom significatif avec l'option -n, nous pourrons le reconnaître et l'utiliser plus facilement. Par exemple : |
| |
mkfs.ext4 /dev/group/backup | mkfs.ext4 /dev/group/backup |
** | ** |
| |
Notez que les frontières de division des LV ne coïncident pas nécessairement avec les partitions de disque; dans cet exemple, notre LV de sauvegarde peut en fait être entièrement contenu dans /dev/sdc1, ou il pourrait tout aussi bien être divisé en morceaux qui se trouvent physiquement sur les deux /dev/sdc1 et /dev/sdd2. Nous n'avons pas à gérer ceci. D'autre part, nous savons bien que nous avons encore quelque 1,5 To d'espace libre que nous pouvons continuer à creuser: avec un ou plusieurs autres LV. Donc ce simple exemple nous montre déjà une partie de la possible flexibilité de LVM. | Notez que les frontières de division des LV ne coïncident pas nécessairement avec les partitions de disque ; dans cet exemple, notre LV de sauvegarde peut en fait être entièrement contenu dans /dev/sdc1, ou il pourrait tout aussi bien être divisé en morceaux qui se trouvent physiquement sur les deux /dev/sdc1 et /dev/sdd2. Nous n'avons pas à gérer cela. En revanche, nous savons bien que nous avons encore quelque 1,5 To d'espace libre que nous pouvons continuer à tailler, en créant un ou plusieurs autres LV. Ainsi, ce simple exemple nous donne déjà une idée de la flexibilité potentielle de LVM. |
| |
Bien que personnellement, je préfère utiliser la console, tout le monde n'est pas à l'aise avec. Ainsi, une interface graphique pour LVM a été développée, appelée system-config-lvm. Si vous êtes dans ce cas, ne manquez pas de l'installer par dessus LVM et de l'essayer. Elle affiche aussi quelques jolis graphiques tels que ceux ci-dessus. Cependant, elle a quelques problèmes avec les versions récentes de Linux Mint et Cinnamon (mais pas avec Unity). | Bien que, personnellement, je préfère utiliser la console, tout le monde n'est pas à l'aise avec. Ainsi, une interface graphique pour LVM a été développée, appelée system-config-lvm. Si vous en avez envie, vous pouvez très bien l'installer par dessus LVM pour l'essayer. Elle affiche aussi quelques jolis graphiques tels que ceux ci-dessus. Cependant, elle a quelques problèmes avec les versions récentes de Linux Mint et Cinnamon (mais pas avec Unity). |
| |
==== 3 ==== | ==== 3 ==== |
** | ** |
| |
Scénario 1: jongler avec les disques lorsque vous ne savez pas à quoi le système final ressemblera | Scénario 1 : jongler avec les disques lorsque vous ne savez pas à quoi ressemblera le système final |
| |
La plupart d'entre nous a installé Ubuntu ou un de ses dérivés sur un disque qui contient déjà une partition Windows. Au moins au début, nous voulions souvent conserver au moins une partie de l'installation de Windows, juste au cas où nous voudrions y retourner, pour une raison quelconque. A la fin de la journée, cependant, ce « retour en arrière » se passe plutôt rarement. Ce qui arrive est que nous manquons d'espace du côté Linux, et on finit par penser à ajouter la ou les partitions de Windows à Ubuntu. LVM rend cela plus facile. | La plupart d'entre nous ont installé Ubuntu ou un de ses dérivés sur un disque qui contenait déjà une partition Windows. Au moins au début, nous voulions souvent conserver au moins une partie de l'installation de Windows, juste au cas où nous voudrions y retourner pour une quelconque raison. A la fin de la journée, cependant, ce « retour en arrière » se passe plutôt rarement. Ce qui arrive c'est que nous manquons d'espace du côté Linux et finissons par penser à ajouter la ou les partitions Windows à Ubuntu. LVM rend cela plus facile. |
| |
Partons avec un disque dur d'ordinateur portable typique, qui est souvent fourni avec la valeur d'usine pour trois partitions: | Partons d'un disque dur d'ordinateur portable typique, qui nous arrive souvent du fabricant pré-configuré en trois partitions : |
• / dev/sda1 pour C:, le disque principal système de Windows; | • / dev/sda1 pour C:, le disque principal du système Windows ; |
• / dev/sda2 pour D:, où nous plaçons nos fichiers, souvent mis en place comme le dossier Mes documents; | • / dev/sda2 pour D:, où nous mettons nos fichiers, souvent paramétré en tant que Mes documents ; |
• / dev/sda3, une partition invisible sous Windows qui contient une image du système qui peut être utilisé pour réinstaller Windows avec ses régalges d'usine. | • / dev/sda3, une partition invisible sous Windows qui contient une image du système qui peut être utilisée pour réinstaller Windows avec ses réglages d'usine. |
| |
** | ** |
** | ** |
| |
Un simple choix d'installation est de remplacer la partition NTFS D: avec notre système Ubuntu. Si nous écrasons tout simplement le D: existant et que nous donnons les pleins pouvoirs à l'installeur, nous allons probablement finir avec quelque chose d'un peu compliqué. Il aime créer deux partitions distinctes, l'une pour le système lui-même et un autre au fichier d'échange de méméoire (swap). Donc, nous pourrions arriver à quelque chose comme ceci: | Un simple choix d'installation est de remplacer la partition NTFS D: avec notre système Ubuntu. Si nous écrasons tout simplement le D: existant en donnant les pleins pouvoirs à l'installeur, nous allons probablement finir avec quelque chose d'un peu compliqué. Il aime créer deux partitions distinctes, l'une pour le système lui-même et l'autre pour le fichier d'échange de mémoire (swap). Donc, nous pourrions arriver à quelque chose comme ceci : |
• / dev/sda1 pour le C: existant | • / dev/sda1 pour le C: existant ; |
• / dev/sda2 pour une partition ext4 | • / dev/sda2 pour une partition ext4 ; |
• / dev/sda4, une partition primaire contenante | • / dev/sda4, une partition primaire contenant ; |
• / dev/sda5, une partition secondaire utilisée comme fichier d'échange | • / dev/sda5, une partition secondaire utilisée comme fichier d'échange ; |
• / dev/sda3, la partition image invisible existante | • / dev/sda3, la partition image invisible existante. |
| |
C'est déjà un peu compliqué, et le sera encore plus quand, plus tard, nous déciderons de nous débarrasser de Windows une fois pour toutes, et de réutiliser aussi /dev/sda1 et /dev/sda3 pour Ubuntu. | C'est déjà un peu compliqué et le sera encore plus quand, plus tard, nous déciderons de nous débarrasser de Windows une fois pour toutes et de réutiliser /dev/sda1 et /dev/sda3 pour Ubuntu aussi. |
| |
| |
** | ** |
| |
Donc, arrive LVM pour nous aider à simplifier les choses. Lors de l'installation d'Ubuntu pour la première fois, au lieu d'aller directement à l'installeur, nous lancerons un terminal, deviendrons root et: | Alors, voici LVM pour nous aider à simplifier les choses. Lors de la première installation d'Ubuntu, au lieu d'aller directement à l'installeur, nous lancerons un terminal, deviendrons root et : |
| |
sudo bash | sudo bash |
| |
(Aucun mot de passe n'est nécessaire avec le LiveCD) | (Aucun mot de passe n'est nécessaire avec le LiveCD.) |
| |
pvcreate /dev/sda2 | pvcreate /dev/sda2 |
** | ** |
| |
Nous avons maintenant: | Nous avons maintenant : |
• /dev/sda1 pour le C: existant | • /dev/sda1 pour le C: existant ; |
• /dev/sda2 pour un PV, utilisé par le VG « group » et contenant: | • /dev/sda2 pour un PV, utilisé par le VG « group » et contenant : |
• /dev/group/system, une partition que nous allons utiliser comme racine du système | • /dev/group/system, une partition que nous allons utiliser comme racine du système ; |
• /dev/group/swap, une partition utilisée comme fichier d'échange de mémoire | • /dev/group/swap, une partition utilisée comme fichier d'échange de mémoire ; |
• /dev/sda3, la partition existante de l'image invisible | • /dev/sda3, la partition existante de l'image invisible. |
| |
Nous pouvons maintenant procéder à l'installation d'Ubuntu, et lorsqu'on vous présentera l'écran pour choisir la gestion de disque, allez dans « manual partitioning » (partitionnement manuel). De là, nous auront /dev/group/system formaté comme un système de fichiers ext4 et monté sur /, tandis que /dev/group/swap sera formaté et utilisé comme fichier d'échange. Le reste du processus d'installation du système devrait se dérouler comme d'habitude. | Nous pouvons maintenant procéder à l'installation d'Ubuntu et, lorsque l'écran pour choisir la gestion de disque s'affichera, aller dans « manual partitioning » (partitionnement manuel). De là, nous aurons /dev/group/system formaté comme un système de fichiers ext4 et monté sur /, tandis que /dev/group/swap sera formaté et utilisé comme fichier d'échange. Le reste du processus d'installation du système devrait se dérouler comme d'habitude. |
| |
Un mot d'avertissement: les versions antérieures d'Ubuntu ne connaissent pas LVM. Ce qui est décrit ici devrait fonctionner tel quel pour Raring (13.04) et Saucy (13.10), ainsi que Linux Mint 15. Les versions antérieures nécessitent beaucoup de travail sur la console pour monter la partition cible, relier et monter les répertoires accéssoires tels que /tmp et /dev, l'inclure dans une prison chroot et installer le paquet lvm2. C'est certainement faisable, mais peut-être pas pour les couards. | Mise en garde : les versions antérieures d'Ubuntu ne connaissent pas LVM. Ce qui est décrit ici devrait fonctionner tel quel pour Raring (13.04) et Saucy (13.10), ainsi que pour Linux Mint 15. Les versions antérieures nécessitent beaucoup de travail à la console pour monter la partition cible, relier et monter les répertoires accessoires tels que /tmp et /dev, l'inclure dans une prison chroot et installer le paquet lvm2. C'est certainement faisable, mais sans doute pas pour les timorés. |
| |
** | ** |
** | ** |
| |
Maintenant, que se pass-t-il quand on veut ajouter les partitions Windows à notre système Ubuntu ? Disons, par exemple, que nous voulons simplement réutiliser /dev/sda1 (C:), en conservant la partition d'image pour le moment. Dans un terminal, nous créons un nouveau PV avec /dev/sda1, et l'ajoutons au VG "ubuntu": | Bon. Que se passe-t-il quand on veut ajouter les partitions Windows à notre système Ubuntu ? Disons, par exemple, que nous voulons simplement réutiliser /dev/sda1 (C:), en conservant la partition d'image pour le moment. Dans un terminal, nous créons un nouveau PV avec /dev/sda1, et l'ajoutons au VG « ubuntu » : |
| |
sudo bash | sudo bash |
vgextend group /dev/sda1 | vgextend group /dev/sda1 |
| |
Si nous utilisons maintenant la commande vgdisplay, on peut voir que l'espace disponible sur le VG « ubuntu » est plus grande qu'avant, comprenant à la fois /dev/sda2 et /dev/sda1. Nous pouvons alors faire de notre LV « system » et accroître notre système de fichiers racine. Cela ne peut se faire alors qu'il est monté, donc nous aurons à nouveau besoin de démarrer à partir du LiveCD Ubuntu. Supposons que notre partition /dev/sda1 soit de 40 Go en taille, et /dev/sda2 était de 60 Go, on pourrait faire: | Si nous utilisons maintenant la commande vgdisplay, on peut voir que l'espace disponible sur le VG « ubuntu » est plus grande qu'avant, comprenant à la fois /dev/sda2 et /dev/sda1. Nous pouvons alors accroître notre LV « system » et notre système de fichiers racine. Cela ne peut pas se faire quand il est monté, nous aurons donc à nouveau besoin de démarrer à partir du LiveCD Ubuntu. En supposant que notre partition /dev/sda1 était de 40 Go et que /dev/sda2 était de 60 Go, on pourrait faire : |
| |
sudo bash | sudo bash |
lvextend /dev/ubuntu/system +40G | lvextend /dev/ubuntu/system +40G |
| |
(Ajoute les 40 Go nouvellement disponibles au LV « system ») | (Ajoute les 40 Go nouvellement disponibles au LV « system ».) |
| |
resize2fs /dev/ubuntu/system 100G | resize2fs /dev/ubuntu/system 100G |
| |
(aggrandit le système de fichiers ext4 « system » à total de 100 Go) | (Agrandit le système de fichiers ext4 « system » à un total de 100 Go.) |
| |
** | ** |
** | ** |
| |
Nous devrions alors être en mesure de redémarrer comme d'habitude depuis le disque dur, et de faire l'essai de notre nouveau systeème agrandi. Notre système ressemble maintenant à ceci: | Nous devrions alors être en mesure de redémarrer comme d'habitude depuis le disque dur et de faire l'essai de notre nouveau système agrandi. Notre système ressemble maintenant à ceci : |
• /dev/sda1 et /dev/sda2 comme PV, utilisés par le VG « group » et contenant | • /dev/sda1 et /dev/sda2 comme PV, utilisés par le VG « group » et contenant ; |
• /dev/groupe/system, une partition que nous allons utiliser comme racine du système | • /dev/groupe/system, une partition que nous allons utiliser comme racine du système ; |
• /dev/groupe/swap, une partition utilisée comme fichier d'échange | • /dev/groupe/swap, une partition utilisée comme fichier d'échange ; |
• /dev/sda3, la partition existante de l'image invisible | • /dev/sda3, la partition existante qui contient l'image invisible. |
| |
Si nous n'avons plus besoin de la partition d'image, nous pouvons aussi aller plus loin, et l'ajouter aussi au VG « group ». | Si nous n'avons plus besoin de la partition d'image, nous pouvons aussi plus loin et l'ajouter aussi au VG « group ». |
| |
Les avertissements habituels s'appliquent: nous faisons des changements importants sur le système d'exploitation, donc les choses pourraient éventuellement aller très mal. Naturellement, vous devriez le faire pour la première fois uniquement sur un système pour lequel vous êtes prêt à le réinstaller à partir de zéro si les choses vont mal. Et, bien sûr, faire une sauvegarde de vos données avant de commencer! | Les mises en garde habituelles s'appliquent : nous faisons des changements importants dans le système d'exploitation et les choses pourraient éventuellement aller très mal. Naturellement, vous devriez le faire pour la première fois uniquement sur un système que vous voudrez bien réinstaller à partir de zéro si les choses vont mal. Et, bien sûr, faire une sauvegarde de vos données avant de commencer ! |
| |
==== 4 ==== | ==== 4 ==== |
** | ** |
| |
Scénario 2: un filet de sécurité lors de la mise à jour d'un système existant | Scénario 2 : un filet de sécurité lors de la mise à jour d'un système existant |
| |
Une des choses sympas sur les systèmes Ubuntu et GNU/Linux en général, c'est que de nouvelles versions améliorées arrivent très souvent, dans notre cas, tous les six mois. Donc, il y a une tendance naturelle à mettre à niveau des systèmes qui en ont ou n'en ont pas vraiment besoin : juste pour rester au top des choses. Mais des choses étranges se produisent parfois lors de la mise à jour, même avec Linux. Par exemple, en théorie, il devrait être possible de mettre à niveau un système basé sur un Ubuntu existant vers une nouvelle version en changeant simplement les dépôts dans /etc/apt/sources.list, puis en exécutant | Une des choses sympas sur les systèmes Ubuntu et GNU/Linux en général, c'est que de nouvelles versions améliorées arrivent très souvent, dans notre cas, tous les six mois. Il y a donc une tendance naturelle à mettre à niveau des systèmes qui en ont - ou pas - vraiment besoin, pour rester maître de la situation. Mais des choses étranges se produisent parfois lors d'une mise à jour, même avec Linux. Par exemple, en théorie, il devrait être possible de mettre à niveau un système Ubuntu ou dérivés existant vers une version plus récente en changeant simplement les dépôts dans /etc/apt/sources.list, puis en exécutant |
| |
sudo bash | sudo bash |
aptitude update ; aptitude safe-upgrade -y ; shutdown -r now | aptitude update ; aptitude safe-upgrade -y ; shutdown -r now |
| |
En fait, ce n'est pas une bonne idée pour de nombreuses distributions. Certains vieux lambeaux sont toujours transportés sur la nouvelle version. Plus important, les nouvelles versions peuvent avoir besoin de nouvelles versions de leurs fichiers de configuration, qui pourrait même ne pas être du tout dans les mêmes répertoires. Cela est particulièrement vrai pour Linux Mint: sauf pour leurs distributions basées sur Debian (LMDE), la mise à niveau sur place a été spécifiquement découragée - voir l'article de Clément Lefebvre « Comment mettre à niveau vers une version plus récente » (http://community.linuxmint.com/tutorial/view/2). | En fait, ce n'est pas une bonne idée pour de nombreuses distributions. Quelques vieilleries restent présentes sur la nouvelle version. Plus important, les nouvelles versions peuvent avoir besoin de versions plus récentes de leurs fichiers de configuration, qui pourraient même ne pas se trouver dans les mêmes répertoires. Cela est particulièrement vrai pour Linux Mint : sauf pour leurs distributions basées sur Debian (LMDE), la mise à niveau in situ a été spécifiquement déconseillée, voir l'article de Clément Lefebvre « Comment mettre à niveau vers une version plus récente » (http://community.linuxmint.com/tutorial/view/2). |
| |
** | ** |
** | ** |
| |
Cependant, si le téléchargement, l'installation et la re-configuration d'un nouveau système se révèle être trop d'ambarras pour vous et que vous ne voulez pas vous aventurer sur une mise à niveau en place, il est toujours agréable d'avoir préparé un plan B : une manière d'avoir votre système sauvegardé et fonctionnant comme avant d'essayer de le mettre à niveau. Une fois de plus, LVM vient à la rescousse avec sa capacité de photo instantanée (snapshot). | Quoi qu'il en soit, si le téléchargement, l'installation et la reconfiguration d'un nouveau système se révèlent trop compliqué et que vous ne voulez pas faire une mise à niveau hasardeuse in situ, il est toujours agréable d'avoir un plan B qui vous permettra de ressusciter votre système dans son état avant votre essai malheureux de mise à niveaux. Une fois de plus, LVM vient à la rescousse avec sa capacité de photo instantanée (snapshot). |
| |
La façon dont cela fonctionne est que, si nous avons assez d'espace libre dans notre VG, nous créons un deuxième LV qui est essentiellement une copie du premier, mais par essence « figé dans le temps ». Nous pouvons alors faire ce que nous voulons au premier LV, et pouvons toujours copier nos fichiers en provenance de la photo si nécessaire. | La façon dont cela fonctionne est que, si nous avons assez d'espace libre dans notre VG, nous créons un deuxième LV qui est en fait une copie du premier, mais par essence « figé dans le temps ». Nous pouvons alors faire ce que nous voulons au premier LV, et ensuite récupérer les fichiers de la « photo » si nécessaire. |
| |
Tout d'abord, nous créons la photo du LV « système ». Dans mon propre cas, j'ai tendance à utiliser de très petites partitions système de 10 Go, donc je vais créer une photo en réservant le double d'espace, juste au cas où elle se remplirait pour une raison quelconque. Nous allons appeler la photo « system-snap »: | Tout d'abord, nous créons la photo du LV « système ». Dans mon cas, j'ai tendance à utiliser de très petites partitions système de 10 Go ; par conséquent, je vais créer une photo en réservant le double de l'espace, juste au cas où elle se remplirait pour une raison quelconque. Nous allons appeler la photo « system-snap »: |
| |
sudo bash | sudo bash |
ACTIVE '/dev/group/system' [10,00 GiB] inherit | ACTIVE '/dev/group/system' [10,00 GiB] inherit |
** | ** |
| |
| Ça y est, c'est fait. Nous pouvons maintenant procéder à la mise à niveau de notre système vers une quelconque nouvelle version disponible (Ubuntu 13.10, peut-être ?) ou s'adonner à tout autre type de magie noire qui pourrait, le cas échéant, gravement endommager le système. |
| |
| Supposons que c'est ce qui s'est passé et que notre système d'origine (sur le LV « system ») est dans un état lamentable. Nous devons redémarrer à partir du fidèle LiveCD Ubuntu et, dans un terminal, faire une copie de la photo à partir de laquelle nous allons travailler : |
| |
| sudo bash |
| |
| lvrename /dev/group/system system-old |
| |
| lvcreate group -n system -L 10G |
| |
| (Mettez ici la taille que vous avez utilisée pour la partition système.) |
| |
| dd if=/dev/group/system-snap of=/dev/group/system bs=1M |
| |
| À ce stade, le LV devrait être ainsi : |
| |
| lvscan |
| |
| ACTIVE Original '/dev/group/system-old' [10,00 GiB] inherit |
| |
| ACTIVE Snapshot '/dev/group/system-snap' [20,00 GiB] inherit |
| |
| ACTIVE '/dev/group/system' [10,00 GiB] inherit |
| |
| |
** | ** |
grub-install --boot-directory /media/ubuntu/system/boot /dev/sda | grub-install --boot-directory /media/ubuntu/system/boot /dev/sda |
** | ** |
| |
| Le LV « système-old » est l'ancien système endommagé. « Système-snap » est la photo contenant une copie du système tel qu'il était avant de faire les changements fatals, et « system » est le système actuel, recréé. |
| |
| Nous pouvons nettoyer un peu en enlevant à la fois l'ancien système et la photo pour retrouver l'espace qu'ils occupaient : |
| |
| lvremove /dev/group/system-snap |
| |
| lvremove /dev/group/system-old |
| |
| Selon ce qui s'est passé pendant la mise à niveau ou la casse de votre système, l'installation de GRUB peut également avoir souffert. C'est peut-être une bonne idée de la recréer pendant que vous utilisez le LiveCD. Montez votre nouveau /dev/group/system, par exemple sur /media/ubuntu/system et réinstallez GRUB sur /dev/sda avec : |
| |
| grub-install --boot-directory /media/ubuntu/system/boot /dev/sda |
| |
==== 5 ===== | ==== 5 ===== |
However, we may encounter several practical problems. If we want to use the disk to boot older computers, we will need to use the classical Master Boot Record (MBR) partitioning system. This means we are limited to four principal partitions - slightly more if we use secondary partitions, but still very limited in number. So, even if the hard disk itself has more than enough capacity for several dozen Ubuntu installations - perhaps of varying ages and flavors - the partition map will not take them. | However, we may encounter several practical problems. If we want to use the disk to boot older computers, we will need to use the classical Master Boot Record (MBR) partitioning system. This means we are limited to four principal partitions - slightly more if we use secondary partitions, but still very limited in number. So, even if the hard disk itself has more than enough capacity for several dozen Ubuntu installations - perhaps of varying ages and flavors - the partition map will not take them. |
** | ** |
| |
| Scénario 3: créer votre disque de démarrage USB « couteau suisse » |
| |
| À cette époque des disques durs USB externes, nous avons à notre disposition un moyen simple de démarrer des ordinateurs en difficulté et de corriger tout ce qui ne va pas ou même de cloner une image système. Évidemment, l'image standard du LiveCD Ubuntu peut nous aider, mais une autre façon de faire est de tout simplement installer Ubuntu sur un disque externe. De cette façon, nous pouvons ajouter notre propre collection d'outils et être certain que son paramétrage reste tel que nous le voulons. |
| |
| Cependant, certaines tâches ont besoin d'outils simples, tels que le démarrage d'un très vieil ordinateur sur un système léger Xubuntu, tandis que d'autres peuvent avoir besoin d'une solution plus complète, comme le clonage de tous les ordinateurs du laboratoire d'une école avec les mêmes spécifications, sous Ubuntu Studio. Comme les disques durs modernes ont beaucoup d'espace, pourquoi ne pas mettre plusieurs distributions différentes sur le même disque dur externe ? |
| |
| Toutefois, il se peut que nous rencontrions plusieurs problèmes pratiques. Si nous voulons utiliser le disque pour démarrer les ordinateurs plus anciens, nous aurons besoin d'utiliser le système de partitionnement classique avec une zone amorce (Master Boot Record - MBR). Cela signifie que nous sommes limités à quatre partitions principales ; un peu plus si nous utilisons les partitions secondaires, mais encore un nombre très limité. Ainsi, même si le disque dur lui-même a la capacité suffisante pour plusieurs dizaines d'installations Ubuntu, peut-être d'âges et de saveurs variées, le schéma des partitions ne les prendra pas. |
| |
** | ** |
A helpful tip: it is best to practice installing Ubuntu on an external disk on a computer with its internal hard drive disconnected. Doing things this way can help avoid wee mistakes, such as overwriting the main hard drive’s system inadvertently... | A helpful tip: it is best to practice installing Ubuntu on an external disk on a computer with its internal hard drive disconnected. Doing things this way can help avoid wee mistakes, such as overwriting the main hard drive’s system inadvertently... |
** | ** |
| |
| Pire, même, si nous ne prévoyons pas très soigneusement à l'avance la quantité d'espace à attribuer à chaque installation, nous pourrons nous retrouver avec des partitions qui manquent d'espace, alors qu'il en reste beaucoup de libre sur le disque. Un exemple serait lorsque nous avons une partition de sauvegarde sur disque, ainsi que les installations du système. |
| |
| À ce stade, il devrait être clair que nous ferions mieux d'utiliser LVM sur le disque externe. |
| |
| Sa mise en place est la simplicité même. Une fois que nous avons démarré sur le LiveCD du premier système Ubuntu que nous souhaitons installer, nous utilisons le terminal ou l'utilitaire gparted pour créer une première partition ext4 occupant la totalité du disque externe : /dev/sda1 ou similaire. Une fois cela fait, nous pouvons retourner dans le terminal, créer un PV à partir de la partition et un VG à partir du PV. Ensuite, nous pouvons créer un premier LV sur le VG, le formater et installer Ubuntu dessus. |
| |
| Pour les installations successives d'autres versions de *buntu, nous procédons de la même manière : démarrer sur le LiveCD approprié, utiliser le terminal pour créer un nouveau LV (utiliser des étiquettes de volume parlantes !), formater le nouveau LV avec un système de fichiers ext4 et installer le système de manière traditionnelle. Chaque fois, cependant, l'installation de GRUB sera probablement écrasée par l'installeur, alors, quoi que vous fassiez, assurez-vous au préalable que la version d'Ubuntu que vous installez supporte réellement LVM sans bricolage ! Il suffit de lancer l'une des commandes, lvdisplay suffira, dans le terminal. |
| |
| Une astuce utile : il est préférable de s'entraîner à installer Ubuntu sur un disque externe en utilisant un ordinateur dont le disque dur interne est déconnecté. Faire les choses de cette manière peut aider à éviter les petites erreurs, comme écraser le système du disque dur principal par inadvertance. |
| |
==== 6 ==== | ==== 6 ==== |
Though LVM may seem to be a bit of overkill for a simple Ubuntu installation, as we have seen in these three scenarios - installing GNU/Linux on a (former) Windows machine, using a snapshot to keep our backs covered when upgrading in place, and making an external USB boot diskb - it does give us a lot of flexibility. Without LVM, one partition must correspond to precisely one file-system. With LVM, we can play separately on two different levels: with partitions on the one hand, and with Logical Volumes on the other. While I hope these three scenarios may help the reader in real-life situations, this is by no means the end of LVM applications. Further possibilities include using it to encrypt a complete partition - as set out in Xavier Berger’s “Create a thief-proof PC”, in Full Circle issue 67 (http://fullcirclemagazine.org/issue-67/). If we want to set up a data repository or NAS box on our network, LVM mirroring gets us data replication (two copies of each item) without having to fiddle around with RAID volumes. | Though LVM may seem to be a bit of overkill for a simple Ubuntu installation, as we have seen in these three scenarios - installing GNU/Linux on a (former) Windows machine, using a snapshot to keep our backs covered when upgrading in place, and making an external USB boot diskb - it does give us a lot of flexibility. Without LVM, one partition must correspond to precisely one file-system. With LVM, we can play separately on two different levels: with partitions on the one hand, and with Logical Volumes on the other. While I hope these three scenarios may help the reader in real-life situations, this is by no means the end of LVM applications. Further possibilities include using it to encrypt a complete partition - as set out in Xavier Berger’s “Create a thief-proof PC”, in Full Circle issue 67 (http://fullcirclemagazine.org/issue-67/). If we want to set up a data repository or NAS box on our network, LVM mirroring gets us data replication (two copies of each item) without having to fiddle around with RAID volumes. |
** | ** |
| |
| Conclusions |
| |
| Bien que LVM puisse sembler un peu trop pour une simple installation d'Ubuntu, comme nous l'avons vu dans ces trois scénarios - installer GNU/Linux sur une machine (anciennement) Windows, utiliser une photo pour rester couvert lors d'une mise à niveau in situ, et faire un disque de démarrage USB externe - il nous donne vraiment beaucoup de souplesse. Sans LVM, une partition doit correspondre exactement à un seul système de fichiers. Avec LVM, nous pouvons jouer séparément sur deux niveaux différents : avec les partitions, d'une part, et avec des volumes logiques, d'autre part. Bien que j'espère que ces trois scénarios pourront aider le lecteur dans des situations réelles, je ne vous ai pas présenté l'ensemble des possibilités de LVM, loin de là. D'autres usages possibles sont, notamment, le chiffrage d'une partition complète, comme indiqué dans « Créer un PC à l'épreuve des voleurs » de Xavier Berger, dans le numéro 67 du Full Circle (EN : http://fullcirclemagazine.org/issue-67/, FR : http://www.fullcirclemag.fr/visionneuse/visionner.php?numero=issue67fr). Si nous voulons mettre en place un partage de données ou un appareil NAS sur notre réseau, La copie miroir de LVM nous permet la réplication de données (deux copies de chaque élément), sans que nous devions tripoter des volumes RAID. |
| |
** | ** |
In any case, I would like to encourage everybody to play around with LVM, at least to explore its various possibilities. But please stay safe: do it on a computer you do not need for work, that you are happy to format if need be, and obviously with all data on it correctly backed up. Even small units such as USB flash pen-drives are enough to try out LVM, though the system may or may not regain access to the LVs if you pop them out and back in again (it usually does). Perhaps the best way to test it out would be with virtual machines under Virtualbox. If your main computer has enough RAM (say 2 GB), enough CPU horsepower (any dual-core should suffice) and some space disk space left, this would definitely be the way to go. | In any case, I would like to encourage everybody to play around with LVM, at least to explore its various possibilities. But please stay safe: do it on a computer you do not need for work, that you are happy to format if need be, and obviously with all data on it correctly backed up. Even small units such as USB flash pen-drives are enough to try out LVM, though the system may or may not regain access to the LVs if you pop them out and back in again (it usually does). Perhaps the best way to test it out would be with virtual machines under Virtualbox. If your main computer has enough RAM (say 2 GB), enough CPU horsepower (any dual-core should suffice) and some space disk space left, this would definitely be the way to go. |
** | ** |
| |
| En tout cas, je tiens à vous encourager tous à jouer avec LVM ou au moins à explorer ses différentes possibilités. Mais, s'il vous plaît, pensez à votre sécurité : faites-le sur un ordinateur dont vous n'avez pas besoin pour le travail, que vous seriez heureux de formater si besoin et, évidemment, dont toutes les données sont correctement sauvegardées. Même les petites unités comme les clés USB sont suffisantes pour essayer LVM, bien que le système puisse ou ne puisse pas retrouver l'accès aux LV si vous débranchez la clé et la rebranchez à nouveau (il le fait habituellement). Peut-être la meilleure façon de le tester serait avec des machines virtuelles dans Virtualbox. Si votre ordinateur principal a assez de RAM (disons 2 Go), assez de puissance CPU (tout bi-cœur devrait suffire) et qu'il reste de l'espace disque, ce serait certainement la méthode à suivre. |
| |