ZFS on SDHC
私のPC環境は以下のとおりです。
PC:Dell Inspiron mini 9
OS:Ubuntu Linux 8.10
CPU:Atom 1.6 GHz
Mem:2 GB
HDD:SSD 8 GB
SDHC スロットが付いているので SDHC を突っ込んで使っています。
Linux では ZFS が使えませんが、FUSE 経由で使えるとのことなので
(FUSE について理解していませんが)
グーグリングしながら我が Ubuntu にインストールしてみました。
※なんか、8.10 では gcc 関連のエラーが出てしまいますので Workaround が必要です。
zfs-fuse
https://developer.berlios.de/projects/zfs-fuse/
・解凍します
tar jxf zfs-fuse-0.5.0.tar.bz2
・INSTALL を見ます
cat INSTALL
・必要なものをインストール(apt-get) or ダウンロードします
* fuse, fuse-utils and/or libfuse (and associated -dev packages)
* libaio and libaio-dev (or libaio-devel) packages.
* zlib (and associated headers usually provided by -dev package).
* SCons (packaged in most distributions)
・次のものはソースファイルからコンパイルして /usr/local にインストールする必要があるかも
* zlib (and associated headers usually provided by -dev package).
http://zlib.net
* fuse-2.7.4
http://fuse.sourceforge.net/
・上から順にインストール(apt-get install)すると吉 (たぶん依存関係でこうなるはず)
scons
libaio1
libaio-dev
libc6
libc6-dev
・zlib, fuse を configure, make, make install します。
./configure --prefix=/usr/local ぐらいはしておきましょう
・zfs-fuse-0.5.0 の中に src ディレクトリがありますので cd します
cd src
・コンパイルします
scons
・で、ここでエラーで止まっちゃいますので Workaround を発動させます
src ディレクトリに SConstruct ファイルがあり、その 14行目に CCFLAGS に関する記述があります。
その行の中の「-Werror」を削除します。
env['CCFLAGS'] = Split('-pipe -Wall -Werror -std=c99 -Wno-switch -Wno-unused -Wno-missing-braces -Wno-parentheses -Wno-uninitialized -fno-strict-aliasing -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DTEXT_DOMAIN=\\"zfs-fuse\\" -DLINUX_AIO')
・そのあとは scons, scons install で OK です。
※いい忘れましたが、必要に応じて sudo して下さい。
・各コマンド類は /usr/local/sbin に入っていますが、zfs-fuse デーモンが自動的に起動するわけじゃないので、/etc/init.d/zfs-fuse などを作成して以下の用に記述しておきます。
/usr/local/sbin/zfs-fuse
sleep 2
/usr/local/sbin/zpool import
sleep 2
/usr/local/sbin/zfs mount -a
※sleep はお好みで挿入下さい。
※わたしは zpool のみで運用してますので最後の zfs mount -a は zfs 操作してる人は必須です。
zpool を import -a とかで全部インポートとか・・・できないですよね。
・では早速 zpool を作ってみましょう。
cd /usr/local/sbin
./zfs-fuse
./zpool create
ex) ./zpool create sdhc-pool /dev/sdb
・必要に応じて zfs を作成しましょう。
ex) ./zfs create
※zpool を作ると /
zfs create 時の
具体的には・・・
○ zfs create sdhc-pool/zfs
× zfs create /sdhc-pool/zfs
実際にコマンド打ってみるとよくわかります。