LinuxでのZFS利用手順
-
Author: uncho
前々から気になっていたファイルシステムであるZFSですが、GPLとのライセンスの相性?が悪い性でLinuxで利用できなかったZFSが、カーネルモジュールとして http://zfsonlinux.org/ で配布されていたので使ってみました。既にいろんな方が試されていますが、具体的なインストール方法と使い方が書かれているサイトが少なかったのでメモとして投稿します。
なお、今回はFedora15へインストールするので、コンパイルしてRPMパッケージを作成してみます。
まずは、コンパイルするソースをダウンロードします。SPLとZFSの2つのソースが必要ですのでwgetで取得します。バージョン番号は2011/8/12時点で最新のもの。ダウンロードの際はhttp://zfsonlinux.org/で最新バージョンを確認した上でダウンロードします。
wget http://github.com/downloads/zfsonlinux/spl/spl-0.6.0-rc5.tar.gz
wget http://github.com/downloads/zfsonlinux/zfs/zfs-0.6.0-rc5.tar.gz
コンパイルをする前に必要なライブラリ等をインストール。(なお環境によっては他のライブラリが必要になる場合もある)
yum install kernel-devel
yum install rpm-build
yum install zlib-devel
yum install libuuid-devel
yum install lsscsi
いよいよコンパイル作業とインストール。まずはSPLから。
tar xvfz spl-0.6.0-rc5.tar.gz
cd spl-0.6.0-rc5
./configure
make rpm
rpm -Uvh *.x86_64.rpm
次はZFSのコンパイルとインストール。
tar xvfz zfs-0.6.0-rc5.tar.gz
cd zfs-0.6.0-rc5
./configure<br />
make rpm
rpm -Uvh *.x86_64.rpm
これでLinuxでZFSが利用できるようになりました。まずはストレージプールを作成してみます。プール名はmypoolで。
単一のHDDのみをプールに利用するには、
zpool create mypool /dev/sdx
耐障害性を高める為、複数のHDDでRAIDを構成する場合は、(3台以上のHDDが必要)
zpool create mypool raidz /dev/sdx /dev/sdy /dev/sdz
ストレージプールにHDDを新規に追加するには下記コマンドで。 ただし既にRAIDZが構成されたとこにHDDを追加することは出来ないみたい。
zpool add mypool /dev/sdv
作成したストレージプールのリストを見るには、
zpool list
ストレージプールの状態を確認するには、
zpool status
ストレージプールを作成しただけだと、まだファイルシステムとして利用できないので、zfsコマンドで利用できるようにします。
homeという名のファイルシステムを作成するには、
zfs create mypool/home
これでZFSのファイルシステムを利用できるようになりました。コレでも十分ですが、仮想マシンのストレージとして使う場合等ではデバイスファイルとしてZFSを利用できた方が良い場合があります。その場合は下記コマンドでZFSをデバイスファイルで利用出来るようにします。
zfs -V 30g mypool/dev01
上記のコマンドを実行することで/dev配下にデバイスファイルが作成されます。「/dev/zvol/mypool/dev01」