Goal
- CentOSにZFSをインストールする
- zfs, zpoolコマンドを使えるようにする
Manual
以下のインストラクションを参考
yum install
yum.conf
# exclude=kernel*
# 上記行をコメントアウトする
sudo su -
cd /usr/local/src
yum localinstall --nogpgcheck https://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm
yum install kernel-devel zfs
##
## 確認
##
which zpool
zpoolコマンドでinsmodエラーが発生する場合
zpoolコマンドが以下のエラーで動かない場合は、後述1, 2の手順でkernel-develとzfs, splをインストールし直す
zpool list
# Failed to load ZFS module stack.
# Load the module manually by running 'insmod <location>/zfs.ko' as root.
1. kernel-develのバージョンをあわせる
kernel-develとkernelのバージョンがあわない場合は、以下のURLを参考にして、kernelバージョンをそろえる
rpm -qa | grep kernel-devel
# kernel-develのバージョン確認
uname -r
# kernelのバージョン確認
2. 正しいkernel-develをもとに、dkmsコマンドでzfs, splビルドしなおす
##
## dkms(Dynamic Kernel Module Support)
## http://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support
## linux kernel moduleを生成するコマンド
##
## ちなみにSPL(Solaris Porting Layer)はZFSに対応するためのSolaris APIを実装するLinuxカーネルモジュールらしい
##
dkms status
# spl, 0.6.3: added
# zfs, 0.6.3: added
SPL_VERSION=0.6.3
ZFS_VERSION=0.6.3
dkms remove -m zfs -v ${ZFS_VERSION} --all
dkms remove -m spl -v ${SPL_VERSION} --all
dkms add -m spl -v ${SPL_VERSION}
dkms add -m zfs -v ${ZFS_VERSION}
dkms install -m spl -v ${SPL_VERSION}
dkms install -m zfs -v ${ZFS_VERSION}
##
## 確認
##
zpool list
# no pools available
# コマンドが正常に動くようになった!
Environment
uname -a
# Linux *** 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/issue
# CentOS release 6.5 (Final)
# Kernel \r on an \m