コンピュータ/ソフトウェア関連Tips

本文へ

ZFS polを認識しなくなったときの対処

更新: 2013年06月08日(土) 13:02
公開: 2013年06月08日(土) 13:02

ZFS on LINUXを使っているのだが、ZFS poolを認識しなくなった。

$ sudo zpool status

Failed to load ZFS module stack.
Load the module manually by running 'insmod <location>/zfs.ko' as root.
Failed to load ZFS module stack.
Load the module manually by running 'insmod <location>/zfs.ko' as root.

あ、そういえば、yum updateしたっけ。

以前も似たようになった。そのときのメモが見つからない。もう一度手探りで作業か...。

まず、ZFS on LINUXのセットアップ時に参照したサイトを改めてチェック。

http://sios-oss.blogspot.jp/2012/02/zfs-on-linux1zfs-on-linux.html

http://sios-oss.blogspot.jp/2012/03/zfs-on-linux1zfs.html

$ cat /proc/filesystems

結果にnodev zfsが出現しない。

インストール済パッケージをチェックしてみる。

$ rpm -qa|grep zfs
zfs-dracut-0.6.0-rc11.x86_64
zfs-modules-0.6.0-rc11_2.6.32_279.9.1.el6.x86_64
zfs-devel-0.6.0-rc11.x86_64
zfs-0.6.0-rc11.x86_64
zfs-test-0.6.0-rc11.x86_64
zfs-modules-devel-0.6.0-rc11_2.6.32_279.9.1.el6.x86_64

似たような症状の方がいた。

http://ubuntuforums.org/showthread.php?t=2094882

この方は、modprobeしていたので、真似してみる。

$ modprobe zfs
FATAL: Module zfs not found.

モジュールを探してみる。

$ find /lib/modules -name zfs.ko
/lib/modules/2.6.32-279.9.1.el6.x86_64/addon/zfs/zfs/zfs.ko

insmodしてみる。

$ sudo insmod /lib/modules/2.6.32-279.9.1.el6.x86_64/addon/zfs/zfs/zfs.ko
insmod: error inserting '/lib/modules/2.6.32-279.9.1.el6.x86_64/addon/zfs/zfs/zfs.ko': -1 Unknown symbol in module
$ cat /proc/version
Linux version 2.6.32-279.22.1.el6.x86_64 (mockbuild@c6b10.bsys.dev.centos.org) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Wed Feb 6 03:10:46 UTC 2013

やっぱりyum updateでカーネルバージョンが変わったせい?

ZFS on LINUXを再インストールすることに決定。

$ wget http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.0-rc14.tar.gz
$ wget http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.0-rc14.tar.gz
$ tar xzvf spl-0.6.0-rc14.tar.gz
$ cd spl-0.6.0-rc14
$ ./configure
$ make rpm
$ sudo rpm -Uvh *.x86_64.rpm

エラー: 依存性の欠如:
        spl-modules = 0.6.0-rc11_2.6.32_279.9.1.el6 は (インストール済み)zfs-modules-0.6.0-rc11_2.6.32_279.9.1.el6.x86_64 に必要とされています
        spl-modules-devel = 0.6.0-rc11_2.6.32_279.9.1.el6 は (インストール済み)zfs-modules-devel-0.6.0-rc11_2.6.32_279.9.1.el6.x86_64 に必要とされています

先に zfs関係を削除しなければダメなようだ。

$ rpm -qa spl* zfs*
zfs-dracut-0.6.0-rc11.x86_64
zfs-modules-0.6.0-rc11_2.6.32_279.9.1.el6.x86_64
zfs-devel-0.6.0-rc11.x86_64
zfs-0.6.0-rc11.x86_64
zfs-test-0.6.0-rc11.x86_64
zfs-modules-devel-0.6.0-rc11_2.6.32_279.9.1.el6.x86_64

1個づつ削除。

$ sudo rpm -e zfs-modules-0.6.0-rc11_2.6.32_279.9.1.el6.x86_64
エラー: 依存性の欠如:
        zfs-modules は (インストール済み)zfs-0.6.0-rc11.x86_64 に必要とされてい ます
$ sudo rpm -e zfs-0.6.0-rc11.x86_64
エラー: 依存性の欠如:
        zfs は (インストール済み)zfs-devel-0.6.0-rc11.x86_64 に必要とされていま す
        zfs は (インストール済み)zfs-test-0.6.0-rc11.x86_64 に必要とされています
$ sudo rpm -e zfs-test-0.6.0-rc11.x86_64
$ sudo rpm -e zfs-devel-0.6.0-rc11.x86_64
$ sudo rpm -e zfs-0.6.0-rc11.x86_64
$ sudo rpm -e zfs-modules-devel-0.6.0-rc11_2.6.32_279.9.1.el6.x86_64
$ sudo rpm -e zfs-modules-0.6.0-rc11_2.6.32_279.9.1.el6.x86_64

splをインストール。

$ sudo rpm -Uvh *.x86_64.rpm
準備中...                ########################################### [100%]
   1:spl-modules            ########################################### [ 33%]
   2:spl                    ########################################### [ 67%]
   3:spl-modules-devel      ########################################### [100%]

うまくいった。

続いて、zfs。

$ cd ..
$ tar xzvf zfs-0.6.0-rc14
$ cd zfs-0.6.0-rc14
$ ./configure
$ make rpm
$ sudo rpm -Uvh *.x86_64.rpm
準備中...                ########################################### [100%]
   1:zfs-modules            ########################################### [ 17%]
   2:zfs                    ########################################### [ 33%]
   3:zfs-devel              ########################################### [ 50%]
   4:zfs-dracut             ########################################### [ 67%]
   5:zfs-test               ########################################### [ 83%]
   6:zfs-modules-devel      ########################################### [100%]

うまくいった。

再起動。

$ cat /proc/filesystems|grep zfs
nodev   zfs

やったぜ。さて、このあとどうしたっけかな。

$ sudo zpool status

  pool: zfspool
 state: ONLINE
status: The pool is formatted using a legacy on-disk format.  The pool can
        still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
        pool will no longer be accessible on software that does not support
        feature flags.
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zfspool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdc     ONLINE       0     0     0

errors: No known data errors

ん? 何もしなくて良いのか?

確認したら、ちゃんとマウントされている。ほっと一安心。

やっぱ、自分のスキルでは、ZFS on LINUXは難しすぎる...。

こんな記事があった。

http://luna2-linux.blogspot.jp/2012/10/dkms-zfs-on-linux-centos-63.html

同一カテゴリーの記事

Tags: LINUX CentOS

© Someone in the TERRA

編集