Egy QNAP NAS kapacitás kiterjesztését a webes felületen kapott hibaüzenet esetén az alábbiak alapján tudjuk manuálisan elvégezni.
A hivatalos eljárás szerint cseréljük ki az egyik, majd a másik HDD-t, mindig megvárva, hogy a rendszer szinkronizálja őket.
Ezek után a webes felületen megnyomott Expand capacity gomb hatására a rendszer elkezdett dolgozni, de 50%-nál hibát írt ki:
RAID size expansion failed!
Reboot után másodjára ugyanez volt a helyzet.
Ekkor SSH-n beléptem a konzolra, és megpróbálkoztam manuálisan a dologgal. Ennek a lépései:
1. Állítsuk le a service-eket:
[~] # /etc/init.d/services.sh stop
2. Unmountoljuk a volume-ot:
[~] # umount /dev/md0
Ha sikerül az unmount, ugorjunk az ötös pontra!
3. Esetemben nem sikerült, valószínűleg ezért nem sikerült a bővítés a webes felületen. Listázzuk ki a nyitott fájlokat:
[~] # lsof /share/MD0_DATA/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
squid 12831 admin txt REG 9,0 2160952 9110073 /share/MD0_DATA/.qpkg/Squid/opt/sbin/squid
squid 12831 admin 3u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
squid 12833 httpdusr cwd DIR 9,0 4096 9111955 /share/MD0_DATA/.qpkg/Squid/opt/var/squid
squid 12833 httpdusr txt REG 9,0 2160952 9110073 /share/MD0_DATA/.qpkg/Squid/opt/sbin/squid
squid 12833 httpdusr 3u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
squid 12833 httpdusr 5u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
squid 12833 httpdusr 9w REG 9,0 52 9109609 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/cache/swap.state
squid 12833 httpdusr 28w REG 9,0 0 9112051 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/access.log
squid 12833 httpdusr 33w REG 9,0 0 9112048 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/store.log
ncsa_auth 13209 httpdusr txt REG 9,0 15160 9110109 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/ncsa_auth
ncsa_auth 13209 httpdusr 2u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
ncsa_auth 13210 httpdusr txt REG 9,0 15160 9110109 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/ncsa_auth
ncsa_auth 13210 httpdusr 2u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
ncsa_auth 13211 httpdusr txt REG 9,0 15160 9110109 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/ncsa_auth
ncsa_auth 13211 httpdusr 2u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
ncsa_auth 13212 httpdusr txt REG 9,0 15160 9110109 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/ncsa_auth
ncsa_auth 13212 httpdusr 2u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
ncsa_auth 13213 httpdusr txt REG 9,0 15160 9110109 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/ncsa_auth
ncsa_auth 13213 httpdusr 2u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
squid_uni 13214 httpdusr txt REG 9,0 9804 9110108 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/squid_unix_group
squid_uni 13214 httpdusr 2u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
squid_uni 13215 httpdusr txt REG 9,0 9804 9110108 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/squid_unix_group
squid_uni 13215 httpdusr 2u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
squid_uni 13216 httpdusr txt REG 9,0 9804 9110108 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/squid_unix_group
squid_uni 13216 httpdusr 2u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
squid_uni 13217 httpdusr txt REG 9,0 9804 9110108 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/squid_unix_group
squid_uni 13217 httpdusr 2u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
squid_uni 13218 httpdusr txt REG 9,0 9804 9110108 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/squid_unix_group
squid_uni 13218 httpdusr 2u REG 9,0 4253 9112056 /share/MD0_DATA/.qpkg/Squid/opt/var/squid/logs/cache.log
unlinkd 13219 httpdusr txt REG 9,0 4356 9110111 /share/MD0_DATA/.qpkg/Squid/opt/libexec/squid/unlinkd
4. Lőjük ki a fájlokat nyitva tartó processeket!
[~] # kill 12831
[~] # kill 12833
[~] # kill 13209
[~] # kill 13210
[~] # kill 13211
[~] # kill 13212
[~] # kill 13213
[~] # kill 13214
[~] # kill 13215
[~] # kill 13216
[~] # kill 13217
[~] # kill 13218
[~] # kill 13219
5. Indísunk egy fájlrendszer ellenőrzést:
[~] # e2fsck -f /dev/md0
6. Terjesszük ki a fájlrendszert:
[~] # resize2fs -p /dev/md0
resize2fs 1.41.4 (27-Jan-2009)
The filesystem is already 732174389 blocks long. Nothing to do!
A fenti üzenet volt az eredmény, azaz nem volt már hová kiterjeszkedni.
7. Ezt ellenőrihetjuk az alábbi paranccsal:
[~] # mdadm -D /dev/md0
/dev/md0:
Version : 1.0
Creation Time : Wed May 22 21:12:01 2013
Raid Level : raid1
Array Size : 2928697556 (2793.02 GiB 2998.99 GB)
Used Dev Size : 2928697556 (2793.02 GiB 2998.99 GB)
[további sorok kivágva]
3-ról 6 TB-osra kellett bővíteni a RAID tömböt, mint látható, a webes felület még eddig sem jutott el, hogy fizikailag kiterjessze a tömböt.
8. Terjesszük ki fizikailag a tömböt a meglévő plusz tárhelyre:
[~] # mdadm --grow /dev/md0 --size=max
mdadm: component size of /dev/md0 has been set to 5850567620K
9. Terjesszük ki a fájlrendszert (egy darabig eltart):
[~] # resize2fs -p /dev/md0
resize2fs 1.41.4 (27-Jan-2009)
Resizing the filesystem on /dev/md0 to 1462641905 (4k) blocks.
The filesystem on /dev/md0 is now 1462641905 blocks long.
10. Kapcsoljuk vissza a service-eket az alábbi két paranccsal, ekkor megúszhatjuk a reboot-ot:
[~] # storage_boot_init 2
[~] # /etc/init.d/services.sh start
11. Nekem hibát dobott a storage_boot_init script, hogy nem ismer kettes kapcsolót, így én nem úsztam meg. :)
[~] # reboot