Debian jessie で ZFS を使用する
自宅のファイルサーバを Gentoo から Debian に変更するついでにストレージ部分に ZFS を使用してみようと思ったので、Debian で ZFS を使う為のテストメモです。
次のリンク先を読みながら進めたつもりです。
How to install and configure ZFS on Linux using Debian Jessie 8.1
まずはテストで Debian jessie 8.3 の上に KVM 仮想マシンを構築しました。 環境は次の通り
構築するストレージプール
1GB のディスクイメージを2つ作成してミラーを構成し、 dedup を有効にする。
システムとリポジトリの更新
ZFS on Linux のリポジトリを apt-get で取れるようにリポジトリの情報を更新します。
# 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 upgrade
ZFS on Linux パッケージのインストール
# apt-get install lsb-release # apt-get install debian-zfs # shutdown -r now
ストレージプールのセット
まずはディスクイメージを2つ作成します。
# cd /mnt # dd if=/dev/zero of=image1.img bs=1M count=1024 # dd if=/dev/zero of=image2.img bs=1M count=1024
次にストレージプールの作成します。
# zpool list no pools available # zpool create tank mirror /mnt/image1.img /mnt/image2.img # zpool status pool: tank state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 /mnt/image1.img ONLINE 0 0 0 /mnt/image2.img ONLINE 0 0 0 errors: No known data errors # zpool list NAME SIZE ALLOC FREEEXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT tank 1008M 64K 1008M - 0% 0% 1.00x ONLINE -
dedup に値をセットしてストレージ内の重複ブロックを排除します。
# zfs set dedup=verify tank # zfs get dedup NAME PROPERTY VALUE SOURCE tank dedup verify local
重複が排除できているかテストする
# cd /tank # dd if=/dev/zero of=deduptest.img bs=1M count=256 # ls -lah deduptest.img -rw-r--r-- 1 root root 256M Feb 3 XX:XX deduptest.img # zpool list NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT tank 1008M 270K 1008M - 0% 0% 2048.00x ONLINE -
DEDUP=2048.00xになっているので大丈夫っぽい。
とりあえずこんなところで。