Тут решил поиграться и проверить, что за штука ZFS. Признаюсь честно, я бы удивлён скоростью данной файловой системы и простотой конфигурирования. БД, которая была установлена, по крайней мере в 4 раза быстрее производила операции update и insert, чем на той же конфигурации с UFS.
Далее опишу примеры работы с данной системой.
Создаём файловую систему на которой будут крутиться скрипты обработки БД, а именно будут зеркалирую диски и монтирую раздел к /usr/DB
# zpool create -m /usr/DB usrdb mirror c1t2d0s6 c1t3d0s6
Затем создаю RAID массив пяти дисков с монтированием к /usr/DB/space, на котором собственно будут храниться данные
# zpool create -m /usr/DB/space dbspace raidz c0t4d0s6 c0t5d0s6 c0t8d0s6 c0t9d0s6 c0t10d0s6
И просто создаю раздел из трёх дисков, куда буду скидывать различные файлы из видовозной сети.
# zpool create -m /home/samba samba /dev/dsk/c1t11d0s6 c1t12d0s6 c1t13d0s6
Далее смотрим какие пулы созданы в системе.
#zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
dbspace 340G 162G 178G 47% ONLINE -
samba 204G 134G 69.9G 65% ONLINE -
usrdb 68G 27.3G 40.7G 40% ONLINE -
Все эти системы будут автоматически подмонтированы при загрузке ОС.
Чтобы посмотреть конфигурацию пула выполняем
# zpool status -v samba
pool: samba
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
samba ONLINE 0 0 0
c1t11d0s6 ONLINE 0 0 0
c1t12d0s6 ONLINE 0 0 0
c1t13d0s6 ONLINE 0 0 0
errors: No known data errors
# zpool status -v dbspace
pool: dbspace
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
dbspace ONLINE 0 0 0
raidz ONLINE 0 0 0
c1t4d0s6 ONLINE 0 0 0
c1t5d0s6 ONLINE 0 0 0
c1t8d0s6 ONLINE 0 0 0
c1t9d0s6 ONLINE 0 0 0
c1t10d0s6 ONLINE 0 0 0
errors: No known data errors
# zpool status -v usrdb
pool: usrdb
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
usrdb ONLINE 0 0 0
mirror ONLINE 0 0 0
c1t2d0s6 ONLINE 0 0 0
c1t3d0s6 ONLINE 0 0 0
errors: No known data errors
Всё замечательно работает, записывают данные на массив dbspace и решаю поменять винт в массиве на другой выполняю команду
#zpool replace dbspace c1t9d0s6 c1t14d0s6
Происходит пересборка массива и при этом активно работает БД, после окончания данной операции запускаю
# zpool status -v dbspace
pool: dbspace
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
dbspace ONLINE 0 0 0
raidz ONLINE 0 0 0
c1t4d0s6 ONLINE 0 0 0
c1t5d0s6 ONLINE 0 0 0
c1t8d0s6 ONLINE 0 0 0
c1t14d0s6 ONLINE 0 0 0
c1t10d0s6 ONLINE 0 0 0
errors: No known data errors
Видим что в RAID поменялся один из дисков, и поменянный спокойно удаляю из сервера. Всё работает без ошибок.
А еще мне понравилось что параметры файловой системы можно менять на ходу, например для samba. Имеем следующие параметры:
# zfs get all samba
NAME PROPERTY VALUE SOURCE
samba type filesystem -
samba creation Wed Dec 6 9:09 2006 -
samba used 134G -
samba available 66.7G -
samba referenced 134G -
samba compressratio 1.00x -
samba mounted yes -
samba quota none default
samba reservation none default
samba recordsize 128K default
samba mountpoint /home/samba local
samba sharenfs off default
samba checksum on default
samba compression off default
samba atime on default
samba devices on default
samba exec on local
samba setuid on local
samba readonly off default
samba zoned off default
samba snapdir hidden default
samba aclmode groupmask default
samba aclinherit secure default
Выключаем не нужные параметры
# zfs set setuid=off samba
# zfs set exec=on samba
Проверяем изменения
# zfs get all samba
NAME PROPERTY VALUE SOURCE
samba type filesystem -
samba creation Wed Dec 6 9:09 2006 -
samba used 134G -
samba available 66.7G -
samba referenced 134G -
samba compressratio 1.00x -
samba mounted yes -
samba quota none default
samba reservation none default
samba recordsize 128K default
samba mountpoint /home/samba local
samba sharenfs off default
samba checksum on default
samba compression off default
samba atime on default
samba devices on default
samba exec off local
samba setuid off local
samba readonly off default
samba zoned off default
samba snapdir hidden default
samba aclmode groupmask default
samba aclinherit secure default
На данную систему можно накладывать квоты. Делать только для чтения и включать компрессию, это видно из параметров. У кого есть желание и время могут поиграться с параметрами. В заключении хочу сказать что данная файловая система оставила положительные впечатления, а что будет дальше жизнь покажет.