これまでは、非dkms対応の 0.6.0-rc8 をビルドして使っていましたので、まずは、こちらを一旦削除してリブートします。
# zfs umount -a # yum remove zfs # rpm -e zfs-modules # yum remove spl # yum remove spl-modules # shutdown -r now
次に、基盤となる dkms をインストールします。こちらは、EPEL に収録されているものを利用しました。
# yum install dkms --enablerepo=epel ... # rpm -qi dkms Name : dkms Relocations: (not relocatable) Version : 2.2.0.3 Vendor: Fedora Project Release : 2.el6 Build Date: Mon 11 Jun 2012 11:39:12 PM JST Install Date: Sun 21 Oct 2012 04:56:02 PM JST Build Host: x86-02.phx2.fedoraproject.org Group : System Environment/Base Source RPM: dkms-2.2.0.3-2.el6.src.rpm Size : 215347 License: GPLv2+ Signature : RSA/8, Fri 15 Jun 2012 08:47:09 AM JST, Key ID 3b49df2a0608b895 Packager : Fedora Project URL : http://linux.dell.com/dkms Summary : Dynamic Kernel Module Support Framework Description : This package contains the framework for the Dynamic Kernel Module Support (DKMS) method for installing module RPMS as originally developed by Dell.
そして、ZFS 本体をインストールします。途中、zfs をリビルドする際に、e2fsprogs-devel と libblkid-devel が依存エラーになったので、追加インストールしました。
# rpm -ivh spl-modules-dkms-0.6.0-rc11.noarch.rpm # rpmbuild --rebuild spl-0.6.0-rc11.src.rpm # rpm -Uvh /root/rpmbuild/RPMS/x86_64/spl-0.6.0-rc11.el6.x86_64.rpm # rpm -Uvh zfs-modules-dkms-0.6.0-rc11.noarch.rpm # yum install e2fsprogs-devel # yum install libblkid-devel # rpmbuild --rebuild zfs-0.6.0-rc11.src.rpm # rpm -Uvh /root/rpmbuild/RPMS/x86_64/zfs-0.6.0-rc11.el6.x86_64.rpm # rpm -Uvh /root/rpmbuild/RPMS/x86_64/zfs-devel-0.6.0-rc11.el6.x86_64.rpm # rpm -Uvh /root/rpmbuild/RPMS/x86_64/zfs-dracut-0.6.0-rc11.el6.x86_64.rpm # rpm -Uvh /root/rpmbuild/RPMS/x86_64/zfs-test-0.6.0-rc11.el6.x86_64.rpm # shutdown -r now
各種モジュールがロードされていること、zfs 領域が見えることを確認して完了です。
# lsmod | grep zfs zfs 1104868 0 zcommon 43286 1 zfs znvpair 47487 2 zfs,zcommon zavl 6925 1 zfs zunicode 323120 1 zfs spl 253420 5 zfs,zcommon,znvpair,zavl,zunicode # zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT tank1 59.5G 1.02M 59.5G 0% 1.00x ONLINE - # zfs list NAME USED AVAIL REFER MOUNTPOINT tank1 920K 58.6G 104K /tank1
これで、新しいカーネルにアップデートする際、今までよりも手間が減ることになります。現在の dkms の状態を見ると、次のようになっています。
# dkms status spl, 0.6.0, 2.6.32-279.11.1.el6.x86_64, x86_64: installed zfs, 0.6.0, 2.6.32-279.11.1.el6.x86_64, x86_64: installed spl, 0.6.0, 2.6.32-279.5.1.el6.x86_64, x86_64: installed-weak from 2.6.32-279.11.1.el6.x86_64 zfs, 0.6.0, 2.6.32-279.5.1.el6.x86_64, x86_64: installed-weak from 2.6.32-279.11.1.el6.x86_64 spl, 0.6.0, 2.6.32-279.el6.x86_64, x86_64: installed-weak from 2.6.32-279.11.1.el6.x86_64 zfs, 0.6.0, 2.6.32-279.el6.x86_64, x86_64: installed-weak from 2.6.32-279.11.1.el6.x86_64現時点で最新の 2.6.32-279.11.1.el6 を使っていますが、残してある古いカーネルでも zfs が動く状態になっていることが確認できます。
そのうち、新しいカーネルが出てきたらアップデートして、追加レポートしたいと思います。
2012-11-07追記
本日、新しいカーネル 2.6.32-279.14.1.el6 が出てきましたので、早速インストールしました。
# uname -a Linux xxxx 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 23:43:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux # dkms status spl, 0.6.0, 2.6.32-279.11.1.el6.x86_64, x86_64: installed zfs, 0.6.0, 2.6.32-279.11.1.el6.x86_64, x86_64: installed spl, 0.6.0, 2.6.32-279.14.1.el6.x86_64, x86_64: installed-weak from 2.6.32-279.11.1.el6.x86_64 zfs, 0.6.0, 2.6.32-279.14.1.el6.x86_64, x86_64: installed-weak from 2.6.32-279.11.1.el6.x86_64 spl, 0.6.0, 2.6.32-279.5.1.el6.x86_64, x86_64: installed-weak from 2.6.32-279.11.1.el6.x86_64 zfs, 0.6.0, 2.6.32-279.5.1.el6.x86_64, x86_64: installed-weak from 2.6.32-279.11.1.el6.x86_64 spl, 0.6.0, 2.6.32-279.el6.x86_64, x86_64: installed-weak from 2.6.32-279.11.1.el6.x86_64 zfs, 0.6.0, 2.6.32-279.el6.x86_64, x86_64: installed-weak from 2.6.32-279.11.1.el6.x86_64 # lsmod | grep zfs zfs 1104868 1 zcommon 43286 1 zfs znvpair 47487 2 zfs,zcommon zavl 6925 1 zfs zunicode 323120 1 zfs spl 253420 5 zfs,zcommon,znvpair,zavl,zunicode # zfs list NAME USED AVAIL REFER MOUNTPOINT tank1 932K 58.6G 104K /tank1このとおり、以前のように再ビルドすることなく、ZFS 領域が使えました。大変便利になったと思います。
2013-04-02追記
0.6.1 がリリースされ、CentOS 6 向けのバイナリの yum リポジトリが提供されたので、こちらを参照してください。
2013-06-29追記
モジュールをコンパイルした際の古いカーネル(上記の例なら 2.6.32-279.11.1.el6)を削除してしまうと、モジュールも削除されてしまい、新カーネル(2.6.32-279.14.1.el6)で ZFS が使えなくなってしまいます。
その場合、次のコマンドで再コンパイルすれば良いです。
# dkms install -m spl -v 0.6.1 # dkms install -m zfs -v 0.6.1
0 件のコメント:
コメントを投稿