目次

30 ZFS Linux

install

CentOS7

yum install http://download.zfsonlinux.org/epel/zfs-release.el7_8.noarch.rpm

CentOS8

dnf -y install http://download.zfsonlinux.org/epel/zfs-release.el8_1.noarch.rpm
# cat /etc/yum.repos.d/zfs.repo | grep '^\[\|^enable'
[zfs]
enabled=1
[zfs-kmod]
enabled=1

zfsとzfs-kmodをenabledにしてから、zfsインストール

yum -y  install zfs

create pool

zpool create pool01 /dev/rbd0

pool config

zfs set compress=lz4 pool01
zfs set sync=disabled pool01
zfs set dedup=on pool01
zpool set autotrim=on pool01

export

pool のマウントを外す

zpool export pool01

import

※pool名のrenameは無いが、import時に[new poolname]を指定してpool名を変更できる

zpool import pool01 [new poolname]

※メモ: Ceph rbdを利用してて、もともとxfsドライブをアタッチしていた/dev/rbd0をunmapして、
その後zfsのドライブをmapしてimportしようとすると、import が無いというメッセージが出ることがあった。
その場合、再起動すればどこにmapしてもimport 可能でした。

ZVOL

下記の例では、10Gのpoo/01/zvol01を作成する。
※「-s」でスパースzvolを作成。オーバーコミットできる。

zfs create -s -o volblocksize=128k -V 10G pool01/zvol01

作成後は、zdデバイスが作成されている

# ll /dev/zvol/onapp2/cc 
lrwxrwxrwx 1 root root 9 Jul 24 15:40 /dev/zvol/pool01/zvol01 -> ../../zd0

ZVOL resize

zfs set volsize=100G pool01/zvol01

確認

# zfs list -o name,volsize
NAME           VOLSIZE
pool01               -
pool01/zvol01       100G

Error

The ZFS modules are not loaded.
Try running '/sbin/modprobe zfs' as root to load them.

対応

modprobe してやればOK

/sbin/modprobe zfs