Un disque rattaché à un VPS apparaît comme un périphérique, et rien de plus. Tant qu'il n'est ni formaté ni monté, il ne contient rien et aucun répertoire ne pointe dessus : voilà pourquoi un volume fraîchement rattaché donne l'impression de n'avoir pas fonctionné.

Voir ce qui est rattaché

lsblk -f

Le nouveau périphérique n'a ni FSTYPE ni MOUNTPOINT. C'est ainsi qu'on le distingue du disque système, qui porte déjà un système de fichiers.

Le formater

sudo mkfs.ext4 -L data /dev/sdb
Lancez cela sur le mauvais périphérique et ses données disparaissent, sans confirmation et sans retour en arrière. Relisez la sortie de lsblk et vérifiez que la taille correspond au volume que vous venez de rattacher.

Un système de fichiers sur tout le périphérique, sans table de partitions, est normal pour un volume cloud et facilite l'agrandissement ultérieur. Ne partitionnez que si autre chose attend une partition.

Le monter

sudo mkdir -p /srv/data
sudo mount /dev/sdb /srv/data
df -h /srv/data

L'étape que l'on oublie

Un montage fait à la main disparaît au redémarrage suivant, et le répertoire redevient un dossier vide sur le disque système — qui se remplit alors pendant que le volume reste inutilisé. Inscrivez-le dans fstab par UUID, car les noms de périphériques peuvent changer d'ordre d'un démarrage à l'autre.

sudo blkid /dev/sdb
# UUID="0a1b2c3d-..." TYPE="ext4"

echo 'UUID=0a1b2c3d-... /srv/data ext4 defaults,nofail 0 2' | sudo tee -a /etc/fstab
sudo mount -a
nofail laisse la machine démarrer si le volume manque. Sans cette option, un volume détaché bloque le serveur au démarrage, et sur un VPS sans console cela devient un ticket au support.

Y déplacer les données

  1. Arrêtez ce qui écrit là — la base de données ou le serveur web, pour que rien ne change en cours de copie.
  2. Copiez en conservant les droitssudo rsync -aHAX /var/lib/mysql/ /srv/data/mysql/
  3. Pointez le service vers le nouveau chemin — puis relancez-le.
  4. Gardez l'ancienne copie jusqu'à la preuve — renommez-la plutôt que de la supprimer, et effacez-la une semaine plus tard.