Bonjour Ă tous. Avant le lancement d'un nouveau groupe de cours nous publions un matĂ©riel utile, Ă©crit par notre Ă©tudiant et Ă©galement par un mentor des cours, expert en support technique des produits d'entreprise REG.RU â Roman Travine.
Dans cet article, nous examinerons deux cas de remplacement de disques et de transfert d'informations sur de nouveaux disques de plus grande capacité, avec une extension ultérieure du tableau et du systÚme de fichiers. Le premier cas concernera le remplacement de disques avec une partition identique MBR/MBR ou GPT/GPT, le deuxiÚme cas concerne le remplacement de disques avec la partition MBR par des disques de plus de 2 To, sur lesquels il sera nécessaire d'installer la partition GPT avec une section biosboot. Dans les deux cas, les disques sur lesquels nous transférons les données sont déjà installés serveur. Le systÚme de fichiers utilisé pour la partition racine est ext4.
Cas 1 : Remplacement de disques de moindre capacité par des disques de plus grande capacité (jusqu'à 2 To)
ProblÚme : Remplacer les disques actuels par des disques de plus grande capacité (jusqu'à 2 To) avec transfert d'informations. Dans ce cas, nous avons des disques 2 x 240 Go SSD (RAID-1) avec le systÚme installé et des disques 2 x 1 To SATA, sur lesquels il faut transférer le systÚme.
Examinons la disposition actuelle des disques.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsda2 8:2 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdb2 8:18 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
sdd 8:48 0 931,5G 0 disk Vérifions l'espace utilisé du systÚme de fichiers à ce jour.
[root@localhost ~]# df -h
SystÚme de fichiers Taille Utilisé Restant Utilisé% Monté sur
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9,6M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,3G 192G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 6,3G 0 6,3G 0% /run/user/0 La taille du systÚme de fichiers avant le remplacement des disques est de 204 Go, 2 ensembles RAID logiciels md126 sont utilisés, qui sont montés dans /boot et md127, qui est utilisé comme volume physique pour le groupe VG vg0.
1. Suppression des partitions de disque des ensembles
Vérifions l'état de l'ensemble
[root@localhost ~]# cat /proc/mdstat
Personnalités : [raid1]
md126 : raid1 actif sda1[0] sdb1[1]
1047552 blocs super 1.2 [2/2] [UU]
bitmap : 0/1 pages [0O], 65536KO chunk
md127 : raid1 actif sda2[0] sdb2[1]
233206784 blocs super 1.2 [2/2] [UU]
bitmap : 0/2 pages [0O], 65536KO chunk
pĂ©riphĂ©riques non utilisĂ©s : Le systĂšme utilise 2 ensembles : md126 (point de montage /boot) â se compose de la partition /dev/sda1 et /dev/sdb1, md127 (LVM pour swap et la racine du systĂšme de fichiers) â se compose de /dev/sda2 et /dev/sdb2.
Nous marquons les partitions du premier disque qui sont utilisées dans chaque ensemble comme échouées.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2
Nous supprimons les partitions de l'appareil bloc /dev/sda des ensembles.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2AprÚs avoir retiré le disque de l'ensemble, les informations sur les périphériques blocs s'afficheront comme suit.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM TAILLE RO TYPE POINT_DE_MONTAGE
sda 8:0 0 223,6G 0 disque
ââsda1 8:1 0 1G 0 partition
ââsda2 8:2 0 222,5G 0 partition
sdb 8:16 0 223,6G 0 disque
ââsdb1 8:17 0 1G 0 partition
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdb2 8:18 0 222,5G 0 partition
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disque
sdd 8:48 0 931,5G 0 disque Ătat des ensembles aprĂšs la suppression des disques.
[root@localhost ~]# cat /proc/mdstat
Personnalités : [raid1]
md126 : raid1 actif sdb1[1]
1047552 blocs super 1.2 [2/1] [_U]
bitmap : 0/1 pages [0O], 65536KO chunk
md127 : raid1 actif sdb2[1]
233206784 blocs super 1.2 [2/1] [_U]
bitmap : 1/2 pages [4KO], 65536KO chunk
périphériques non utilisés :2. Copie de la table de partitions sur un nouveau disque
On peut vérifier la table de partitions utilisée sur le disque avec la commande suivante.
fdisk -l /dev/sdb | grep 'Type de label de disque'
La sortie pour MBR sera :
Type de label de disque : dospour GPT :
Type de label de disque : gpt Copie de la table de partition pour MBR :
sfdisk -d /dev/sdb | sfdisk /dev/sdcDans cette commande premier le disque est spĂ©cifiĂ© avec dont la partition est copiĂ©e, le second â oĂč copier.
ATTENTION: Pour GPT premier le disque est spécifié sur lequel copier la partition, deuxiÚme le disque est spécifié comme le disque depuis lequel la partition est copiée. Si les disques sont confondus, la partition initialement correcte sera écrasée et détruite.
Copie de la table de partition pour GPT :
sgdisk -R /dev/sdc /dev/sdbEnsuite, nous attribuons au disque un UUID aléatoire (pour GPT).
sgdisk -G /dev/sdc AprÚs l'exécution de la commande, les partitions doivent apparaßtre sur le disque /dev/sdc.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 part
ââsda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdb2 8:18 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
ââsdc1 8:33 0 1G 0 part
ââsdc2 8:34 0 222,5G 0 part
sdd 8:48 0 931,5G 0 disk Si, aprÚs l'opération effectuée, les partitions sur le disque ne sont pas déterminées, /dev/sdc alors exécutez la commande pour relire la table des partitions.
sfdisk -R /dev/sdcSi la table MBR est utilisĂ©e sur les disques actuels et que les informations doivent ĂȘtre transfĂ©rĂ©es vers des disques de plus de 2 To, il sera nĂ©cessaire de crĂ©er manuellement une mise en page GPT sur les nouveaux disques en utilisant la partition biosboot. Ce cas sera abordĂ© dans la deuxiĂšme partie de cet article.
3. Ajout des partitions du nouveau disque dans le tableau
Ajoutons les partitions du disque dans les tableaux correspondants.
mdadm /dev/md126 --add /dev/sdc1
mdadm /dev/md127 --add /dev/sdc2Vérifions que les partitions ont été ajoutées.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 part
ââsda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdb2 8:18 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 931,5G 0 disk
ââsdc1 8:33 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc2 8:34 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk AprĂšs cela, nous attendons la synchronisation des tableaux.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdc1[2] sdb1[1]
1047552 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md127 : active raid1 sdc2[2] sdb2[1]
233206784 blocks super 1.2 [2/1] [_U]
[==>..................] recovery = 10.6% (24859136/233206784) finish=29.3min speed=118119K/sec
bitmap: 2/2 pages [8KB], 65536KB chunk
unused devices: Vous pouvez surveiller en continu le processus de synchronisation Ă l'aide de l'outil regarder.
watch -n 2 cat /proc/mdstat ParamÚtre -n qui indique à quel intervalle en secondes il est nécessaire d'exécuter la commande pour vérifier les progrÚs.
Répétez les points 1 à 3 pour le prochain disque à remplacer.
Marquez les partitions de la deuxiÚme disque, qui sont utilisées dans chaque tableau, comme défaillantes.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Supprimez les partitions de l'appareil de bloc /dev/sdb des tableaux.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2AprÚs avoir retiré le disque de l'ensemble, les informations sur les périphériques blocs s'afficheront comme suit.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 part
ââsda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 part
ââsdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
ââsdc1 8:33 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc2 8:34 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
Ătat des ensembles aprĂšs la suppression des disques.
[root@localhost ~]# cat /proc/mdstat
Personnalités : [raid1]
md126 : raid1 actif sdc1[2]
1047552 blocs super 1.2 [2/1] [U_]
bitmap : 0/1 pages [0KO], 65536KO chunk
md127 : raid1 actif sdc2[2]
233206784 blocs super 1.2 [2/1] [U_]
bitmap : 1/2 pages [4KO], 65536KO chunk
pĂ©riphĂ©riques inutilisĂ©s : Copie de la table de partition MBR d'un disque /dev/sdŃ vers le disque /dev/sdd.
sfdisk -d /dev/sdc | sfdisk /dev/sdd AprÚs l'exécution de la commande, les partitions doivent apparaßtre sur le disque /dev/sdd.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 part
ââsda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 part
ââsdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
ââsdc1 8:33 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc2 8:34 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
ââsdd1 8:49 0 1G 0 part
ââsdd2 8:50 0 222,5G 0 part Ajout des partitions du disque aux tableaux.
mdadm /dev/md126 --add /dev/sdd1
mdadm /dev/md127 --add /dev/sdd2Vérifions que les partitions ont été ajoutées.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 part
ââsda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 part
ââsdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
ââsdc1 8:33 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc2 8:34 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
ââsdd1 8:49 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdd2 8:50 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]AprĂšs cela, nous attendons la synchronisation des tableaux.
[root@localhost ~]# cat /proc/mdstat
Personnalités : [raid1]
md126 : raid1 actif sdd1[3] sdc1[2]
1047552 blocs super 1.2 [2/2] [UU]
bitmap : 0/1 pages [0KO], 65536KO chunk
md127 : raid1 actif sdd2[3] sdc2[2]
233206784 blocs super 1.2 [2/1] [U_]
[>....................] récupération = 0.5% (1200000/233206784) temps=35.4min vitesse=109090K/sec
bitmap : 2/2 pages [8KO], 65536KO chunk
périphériques inutilisés :
5. Installation de GRUB sur de nouveaux disques
Pour CentOS :
grub2-install /dev/sdXPour Debian/Ubuntu :
grub-install /dev/sdX oĂč X â lettre du pĂ©riphĂ©rique de bloc. Dans ce cas, il est nĂ©cessaire dâinstaller GRUB sur /dev/sdc et /dev/sdd.
6. Extension du systĂšme de fichiers (ext4) de la partition racine
Sur les nouveaux disques /dev/sdc et /dev/sdd disponibles 931.5 Go. En raison du fait que la table des partitions a été copiée à partir de disques de plus petite capacité, sur les partitions /dev/sdc2 et /dev/sdd2 disponibles 222.5 Go.
sdc 8:32 0 931,5G 0 disque
ââsdc1 8:33 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc2 8:34 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disque
ââsdd1 8:49 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdd2 8:50 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]NĂ©cessaire :
- Ătendre la partition 2 sur chaque disque,
- Ătendre le tableau md127,
- Ătendre le PV (volume physique),
- Ătendre le LV (volume logique) vg0-root,
- Ătendre le systĂšme de fichiers.
En utilisant l'utilitaire parted nous allons étendre la partition /dev/sdc2 à sa taille maximale. Exécutez la commande parted /dev/sdc (1) et visualisez la table des partitions actuelle avec la commande p (2).

Comme on peut le voir, la fin de la partition 2 se termine Ă 240 Go. ProcĂ©dons Ă l'extension de la partition avec la commande resizepart 2, oĂč 2 est le numĂ©ro de la partition (3). Indiquez la valeur au format numĂ©rique, par exemple 1000 Go, ou utilisez la fraction du disque â 100 %. VĂ©rifiez Ă nouveau que la partition a une nouvelle taille (4).
Répétez les étapes ci-dessus pour le disque /dev/sdd. AprÚs avoir étendu les partitions /dev/sdc2 et /dev/sdd2 elles sont devenues égales à 930.5 Go.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disque
ââsda1 8:1 0 1G 0 part
ââsda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disque
ââsdb1 8:17 0 1G 0 part
ââsdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disque
ââsdc1 8:33 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc2 8:34 0 930,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disque
ââsdd1 8:49 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdd2 8:50 0 930,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]AprĂšs cela, nous procĂ©dons Ă l'extension du tableau md127 Ă sa taille maximale.
mdadm --grow /dev/md127 --size=maxVérifiez que le tableau a été étendu. Sa taille est maintenant de 930.4 Go.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 part
ââsda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 part
ââsdb2 8:18 0 222,5G 0 part
sdc 8:32 0 931,5G 0 disk
ââsdc1 8:33 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc2 8:34 0 930,5G 0 part
ââmd127 9:127 0 930,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 931,5G 0 disk
ââsdd1 8:49 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdd2 8:50 0 930,5G 0 part
ââmd127 9:127 0 930,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]Nous allons procĂ©der Ă l'extension. volume physique. Avant de procĂ©der Ă l'extension, vĂ©rifions l'Ă©tat actuel du PV.
[root@localhost ~]# pvscan
PV /dev/md127 VG vg0 lvm2 [222,40 GiB / 0 free]
Total: 1 [222,40 GiB] / in use: 1 [222,40 GiB] / in no VG: 0 [0 ]
Comme on peut le voir, le PV /dev/md127 utilise 222,4 Go d'espace.
Nous allons étendre le PV avec la commande suivante.
pvresize /dev/md127Vérifions le résultat de l'extension du PV.
[
root@localhost ~]# pvscan
PV /dev/md127 VG vg0 lvm2 [930,38 GiB / 707,98 GiB free]
Total: 1 [930,38 GiB] / in use: 1 [930,38 GiB] / in no VG: 0 [0 ]Nous étendons le volume logique. Avant d'agrandir, vérifions l'état actuel du LV (1).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<206,41 GiB] inherit Le LV /dev/vg0/root utilise 206,41 Go.
Nous allons étendre le LV avec la commande suivante (2).
lvextend -l +100%FREE /dev/mapper/vg0-rootVérifions l'action réalisée (3).
[root@localhost ~]# lvscan
ACTIVE '/dev/vg0/swap' [<16,00 GiB] inherit
ACTIVE '/dev/vg0/root' [<914,39 GiB] inherit
Comme nous le voyons, aprÚs l'extension, la capacité occupée par le disque est devenue 914,39 Go.

La taille du LV a été augmentée (4), mais le systÚme de fichiers occupe toujours 204 Go (5).
1. Procédons à l'extension du systÚme de fichiers.
resize2fs /dev/mapper/vg0-rootVérifions la taille du systÚme de fichiers aprÚs la commande exécutée.
[root@localhost ~]# df -h
SystÚme de fichiers Taille Utilisé Dispo Utilisé% Monté sur
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 9,5M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 900G 1,3G 860G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 6,3G 0 6,3G 0% /run/user/0La taille du systĂšme de fichiers racine augmentera Ă 900 Go. AprĂšs ces actions, il est possible de retirer les anciens disques.
Cas 2 : Remplacer des disques de plus petite taille par des disques de plus grande taille (plus de 2 To)
TĂąche : Remplacer les disques actuels par des disques de capacitĂ© supĂ©rieure (2 x 3 To) tout en conservant les donnĂ©es. Dans ce cas, nous avons des disques de 2 x 240 Go SSD (RAID-1) avec le systĂšme installĂ© et des disques de 2 x 3 To SATA, sur lesquels il faut transfĂ©rer le systĂšme. Les disques actuels utilisent un schĂ©ma de partition MBR. Ătant donnĂ© que les nouveaux disques ont une capacitĂ© supĂ©rieure Ă 2 To, un schĂ©ma GPT devra ĂȘtre utilisĂ©, car MBR ne peut pas fonctionner avec des disques de plus de 2 To.
Examinons la disposition actuelle des disques.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsda2 8:2 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdb2 8:18 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
sdd 8:48 0 2,7T 0 disk Vérifions le type de schéma de partition utilisé sur le disque /dev/sda.
[root@localhost ~]# fdisk -l /dev/sda | grep 'Disk label type'
Disk label type: dos Sur le disque /dev/sdb un schéma de partition similaire est utilisé. Vérifions l'espace disque utilisé dans le systÚme.
[root@localhost ~]# df -h
SystÚme de fichiers Taille Utilisé Disponibilité Utilisé% Monté sur
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,5M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,3G 192G 1% /
/dev/md126 1007M 120M 837M 13% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0Comme on peut le voir, la racine du systÚme de fichiers utilise 204 Go. Vérifions l'état actuel du tableau RAID logiciel.
1. Installation de la table de partitions GPT et partitionnement du disque
Vérifions le partitionnement des disques par secteurs.
[root@localhost ~]# parted /dev/sda print
ModĂšle: ATA KINGSTON SVP200S (scsi)
Disque /dev/sda: 240Go
Taille de secteur (logique/physique): 512B/512B
Table de partitions: msdos
Disk Flags:
Numéro Début Fin Taille Type SystÚme de fichiers Flags
1 1049kB 1076MB 1075MB primaire amorçable, raid
2 1076MB 240GB 239GB primaire raid
Sur le nouveau disque de 3 To, nous devrons créer 3 partitions :
- Section
bios_grubd'une taille de 2 MiB pour compatibilité GPT avec BIOS, - Une partition pour le tableau RAID, qui sera montée sur
/boot. - Une partition pour le tableau RAID, sur laquelle sera LV root et LV swap.
Installons l'utilitaire parted la commande yum install -y parted (pour CentOS), apt install -y parted (pour Debian/Ubuntu).
En utilisant parted Nous allons exécuter les commandes suivantes pour partitionner le disque.
Execute the command parted /dev/sdc et nous passons en mode d'édition de la partition.
Créons une table de partitions GPT.
(parted) mktable gpt Créons la premiÚre partition bios_grub et définissons un drapeau pour celle-ci.
(parted) mkpart primary 1MiB 3MiB
(parted) set 1 bios_grub on Créons la deuxiÚme partition et définissons un drapeau pour celle-ci. Cette partition sera utilisée comme bloc pour le tableau RAID et elle sera montée dans /boot.
(parted) mkpart primary ext2 3MiB 1028MiB
(parted) set 2 boot onCréons la troisiÚme partition, qui sera également utilisée comme bloc de tableau, dans lequel se trouvera LVM.
(parted) mkpart primary 1028MiB 100% Dans ce cas, il n'est pas nĂ©cessaire de dĂ©finir un drapeau, mais si nĂ©cessaire, il peut ĂȘtre dĂ©fini avec la commande suivante.
(parted) set 3 raid onVérifions la table de partitions créée.
(parted) p
ModĂšle : ATA TOSHIBA DT01ACA3 (scsi)
Disque /dev/sdc: 3001GB
Taille de secteur (logique/physique) : 512B/4096B
Table de partition : gpt
Drapeaux disque :
Numéro Début Fin Taille SystÚme de fichiers Nom Drapeaux
1 1049kB 3146kB 2097kB primary bios_grub
2 3146kB 1077MB 1074MB primary boot
3 1077MB 3001GB 3000GB primary
Assignons un nouveau GUID aléatoire au disque.
sgdisk -G /dev/sdd
2. Suppression des partitions du premier disque des tableaux
Vérifions l'état de l'ensemble
[root@localhost ~]# cat /proc/mdstat
Personnalités : [raid1]
md126 : raid1 actif sda1[0] sdb1[1]
1047552 blocs super 1.2 [2/2] [UU]
bitmap : 0/1 pages [0O], 65536KO chunk
md127 : raid1 actif sda2[0] sdb2[1]
233206784 blocs super 1.2 [2/2] [UU]
bitmap : 0/2 pages [0O], 65536KO chunk
pĂ©riphĂ©riques non utilisĂ©s : Le systĂšme utilise 2 tableaux : md126 (point de montage /boot) â consiste en /dev/sda1 et /dev/sdb1, md127 (LVM pour swap et la racine du systĂšme de fichiers) â se compose de /dev/sda2 et /dev/sdb2.
Nous marquons les partitions du premier disque qui sont utilisées dans chaque ensemble comme échouées.
mdadm /dev/md126 --fail /dev/sda1
mdadm /dev/md127 --fail /dev/sda2 Supprimez les partitions de l'appareil de bloc /dev/sda des tableaux.
mdadm /dev/md126 --remove /dev/sda1
mdadm /dev/md127 --remove /dev/sda2
Vérifions l'état du tableau aprÚs la suppression du disque.
[root@localhost ~]# cat /proc/mdstat
Personnalités : [raid1]
md126 : raid1 actif sdb1[1]
1047552 blocs super 1.2 [2/1] [_U]
bitmap : 0/1 pages [0KB], 65536KB chunk
md127 : raid1 actif sdb2[1]
233206784 blocs super 1.2 [2/1] [_U]
bitmap : 2/2 pages [8KB], 65536KB chunk
périphériques inutilisés : <aucun>
3. Ajout des partitions du nouveau disque dans le tableau
L'étape suivante consiste à ajouter les partitions du nouveau disque aux tableaux pour la synchronisation. Vérifions l'état actuel des partitions des disques.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
ââsda1 8:1 0 1G 0 part
ââsda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disk
ââsdb1 8:17 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdb2 8:18 0 222,5G 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disk
ââsdc1 8:33 0 2M 0 part
ââsdc2 8:34 0 1G 0 part
ââsdc3 8:35 0 2,7T 0 part
sdd 8:48 0 2,7T 0 disk Section /dev/sdc1 est bios_grub la partition et n'est pas impliquée dans la création des tableaux. Seules /dev/sdc2 et /dev/sdc3. Ajoutons ces partitions aux tableaux correspondants.
mdadm /dev/md126 --add /dev/sdc2
mdadm /dev/md127 --add /dev/sdc3AprĂšs cela, attendons la synchronisation du tableau.
[root@localhost ~]# cat /proc/mdstat
Personnalités : [raid1]
md126 : raid1 actif sdc2[2] sdb1[1]
1047552 blocs super 1.2 [2/2] [UU]
bitmap : 0/1 pages [0Ko], 65536Ko chunk
md127 : raid1 actif sdc3[2] sdb2[1]
233206784 blocs super 1.2 [2/1] [_U]
[>....................] récupération = 0,2% (619904/233206784) terminé dans 31,2min vitesse=123980Ko/sec
bitmap : 2/2 pages [8Ko], 65536Ko chunk
périphériques inutilisés :Disposition des disques aprÚs l'ajout des partitions au tableau.
[root@localhost ~]# lsblk
NOM MAJ:MIN RM TAILLE RO TYPE POINT_MONTAGE
sda 8:0 0 223,6G 0 disque
ââsda1 8:1 0 1G 0 partie
ââsda2 8:2 0 222,5G 0 partie
sdb 8:16 0 223,6G 0 disque
ââsdb1 8:17 0 1G 0 partie
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdb2 8:18 0 222,5G 0 partie
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdc 8:32 0 2,7T 0 disque
ââsdc1 8:33 0 2M 0 partie
ââsdc2 8:34 0 1G 0 partie
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc3 8:35 0 2,7T 0 partie
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disque 4. Suppression des partitions du second disque des tableaux
Marquez les partitions de la deuxiÚme disque, qui sont utilisées dans chaque tableau, comme défaillantes.
mdadm /dev/md126 --fail /dev/sdb1
mdadm /dev/md127 --fail /dev/sdb2
Supprimez les partitions de l'appareil de bloc /dev/sda des tableaux.
mdadm /dev/md126 --remove /dev/sdb1
mdadm /dev/md127 --remove /dev/sdb2
5. Nous copions le tableau de partitionnement GPT et synchronisons le tableau
Pour copier le tableau de partitionnement GPT, nous utilisons l'outil sgdisk, qui fait partie de la suite d'outils pour travailler avec les partitions et le tableau GPT â gdisk.
Installation gdisk pour CentOS :
yum install -y gdisk Installation gdisk pour Debian/Ubuntu :
apt install -y gdiskATTENTION: Pour GPT premier le disque est spécifié sur lequel nous copions le partitionnement, deuxiÚme le disque est spécifié comme le disque depuis lequel ils copient le partitionnement. Si vous confondez les disques, le partitionnement initialement correct sera écrasé et détruit.
Nous copions le tableau de partitionnement GPT.
sgdisk -R /dev/sdd /dev/sdc Disposition des disques aprĂšs le transfert du tableau sur le disque /dev/sdd.
[root@localhost ~]# lsblk
NOM MAJ:MIN RM TAILLE RO TYPE POINT_MONTAGE
sda 8:0 0 223,6G 0 disque
ââsda1 8:1 0 1G 0 partie
ââsda2 8:2 0 222,5G 0 partie
sdb 8:16 0 223,6G 0 disque
ââsdb1 8:17 0 1G 0 partie
ââsdb2 8:18 0 222,5G 0 partie
sdc 8:32 0 2,7T 0 disque
ââsdc1 8:33 0 2M 0 partie
ââsdc2 8:34 0 1G 0 partie
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc3 8:35 0 2,7T 0 partie
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disque
ââsdd1 8:49 0 2M 0 partie
ââsdd2 8:50 0 1G 0 partie
ââsdd3 8:51 0 2,7T 0 partie Ensuite, nous ajoutons chacune des partitions participant aux tableaux RAID logiciels.
mdadm /dev/md126 --add /dev/sdd2
mdadm /dev/md127 --add /dev/sdd3Nous attendons la synchronisation du tableau.
[root@localhost ~]# cat /proc/mdstat
Personnalités : [raid1]
md126 : raid1 actif sdd2[3] sdc2[2]
1047552 blocs super 1.2 [2/2] [UU]
bitmap : 1/1 pages [4Ko], 65536Ko morceau
md127 : raid1 actif sdd3[3] sdc3[2]
233206784 blocs super 1.2 [2/1] [U_]
[>....................] récupération = 0.0% (148224/233206784) fin=26.2min vitesse=148224K/sec
bitmap : 2/2 pages [8Ko], 65536Ko morceau
périphériques inutilisés :AprÚs avoir copié la disposition GPT sur le deuxiÚme nouveau disque, la disposition sera la suivante.
[root@localhost ~]# lsblk
NOM MAJ:MIN RM TAILLE RO TYPE POINT_DE_MONTAGE
sda 8:0 0 223,6G 0 disque
ââsda1 8:1 0 1G 0 part
ââsda2 8:2 0 222,5G 0 part
sdb 8:16 0 223,6G 0 disque
ââsdb1 8:17 0 1G 0 part
ââsdb2 8:18 0 222,5G 0 part
sdc 8:32 0 2,7T 0 disque
ââsdc1 8:33 0 2M 0 part
ââsdc2 8:34 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdc3 8:35 0 2,7T 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm \
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disque
ââsdd1 8:49 0 2M 0 part
ââsdd2 8:50 0 1G 0 part
â ââmd126 9:126 0 1023M 0 raid1 /boot
ââsdd3 8:51 0 2,7T 0 part
ââmd127 9:127 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm \
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]Nous allons maintenant installer GRUB sur les nouveaux disques.
Installation pour CentOS :
grub2-install /dev/sdXInstallation pour Debian/Ubuntu :
grub-install /dev/sdX oĂč X â lettre du disque, dans notre cas les disques /dev/sdc et /dev/sdd.
Mettre Ă jour les informations sur le tableau.
Pour CentOS :
mdadm --detail --scan --verbose > /etc/mdadm.confPour Debian/Ubuntu :
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf Mettre Ă jour l'image initrd:
Pour CentOS :
dracut -f -v --regenerate-allPour Debian/Ubuntu :
update-initramfs -u -k allMettre Ă jour la configuration de GRUB.
Pour CentOS :
grub2-mkconfig -o /boot/grub2/grub.cfg
Pour Debian/Ubuntu :
update-grubAprĂšs avoir effectuĂ© ces actions, les anciens disques peuvent ĂȘtre retirĂ©s.
6. Extension du systĂšme de fichiers (ext4) de la partition racine
Disposition des disques avant l'extension du systĂšme de fichiers aprĂšs le transfert du systĂšme sur des disques 2 x 3To (RAID-1).
[root@localhost ~]# lsblk
NOM MAJ:MIN RM TAILLE RO TYPE POINT_DE_MONTAGE
sda 8:0 0 223,6G 0 disque
sdb 8:16 0 223,6G 0 disque
sdc 8:32 0 2,7T 0 disque
ââsdc1 8:33 0 2M 0 part
ââsdc2 8:34 0 1G 0 part
â ââmd127 9:127 0 1023M 0 raid1 /boot
ââsdc3 8:35 0 2,7T 0 part
ââmd126 9:126 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm \
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disque
ââsdd1 8:49 0 2M 0 part
ââsdd2 8:50 0 1G 0 part
â ââmd127 9:127 0 1023M 0 raid1 /boot
ââsdd3 8:51 0 2,7T 0 part
ââmd126 9:126 0 222,4G 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm \
ââvg0-swap 253:1 0 16G 0 lvm [SWAP] Actuellement, les partitions /dev/sdc3 et /dev/sdd3 occupent 2,7 To. Comme nous avons créé un nouveau schĂ©ma de disques avec une table GPT, les tailles des 3 partitions ont Ă©tĂ© initialement dĂ©finies au maximum possible de l'espace disque, aucune extension de partition n'est donc nĂ©cessaire dans ce cas.
Nécessaire :
- Ătendre le tableau md126,
- Ătendre le PV (volume physique),
- Ătendre le LV (volume logique) vg0-root,
- Ătendre le systĂšme de fichiers.
1. Nous étendons le tableau md126 à sa taille maximale.
mdadm --grow /dev/md126 --size=max
AprÚs l'extension du tableau md126 la taille de l'espace occupé a augmenté à 2,7 To.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
sdb 8:16 0 223,6G 0 disk
sdc 8:32 0 2,7T 0 disk
ââsdc1 8:33 0 2M 0 part
ââsdc2 8:34 0 1G 0 part
â ââmd127 9:127 0 1023M 0 raid1 /boot
ââsdc3 8:35 0 2,7T 0 part
ââmd126 9:126 0 2,7T 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
sdd 8:48 0 2,7T 0 disk
ââsdd1 8:49 0 2M 0 part
ââsdd2 8:50 0 1G 0 part
â ââmd127 9:127 0 1023M 0 raid1 /boot
ââsdd3 8:51 0 2,7T 0 part
ââmd126 9:126 0 2,7T 0 raid1
ââvg0-root 253:0 0 206,4G 0 lvm /
ââvg0-swap 253:1 0 16G 0 lvm [SWAP]
Nous étendons volume physique.
Avant l'extension, vérifions la valeur actuelle de l'espace occupé PV /dev/md126.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- 222,40g 0 Nous étendons le PV avec la commande suivante.
pvresize /dev/md126
Vérifions l'action effectuée.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/md126 vg0 lvm2 a-- <2,73t 2,51tNous étendons volume logique vg0-root.
AprÚs l'extension du PV, vérifions l'espace occupé VG.
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg0 1 2 0 wz--n- <2,73t 2,51tVérifions l'espace occupé par LV.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi-ao---- <206,41g
swap vg0 -wi-ao---- <16,00g Le volume vg0-root occupe 206,41 Go.
Nous étendons le LV au maximum de l'espace disque.
lvextend -l +100%FREE /dev/mapper/vg0-root Vérifions l'espace LV aprÚs l'extension.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi-ao---- 2,71t
swap vg0 -wi-ao---- <16,00gNous étendons le systÚme de fichiers (ext4).
Vérifions la taille actuelle du systÚme de fichiers.
[root@localhost ~]# df -h
SystÚme de fichiers Taille Utilisé Restant Utilisé% Monté sur
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,6M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 204G 1,4G 192G 1% /
/dev/md127 1007M 141M 816M 15% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0Le volume /dev/mapper/vg0-root occupe 204 Go aprĂšs l'extension LV.
Nous étendons le systÚme de fichiers.
resize2fs /dev/mapper/vg0-root
Vérifions la taille du systÚme de fichiers aprÚs son extension.
[root@localhost ~]# df -h
SystÚme de fichiers Taille Utilisé Disp Utilisé% Monté sur
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 9,6M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/vg0-root 2,7T 1,4G 2,6T 1% /
/dev/md127 1007M 141M 816M 15% /boot
tmpfs 3,2G 0 3,2G 0% /run/user/0 La taille du systÚme de fichiers a été augmentée à l'intégralité du volume.
Source : habr.com
