TOP ▲ itcore TOPTIPSzfs.php

ZFS インストール CentOS7 | itcore 2018年

インストール

参考
# yum install -y http://download.zfsonlinux.org/epel/zfs-release.el7_4.noarch.rpm
# gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux
# cp -ip /etc/yum.repos.d/zfs.repo /etc/yum.repos.d/zfs.repo_`date "+%Y%m%d"`
# vi /etc/yum.repos.d/zfs.repo
[zfs]
enabled=0
[zfs-kmod]
enabled=1
# yum install -y zfs
# /sbin/modprobe zfs

zpool 作成

# parted -l
エラー: /dev/sdb: ディスクラベルが認識できません。※未使用パーティション
# zpool create pool /dev/sdb
# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
pool 99.5G 273K 99.5G - 0% 0% 1.00x ONLINE -
# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
pool 97G 0 97G 0% /pool
# zpool status
pool: pool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
pool ONLINE 0 0 0
sdb ONLINE 0 0 0

重複排除

重複排除をオン
# zfs set dedup=on pool
# zfs get dedup
NAME PROPERTY VALUE SOURCE
pool dedup on local
pool@20180207 dedup - -
pool@20180207a dedup - -
ダミーファイル作成
# dd if=/dev/zero of=/pool/dummy.dat count=1024 bs=1M
1073741824 バイト (1.1 GB) コピーされました、 7.36538 秒、 146 MB/秒
# ls -l /pool
-rw-r--r-- 1 root root 1073741824 2月 7 18:47 dummy.dat
# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
pool 99.5G 270K 99.5G - 0% 0% 8192.00x ONLINE -
ゼロ書き込みが圧縮されているためほとんど増えていない。ALLOC

圧縮

圧縮をオン
# zfs set compression=on pool
# zfs get compression
NAME PROPERTY VALUE SOURCE
pool compression on local
pool@20180207 compression - -
pool@20180207a compression - -

スナップショット

スナップショットを作成
# zfs snapshot pool@20180207
# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
pool@20180207 0B - 1.00G -
# ls -l /pool
-rw-r--r-- 1 root root 1073741824 2月 7 18:47 dummy.dat

ファイルを削除
# /bin/rm /pool/dummy.dat
# ls -l /pool
合計 0

スナップショットを作成
# zfs snapshot pool@20180207a

スナップショットの差分を表示
# zfs diff pool@20180207 pool@20180207a
- /pool/dummy.dat
M /pool/
※ M:変更 -:削除 +:追加 R:リネーム

スナップショット一覧
# ls -l /pool/.zfs/snapshot/
drwxrwxrwx 1 root root 0 2月 7 18:56 20180207
drwxrwxrwx 1 root root 0 2月 7 18:56 20180207a

スナップショットのファイルを参照
# ls -l /pool/.zfs/snapshot/20180207
-rw-r--r-- 1 root root 1073741824 2月 7 18:47 dummy.dat