Расширяете ZFS на MDRaid?
У меня был 4-дисковый mdraid 8.12TB с 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
1 ответ
Вам нужно будет либо выгрузить модуль ZFS и заново установить его, либо просто перезагрузиться.
После этого вы можете запустить zpool online -e devicename
и увидеть новый размер Zpool.
Тем не менее, я должен добавить, что я часто использую ZFS поверх аппаратного RAID... Но использовать его поверх программного RAID MD не имеет особого смысла, если у вас нет других ограничений.