Déplacer / var vers un nouveau jeu de disques

Je n'ai actuellement accès à distance à cette boîte CentOS, j'ai besoin de déplacer / var de la RAID principale vers un nouveau jeu de disques qui a été installé avec plus d'espace. Mes pensées actuelles sur la façon de l'accomplir sont de monter temporairement le nouveau RAID à / Tmp / var. Rsync tout de / var à / temp / var puis modifiez le fstab au point / var sur les nouveaux disques.

Voici ma question. Comment puis-je supprimer le / var existant sur les disques primaires une fois que j'ai les nouveaux disques montés à cet emplacement (en supposant que cela soit possible à distance)?

Il s'agit d'une tâche non banale sur un système en cours d'exécution. L'arbre /var possède de nombreux fichiers ouverts qui sont en cours d'écriture par un fd ouvert. Ces fichiers resteront ouverts sur le périphérique d'origine jusqu'à ce que vous indiquiez au démon de fermer et de rouvrir le fichier journal. Si vous utilisez mysql et que vous utilisez votre datadir par défaut, vous devrez également prendre une disposition spéciale pour cela.

 lsof | grep /var 

Vous donnera une idée de l'ampleur de votre tâche. Chacun de ces fichiers nécessitera une action de votre part pour passer au nouveau périphérique. Certains (la plupart?) Des démons nécessiteront simplement un kill -HUP ou un service servicename restart pour les fermer et rouvrir leurs fichiers, d'autres nécessiteront plus d'efforts, par exemple mysql dans la configuration par défaut.

Vous pouvez finir par attendre jusqu'à ce que vous puissiez redémarrer le système pour pouvoir récupérer complètement l'ancien /var .

Cela pourrait être un peu délicat sur un système en direct, je ferais une approche switcheroo:

 mv /var /var0 mkdir /var mount --bind /path/to/raid/var /var 

Naturellement, vous voudrez vous assurer que votre fstab est mis à jour pour que cela persiste lors du démarrage.