PascalZ Posté(e) le 15 janvier 2021 Partager Posté(e) le 15 janvier 2021 Bonjour à tous, Je possède un DS1815+ avec 8 disques de 8To sur un seul volume BTRFS en SHR-2. Ça faisait plusieurs semaines que je cherchais à repasser en SHR-1 sans avoir à tout reconstruire. Cette fonctionnalité n'est pas disponible dans DSM mais en fouillant sur les forums, j'ai vu que c'était possible en ligne de commande avec la commande mdadm mais ça avait l'air costaud: https://www.reddit.com/r/synology/comments/jzv8a8/converting_shr2_shr/ Du coup je me suis lancé et la bonne nouvelle est que c'est tout à fait faisable et ça fonctionne parfaitement. Le seul bémol est que les étapes de passage de Raid-6 à Raid-5 puis d'ajout des partitions supplémentaires dans le Raid-5 prend un temps fou (mais c'est le Syno qui travaille). J'ai gardé les logs et quelques copies d'écran de tout ce que j'ai fait. Si j'ai le temps ce week-end je rédige une procédure étape par étape pour ceux que ça intéresse. PascalZ 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PascalZ Posté(e) le 23 janvier 2021 Auteur Partager Posté(e) le 23 janvier 2021 (modifié) Je prends enfin un peu de temps pour partager mon expérience sur le sujet. L'histoire de mon Syno est simple. Je suis parti d'un DS1815+ avec quatre disques de 4To (un seul volume en Btrfs, SHR) auquel je me suis mis à ajouter des disques supplémentaires de 4To au fur et à mesure de mes besoins. Au moment d'ajouter le huitième disque, j'ai fait le grand saut, j'ai acheté 4 disques de 8To. Ça m'a permis de passer en SHR-2 et de continuer à augmenter ma capacité de stockage en remplaçant des disques de 4To par des disques de 8To au fur et à mesure. Je me suis donc retrouvé il y a peu avec un volume (Btrfs, SHR-2) composé de huit disques de 8To et qui commençait à être bien plein et donc plutôt que de faire du ménage (la flemme) ou de commencer à les remplacer par des disques plus gros (ça commence à faire cher), j'ai décidé de tenter le passage de SHR-2 à SHR afin de gagner 8To de stockage. L'interface du Syno ne permet pas ce passage mais j'ai trouvé cet article https://www.reddit.com/r/synology/comments/jzv8a8/converting_shr2_shr/ et j'ai décidé de me lancer. Je partage ci-dessous le pas à pas ainsi que quelques commentaires. Spoiler: ça marche mais certaines étapes prennent un temps fou et je n'ai pas dormi tranquille pendant toute la durée de la manip (environ une semaine). 1) Se connecter en Root à votre Syno: Depuis un mac, j'ai lancé l'application "Terminal" (sur PC on peut télécharger l'application PuTTY). Depuis le Syno aller dans le Panneau de configuration -> Terminal & SNMP et cliquer sur "Activer le service SSH". Cliquer ensuite sur appliquer. Retourner ensuite dans le Terminal (ou PuTTY) et se connecter en ssh à votre Syno avec un compte admin: iMac-de-PascalZ:~ admin$ ssh admin@192.168.1.100 admin@192.168.1.100's password: Dans l'exemple ci-dessus, l'IP de mon Syno est 192.168.1.100. Il faut ensuite passer en Root: admin@DSM:~$ sudo -i Password: Et voilà ! 2) Comprendre l'organisation de votre stockage: Il faut taper la commande cat /proc/mdstat root@DSM:~# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md2 : active raid6 sata1p5[10] sata8p5[8] sata7p5[9] sata6p5[13] sata5p5[15] sata4p5[14] sata3p5[12] sata2p5[11] 23413124736 blocks super 1.2 level 6, 64k chunk, algorithm 18 [8/8] [UUUUUUUU] md3 : active raid6 sata1p6[0] sata5p6[8] sata4p6[7] sata6p6[6] sata3p6[5] sata2p6[3] sata8p6[2] sata7p6[1] 23441993472 blocks super 1.2 level 6, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] md1 : active raid1 sata1p2[0] sata2p2[1] sata3p2[2] sata4p2[3] sata5p2[4] sata6p2[5] sata7p2[6] sata8p2[7] 2097088 blocks [8/8] [UUUUUUUU] md0 : active raid1 sata1p1[0] sata2p1[3] sata3p1[2] sata4p1[1] sata5p1[4] sata6p1[7] sata7p1[6] sata8p1[5] 2490176 blocks [8/8] [UUUUUUUU] unused devices: <none> Je vois que j'ai quatre matrices "md0, md1, md2 et md3". md0 et md1 contiennent le système DSM et d'autres choses qui ne me regardent pas. Elles sont en Raid 1 ce qui signifie que la même info est répliquée sur chaque disque. md2 et md3 contiennent mon volume logique unique et sont bien en Raid 6 (deux disques de parité). Ce sont ces deux matrices que nous allons d'abord passer en Raid 5 (un disque de parité) ce qui correspondra à un passage de SHR-2 à SHR. Deux petites notes: 1) J'effectue cette manip sur un DS1821+. A partir de la série 21 (ou peut-être 20, je ne sais pas), les partitions apparaissent différemment sur les Syno. Elles sont en sataxpy (où x et y sont des chiffres) alors que sur les machines précédentes, elles apparaissent en sdxy (où x est une lettre et y est un chiffre). Ça ne change absolument rien. Voici à quoi ça ressemble sur un DS1815+ (j'avais fait la manip avant de changer de machine): root@DSM:~# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md2 : active raid6 sda5[10] sdh5[8] sdg5[9] sdf5[13] sde5[15] sdd5[14] sdc5[12] sdb5[11] 23413124736 blocks super 1.2 level 6, 64k chunk, algorithm 18 [8/8] [UUUUUUUU] md3 : active raid6 sda6[0] sde6[8] sdd6[7] sdf6[6] sdc6[5] sdb6[3] sdh6[2] sdg6[1] 23441993472 blocks super 1.2 level 6, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] md1 : active raid1 sda2[0] sdb2[1] sdc2[2] sdd2[3] sde2[4] sdf2[5] sdg2[6] sdh2[7] 2097088 blocks [8/8] [UUUUUUUU] md0 : active raid1 sda1[0] sdb1[3] sdc1[2] sdd1[1] sde1[4] sdf1[7] sdg1[6] sdh1[5] 2490176 blocks [8/8] [UUUUUUUU] unused devices: <none> 2) Mon volume logique se trouve sur deux matrices (md2 et md3) parce qu'à un moment donné dans l'histoire de mon Syno j'avais deux tailles de disques différentes. Dans ce cas, le système SHR crée une matrice supplémentaire afin de pouvoir optimiser le stockage. Un volume qui ne contiendrait depuis le début QUE des disques de même taille ne serait que sur une seule matrice (md2). Et j'imagine qu'avec trois tailles de disques différentes on aurait trois matrices... 3) Passage de Raid 6 à Raid 5: on y va ! Donc c'est parti. La commande magique pour changer le type de Raid c'est: mdadm --grow. On va donc passer en Raid 5 les deux matrices md2 et md3. root@DSM:~# mdadm --grow /dev/md2 --level=raid5 mdadm: level of /dev/md2 changed to raid5 root@DSM:~# mdadm --grow /dev/md3 --level=raid5 mdadm: level of /dev/md3 changed to raid5 Ces deux commandes prennent des heures ! Dans mon cas, chaque commande a pris quasiment deux jours. Vous pouvez à tout moment voir où ça en est avec la commande cat /proc/mdstat root@DSM:~# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md2 : active raid5 sata1p5[10] sata8p5[8](S) sata7p5[9] sata6p5[13] sata5p5[15] sata4p5[14] sata3p5[12] sata2p5[11] 23413124736 blocks super 1.2 level 5, 64k chunk, algorithm 2 [7/7] [UUUUUUU] md3 : active raid6 sata1p6[0] sata5p6[8] sata4p6[7] sata6p6[6] sata3p6[5] sata2p6[3] sata8p6[2] sata7p6[1] 23441993472 blocks super 1.2 level 6, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] [>....................] reshape = 0.0% (452944/3906998912) finish=1149.9min speed=56618K/sec md1 : active raid1 sata1p2[0] sata2p2[1] sata3p2[2] sata4p2[3] sata5p2[4] sata6p2[5] sata7p2[6] sata8p2[7] 2097088 blocks [8/8] [UUUUUUUU] md0 : active raid1 sata1p1[0] sata2p1[3] sata3p1[2] sata4p1[1] sata5p1[4] sata6p1[7] sata7p1[6] sata8p1[5] 2490176 blocks [8/8] [UUUUUUUU] unused devices: <none> root@DSM:~# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md2 : active raid5 sata1p5[10] sata8p5[8](S) sata7p5[9] sata6p5[13] sata5p5[15] sata4p5[14] sata3p5[12] sata2p5[11] 23413124736 blocks super 1.2 level 5, 64k chunk, algorithm 2 [7/7] [UUUUUUU] md3 : active raid6 sata1p6[0] sata5p6[8] sata4p6[7] sata6p6[6] sata3p6[5] sata2p6[3] sata8p6[2] sata7p6[1] 23441993472 blocks super 1.2 level 6, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] [===================>.] reshape = 99.3% (3881351028/3906998912) finish=12.9min speed=33000K/sec md1 : active raid1 sata1p2[0] sata2p2[1] sata3p2[2] sata4p2[3] sata5p2[4] sata6p2[5] sata7p2[6] sata8p2[7] 2097088 blocks [8/8] [UUUUUUUU] md0 : active raid1 sata1p1[0] sata2p1[3] sata3p1[2] sata4p1[1] sata5p1[4] sata6p1[7] sata7p1[6] sata8p1[5] 2490176 blocks [8/8] [UUUUUUUU] unused devices: <none> Et quel plaisir quand enfin on voit: mdadm: level of /dev/md3 changed to raid5 ! root@DSM:~# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md2 : active raid5 sata1p5[10] sata8p5[8](S) sata7p5[9] sata6p5[13] sata5p5[15] sata4p5[14] sata3p5[12] sata2p5[11] 23413124736 blocks super 1.2 level 5, 64k chunk, algorithm 2 [7/7] [UUUUUUU] md3 : active raid5 sata1p6[0] sata5p6[8](S) sata4p6[7] sata6p6[6] sata3p6[5] sata2p6[3] sata8p6[2] sata7p6[1] 23441993472 blocks super 1.2 level 5, 64k chunk, algorithm 2 [7/7] [UUUUUUU] md1 : active raid1 sata1p2[0] sata2p2[1] sata3p2[2] sata4p2[3] sata5p2[4] sata6p2[5] sata7p2[6] sata8p2[7] 2097088 blocks [8/8] [UUUUUUUU] md0 : active raid1 sata1p1[0] sata2p1[3] sata3p1[2] sata4p1[1] sata5p1[4] sata6p1[7] sata7p1[6] sata8p1[5] 2490176 blocks [8/8] [UUUUUUUU] unused devices: <none> A ce moment-là on voit sur le Syno que nous sommes bien passés à SHR (un disque de parité) mais la taille du volume n'a pas bougé et il n'y a pas de place pour l'étendre non plus. La partition qui servait au deuxième disque de parité est bien sortie de la matrice Raid (en fait elle est toujours là mais marquée comme "spare"). Vous pouvez voir ça en tapant la commande mdadm --detail /dev/md2. root@DSM:~# mdadm --detail /dev/md2 /dev/md2: Version : 1.2 Creation Time : Tue Apr 26 21:56:59 2016 Raid Level : raid5 Array Size : 23413124736 (22328.50 GiB 23975.04 GB) Used Dev Size : 3902187456 (3721.42 GiB 3995.84 GB) Raid Devices : 7 Total Devices : 8 Persistence : Superblock is persistent Update Time : Sat Jan 9 20:58:05 2021 State : clean Active Devices : 7 Working Devices : 8 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 64K Name : DSM:2 (local to host DSM) UUID : f3541987:7551e574:f44d7492:56d15c7e Events : 144308 Number Major Minor RaidDevice State 10 8 5 0 active sync /dev/sata1p5 11 8 21 1 active sync /dev/sata2p5 12 8 37 2 active sync /dev/sata3p5 14 8 53 3 active sync /dev/sata4p5 15 8 69 4 active sync /dev/sata5p5 13 8 85 5 active sync /dev/sata6p5 9 8 101 6 active sync /dev/sata7p5 8 8 117 - spare /dev/sata8p5 Et pour md3: root@DSM:~# mdadm --detail /dev/md3 /dev/md3: Version : 1.2 Creation Time : Thu Apr 19 20:02:55 2018 Raid Level : raid5 Array Size : 23441993472 (22356.03 GiB 24004.60 GB) Used Dev Size : 3906998912 (3726.00 GiB 4000.77 GB) Raid Devices : 7 Total Devices : 8 Persistence : Superblock is persistent Update Time : Sun Jan 10 10:08:52 2021 State : clean Active Devices : 7 Working Devices : 8 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 64K Name : DSM:3 (local to host DSM) UUID : 1072a692:13622fe0:47af4094:6fcfb96c Events : 47576 Number Major Minor RaidDevice State 0 8 6 0 active sync /dev/sata1p6 1 8 102 1 active sync /dev/sata7p6 2 8 118 2 active sync /dev/sata8p6 3 8 22 3 active sync /dev/sata2p6 5 8 38 4 active sync /dev/sata3p6 6 8 86 5 active sync /dev/sata6p6 7 8 54 6 active sync /dev/sata4p6 8 8 70 - spare /dev/sata5p6 On peut y lire que md2 et md3 ont chacun 7 "Active Devices" et 1 "Spare Device". L'étape suivante consiste donc à ajouter le "Spare Device" de chaque matrice dans la liste des "Active Devices". On va donc étendre md2 et md3. 4) Extension des matrices pour y ajouter le "Device" que nous avons libéré en passant de Raid 6 à Raid 5 Pour ajouter un "Device", la commande est à nouveau mdadm --grow mais avec d'autres arguments. root@DSM:~# mdadm --grow /dev/md2 -n 8 root@DSM:~# mdadm --grow /dev/md3 -n 8 On demande au système de d'étendre chaque matrice à 8 "Devices" (7 + 1). On peut lancer les deux commandes à la suite. Et là c'est reparti pour 3 à 4 jours de "grattage" de disques. Comme toujours, on peut suivre la progression avec cat /proc/mdstat ou directement dans l'interface du Syno (dans le Gestionnaire de stockage). Au début: root@DSM:~# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md2 : active raid5 sata1p5[10] sata8p5[8] sata7p5[9] sata6p5[13] sata5p5[15] sata4p5[14] sata3p5[12] sata2p5[11] 23413124736 blocks super 1.2 level 5, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] [>....................] reshape = 0.0% (1513536/3902187456) finish=3267.3min speed=19896K/sec md3 : active raid5 sata1p6[0] sata5p6[8] sata4p6[7] sata6p6[6] sata3p6[5] sata2p6[3] sata8p6[2] sata7p6[1] 23441993472 blocks super 1.2 level 5, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] reshape=DELAYED md1 : active raid1 sata1p2[0] sata2p2[1] sata3p2[2] sata4p2[3] sata5p2[4] sata6p2[5] sata7p2[6] sata8p2[7] 2097088 blocks [8/8] [UUUUUUUU] md0 : active raid1 sata1p1[0] sata2p1[3] sata3p1[2] sata4p1[1] sata5p1[4] sata6p1[7] sata7p1[6] sata8p1[5] 2490176 blocks [8/8] [UUUUUUUU] unused devices: <none> Après la fin de md2: root@DSM:~# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md2 : active raid5 sata1p5[10] sata8p5[8] sata7p5[9] sata6p5[13] sata5p5[15] sata4p5[14] sata3p5[12] sata2p5[11] 27315312192 blocks super 1.2 level 5, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] md3 : active raid5 sata1p6[0] sata5p6[8] sata4p6[7] sata6p6[6] sata3p6[5] sata2p6[3] sata8p6[2] sata7p6[1] 23441993472 blocks super 1.2 level 5, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] [>....................] reshape = 1.5% (61936324/3906998912) finish=3467.6min speed=18480K/sec md1 : active raid1 sata1p2[0] sata2p2[1] sata3p2[2] sata4p2[3] sata5p2[4] sata6p2[5] sata7p2[6] sata8p2[7] 2097088 blocks [8/8] [UUUUUUUU] md0 : active raid1 sata1p1[0] sata2p1[3] sata3p1[2] sata4p1[1] sata5p1[4] sata6p1[7] sata7p1[6] sata8p1[5] 2490176 blocks [8/8] [UUUUUUUU] unused devices: <none> Et enfin après la fin de md3: root@DSM:~# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] md2 : active raid5 sata1p5[10] sata8p5[8] sata7p5[9] sata6p5[13] sata5p5[15] sata4p5[14] sata3p5[12] sata2p5[11] 27315312192 blocks super 1.2 level 5, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] md3 : active raid5 sata1p6[0] sata5p6[8] sata4p6[7] sata6p6[6] sata3p6[5] sata2p6[3] sata8p6[2] sata7p6[1] 27348992384 blocks super 1.2 level 5, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] md1 : active raid1 sata1p2[0] sata2p2[1] sata3p2[2] sata4p2[3] sata5p2[4] sata6p2[5] sata7p2[6] sata8p2[7] 2097088 blocks [8/8] [UUUUUUUU] md0 : active raid1 sata1p1[0] sata2p1[3] sata3p1[2] sata4p1[1] sata5p1[4] sata6p1[7] sata7p1[6] sata8p1[5] 2490176 blocks [8/8] [UUUUUUUU] unused devices: <none> Et à partir de là, même le Syno confirme que l'on peut étendre la taille du volume: Le plus dur est maintenant derrière nous. Maintenant deux options, soit effectuer l'extension depuis l'interface du Syno, soit continuer en ligne de commande. 5) Terminer l'extension des volumes physiques, logiques et du système de fichiers Toutes ces commandes sont quasi instantanées: Pour les volumes physiques: root@DSM:~# pvresize /dev/md2 Physical volume "/dev/md2" changed 1 physical volume(s) resized / 0 physical volume(s) not resized root@DSM:~# pvresize /dev/md3 Physical volume "/dev/md3" changed 1 physical volume(s) resized / 0 physical volume(s) not resized Ensuite il faut identifier le volume logique avec la commande lvdisplay root@DSM:~# lvdisplay --- Logical volume --- LV Path /dev/vg1000/lv LV Name lv VG Name vg1000 LV UUID 3LRgJI-XUPL-0Zfx-yNqU-BM7m-4Q2U-pMCgAl LV Write Access read/write LV Creation host, time , LV Status available # open 1 LV Size 43.64 TiB Current LE 11439236 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 4096 Block device 253:0 Le volume logique s'appelle donc /dev/vg1000/lv je tape donc la commande lvextend -l '+100%FREE' /dev/vg1000/lv pour l'étendre au max de sa taille. root@DSM:~# lvextend -l '+100%FREE' /dev/vg1000/lv Size of logical volume vg1000/lv changed from 43.64 TiB (11439236 extents) to 50.91 TiB (13345776 extents). Logical volume lv successfully resized. Il ne reste plus qu'à étendre le "File System" Btrfs. Je tape d'abord la commande df -h pour identifier le Filesystem à étendre: root@DSM:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/md0 2.3G 1.2G 1.1G 53% / none 7.9G 0 7.9G 0% /dev /tmp 7.9G 1.3M 7.9G 1% /tmp /run 7.9G 4.4M 7.9G 1% /run /dev/shm 7.9G 4.0K 7.9G 1% /dev/shm none 4.0K 0 4.0K 0% /sys/fs/cgroup cgmfs 100K 0 100K 0% /run/cgmanager/fs /dev/vg1000/lv 42T 40T 2.5T 95% /volume1 Ici c'est donc /volume1 et je tape donc la commande ci-dessous pour l'étendre au max: root@DSM:~# btrfs filesystem resize max /volume1 Resize '/volume1' of 'max' L'auteur de l'article recommande ensuite de taper la commande synospace --map-file -d pour terminer la manip (il y a une faute de frappe dans l'article en anglais). Je ne sais pas trop à quoi ça sert mais on y va: root@DSM:~# synospace --map-file -d /dev/md3 Success to dump space info into '/etc/space,/tmp/space' Il ne reste plus qu'à retourner dans le Panneau de configuration -> Terminal & SNMP et décocher "Activer le service SSH" et c'est fini ! Me voilà avec un disque en SHR (et non plus en SHR-2) et surtout avec 8To de disponibles en plus ! L'auteur recommande ensuite de lancer un nettoyage des données depuis le Gestionnaire de stockage je ne l'ai pas encore fait, il se fera automatiquement à la fin du mois. Je ne suis pas du tout un spécialiste de la chose, je ne suis pas certain de comprendre les finesses de tout ce que j'ai fait et j'ai probablement joué à l'apprenti sorcier mais je confirme que dans mon cas, ça a fonctionné. Mon conseil si vous vous lancez dans l'aventure: si vous avez des données importantes sur votre NAS, faire une sauvegarde séparée avant (on ne sait jamais) et s'armer de patience. J'espère que ce pas-à-pas servira à d'autres. PascalZ Modifié le 23 janvier 2021 par PascalZ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mic13710 Posté(e) le 25 janvier 2021 Partager Posté(e) le 25 janvier 2021 Merci pour ce retour d'expérience. Perso, je ne suis pas convaincu de la pertinence d'un SHR constitué de 8 disques de 8To. Sachant que les risques de pertes de groupes augmentent de manière exponentielle en fonction du nombre de disques et de leur capacité, votre configuration est potentiellement à risque si un jour vous deviez remplacer un disque. Je pense qu'avec une telle configuration, un SHR2 (ou RAID6) se justifie pleinement. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
ybourdon Posté(e) le 4 février Partager Posté(e) le 4 février Je vais tenter cette opération sur mon RS2414+ avec d'autant moins d'angoisse qu'un 2eme RS2414+ est la sauvegarde du premier ! Merci encore d'avoir partagé cette manip. Cordialement. Yves 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.