以下、メモです。
まず、dkms が必要ですが、これは EPEL の RHEL6/CentOS6 向けリポジトリから、.src.rpm を取ってきて再ビルドしてインストールしました。
# rpmbuild --rebuild dkms-2.2.0.3-20.el6.src.rpm # ls /root/rpmbuild/RPMS/noarch dkms-2.2.0.3-20.el7.noarch.rpm # rpm -ivh /root/rpmbuild/RPMS/noarch/dkms-2.2.0.3-20.el7.noarch.rpmつぎに、ZFS をインストールします。もちろん、RHEL7/CentOS7 向けのリポジトリは、まだありませんので、GitHub から最新のソースを取り出してビルドしました。
手順は以下のような感じです。
# mkdir zfs_on_linux # cd zfs_on_linux # git clone https://github.com/zfsonlinux/spl.git # git clone https://github.com/zfsonlinux/zfs.git # cd spl # autoreconf -i ※configureを生成するため、この操作が必要 # ./configure --with-config=user # make rpm-utils rpm-dkms # cd ../zfs # autoreconf -i # ./configure --with-config=user # make rpm-utils rpm-dkms # cd .. # ls -1 spl/*.rpm spl/spl-0.6.2-33_g89aa970.el7.src.rpm spl/spl-0.6.2-33_g89aa970.el7.x86_64.rpm spl/spl-debuginfo-0.6.2-33_g89aa970.el7.x86_64.rpm spl/spl-dkms-0.6.2-33_g89aa970.el7.noarch.rpm spl/spl-dkms-0.6.2-33_g89aa970.el7.src.rpm # ls -1 zfs/*.rpm zfs/zfs-0.6.2-259_gde39ec1.el7.src.rpm zfs/zfs-0.6.2-259_gde39ec1.el7.x86_64.rpm zfs/zfs-debuginfo-0.6.2-259_gde39ec1.el7.x86_64.rpm zfs/zfs-devel-0.6.2-259_gde39ec1.el7.x86_64.rpm zfs/zfs-dkms-0.6.2-259_gde39ec1.el7.noarch.rpm zfs/zfs-dkms-0.6.2-259_gde39ec1.el7.src.rpm zfs/zfs-dracut-0.6.2-259_gde39ec1.el7.x86_64.rpm zfs/zfs-test-0.6.2-259_gde39ec1.el7.x86_64.rpm # yum localinstall spl/spl-0.6.2-33_g89aa970.el7.x86_64.rpm \ spl/spl-dkms-0.6.2-33_g89aa970.el7.noarch.rpm \ zfs/zfs-0.6.2-259_gde39ec1.el7.x86_64.rpm \ zfs/zfs-dkms-0.6.2-259_gde39ec1.el7.noarch.rpm \ zfs/zfs-dracut-0.6.2-259_gde39ec1.el7.x86_64.rpm \ zfs/zfs-test-0.6.2-259_gde39ec1.el7.x86_64.rpmで、試運転結果です。
# uname -a
Linux hoge 3.10.0-121.el7.x86_64 #1 SMP Tue Apr 8 10:48:19 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
# zpool import tank4
# zpool list tank4
NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
tank4   368G   283G  84.5G    77%  1.00x  ONLINE  -
# zpool get all tank4
NAME   PROPERTY               VALUE                  SOURCE
tank4  size                   368G                   -
tank4  capacity               77%                    -
tank4  altroot                -                      default
tank4  health                 ONLINE                 -
tank4  guid                   1893700132493715388    default
tank4  version                -                      default
tank4  bootfs                 -                      default
tank4  delegation             on                     default
tank4  autoreplace            off                    default
tank4  cachefile              -                      default
tank4  failmode               wait                   default
tank4  listsnapshots          off                    default
tank4  autoexpand             off                    default
tank4  dedupditto             0                      default
tank4  dedupratio             1.00x                  -
tank4  free                   84.5G                  -
tank4  allocated              283G                   -
tank4  readonly               off                    -
tank4  ashift                 12                     local
tank4  comment                -                      default
tank4  expandsize             0                      -
tank4  freeing                0                      default
tank4  feature@async_destroy  enabled                local
tank4  feature@empty_bpobj    active                 local
tank4  feature@lz4_compress   active                 local
# zpool status tank4
  pool: tank4
 state: ONLINE
  scan: scrub repaired 12.1G in 1h34m with 0 errors on Sat Apr 26 12:37:25 2014
config:
 NAME                                                        STATE     READ WRITE CKSUM
 tank4                                                       ONLINE       0     0     0
   mirror-0                                                  ONLINE       0     0     0
     ata-HITACHI_HTS725050A9A364_xxxxxxxxxxxxxxxxxxxx-part1  ONLINE       0     0     0
     ata-HGST_HTS721010A9E630_yyyyyyyyyyyyyy-part1           ONLINE       0     0     0
errors: No known data errors
気になる性能は、どうかというと。
# uname -a Linux hoge 3.10.0-121.el7.x86_64 #1 SMP Tue Apr 8 10:48:19 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux # zfs set compression=off tank4/backup # cd /tank4/backup # ls -l sda6.tar -rw-r--r-- 1 root root 10927441920 10月 20 2013 sda6.tar # time tar xf sda6.tar real 3m23.413s user 0m3.932s sys 0m57.623s # time rm -rf test.restore real 0m9.153s user 0m0.167s sys 0m8.924sにわかには信じ難いほど速くなってました!\(^0^)/
ピンと来ない方は、こちら を参照。同じマシン上に、RHEL7.0 RC のマルチブート環境を用意して、実験しています。
ちなみに、RHEL7 のデフォルトのファイルシステムは XFS ですが、マルチブートと相性が悪いのと、SSD 節約のため、Btrfs (compress-force=lzo) を使いました。Btrfs にインストールする手順は、こちら を参照。
2014-05-05追記
el7 向けの EPEL beta が既に公開されているので、dkms はそちらからインストールすれば済みます。
2014-06-17追記
別途用意した RHEL7 + ZOL 0.6.3 環境にて、SELinux をデフォルトの Enforcing にしたまま、tar の展開/削除を試したら、zfs_iput_taskq が大量に CPU 消費して、焦りました。
https://github.com/zfsonlinux/zfs/issues/1953 こちらの現象のようでした。RoadMap 上 0.6.5 で修正目標のようです。
もし、どうしても SELinux が必要なマシンで ZFS 使う方は、お気をつけて。