W tym celu zakładam, że w macierzy jest 12 dysków, a każdy z nich ma pojemność 1 TB.
Oznacza to, że jest 10 TB pamięci. Dzieje się tak na przykład pod warunkiem, że nie używasz więcej niż 6 dysków (6 TB), więc nie ma znaczenia, jaki mają rozmiar.
Oświadczenie o zrzeczeniu się odpowiedzialności: Nic z tego nie może być obsługiwane przez Synology, więc sprawdziłbym je, czy takie podejście może powodować problemy, wykonać kopię zapasową wcześniej i zamknąć wcześniej wszelkie usługi Synology. Synology używa standardowych tablic RAID o ile wiem i są one dostępne, jeśli dysk zostanie przeniesiony na standardowy serwer, który obsługuje MD - więc nie powinno być problemów.
Przegląd
Sekwencja wygląda następująco:
- Zmniejsz rozmiar systemu plików
- Zmniejsz rozmiar woluminu logicznego
- Zmniejsz rozmiar tablicy
- Zmień rozmiar systemu plików z powrotem
- Zamień dyski zapasowe w gorące części zamienne
System plików
Znajdź główną partycję, używając df -h
, powinna wyglądać mniej więcej tak:
Filesystem Size Used Available Use% Mounted on
/dev/vg1/volume_1 10T 5T 5T 50% /volume1
Użyj tego polecenia, aby zmienić rozmiar do maksimum, którego potrzebuje i nie więcej:
umount /dev/vg1/volume_1
resize2fs -M /dev/vg1/volume_1
Teraz sprawdź:
mount /dev/vg1/volume_1 /volume1
df -h
Filesystem Size Used Available Use% Mounted on
/dev/vg1/volume_1 5T 5T 0T 100% /volume1
Tom
Aby zmniejszyć rozmiar woluminu, użyj lvreduce (na wszelki wypadek zwiększ go nieco):
umount /dev/vg1/volume_1
lvreduce -L 5.2T /dev/vg1/volume_1
Teraz, gdy wolumin logiczny został zmniejszony, użyj pvresize, aby zmniejszyć rozmiar woluminu fizycznego:
pvresize --setphysicalvolumesize 5.3T /dev/md0
Jeśli zmiana rozmiaru nie powiedzie się, zobacz to drugie pytanie dotyczące przenoszenia części danych, które zostały przydzielone na końcu woluminu fizycznego na początek.
Teraz mamy wolumin 5,3T w macierzy 10T, więc możemy bezpiecznie zmniejszyć rozmiar macierzy o 2T.
Szyk
Znajdź urządzenie MD:
pvdisplay -C
PV VG Fmt Attr PSize PFree
/dev/md0 vg1 lvm2 a-- 5.3t 0.1t
Pierwszym krokiem jest poinformowanie mdadm o zmniejszeniu rozmiaru tablicy (wraz z 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
To znaczy, że aby zmieścić bieżącą macierz na 10 dyskach, musimy zmniejszyć rozmiar macierzy.
mdadm --grow /dev/md0 --array-size 9683819520
Teraz jest mniejszy, możemy zmniejszyć liczbę dysków:
mdadm --grow -n10 /dev/md0 --backup-file /root/mdadm.md0.backup
Zajmie to trochę czasu i można to tutaj monitorować:
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__]
Ale nie musimy czekać.
Zmień rozmiar PV, LV i systemu plików do maksimum:
pvresize /dev/md0
lvextend -l 100%FREE /dev/vg1/volume_1
e2fsck -f /dev/vg1/volume_1
resize2fs /dev/vg1/volume_1
Ustaw zapasowe dyski jako części zamienne
Nie ma tu nic do zrobienia, wszelkie wolne dyski w macierzy są automatycznie wymieniane. Po zakończeniu przekształcania sprawdź status:
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]