MaDoVi - Le wiki

Machines - Données - Virtualisation

Outils pour utilisateurs

Outils du site


services:stockage:tuto:lvm_tuto1

Gestion d'un disque avec LVM

On va ici, à titre d'illustration de LVM et dans le cadre particulier du tuto , réserver la totalité du disque sda aux données propres aux virtualisations qu'on souhaite mettre en œuvre: Machine virtuelles et containers.

On s'appuie sur ces informations (il y en a d'autres bien sûr sur la toile).

Cette documentation semble particulièrement complète et en français, même si c'est pour Read Hat 6.

Les particularités qu'on a :

  • Tout le disque est «topé» LVM: un unique Volume Physique (PV)
  • Associé à ce disque, un Groupe de Volumes (VG), nommé «VGVirtu»
  • Plusieurs Volumes Logiques (LV):
    • Chaque disque virtuel dans un container LXC dispose de son LV (lxc-xxx)
    • On sait que les containers LXC occupent par défaut de l'espace sur /var notamment, et donc sur la clé. On va donc redéfinir ces zones pour LXC – potentiellement pénalisantes à plusieurs niveaux sur la clé (espace, accès) – dans un LV dédié qu'on appelle ici env-lxc (cf. Virtualisation - Containers LXC)
    • Plus tard et décrit en son temps, on définira sans doute d'autres LV dans le cadre des machines virtuelles sous KVM ou des containers Docker, sur ces mêmes disque physique PV et volume (VG).

L'idée est d'obtenir quelque chose comme ceci:

Pour toutes les manipulations à suivre, on se positionne en root via

$ sudo -i

Le prompt en # vous indique que vous avez des droits d'administrateur: Pas de bêtises et votre attention de rigueur…


Installation

La commande d'installation est «de base»:

# apt-get install lvm2 

«Toper» le disque en partition LVM

On part donc sur une disque /dev/sda, vierge de toute partition. On va signaler au système qu'il s'agira d'un disque géré via LVM, à l'aide la la commande fdisk

  • Vérification que c'est le bon disque, et qu'il est vierge:
    # fdisk -l /dev/sda

    Vous devriez obtenir quelque chose qui ressemble à celà, c'est à dire sans partition, sans identifiant:

    Disque /dev/sda : 233,8 GiB, 251000193024 octets, 490234752 secteurs
    Modèle de disque : Maxtor 6V250F0  
    Unités : secteur de 1 × 512 = 512 octets
    Taille de secteur (logique / physique) : 512 octets / 512 octets
    taille d'E/S (minimale / optimale) : 512 octets / 512 octets
    Identifiant de disque : 0x00000000
  • Si ok, on génère une partition LVM:
    # fdisk /dev/sda

    Appliquer les options raccourcis suivants, dans l'ordre:

    1. On appuie sur o pour créer une nouvelle table de partition puis sur ↵ Entrée (confirmer avec y et ↵ Entrée)

    2. On appuie sur n pour créer une nouvelle partition. Pour le numéro de partition, laissez par défaut.

    3. Pour le choix du First Sector et du Last Sector, laissez par défaut avec ↵ Entrée: on prend le disque entier.

    4. Pour le type de la partition, on entre e8: e8 est le code qui définit les partitions «LVM Linux». On peut voir la liste des codes possibles en saisissant l.

    5. On presse w pour enregistrer les changements et quitter fdisk (confirmer avec y et ↵ Entrée)
  • En refaisant:
    # fdisk -l /dev/sda

    vous devriez obtenir quelque chose qui ressemble à cela, c'est à dire avec une partition sda1 de type LVM:

    fdisk -l /dev/sda
    Disque /dev/sda : 233,8 GiB, 251000193024 octets, 490234752 secteurs
    Modèle de disque : Maxtor 6V250F0  
    Unités : secteur de 1 × 512 = 512 octets
    Taille de secteur (logique / physique) : 512 octets / 512 octets
    taille d'E/S (minimale / optimale) : 512 octets / 512 octets
    Type d'étiquette de disque : dos
    Identifiant de disque : 0xadb281cf
     
    Périphérique Amorçage Début       Fin  Secteurs Taille Id Type
    /dev/sda1              2048 490234751 490232704 233,8G 8e LVM Linux

☛ Notre disque est prêt pour entrer dans la définition d'un Volume Physique (PV). On peut faire de notre partition /dev/sda1 un PV qui pourra être intégré à un VG :

# pvcreate /dev/sda1

Utilisez:

pvs
pvdisplay

pour avoir des info sur ce volume physique…


Volume Group

La création du groupe de volumes est simple, d'autant qu'on a qu'un groupe, et qu'un disque:

# vgcreate VGVirtu /dev/sda1

Et pareil, infos avec:

vgs
vgdisplay

Création des LV

Les volumes logiques LV pour les containers en lxc-xxx seront créés au moment de la définition de nos différents containers LXC au cours de ce § dans le tuto du projet , ou dans les rubriques où des containers LXC interviennent.

Le LV qu'on va créer ici est destiné aux données (de configuration, cache, etc…) qu'on veut ne pas laisser sur la clé: on l’appellera env-lxc.

Les commandes ci-dessous s'appliquent bien sûr à la création de tout volume logique LV.

La commande de définition d'un LV est la suivante:

# lvcreate -n <nom LV> -L <taille> <Nom VG>

On va créer notre LV avec 10G, taille au pif à ce stade mais qu'on pourra réduire à l'usage:

# lvcreate -n env-lxc -L 10g VGVirtu

De même encore ici, les commandes suivantes donneront des infos sur les Volumes Logiques LV:

lvs
lvdisplay

A ce stade, on a une belle organisation avec des boîtes sur trois étages… Mais ces boîtes sont vides !

Les LV sont comme des partitions sur un disque, il faut leur donner un format, ou un type de File System. Par exemple, la commande suivantes nous «formate» le LV env-lxc en EXT4:

# mkfs -t ext4 /dev/VGVirtu/env-lxc 

Montage

Pour l'instant, on n'a pas accès à notre Volume Logique env-lxc. On est sous Linux, donc il faut «monter» cet espace.

On va le faire à l'emplacement prévu pour les montages /mnt:

  • On crée notre point de montage:
    # mkdir /mnt/env-lxc
  • On monte le LV dedans:
    # mount /dev/VGVirtu/env-lxc /mnt/env-lxc 

    On peut alors y accéder via

    # ls -als /mnt/env-lxc
  • On peut rendre ce montage automatique au démarrage via l'ajout de la ligne suivante dans le fichier /etc/fstab:
    nano /etc/fstab
    # Ajout par <machin> - ssaa.mm.jj - montage config environnement lxc
    /dev/VGVirtu/env-lxc    /mnt/env-lxc    ext4    defaults,nofail,discard    0    0

Et woula … :-)

Il y a plein d'autres possibilités, en particulier extension de LV et snapshot, dont vous pourrez trouver les commandes dans les liens donnés au début et un peu partout sur le net.

services/stockage/tuto/lvm_tuto1.txt · Dernière modification: 03/11/2019 19:23 de Cram28