Voici ma procédure pour agrandir /dev/md1, en espérant n’avoir pas fait d’erreur ni d’oubli.
1° Installer le paquet parted s’il ne l’est pas déjà :
apt-get install parted
2° Agrandir la partition /dev/sdb3 d’au moins 256 secteurs
Retirer la partition /dev/sdb3 de l’ensemble RAID /dev/md1 :
mdadm --fail /dev/md1 /dev/sdb3
mdadm --remove /dev/md1 /dev/sdb3
Si tu ne l’as pas conservé, recréer le fichier dump de la table de partition sda.out précédemment créé par :
sfdisk -d /dev/sda > sda.out
(ou sdb, peu importe, les tables de partition sont identiques)
Editer le fichier sda.out.
Augmenter la taille de la partition n° 3 à au moins 486139265+256=486139521.
Fichier original :
# partition table of /dev/sda
unit: sectors
/dev/sda1 : start= 1, size= 204799, Id=83, bootable
/dev/sda2 : start= 204800, size= 2048000, Id=82
/dev/sda3 : start= 2252800, size=486139265, Id=83
/dev/sda4 : start= 0, size= 0, Id= 0
Fichier modifié :
# partition table of /dev/sda
unit: sectors
/dev/sda1 : start= 1, size= 204799, Id=83, bootable
/dev/sda2 : start= 204800, size= 2048000, Id=82
/dev/sda3 : start= 2252800, size=486139521, Id=83
/dev/sda4 : start= 0, size= 0, Id= 0
Appliquer le fichier modifié au disque /dev/sdb :
sfdisk /dev/sdb < sda.out
Si tu préfères utiliser fdisk, cfdisk ou parted interactivement à la place de sfdisk :
- supprimer la partition n° 3
- recréer la partition n° 3 avec le même secteur de début 2252800 et un secteur de fin au moins 256 plus loin qu’initialement (488392064+256=488392320)
- type de partition : primaire
- numéro de partition : 3
- secteur de début : 2252800
- secteur de fin : 488392320 ou plus
- identifiant de type : 83 (Linux)
- écrire les changements sur le disque et quitter.
Un message d’erreur disant que le noyau n’a pas pu prendre en compte la nouvelle table de partition parce que le disque est en cours d’utilisation est normal. Dans ce cas, informer le noyau du changement de taille par une autre méthode :
partprobe /dev/sdb
Ajouter la partition /dev/sdb3 à l’ensemble RAID /dev/md1 :
mdadm --add /dev/md1 /dev/sdb3
Attendre la fin de la synchronisation dans /proc/mdstat.
3° Agrandir la partition /dev/sda3
Retirer la partition /dev/sda3 de l’ensemble RAID /dev/md1 :
mdadm --fail /dev/md1 /dev/sda3
mdadm --remove /dev/md1 /dev/sda3
Appliquer le fichier de table de partition modifié au disque /dev/sda (ou utiliser fdisk, cfdisk…) :
sfdisk /dev/sda < sda.out
Informer le noyau du changement de taille :
partprobe /dev/sda
Ajouter la partition /dev/sda3 à l’ensemble RAID /dev/md1 :
mdadm --add /dev/md1 /dev/sda3
Attendre la fin de la synchronisation dans /proc/mdstat
4° Agrandir l’ensemble RAID :
mdadm --grow /dev/md1 --size=max
5° Agrandir le système de fichiers ext3 dans /dev/md1 en ligne :
resize2fs /dev/md1
Note : Avant et après l’agrandissement de chaque partition (+partprobe) et de l’ensemble RAID, on peut vérifier que la nouvelle taille est bien prise en compte en affichant le contenu de /proc/partitions ou avec la commande lsblk -b
.