Mélanger SSD et HDD sur les machines virtuelles

Attention:

Cet article nécessite de comprendre les bases de LVM. Il faut être root pour toutes les commandes.

La plupart du temps, une machine virtuelle est créée avec un seul disque virtuel, et donc un seul type de stockage : sur SSD ou sur HDD.

Les machines qui hébergent des services publics sont souvent crées avec un disque branché sur SSD ; néanmoins il arrive qu’on ait besoin de stockage HDD sur cette machine (par exemple pour des backups ou des médias volumineux).

Cet article explique comment rajouter un disque d’un stockage particulier, et le configurer sur les machines.

On pensera à activer le hotplug des VM s’il n’est pas activé pour éviter un redémarrage de la VM. Pour ajouter un disque, on se rend dans l’onglet Hardware de la machine virtuelle, puis on choisit l’option Add → Hard Disk. On choisit le stockage (la correspondance nom → type de stockage a été définie lors de la configuration du stockage Proxmox) ainsi que la taille du disque. Par exemple, pour créer un nouveau disque virtuel stocké sur le HDD d’Alice, sur la VM pica01, de 50G :

On veillera à bien choisir le bus SCSI et le format QCow2.

Depuis un terminal sur la machine virtuelle en question, on peut constater que le disque a bien été ajouté :

snippet.bash
$ fdisk -l
 
[...]
Disk /dev/sdb: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: QEMU HARDDISK   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
[...]

Dans cet exemple, il se trouve sur /dev/sdb.

On crée le Physical Volume :

$ pvcreate /dev/sdb

Puis on crée le Volume Group :

$ vgcreate hdd /dev/sdb

Note:

hdd peut être remplacé par le nom de votre choix.

Attention:

Attention, n’ajoutez pas ce nouveau disque à un VG existant !

  • Si vous l’ajoutez à un VG qui utilise un autre type de stockage, les résultats sont clairement étranges
  • Si vous l’ajoutez à un VG qui utilise le même type de stockage, alors il n’y a pas besoin de créer un nouveau disque, mais simplement d'augmenter la taille du disque.

C’est open-bar : en général ça consistera à créer un nouveau volume logique (lvcreate), un système de fichier (mkfs.ext4), et à ajouter le point montage dans (/etc/fstab) et à vérifier que tout fonctionne bien (mount -a). On pourra alors utiliser le point de montage comme cible pour les fichiers volumineux.

  • technique/infrastructure/new_vm_disk.txt
  • de qduchemi