目次

zfs コマンド

ファイルシステム

ファイルシステムの作成(/tank/home にマウントされる)

# zfs create tank/home

# zfs create -o mountpoint=/mnt/home tank/home

名前の変更

# zfs rename tank/home/kustarz tank/home/kustarz_old
# zfs rename tank/home/maybee tank/ws/maybee

マウントポイントの変更 (マウントポイントを /mnt/home に変更する)

# zfs set mountpoint=/mnt/home tank/home

ファイルシステムの一覧を表示

# zfs list

ファイルシステムのSnapshot一覧を表示

# zfs list -t snapshot

ファイルシステムの削除

# zfs destroy tank/home/tabriz

クローンの作成

snapshotからクローンを作る。特徴はsnapshotと同様差分だけを保持するので容量にやさしい+作るのは一瞬

# zfs clone tank/home/hoge@anytag tank/NewName

ボリューム

ブロックデバイスとして作成される

領域が確保されるので注意

# zfs create -V 1T tank/hoge

-sを指定することで、疎ボリューム(スパース)とすることができる1)

# zfs create -s -V 1T tank/hoge

圧縮

# zfs set compression=lz4 tank/hoge

nfs

nfsで共有2)

zfs set sharenfs="-network 192.168.X.0 -mask 255.255.255.0 -maproot=root" tank/maybee

確認

# zfs get sharenfs

スナップショット

スナップショット作成

# zfs snapshot tank/home@monday

スナップショット削除

# zfs destroy tank/home@monday

ロールバック

# zfs rollback tank/home@monday

スナップショットの相違点

# zfs diff tank/home@monday tank/home@friday
M       /tank/home/
R       /tank/home/fileA -> /tank/home/fileC
+       /tank/home/fileB
-       /tank/home/fileD
識別子ファイルまたはディレクトリの変更
M変更された
+追加された
-削除された
RRenameされた

名前の変更

# zfs rename tank/home@monday tank/home@friday
または
# zfs rename tank/home@monday friday

IO監視

プール単位

# zpool iostat pool名

一定間隔で

# zpool iostat pool名 間隔

詳細も

# zpool iostat -v pool名 間隔

Diskの追加/Poolの作成

# zpool create pool名 /dev/adaxx
# zpool create pool名 raidz /dev/adaxx /dev/adaxx /dev/adaxx
# zpool create pool名 raidz3 /dev/adaxx /dev/adaxx /dev/adaxx /dev/adaxx /dev/adaxx /dev/adaxx

追加

-nでDryRun

# zpool add -n pool名 /dev/adaxx

追加

# zpool add -n pool名 /dev/adaxx

ミラー

# zpool add pool名 mirror /dev/adaxx /dev/adayy

ホットスペア

# zpool add pool名 spare /dev/adaxx 

poolの削除

# zpool destroy pool名
1)
推奨しません
2)
maproot=root ですが,共有先の root ユーザが NFS で共有されたファイルシステムに書き込む際に root として書き込む事を許可します