J'ai hérité d'une configuration CentOS basée sur LVM où la partition racine se trouve sur un LVM. Je souhaite déplacer mon répertoire /var vers un nouveau disque dur sans l'ajouter au groupe LVM. Est-il possible de monter le nouveau disque dur sur /var sans l'ajouter au LVM, comme en l'ajoutant directement dans fstab ?
Réponse
Trop de publicités?Ce que vous voulez faire est très faisable hors ligne. LVM rend certainement facile le déplacement des données en ligne, mais en fonction de votre situation, vous pouvez peut-être le faire en ligne même sans LVM.
Le processus en ligne et hors ligne est essentiellement le même lorsque vous n'utilisez pas LVM.
Opération hors ligne
Si vous êtes d'accord pour mettre la machine hors ligne pendant un certain temps, je vous recommanderais de démarrer à partir d'un média live (je recommanderais SystemRescueCd), puis préparez le disque pour la nouvelle partition /var
(partitionnez-le et préparez-y un système de fichiers), montez à la fois le /var
basé sur LVM et le /var
nouvellement formaté, puis copiez toutes les données d'un disque à l'autre (rsync
est ma recommandation ici).
Ensuite, vous devrez mettre à jour votre /etc/fstab
et c'est fait.
Si vous ne voulez pas démarrer à partir d'un média live, vous pouvez peut-être démarrer en mode utilisateur unique. Ou, vous pouvez juste vous lancer et essayer de le faire en ligne.
Opération en ligne
La procédure pour déplacer les données en ligne est à peu près la même que la procédure hors ligne, mais vous devez également être très prudent concernant les processus qui utilisent l'ancienne partition /var
. S'il n'y a rien de critique dessus, vous n'avez pas besoin d'être aussi prudent, et un redémarrage final s'occupera des restants.
La procédure
- Partitionnez le nouveau disque et préparez le nouveau système de fichiers
- Montez le système de fichiers à devenir
/var
quelque part (je vais supposer/mnt/newvar
pour la simplicité) - Copiez tous les fichiers de
/var
vers/mnt/newvar
(rsync -avHPSAX /var/ /mnt/newvar/
) - Vérifiez quels processus détiennent des fichiers ouverts dans
/var
et arrêtez-les (lsof -n / | awk '$9 ~ /^\/var\//'
vous informera) - Répétez la synchronisation des disques (
rsync -avHP --delete /var/ /mnt/newvar/
). Cela devrait être rapide car il y aura à peine des mises à jour - Lorsque vous êtes certain qu'aucun fichier n'écrit dans
/var
, démontez/mnt/newvar
et montez-le sur/var
- Mettez à jour
/etc/fstab
- Redémarrez
- Après le redémarrage, vous pouvez supprimer le volume qui était
/var
. Si votre/var
n'était pas un volume séparé et fait simplement partie de/
, alors vous pouvezmount -o bind / /mnt
, et nettoyer/mnt/var
(n'oubliez pas de garder/mnt/var
car c'est le point de montage).
Si vous avez besoin de plus de détails, vous devrez fournir plus d'informations sur votre configuration, comme la sortie de df -hTP /var
, lvm lvs
, et fdisk -l
pour le nouveau disque que vous souhaitez utiliser.