Table des matières

Retourner à la gestion des types de stockage


Directory

Il s'agit de l'un des stockages utilisé par défaut lors d'une installation.
Le stockage local, par défaut lors d'une nouvelle installation, se trouve dans le LV root (pour les versions >4.2) et disponible dans le chemin /var/lib/vz.

Ce type de stockage correspond a un chemin d'accès présent sur le système.
Vous pouvez rajouter autant de stockage de ce type que vous le souhaitez, dans des chemins différents.

Note:

Permet le stockage:

  • Des backups
  • Des images ISO
  • Des template de Conteneurs
  • Des images disques de VM
  • Des images disques de Conteneurs

Il permet les formats d'images :

  • Brut (raw)
  • Qcow2
  • Vmdk

Il permet également de faire des snapshots et des clones.

Attention:

Ce stockage ne permet pas d'être partagé.

Important:

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

Ligne de commande

Important:

Attention: S'agissant d'un cluster, l'ajout du chemin d'accès 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/sdb.

root@px1:~# fdisk -l /dev/sdb
Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Partitionner ce disque avec une seule partition et formater le:

root@px1:~# fdisk /dev/sdb
 
Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
 
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x4d04f22e.
 
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): 
 
Using default response p.
Partition number (1-4, default 1): 
First sector (2048-20971519, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): 
 
Created a new partition 1 of type 'Linux' and of size 10 GiB.
 
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
 
root@px1:~# mkfs.ext4 /dev/sdb1
mke2fs 1.43.4 (31-Jan-2017)
Creating filesystem with 2621184 4k blocks and 655360 inodes
Filesystem UUID: 1a12a64e-9419-4e96-b9cc-82018d5d694f
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
 
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

Ajouter une nouvelle entrée dans /etc/fstab afin qu'il soit remonté en cas de reboot de la machine.
Créer le dossier pour le point de montage et enfin monté le avec mount.

root@px1:~# echo "/dev/sdb1 /mnt/pve/local ext4 defaults 0 0" >> /etc/fstab
root@px1:~# mkdir -p /mnt/pve/local
root@px1:~# mount -a

Votre nouveau disque est prêt a être utilisé.

root@px1:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
udev                  2.0G     0  2.0G   0% /dev
tmpfs                 395M  5.7M  389M   2% /run
/dev/mapper/pve-root   12G  1.4G   11G  12% /
tmpfs                 2.0G   37M  1.9G   2% /dev/shm
tmpfs                 5.0M     0  5.0M   0% /run/lock
tmpfs                 2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/fuse              30M   16K   30M   1% /etc/pve
tmpfs                 395M     0  395M   0% /run/user/0
/dev/sdb1             9.8G   37M  9.3G   1% /mnt/pve/local

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

Ajout

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

Pour cela, nous allons utiliser la commande:

pvesh create

Les options que nous utiliserons sont:

root@px1:~# pvesh create /storage -storage=local-volume -type=dir -path=/mnt/pve/local -content=images,rootdir
200 OK

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

pvesh get /storage/<nom-du-volume>
root@px1:~# pvesh get /storage/local-volume
200 OK
{
   "content" : "rootdir,images",
   "digest" : "05f6354f6a57dfb5f5aadab389b301da069e8524",
   "path" : "/mnt/pve/local",
   "storage" : "local-volume",
   "type" : "dir"
}

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)

Modification

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 également des templates de conteneur (vztmpl).
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 et seul les templates de conteneur seront disponibles pour ce stockage.

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 rajouter les templates de conteneur a notre stockage:

root@px1:~# pvesh set /storage/local-volume -content=images,vztmpl,rootdir
200 OK

Comme vous pouvez le constater, l'ajout s'est bien déroulé:

root@px1:~# pvesh get /storage/local-volume
200 OK
{
   "content" : "rootdir,vztmpl,images",
   "digest" : "a5dd317e02c6d664e4ff43c1b088ce4de3c668ff",
   "path" : "/mnt/pve/local",
   "storage" : "local-volume",
   "type" : "dir"
}

Suppression

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/local-volume/content
200 OK
[]

Le contenu de ce volume étant vide, nous pouvons donc le supprimer sans craintes.
Autrement, nous aurions eu une sortie comme celle-ci:

root@px1:~# pvesh get /nodes/px1/storage/local-volume/content
200 OK
[
   {
      "content" : "vztmpl",
      "format" : "tgz",
      "size" : 198072228,
      "volid" : "local:vztmpl/debian-9.0-standard_9.3-1_amd64.tar.gz"
   },
   {
      "content" : "iso",
      "format" : "iso",
      "size" : 305135616,
      "volid" : "local:iso/debian-9.5.0-amd64-netinst.iso"
   },
   {
      "content" : "backup",
      "format" : "tar.lzo",
      "size" : 277775580,
      "volid" : "local:backup/vzdump-lxc-100-2018_08_25-21_43_59.tar.lzo"
   }
]

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/local-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"
   }
]

Interface web

Important:

Attention: S'agissant d'un cluster, l'ajout du chemin d'accès doit être valide sur l'ensemble des noeuds du cluster. Ce qui signifie que les opérations d'ajout de volumes sont à faire sur TOUS LES NOEUDS avant la déclaration au cluster !

Voir ici

Ajout

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 “Directory”).

Une nouvelle fenêtre apparaît, reportez-vous aux propriétés communes pour plus d'informations.

Remplissez les champs ID, Directory et Content:

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.

En cliquant sur “Search”, vous verrez le même stockage apparaître trois fois, mais sur des noeuds différents.
Ainsi, nous voyons bien que ce stockage est disponible sur tous les noeuds et que chacun d'eux peux y accèder.

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)

Modification

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 templates de conteneur soit disponible sur ce stockage.
Cliquez sur “Container template” 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)

Suppression

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