Un disco collegato a un VPS compare come dispositivo e nient'altro. Finché non è formattato e montato non contiene niente e nessuna directory punta a lui: ecco perché un volume appena collegato sembra non aver funzionato.
Guarda che cosa è collegato
lsblk -f
Il dispositivo nuovo non ha né FSTYPE né MOUNTPOINT. È così che lo distingui dal disco di sistema, che un filesystem lo porta già.
Formattalo
sudo mkfs.ext4 -L data /dev/sdb
Un filesystem su tutto il dispositivo, senza tabella delle partizioni, è normale per un volume in cloud e rende più semplice ingrandirlo in seguito. Partiziona solo se qualcos'altro si aspetta una partizione.
Montalo
sudo mkdir -p /srv/data
sudo mount /dev/sdb /srv/data
df -h /srv/data
Il passo che tutti dimenticano
Un mount fatto a mano sparisce al riavvio successivo e la directory torna a essere una cartella vuota sul disco di sistema — che poi si riempie mentre il volume resta inutilizzato. Scrivilo in fstab tramite UUID, perché i nomi dei dispositivi possono cambiare ordine da un avvio all'altro.
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
Sposta i dati sul disco nuovo
- Ferma ciò che scrive lì — il database o il server web, così nulla cambia a metà copia.
- Copia mantenendo i permessi —
sudo rsync -aHAX /var/lib/mysql/ /srv/data/mysql/ - Punta il servizio al nuovo percorso — e riavvialo.
- Tieni la copia vecchia finché non è provata — rinominala invece di cancellarla, e rimuovila una settimana dopo.