(2016-12-26追記)
Linux kernel 4.9.0でも利用可能。
(2016-12-03追記)
Linux kernel 4.8.12でも以下の手順でZoLを利用可能。
Installation
Debian package版ではbuildに失敗した (確か9/8現在で対応しているkernel versionは4.6が最新)ので、gitから直接build & installする。まずはSPL (Solaris Porting Layer)から:
% git clone https://github.com/zfsonlinux/spl.git
% cd spl
% ./autogen.sh
% make
% sudo make install
ZFSも手順は同じ:
% git clone https://github.com/zfsonlinux/zfs.git
% cd zfs
% ./autogen.sh
% make
% sudo make install
これで、spl.koやzfs.koなどのkernel modulesや、zfs、zpool、zdb commandsなどがinstallされるはず。
もしかしたら、buildの際にlibzfsとかのdevelopment package (header file)が必要かも知れない。
Pool作り
まず、zfs関連のkernel moduleをmodprobeして突っ込む。% sudo modprobe zfs
多分、自動的にdependencyが解決されてsplとかも突っ込まれるはず。
% lsmod | grep zfs
あたりでcheckする。
% sudo zpool create -o ashift=12 -f -m <mount_point> <pool> <disks>
ちなみに、最近のHDDはAFTを使っていると思うのでその場合はashift=12を指定すると速くなるとのこと。
zdbが"no such file or directory"を吐く問題
必要な(?) cache fileがgenerateされていないのが原因っぽい。Package systemとかDKMSとかで入れれば何かしらのscriptで自動生成されたりするんだろうか?% sudo mkdir /etc/zfs/
% sudo zpool set cachefile=/etc/zfs/zpool.cache <pool>
これでgenerateされたので、後は好き放題zdbを使えるはず。
% sudo zdb -C -U /etc/zfs/zpool.cache <pool>
でも、
% sudo zdb -S -U /etc/zfs/zpool.cache <pool>
でもissueし放題。
cf. [FAQ · zfsonlinux/zfs Wiki · GitHub](https://github.com/zfsonlinux/zfs/wiki/faq)
In-band deduplication
ZFSを使う利点 (というか動機)にもなるであろうdeduplication (重複排除)だが、どんなdataを抱えているかにもよるが、一度zdb -Sでどのくらい節約できるかを見てみると良い。ratioが2を割るようであれば無駄かなと。何しろ仕組み上ものすごく時間が掛かるし、diskに負荷も掛かるので。
cf. [How To Size Main Memory for ZFS Deduplication](http://www.oracle.com/technetwork/articles/servers-storage-admin/o11-113-size-zfs-dedup-1354231.html)
0 件のコメント:
コメントを投稿