list=(`echo ".*"`)
В приведенном выше примере подстановка команд не заключена в кавычки, поэтому результирующий вывод подвержен разбиению на слова и подстановке.
for item in ${list[@]}; do echo "$item"; done;
Кроме того, здесь у вас нет кавычек вокруг
${list[@]}
, так что снова , это подвержено разделению слов и подстановке. (Это будет иметь значение, если вы добавите кавычки в задание или если какие-либо совпадающие имена файлов содержат пробелы или символы подстановки...)Если вам нужна просто буквальная строка
.*
, используйтеlist=(".*")
иfor item in "${list[@]}";...
. Если вы хотите использовать подстановку команд, заключите ее в кавычки, например"$(somecmd)"
.См. также:
Использование параметра -b
увеличивает пространство, занимаемое ZVOL, обратно пропорционально указанному размеру блока. В -b 512
я вижу увеличение размера примерно на 50%, поэтому для вашего 600G ZVOL потребуется прибл. 900G свободного места.
Я буду использовать меньший пример на своем ноутбуке, на котором гораздо меньше свободного места, но соотношения для-b 512
:
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 191G 38.0G 88K none
(...snip...)
# zfs create -b 512 -V 30g tank/zvol
cannot create 'tank/zvol': out of space
# zfs create -b 512 -V 24g tank/zvol
# zfs list tank/zvol
NAME USED AVAIL REFER MOUNTPOINT
tank/zvol 36.0G 38.0G 56K -
В -b 512
ZVOL занимает на 50 % больше места, чем предлагает в качестве хранилища. Но в -b 128k
например, накладные расходы намного ниже:
# zfs destroy tank/zvol
# zfs create -b 128k -V 36g tank/zvol
# zfs list tank/zvol
NAME USED AVAIL REFER MOUNTPOINT
tank/zvol 36.1G 38.0G 56K -
https://github.com/openzfs/zfs/issues/548обсуждает взаимодействие между volblocksize (-b )и ashift.
Это zfsonlinux или solaris (Solaris 11 не поддерживает настройку ashift -как есть )?
Что говорит статус zpool?
это пул raidz ?