Pour cela, je vais supposer qu'il y a 12 disques dans le tableau, et chacun fait 1 To.
Cela signifie qu'il y a 10 To de stockage. C'est par exemple, à condition que vous n'utilisiez pas plus de 6 disques (6 To) de stockage, alors peu importe leur taille.
Avis de non-responsabilité: rien de tout cela ne peut être pris en charge par Synology, donc je vérifierais avec eux si cette approche peut causer des problèmes, la sauvegarde au préalable et l'arrêt préalable des services de Synology. Synology utilise des tableaux RAID standard md pour autant que je sache, et ils sont accessibles si le disque est déplacé vers un serveur standard qui prend en charge md - il ne devrait donc y avoir aucun problème.
Aperçu
La séquence se déroule comme suit:
- Réduisez la taille du système de fichiers
- Réduisez la taille du volume logique
- Réduisez la taille du tableau
- Redimensionner le système de fichiers
- Convertissez les disques de rechange en disques de rechange
Système de fichiers
Trouvez la partition principale, en utilisant df -h
, elle devrait ressembler à:
Filesystem Size Used Available Use% Mounted on
/dev/vg1/volume_1 10T 5T 5T 50% /volume1
Utilisez cette commande pour redimensionner au maximum dont elle a besoin et pas 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
Le volume
Pour réduire la taille du volume, utilisez lvreduce (augmentez-le un peu 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, consultez cette autre question pour déplacer les portions de données qui ont été allouées à la fin du volume physique vers le début.
Nous avons maintenant un volume de 5,3T sur une baie de 10T, nous pouvons donc réduire en toute sécurité la taille de la baie de 2T.
Array
Découvrez l'appareil 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 le tableau actuel sur 10 disques, nous devons réduire la taille du tableau.
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 du temps et peut être contrôlé 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.
Redimensionnez le PV, le LV et le système de fichiers au maximum:
pvresize /dev/md0
lvextend -l 100%FREE /dev/vg1/volume_1
e2fsck -f /dev/vg1/volume_1
resize2fs /dev/vg1/volume_1
Définir des disques de rechange comme pièces de rechange
Rien à faire ici, tous les disques de rechange dans un tableau sont automatiquement des pièces de rechange. Une fois votre remodelage terminé, vérifiez l'état:
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]