Recherche de site Web

Configurer des volumes à provisionnement dynamique dans la gestion des volumes logiques (LVM) - Partie IV


La gestion des volumes logiques possède des fonctionnalités intéressantes telles que les instantanés et le Thin Provisioning. Précédemment dans (Partie – III), nous avons vu comment prendre un instantané du volume logique. Ici, dans cet article, nous allons voir comment configurer des volumes de provisionnement léger dans LVM.

Qu’est-ce que le provisionnement dynamique ?

Le Thin Provisioning est utilisé dans LVM pour créer des disques virtuels dans un pool léger. Supposons que j'ai une capacité de stockage de 15 Go sur mon serveur. J'ai déjà 2 clients disposant chacun de 5 Go de stockage. Vous êtes le troisième client, vous avez demandé 5 Go de stockage. À l'époque, nous avions l'habitude de fournir la totalité des 5 Go (volume épais), mais vous pouvez utiliser 2 Go de ces 5 Go de stockage et 3 Go seront gratuits et vous pourrez les remplir plus tard.

Mais ce que nous faisons dans le provisionnement léger, c'est que nous définissons un pool léger à l'intérieur de l'un des grands groupes de volumes et définissons les volumes légers à l'intérieur de ce pool léger. Ainsi, tous les fichiers que vous écrivez seront stockés et votre stockage sera affiché comme 5 Go. Mais les 5 Go complets n’alloueront pas la totalité du disque. Le même processus sera également effectué pour les autres clients. Comme je l'ai dit, il y a 2 clients et vous êtes mon 3ème client.

Alors, supposons combien de Go total j'ai attribué aux clients ? Au total, 15 Go ont déjà été complétés. Si quelqu'un vient me voir et me demande 5 Go, puis-je lui donner ? La réponse est « Oui ». Ici, dans le provisionnement fin, je peux donner 5 Go pour le 4ème client même si j'ai attribué 15 Go.

Attention : à partir de 15 Go, si nous provisionnons plus de 15 Go, cela s'appelle Over Provisioning.

Comment ça fonctionne? et Comment fournissons-nous du stockage aux nouveaux clients ?

Je vous ai fourni 5 Go, mais vous ne pouvez utiliser que 2 Go et les 3 Go restants seront gratuits. Dans le Thick Provisioning, nous ne pouvons pas faire cela, car il allouera d’abord lui-même tout l’espace.

Dans le provisionnement léger, si je définis 5 Go pour vous, il n'allouera pas tout l'espace disque lors de la définition d'un volume, il augmentera jusqu'à 5 Go en fonction de l'écriture de vos données, j'espère que vous l'avez compris ! comme vous, les autres clients n'utiliseront pas non plus la totalité des volumes, il y aura donc la possibilité d'ajouter 5 Go à un nouveau client. C'est ce qu'on appelle le provisionnement.

Mais il est obligatoire de surveiller chaque croissance de volume, sinon cela se terminera par un désastre. Pendant que le surprovisionnement est effectué, si les 4 clients écrivent mal les données sur le disque, vous pourriez être confronté à un problème car cela remplira vos 15 Go et débordera pour supprimer les volumes.

Exigences

  1. Créer un stockage sur disque avec LVM sous Linux – PARTIE 1
  2. Comment étendre/réduire les LVM sous Linux – Partie II
  3. Comment créer/restaurer un instantané d'un volume logique dans LVM – Partie III
Configuration de mon serveur
  1. Système d'exploitation – CentOS 6.5 avec installation LVM
  2. IP du serveur – 192.168.0.200

Étape 1 : Configurer le Thin Pool et les volumes

Voyons concrètement comment configurer le pool mince et les volumes minces. Nous avons d’abord besoin d’un groupe de volume de grande taille. Ici, je crée un groupe de volumes avec 15 Go à des fins de démonstration. Maintenant, répertoriez le groupe de volumes à l’aide de la commande ci-dessous.

vgcreate -s 32M vg_thin /dev/sdb1

Ensuite, vérifiez la taille de la disponibilité du volume logique avant de créer le pool dynamique et les volumes.

vgs
lvs

Nous pouvons voir qu'il n'y a que des volumes logiques par défaut pour le système de fichiers et que le swap est présent dans la sortie lvs ci-dessus.

Création d'un pool mince

Pour créer un pool léger de 15 Go dans un groupe de volumes (vg_thin), utilisez la commande suivante.

lvcreate -L 15G --thinpool tp_tecmint_pool vg_thin
  1. -L – Taille du groupe de volumes
  2. –thinpool – Pour créer un Thinpool
  3. tp_tecmint_pool – Nom du pool dynamique
  4. vg_thin – Nom du groupe de volumes où nous devons créer le pool

Pour obtenir plus de détails, nous pouvons utiliser la commande 'lvdisplay'.

lvdisplay vg_thin/tp_tecmint_pool

Ici, nous n'avons pas créé de volumes légers virtuels dans ce pool léger. Dans l'image, nous pouvons voir les données du pool alloué affichant 0,00 %.

Création de volumes minces

Nous pouvons maintenant définir des volumes légers à l'intérieur du pool léger à l'aide de la commande « lvcreate » avec l'option -V (Virtuel).

lvcreate -V 5G --thin -n thin_vol_client1 vg_thin/tp_tecmint_pool

J'ai créé un volume virtuel Thin avec le nom thin_vol_client1 dans le tp_tecmint_pool dans mon groupe de volumes vg_thin. Maintenant, répertoriez les volumes logiques à l’aide de la commande ci-dessous.

lvs 

Tout à l'heure, nous avons créé le volume mince ci-dessus, c'est pourquoi aucune donnée n'apparaît, c'est-à-dire 0,00 % M.

Très bien, permettez-moi de créer 2 volumes Thin supplémentaires pour 2 autres clients. Ici, vous pouvez voir qu'il y a maintenant 3 volumes légers créés sous le pool (tp_tecmint_pool). Donc, à partir de ce moment, nous avons appris que j’avais utilisé la totalité du pool de 15 Go.

Création d'un système de fichiers

Maintenant, créez des points de montage, montez ces trois volumes légers et copiez-y certains fichiers à l'aide des commandes ci-dessous.

mkdir -p /mnt/client1 /mnt/client2 /mnt/client3

Liste les répertoires créés.

ls -l /mnt/

Créez le système de fichiers pour ces volumes légers créés à l'aide de la commande « mkfs ».

mkfs.ext4 /dev/vg_thin/thin_vol_client1 && mkfs.ext4 /dev/vg_thin/thin_vol_client2 && mkfs.ext4 /dev/vg_thin/thin_vol_client3

Montez les trois volumes clients sur le point de montage créé à l'aide de la commande « mount ».

mount /dev/vg_thin/thin_vol_client1 /mnt/client1/ && mount /dev/vg_thin/thin_vol_client2 /mnt/client2/ && mount /dev/vg_thin/thin_vol_client3 /mnt/client3/

Répertoriez les points de montage à l'aide de la commande 'df'.

df -h

Ici, nous pouvons voir que les 3 volumes clients sont montés et donc seulement 3 % des données sont utilisées dans chaque volume client. Alors, ajoutons quelques fichiers supplémentaires aux 3 points de montage de mon bureau pour occuper de l'espace.

Répertoriez maintenant le point de montage et voyez l'espace utilisé dans chaque volume léger et répertoriez le pool léger pour voir la taille utilisée dans le pool.

df -h
lvdisplay vg_thin/tp_tecmint_pool

La commande ci-dessus montre les trois pintes de montage ainsi que leurs tailles en pourcentage.

13% of datas used out of 5GB for client1
29% of datas used out of 5GB for client2
49% of datas used out of 5GB for client3

En examinant le pool léger, nous pouvons voir que seulement 30 % des données sont entièrement écrites. Il s'agit du total de plus de trois volumes virtuels clients.

Surapprovisionnement

Maintenant, le 4ème client est venu me voir et m'a demandé 5 Go d'espace de stockage. Puis-je donner? Parce que j'avais déjà donné 15 Go de pool à 3 clients. Est-il possible de donner 5 Go de plus à un autre client ? Oui, il est possible de donner. C'est à ce moment-là que nous utilisons le Over Provisioning, ce qui signifie donner plus d'espace que ce dont je dispose.

Permettez-moi de créer 5 Go pour le 4ème client et de vérifier la taille.

lvcreate -V 5G --thin -n thin_vol_client4 vg_thin/tp_tecmint_pool
lvs

Je n'ai qu'une taille de 15 Go dans le pool, mais j'ai créé 4 volumes dans un pool léger jusqu'à 20 Go. Si les quatre clients commencent à écrire des données sur leurs volumes pour accélérer le rythme, nous serons alors confrontés à une situation critique, sinon il n'y aura pas de problème.

Maintenant, j'ai créé un système de fichiers dans thin_vol_client4, puis monté sous /mnt/client4 et j'y ai copié certains fichiers.

lvs

Nous pouvons voir dans l'image ci-dessus que la taille totale utilisée dans le client 4 nouvellement créé peut atteindre 89,34 % et la taille du pool léger est 59,19 % utilisée. Si tous ces utilisateurs n'écrivent pas mal sur le volume, celui-ci sera exempt de débordement, abandonnez-le. Pour éviter le débordement, nous devons étendre la taille du pool mince.

Important : les Thin-pools ne sont qu'un volume logique, donc si nous devons étendre la taille du Thin-pool, nous pouvons utiliser la même commande que celle que nous avons utilisée pour les volumes logiques, étendez-vous, mais nous ne pouvons pas réduire la taille du pool léger.

lvextend

Ici, nous pouvons voir comment étendre le pool léger logique (tp_tecmint_pool).

lvextend -L +15G /dev/vg_thin/tp_tecmint_pool

Ensuite, indiquez la taille du pool mince.

lvs

Auparavant, notre taille tp_tecmint_pool était de 15 Go et de 4 volumes légers, ce qui dépassait la provision de 20 Go. Maintenant, il a été étendu à 30 Go, de sorte que notre sur-approvisionnement a été normalisé et que les volumes légers sont exempts de débordement et de chute. De cette façon, vous pouvez ajouter des volumes toujours plus fins à la piscine.

Ici, nous avons vu comment créer un pool léger en utilisant un groupe de volumes de grande taille et créer des volumes légers à l'intérieur d'un pool léger en utilisant le surprovisionnement et l'extension du pool. Dans le prochain article, nous verrons comment configurer un lvm Striping.