Retourner à la gestion des types de stockage


LVM-THIN

Il s'agit de l'un des stockages utilisé par défaut lors d'une installation.
Le stockage LVM-THIN, lors d'une nouvelle installation se trouve dans le LV data, s'agissant d'un stockage par bloc, sont contenu ne sera donc pas disponible via un chemin d'accès présent sur le système.

LVM alloue normalement des blocs lorsque vous créez un volume. Les pools LVM-THIN allouent plutôt des blocs lorsqu'ils sont écrits. Ce comportement s'appelle le «thin-provisioning», car les volumes peuvent être beaucoup plus volumineux que l'espace physiquement disponible.

Ce type de stockage correspond a un LV présent sur le système.

Les images disques qu'il contient, lorsqu'il y en a de créer, sont vu comme des LVs par le système.

root@px1:~# lvdisplay
 
...
 
  --- Logical volume ---
  LV Name                data
  VG Name                pve
  LV UUID                ke10go-u1wr-zoBM-uizH-kgN2-WjLJ-H1jccq
  LV Write Access        read/write
  LV Creation host, time proxmox, 2018-08-10 19:24:29 +0200
  LV Pool metadata       data_tmeta
  LV Pool data           data_tdata
  LV Status              available
  # open                 3
  LV Size                25.37 GiB
  Allocated pool data    2.89%
  Allocated metadata     0.05%
  Current LE             6495
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
 
  --- Logical volume ---
  LV Path                /dev/pve/vm-100-disk-1
  LV Name                vm-100-disk-1
  VG Name                pve
  LV UUID                d13bdJ-JzJp-hK5t-7lRa-4vSP-UUVR-n3iyAK
  LV Write Access        read/write
  LV Creation host, time px1, 2018-08-25 21:41:05 +0200
  LV Pool name           data
  LV Status              available
  # open                 0
  LV Size                8.00 GiB
  Mapped size            9.18%
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:6
 
  --- Logical volume ---
  LV Path                /dev/pve/vm-101-disk-1
  LV Name                vm-101-disk-1
  VG Name                pve
  LV UUID                8qA6eA-NIHH-NnNN-WIte-RlSm-nwEF-DrhzZG
  LV Write Access        read/write
  LV Creation host, time px1, 2018-08-25 21:43:34 +0200
  LV Pool name           data
  LV Status              available
  # open                 0
  LV Size                10.00 GiB
  Mapped size            0.00%
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:7

Note:

Permet le stockage:

  • Des images disques de VM
  • Des images disques de Conteneurs

S'agissant d'un stockage par bloc, il ne permet que le format d'images brut. Il est possible de faire des snapshots et des clones.

Attention:

Il n'est pas possible de partager ce stockage.

Important:

Ce type de stockage utilisant un LV et dans le cas où l'installation se ferait sur un cluster, il faudra créer le même LV avec les mêmes propriétés sur TOUS LES NOEUDS !

Important:

Attention: S'agissant d'un cluster, l'ajout du LV doit être valide sur l'ensemble des noeuds du cluster. Ce qui signifie que les opérations suivantes sont à faire sur TOUS LES NOEUDS !

Admettons que nous ayons un disque/partition de 10Go, /dev/sdb3.

Créer le PV et le VG, que nous allons nommer “vglocalthin”.

root@px1:~# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.
 
root@px1:~# vgcreate vglocalthin /dev/sdb3
  Volume group "vglocalthin" successfully created

Créer ensuite le LV de nom “lvlocalthin” de 7Go, le reste étant destiné aux metadatas.

root@px1:~# lvcreate -L 7G -n lvlocalthin vglocalthin
  Logical volume "lvlocalthin" created.
 
root@px1:~# lvconvert --type thin-pool vglocalthin/lvlocalthin
  WARNING: Converting logical volume vglocalthin/lvlocalthin to thin pool's data volume with metadata wiping.
  THIS WILL DESTROY CONTENT OF LOGICAL VOLUME (filesystem etc.)
Do you really want to convert vglocalthin/lvlocalthin? [y/n]: y
  Converted vglocalthin/lvlocalthin to thin pool.

Du point de vue de l'hyperviseur, celui-ci est juste un LV du système. Il n'est pas encore utilisable.

Il ne reste plus qu'à déclarer à Proxmox que ce LV est un nouveau stockage utilisable pour le cluster.

Pour cela, nous allons utiliser la commande:

pvesh create

Les options que nous utiliserons sont:

  • storage: Le nom de notre stockage (ici “lvmthin-volume”).
  • type: Le type de stockage que nous souhaitons utiliser (ici “lvmthin” pour LVM-THIN).
  • content: Pour le type de contenu autorisé a utiliser ce stockage, ici les images disque de VM et Conteneurs.
  • vgname: Le nom du VG (ici “vglocalthin”).
  • thinpool: Le nom du LV Thin (ici “lvlocalthin”).
root@px1:~# pvesh create /storage -storage=lvmthin-volume -type=lvmthin -content=images,rootdir -vgname=vglocalthin -thinpool=lvlocalthin
200 OK

Vous pouvez voir que notre nouveau stockage a bien été ajouté avec la commande:

pvesh get /storage/<nom-du-volume>
root@px3:~# pvesh get /storage/lvmthin-volume
200 OK
{
   "content" : "rootdir,images",
   "digest" : "0a12d4b44fcd41a7ffda9a7deac069db199122b6",
   "storage" : "lvmthin-volume",
   "thinpool" : "lvlocalthin",
   "type" : "lvmthin",
   "vgname" : "vglocalthin"
}

Attention:

Attention, bien que ce partage soit disponible sur l'ensemble des noeuds, cela ne signifie pas qu'il est partagé.
Ainsi, si l'on stocke un contenu sur le noeud 1, celui-ci ne sera pas disponible sur le noeud 2 ou même 3.

Pour le déplacement de VM, cela suppose, suivant la taille des volumes définis, des temps de déplacement plus ou moins long.
A savoir que des mécanisme de réplication sont disponible (Voir la page Gestion du cluster)

Précédemment, nous avons ajouter un stockage supplémentaire a notre cluster, néanmoins, nous ne lui avons donnés la possibilités de stocker que deux types de contenu, des images disque de VM et de Conteneur.

Nous allons modifier notre stockage, afin de lui permettre de stocker uniquement des images disque de VM.
Pour cela, nous allons utiliser la commande:

pvesh set

Note:

Pour rajouter un type de contenu, nous devons absolument lui renseigner tous les types de contenu du stockage, autrement, nous écraserons les valeurs précédentes.
Pour ce stockage seul deux types de contenu sont autorisés.

Important:

Attention, comme vous vous en doutez, modifier des options d'un stockage en cours d'utilisation n'est pas sans conséquences.
En particulier si des VMs/Conteneurs tournent au moment de l'opération et que vous oubliez de rajouter les précédents types de contenu, les VMs sont immédiatement inaccessibles.

La modification de type de contenu pour un stockage ne veux pas dire que ceux-ci ont été supprimé physiquement sur le(s) disque(s) !
Pensez donc a faire le nettoyage dans les dossiers après où avant modification sur chaque noeuds. (Voir page Gestion du cluster)

Pour modifier les types de contenu autorisé dans notre stockage:

root@px1:~# pvesh set /storage/lvmthin-volume -content=images
200 OK

Comme vous pouvez le constater, la modification s'est bien déroulé:

root@px3:~# pvesh get /storage/lvmthin-volume
200 OK
{
   "content" : "images",
   "digest" : "c4536281fa415f9ab4fb739ccafbb7d1e2f910c1",
   "storage" : "lvmthin-volume",
   "thinpool" : "lvlocalthin",
   "type" : "lvmthin",
   "vgname" : "vglocalthin"
}

Important:

Avant de supprimer un stockage de notre cluster, il faut s'assurer que celui-ci ne contient plus aucune données en cours d'utilisation.

Faute de quoi, les ressources utilisés ne seront plus disponibles.

Pour obtenir le contenu du volume, nous allons utiliser la commande:

pvesh get /nodes/<nom_d_un_noeud>/storage/<nom_du_volume>/content

<nom_d_un_noeud>: Dans le cas d'un cluster, les volumes étant déclarés sur l'ensemble des noeuds et non partagés dans leurs contenu, il faudra lancer la commande pour obtenir le contenu du volume de chaque noeuds.
<nom_du_volume>: Nom du volume pour lequel on souhaite afficher le contenu.

root@px1:~# pvesh get /nodes/px1/storage/lvmthin-volume/content
[]
200 OK

Le contenu de ce volume étant vide, nous pouvons donc le supprimer sans craintes.
Autrement, nous aurions eu une sortie nous listant tout le contenu présent.

Important:

La suppression d'un stockage ne veux pas dire que le contenu de celui-ci a été supprimé physiquement sur le disque !
Pensez donc a faire le nettoyage dans les dossiers après où avant modification sur chaque noeuds. (Voir page Gestion du cluster)

Pour supprimer notre stockage, nous allons utiliser la commande:

pvesh delete /storage/<nom_du_stockage_a_supprimer>
root@px1:~# pvesh delete /storage/lvmthin-volume
200 OK

On peux constater que la suppression s'est bien déroulé:

root@px1:~# pvesh get /storage
200 OK
[
   {
      "content" : "images,rootdir",
      "digest" : "cc3b0b34aad25f896e9120df80da9e3f04af81a8",
      "storage" : "local-lvm",
      "thinpool" : "data",
      "type" : "lvmthin",
      "vgname" : "pve"
   },
   {
      "content" : "vztmpl,backup,iso",
      "digest" : "cc3b0b34aad25f896e9120df80da9e3f04af81a8",
      "path" : "/var/lib/vz",
      "storage" : "local",
      "type" : "dir"
   }
]

Important:

Attention: S'agissant d'un cluster, l'ajout du LV doit être valide sur l'ensemble des noeuds du cluster. Ce qui signifie que les opérations suivantes sont à faire sur TOUS LES NOEUDS !

Dans la vue “Server”, sélectionnez “Datacenter”, puis “Storage” et enfin cliquez sur “Add”:

Sélectionnez le type de stockage que vous souhaitez ajouter au cluster (ici “LVM-THIN”).

Une nouvelle fenêtre apparaît, reportez-vous aux propriétés communes pour plus d'informations.
Remplissez les champs ID, Volume group, Thin Pool et Content:

  • ID: Correspond au nom que vous souhaitez donner a ce stockage.
  • Volume group: Correspond au nom du VG du stockage.
  • Thin Pool: Correspond au nom du LV Thin du stockage.
  • Content: Correspond au contenu que vous souhaitez autoriser sur ce stockage, ici sélectionnez “Disk image” et “Container”. (Seul type de contenu autorisé pour ce type de stockage)

Choisissez si vous souhaitez que ce stockage soit disponible sur l'intégralité du cluster où seulement sur certains noeuds.
Dans notre cas, ce stockage est disponible sur l'ensemble du cluster.

La case à cocher doit être sur “Enabled” pour que ce stockage soit actif, puis cliquer sur “Add”.

Une fois validé, le stockage est disponible sur l'ensemble du cluster.

Tout comme pour le stockage de type “Directory”, si vous cliquez sur “Search”, vous verrez le même stockage apparaître trois fois, mais sur des noeuds différents.

Attention:

Attention, bien que ce partage soit disponible sur l'ensemble des noeuds, cela ne signifie pas qu'il est partagé.
Ainsi, si l'on stocke un contenu sur le noeud 1, celui-ci ne sera pas disponible sur le noeud 2 ou même 3.

Pour le déplacement de VM, cela suppose, suivant la taille des volumes définis, des temps de déplacement plus ou moins long.
A savoir que des mécanismes de réplication sont disponible (Voir la page Gestion du cluster)

Pour modifier un stockage, sélectionnez le, lorsque vous êtes dans la gestion du stockage du Datacenter, puis cliquez sur le bouton “Edit”:

Admettions que nous ne souhaitons pas que les images disque des conteneur soit disponible sur ce stockage.
Cliquez sur “Container” pour désactiver ce type de contenu du stockage.

Cliquez sur le bouton “Ok” pour valider le changement.

Une fois valider, vous verrez que les types de contenu disponible pour ce stockage ont été changé.

Important:

Attention, comme vous vous en doutez, modifier des options d'un stockage en cours d'utilisation n'est pas sans conséquences.
En particulier si des VMs/Conteneurs tournent au moment de l'opération et que vous oubliez de rajouter les précédents types de contenu, les VMs sont immédiatement inaccessibles.

La modification de type de contenu pour un stockage ne veux pas dire que ceux-ci ont été supprimé physiquement sur le(s) disque(s) !
Pensez donc a faire le nettoyage dans les dossiers après où avant modification sur chaque noeuds. (Voir page Gestion du cluster)

Important:

Avant de supprimer un stockage de notre cluster, il faut s'assurer que celui-ci ne contient plus aucune données en cours d'utilisation.

Faute de quoi, les ressources utilisés ne seront plus disponibles.

Pour supprimer un stockage, sélectionnez le, lorsque vous êtes dans la gestion du stockage du Datacenter, puis cliquez sur le bouton “Remove”:

Dans la fenêtre de confirmation, cliquez sur “Yes”.

Une fois valider, vous verrez que la liste des stockages disponible a changé et que celui que nous venons de supprimer n'y est plus.

Important:

La suppression d'un stockage ne veux pas dire que le contenu de celui-ci a été supprimé physiquement sur le disque !
Pensez donc a faire le nettoyage dans les dossiers après où avant modification sur chaque noeuds. (Voir page Gestion du cluster)


Retourner à la gestion des types de stockage

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus