Все команды выполнялись от прав пользователя root.
1. Ставлю Debian 8.0 Jessie (важно!!! чтобы
версия была x64).
2. Устанавливаю
ZFS:
wget
http://zfsonlinux.org/4D5843EA.asc -O - | apt-key add -
wget
http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_6_all.deb
dpkg -i
zfsonlinux_6_all.deb
apt-get update
apt-get install
lsb-release
apt-get install
debian-zfs
reboot
3. Создаю пул:
Проверяю что
установилось.
dpkg -l | grep
zfs
ii debian-zfs 7~jessie amd64 Nati ve ZFS filesystem metapackage for
Debian.
ii libzfs2 0.6.5.6-7 amd64 Nati ve ZFS filesystem library for Linux
ii zfs-dkms 0.6.5.6-7 all Nati ve ZFS filesystem kernel modules for
Linux
ii zfsonlinux 6 all arch ive.zfsonlinux.org trust package
ii zfsutils 0.6.5.6-7 amd64 comm and-line tools to manage ZFS
filesystems
Проверяю какие
диски есть
ls /dev/sd*
/dev/sda /dev/sda1
/dev/sda2 /dev/sda5 /dev/sdb
/dev/sdc
Проверяю есть ли
пул )))
zpool list
no pools
available
Создаю RAID-1
zpool create -f
pool mirror /dev/sdb /dev/sdc
Проверяю:
zpool list
NAME SIZE
ALLOC FREE EXPANDSZ
FRAG CAP DEDUP
HEALTH ALTROOT
pool 9,94G
187K 9,94G -
7% 0% 1.00x
ONLINE -
Проверяю статуса
пулов:
zpool status
pool: pool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
pool ONLINE 0
0 0
mirror-0 ONLINE
0 0 0
sdb ONLINE 0
0 0
sdc ONLINE 0
0 0
errors: No known
data errors
Проверяю его
наличии в системе
df -hT
Файловая система
Тип Размер Использовано Дост Использовано% Cмонтировано в
/dev/root ext4 1,9G 1,3G
424M 76% /
udev devtmpfs 10M 0
10M 0% /dev
tmpfs tmpfs 200M 4,6M
196M 3% /run
tmpfs tmpfs 500M 0
500M 0% /dev/shm
tmpfs tmpfs 5,0M 0
5,0M 0% /run/lock
tmpfs tmpfs 500M 0
500M 0% /sys/fs/cgroup
pool zfs 9,7G 128K
9,7G 1% /pool
4. Тюнингую ZFS:
Включаю сжатие
данных
zfs set
compression=on pool
zfs get compression pool
NAME PROPERTY VALUE SOURCE
pool compression on local
zfs get compression pool
NAME PROPERTY VALUE SOURCE
pool compression on local
Включаю
дедупликацию
zfs set dedup=on pool
zfs get dedup
NAME PROPERTY VALUE SOURCE
pool dedup on local
zfs get dedup
NAME PROPERTY VALUE SOURCE
pool dedup on local
5. Устанавливаю NFS-сервер:
apt-get install
nfs-kernel-server nfs-common
Назначаю права на
ZFS-пул
chown
nobody:nogroup /pool
chmod 777 /pool
Правлю конфиг
сервера (добавив строчку)
nano /etc/exports
/pool 192.168.0.0/24 (rw,async,no_subtree_check)
Перезагружаю NFS-сервер
/etc/init.d/nfs-kernel-server
restart
6. Проверка
подключения на базе Linux клиента:
Устанавливаю сам клиент
apt-get install nfs-common
Создаю папку куда
буду монтировать
mkdir -p /mnt/nfs
Собственно
монтирую
mount
192.168.0.10:/pool /mnt/nfs
Проверяю
df -hT
Файловая
система Тип Размер Использовано Дост Использовано% Cмонтировано в
/dev/root ext4 176G 985M
166G 1% /
udev devtmpfs 10M 0
10M 0% /dev
tmpfs tmpfs 200M 4,5M
196M 3% /run
tmpfs tmpfs 500M 0
500M 0% /dev/shm
tmpfs tmpfs 5,0M 0
5,0M 0% /run/lock
tmpfs tmpfs 500M 0
500M 0% /sys/fs/cgroup
192.168.0.10:/pool
nfs4
9,7G 128K 9,7G 1% /mnt/nfs
Размонтирование
делается обычно
umount /pool
7. Проверка
подключения на базе Windows:
Проверять буду
программой NekoDrive.
Таким образом
создается диск Е куда все и монтируется. Unicode нужно для корректного
отображения кириллицы.
Пример работы сжатия ZFS пула:
Залил на NFS виртуальную машину изначальный размер согласно свойствам Windows - 6,72 ГБ (7 219 906 743 байт).
Проверяю пул (показывает 4,2 Гб)
df -hT
Файловая система Тип Размер Использовано Дост Использовано% Cмонтировано в
/dev/root ext4 1,9G 1,3G 423M 76% /
udev devtmpfs 10M 0 10M 0% /dev
tmpfs tmpfs 200M 4,6M 196M 3% /run
tmpfs tmpfs 500M 0 500M 0% /dev/shm
tmpfs tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs tmpfs 500M 0 500M 0% /sys/fs/cgroup
pool zfs 9,7G 4,2G 5,5G 43% /pool