====== 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を指定することで、疎ボリューム(スパース)とすることができる((推奨しません)) # zfs create -s -V 1T tank/hoge ==== 圧縮 ==== # zfs set compression=lz4 tank/hoge ===== nfs ===== nfsで共有((maproot=root ですが,共有先の root ユーザが NFS で共有されたファイルシステムに書き込む際に root として書き込む事を許可します)) 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|変更された| |+|追加された| |-|削除された| |R|Renameされた| 名前の変更 # 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名