У меня был 4-дисковый mdraid объемом 8,12 ТБ с ZFS zfsonlinux:
# zpool status
pool: tank
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
md-name-ubuntu:md2 ONLINE 0 0 0
К которому я добавил еще два диска:
# mdadm --add /dev/md2 /dev/sde /dev/sdf
# mdadm --grow /dev/md2 -n 6
Это успешно завершилось:
# mdadm --detail /dev/md2
/dev/md2:
Version : 1.2
Creation Time : Thu Jan 16 01:53:23 2014
Raid Level : raid5
Array Size : 14597903360 (13921.65 GiB 14948.25 GB)
Used Dev Size : 2919580672 (2784.33 GiB 2989.65 GB)
Raid Devices : 6
Total Devices : 6
Persistence : Superblock is persistent
Во время изменения размера ZFS была размонтирована, но не экспортирована. Он по-прежнему сообщает о своем старом размере:
# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
tank 8.12T 7.78T 349G 95% 1.04x ONLINE -
Теперь я попробовал каждый из этих шагов, чтобы расширить его, и все, что кто-то где-то утверждал, работает:
# zpool set autoexpand=on
# zpool export tank
# zpool import tank
Ничего не сделал.
# zpool export tank
# zpool import -o autoexpand=on tank
Ничего не сделал.
# zpool export tank
# zpool import -o expand=on tank
Ничего не сделал.
# zpool online -e tank md-name-ubuntu:md2
Ничего не сделал. Со странным названием тоже не проблема, тоже пробовал
# zpool export tank
# zpool import -d /dev/ tank
# zpool online -e tank md2
За исключением того, что несколько минут спустя, когда я пишу этот пост, таблица разделов, похоже, была обновлена (не знаю, какая из команд, которые я пробовал, вызвала это)
# gdisk -l /dev/md2
Found valid GPT with protective MBR; using GPT.
Disk /dev/md2: 29195806720 sectors, 13.6 TiB
Number Start (sector) End (sector) Size Code Name
1 2048 29195788287 13.6 TiB BF01 zfs
9 29195788288 29195804671 8.0 MiB BF07
Здесь все еще нет изменений:
# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
tank 8.12T 7.78T 349G 95% 1.04x ONLINE -
Изменение размера занимает время? Я не вижу никаких сообщений о текущей операции.
Подходящий проблема с zfsonlinux был решен два года назад (обратите внимание на комментарий, в котором говорится, что два метода, с которыми я не справился, работали).
С помощью zfsutils zfs-dkms Version: 0.6.2-1~saucy
Вам нужно будет либо выгрузить модуль ZFS, либо снова его вставить. или просто перезагрузитесь.
После этого вы можете запустить zpool online -e devicename
и посмотрите новый размер zpool.
Однако должен добавить, что часто использую ZFS поверх аппаратного RAID... Но использовать его поверх программного RAID MD не имеет особого смысла, если у вас нет других ограничений.