Per questo suppongo che ci siano 12 dischi nell'array e ciascuno sia grande 1 TB.
Ciò significa che ci sono 10 TB di spazio di archiviazione. Questo è ad esempio, a condizione che non si stia utilizzando più di 6 dischi (6 TB) di spazio di archiviazione, quindi non importa quale sia la loro dimensione.
Dichiarazione di non responsabilità: nulla di tutto ciò può essere supportato da Synology, quindi vorrei verificare con loro se questo approccio può causare problemi, eseguire il backup in anticipo e arrestare in anticipo eventuali servizi di sinologia. Synology utilizza array md raid standard per quanto ne so e sono accessibili se il disco viene spostato su un server standard che supporta md, quindi non dovrebbero esserci problemi.
Panoramica
La sequenza è la seguente:
- Ridurre le dimensioni del filesystem
- Ridurre le dimensioni del volume logico
- Ridurre le dimensioni dell'array
- Ridimensiona il file system
- Converti i dischi di riserva in hot spare
File system
Trova la partizione principale, usando df -h
, dovrebbe assomigliare a:
Filesystem Size Used Available Use% Mounted on
/dev/vg1/volume_1 10T 5T 5T 50% /volume1
Utilizzare questo comando per ridimensionare al massimo le necessità e non di più:
umount /dev/vg1/volume_1
resize2fs -M /dev/vg1/volume_1
Ora controlla:
mount /dev/vg1/volume_1 /volume1
df -h
Filesystem Size Used Available Use% Mounted on
/dev/vg1/volume_1 5T 5T 0T 100% /volume1
Volume
Per ridurre le dimensioni del volume, usa lvreduce (rendilo un po 'più grande per ogni evenienza):
umount /dev/vg1/volume_1
lvreduce -L 5.2T /dev/vg1/volume_1
Ora che il volume logico è stato ridotto, utilizzare pvresize per ridurre la dimensione del volume fisico:
pvresize --setphysicalvolumesize 5.3T /dev/md0
Se il ridimensionamento fallisce, vedere questa altra domanda per spostare le parti di dati allocate alla fine del volume fisico verso l'inizio.
Ora abbiamo un volume 5.3T su un array 10T, quindi possiamo ridurre in sicurezza le dimensioni dell'array di 2T.
Vettore
Scopri il dispositivo md:
pvdisplay -C
PV VG Fmt Attr PSize PFree
/dev/md0 vg1 lvm2 a-- 5.3t 0.1t
Il primo passo è dire a mdadm di ridurre le dimensioni dell'array (con 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
Ciò significa che per adattare l'array corrente a 10 dischi, è necessario ridurre le dimensioni dell'array.
mdadm --grow /dev/md0 --array-size 9683819520
Ora è più piccolo, possiamo ridurre il numero di dischi:
mdadm --grow -n10 /dev/md0 --backup-file /root/mdadm.md0.backup
Questo richiederà molto tempo e può essere monitorato qui:
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__]
Ma non dobbiamo aspettare.
Ridimensiona al massimo PV, LV e filesystem:
pvresize /dev/md0
lvextend -l 100%FREE /dev/vg1/volume_1
e2fsck -f /dev/vg1/volume_1
resize2fs /dev/vg1/volume_1
Impostare i dischi di riserva come ricambi
Niente da fare qui, eventuali dischi di riserva in un array vengono automaticamente risparmiati. Una volta completato il rimodellamento, controlla lo stato:
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]