Changer les partitions d'un serveur à distance
Vous avez déjà eu entre les mains un serveur dont la table des partitions ne correspond pas à vos envies ?
Une petite astuce pour vous aider dans la dure tâche de reconstruction de votre table des partitions ...
Il suffit d'être rusé ...
Soit la table de partitions d'origine:
/dev/hda1 on / type ext3 /dev/hda2 on /home type ext3 /dev/hda3 on swap
Et la table de partitions souhaitée:
/dev/hda1 on / type ext3 /dev/hda5 on /usr type ext3 /dev/hda6 on /var type ext3 /dev/hda7 on /tmp type ext3 /dev/hda8 on /var/log type ext3 /dev/hda4 on /home type ext3
J'ai utilisé les commandes suivantes:
umount /home swapoff -a cfdisk pour supprimer hda3 et hda2 toujours dans cfdisk vous créez vos partitions (cf la table de partitions souhaitée) vi /etc/fstab pour mettre /home en commentaires reboot (pour que la nouvelle table soit prise en compte par le système) mkfs.ext3 /dev/hda4-8
Et ensuite, pour copier le contenu du /usr dans votre future partition usr:
mount /dev/hda5 /mnt/temp cp -a /usr/* /mnt/temp/ umount /mnt/temp/ vi /etc/fstab pour ajouter la ligne concernant le usr mount -a (pour que le hda5 soit "monté" sur /usr)
Le problème maintenant c'est que dans /dev/hda1 on a un usr qui ne sert plus à rien sauf à faire perdre de la place ... comment effacer le contenu du /usr de hda1 sans se tirer une balle dans le pied ? tout simplement avec le mount --bind ! (merci olive)
mount --bind / /mnt/temp
On retrouve donc dans /mnt/temp le contenu de hda1 ... et rm -rf usr/* fait l'affaire !
Reste plus qu'à appliquer tout ça pour les autres partitions et le tour est joué.
Commentaires
hdparm -z /dev/le_dd permet de relire la table des partitions sans avoir à rebooter
Simon