En temps que particulier, on a rarement tous les disques de la même taille. Dans mon cas, j’ai des disques de 1To, 1,5To et 2To. Et je compte remplacer le 1To. Le but est d’avoir un RAID sur une base de 1,5To et plus 1To. Voici la configuration en RAID5 :
- 1To
- 1,5To
- 2To
- 2To
Ce qui me donnait donc en RAID5 : (4-1 disques)*1To = 3To
Le dernier disque de 1To est à remplacer et je me présente donc avec des disques de 1,5To et 2To. On peut donc envisager d’utiliser toute l’espace disponible c’est à dire (4-1 disques)*1,5To=4,5To.
Pourquoi se priver de ces 1,5To supplémentaires sans trop de souci ?
Étapes à suivre pour éviter la perte de données
Voici donc la manip basée en machine virtuelle sur des disques de 10Go, 15Go, et 4 de 20Go. Je change le disque de 10Go pour un 20Go. J’aurai donc 15Go et 5 de 20Go.
- Vérifier l’état de son raid
- Vérifier le système de fichier
- Remplacer le disque dur
- Augmenter l’array
- Augmenter le système de fichier
Vérifier l’état de son raid
Vérifier que votre RAID n’a pas de secteur défectueux avant tout!
root@omv:~# cat /sys/block/md0/md/sync_action idle root@omv:~# echo check > /sys/block/md0/md/sync_action root@omv:~# cat /sys/block/md0/md/sync_action check
Vous pouvez voir l’état d’avancement du check via mdstat :
root@omv:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdb[6] sdg[5] sdf[4] sde[3] sdd[2] sdc[1] 52385280 blocks super 1.2 level 5, 512k chunk, algorithm 2 [6/6] [UUUUUU] [>....................] check = 1.0% (108552/10477056) finish=7.9min speed=21710K/sec unused devices: <none>
Les disques du test sont en RAID5 avec 6 disques avec le plus petit de 10Go, donc 50Go sur le RAID.
Vérifier les caractéristiques de votre RAID :
root@omv:~# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Thu May 7 20:53:42 2015 Raid Level : raid5 Array Size : 52385280 (49.96 GiB 53.64 GB) Used Dev Size : 10477056 (9.99 GiB 10.73 GB) Raid Devices : 6 Total Devices : 6 Persistence : Superblock is persistent Update Time : Tue May 12 00:14:17 2015 State : clean Active Devices : 6 Working Devices : 6 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : omv:data (local to host omv) UUID : 66136108:2ba95ce4:6f028202:33e061ea Events : 411 Number Major Minor RaidDevice State 7 8 96 0 active sync /dev/sdg 6 8 112 1 active sync /dev/sdh 2 8 32 2 active sync /dev/sdc 3 8 48 3 active sync /dev/sdd 4 8 64 4 active sync /dev/sde 5 8 80 5 active sync /dev/sdf
Vérifier le système de fichier
Vu que vous aller augmenter le système de fichiers, pensez à le vérifier et corriger les problèmes :
fsck.ext4 -fy /dev/md0
Remplacer le disque dur
Mettez le disque de plus petite taille en fault et retirez le du RAID :
mdadm /dev/md0 -f /dev/sdc mdadm /dev/md0 -r /dev/sdc
Vous pouvez maintenant retirer physiquement le disque dur pour y mettre le nouveau.
Il ne reste plus qu’à faire un add du nouveau disque et attendre la synchronisation mdadm.
mdadm /dev/md0 -a /dev/sdb
Augmenter l’array RAID mdadm
Une fois que le RAID a été reconstruit suite à l’ajout d’un nouveau disque de 20Go, il reste donc un disque de 15Go et des disques de 20Go. Je peux donc passer de 50Go de RAID à 75Go : 6 disques en RAID5 15Go*5=75Go.
Avec grow on peut soit ajouter un nouveau disque au RAID, soit comme ici prendre en compte que la taille des disques a changé. On peut réduire un array RAID en lui mettant une taille définie, pour supprimer un disque p.e. Mais dans notre cas on veut augmenter au maximum et donc on utilise le mot clé « max » :
root@omv:~# mdadm --grow /dev/md0 --size=max mdadm: component size of /dev/md0 has been set to 15720448K root@omv:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdg[7] sdf[5] sde[4] sdd[3] sdc[2] sdh[6] 78602240 blocks super 1.2 level 5, 512k chunk, algorithm 2 [6/6] [UUUUUU] [==============>......] resync = 73.0% (11488508/15720448) finish=0.9min speed=72246K/sec unused devices: <none> root@omv:~# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdg[7] sdf[5] sde[4] sdd[3] sdc[2] sdh[6] 78602240 blocks super 1.2 level 5, 512k chunk, algorithm 2 [6/6] [UUUUUU]
On voit que l’on passe à 15Go d’espace par disques au lieu de 10Go : 15720448K
On vérifie que l’on dispose bien de 75Go dans notre RAID mdadm :
root@omv:~# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Thu May 7 20:53:42 2015 Raid Level : raid5 Array Size : 78602240 (74.96 GiB 80.49 GB) Used Dev Size : 15720448 (14.99 GiB 16.10 GB) Raid Devices : 6 Total Devices : 6 Persistence : Superblock is persistent Update Time : Tue May 12 00:33:14 2015 State : active Active Devices : 6 Working Devices : 6 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : omv:data (local to host omv) UUID : 66136108:2ba95ce4:6f028202:33e061ea Events : 420 Number Major Minor RaidDevice State 7 8 96 0 active sync /dev/sdg 6 8 112 1 active sync /dev/sdh 2 8 32 2 active sync /dev/sdc 3 8 48 3 active sync /dev/sdd 4 8 64 4 active sync /dev/sde 5 8 80 5 active sync /dev/sdf
Augmenter le système de fichier
On vérifie la taille actuelle avant, ici j’avais 50Go :
root@omv:~# df -h Sys. fich. Taille Util. Dispo Uti% Monté sur rootfs 7,6G 1,1G 6,1G 15% / udev 10M 0 10M 0% /dev tmpfs 303M 484K 302M 1% /run /dev/disk/by-uuid/0caa296b-e542-4302-a240-7faaee84af1a 7,6G 1,1G 6,1G 15% / tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 682M 0 682M 0% /run/shm tmpfs 1,5G 0 1,5G 0% /tmp /dev/md0 50G 180M 49G 1% /mnt
Et on fait un simple resize2fs et on vérifie que l’on à bien 75Go après.
root@omv:~# resize2fs /dev/md0 resize2fs 1.42.5 (29-Jul-2012) Le système de fichiers de /dev/md0 est monté sur /mnt ; le changement de taille doit être effectué en ligne old_desc_blocks = 7, new_desc_blocks = 10 En train d'effectuer un changement de taille en ligne de /dev/md0 vers 19650560 (4k) blocs. Le système de fichiers /dev/md0 a maintenant une taille de 19650560 blocs. root@omv:~# df -h Sys. fich. Taille Util. Dispo Uti% Monté sur rootfs 7,6G 1,1G 6,1G 15% / udev 10M 0 10M 0% /dev tmpfs 303M 484K 302M 1% /run /dev/disk/by-uuid/0caa296b-e542-4302-a240-7faaee84af1a 7,6G 1,1G 6,1G 15% / tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 682M 0 682M 0% /run/shm tmpfs 1,5G 0 1,5G 0% /tmp /dev/md0 74G 180M 74G 1% /mnt
Voilà tout cela a été fait avec le plus de précaution possible afin d’avoir une augmentation de l’espace disque gratuite! Et tout cela en ligne sans interruption de service! Je vous conseille toutefois d’éviter d’avoir de la charge sur le serveur durant l’opération et n’oubliez jamais de faire un backup avant toute modification à votre RAID mdadm!
Laisser un commentaire