J'ai un Synology NAS avec 12 baies. Initialement, nous avions décidé d'allouer les 12 disques à un seul volume RAID-6, mais nous souhaitons maintenant réduire le volume afin de n'utiliser que 10 disques et d'affecter deux disques durs en réserve.
L’Assistant de gestion de volume peut facilement étendre le volume en ajoutant des disques durs, mais je n’ai trouvé aucun moyen de réduire le volume en retirant les disques durs . Comment puis-je faire cela sans avoir à réinitialiser tout le système?
Pour cela, je vais supposer qu'il y a 12 disques dans la matrice, chacun pesant 1 To.
Cela signifie qu'il y a 10 To de stockage. Par exemple, si vous n'utilisez pas plus de 6 disques (6 To) de stockage, leur taille importe peu.
Clause de non-responsabilité: Synology ne prend en charge aucun de ces éléments. Par conséquent, je vérifierais avec eux si cette approche peut entraîner des problèmes, effectuer une sauvegarde préalable et arrêter au préalable tous les services Synology. Autant que je sache, Synology utilise des matrices d’affichage standard md, et elles sont accessibles si le disque est déplacé vers un serveur standard prenant en charge md. Il ne devrait donc y avoir aucun problème .
La séquence va comme ceci:
Trouvez la partition principale en utilisant df -h
, il devrait ressembler à ceci:
Filesystem Size Used Available Use% Mounted on
/dev/vg1/volume_1 10T 5T 5T 50% /volume1
Utilisez cette commande pour redimensionner au maximum, sans plus:
umount /dev/vg1/volume_1
resize2fs -M /dev/vg1/volume_1
Maintenant, vérifiez:
mount /dev/vg1/volume_1 /volume1
df -h
Filesystem Size Used Available Use% Mounted on
/dev/vg1/volume_1 5T 5T 0T 100% /volume1
Pour réduire la taille du volume, utilisez lvreduce (rendez-le un peu plus grand au cas où):
umount /dev/vg1/volume_1
lvreduce -L 5.2T /dev/vg1/volume_1
Maintenant que le volume logique a été réduit, utilisez pvresize pour réduire la taille du volume physique:
pvresize --setphysicalvolumesize 5.3T /dev/md0
Si le redimensionnement échoue, voir cette autre question pour déplacer les portions de données allouées à la fin du volume physique vers le début.
Nous avons maintenant un volume de 5,3 t sur un tableau de 10 t, ce qui nous permet de réduire en toute sécurité la taille du tableau de 2 t.
Découvrez le périphérique md:
pvdisplay -C
PV VG Fmt Attr PSize PFree
/dev/md0 vg1 lvm2 a-- 5.3t 0.1t
La première étape consiste à dire à mdadm de réduire la taille du tableau (avec grow):
mdadm --grow -n10 /dev/md0
mdadm: this change will reduce the size of the array.
use --grow --array-size first to truncate array.
e.g. mdadm --grow /dev/md0 --array-size 9683819520
Cela signifie que pour adapter la matrice actuelle à 10 disques, nous devons réduire la taille de la matrice.
mdadm --grow /dev/md0 --array-size 9683819520
Maintenant, il est plus petit, nous pouvons réduire le nombre de disques:
mdadm --grow -n10 /dev/md0 --backup-file /root/mdadm.md0.backup
Cela prendra un peu de temps et peut être surveillé ici:
cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md4 : active raid6 sda4[0] sdb4[1] sdc4[2] sdd4[3] sde4[4] sdf4[5] sdg4[6] sdh4[7] sdi4[1] sdj4[1]
[>....................] reshape = 1.8% (9186496/484190976)
finish=821.3min speed=9638K/sec [UUUUUUUUUU__]
Mais nous n'avons pas besoin d'attendre.
pvresize /dev/md0
lvextend -l 100%FREE /dev/vg1/volume_1
e2fsck -f /dev/vg1/volume_1
resize2fs /dev/vg1/volume_1
Rien à faire ici, tous les disques de réserve dans une matrice sont automatiquement des disques de secours. Une fois votre restructuration terminée, vérifiez le statut:
cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md4 : active raid6 sda4[0] sdb4[1] sdc4[2] sdd4[3] sde4[4] sdf4[5] sdg4[6] sdh4[7] sdi4[S] sdj4[S]