現在のところ雑多な情報を羅列しています。
用語: プール、データセット、ファイルシステム、ボリューム

プール
- 物理的なドライブやパーティションを束ねた全体的な記憶域
- zpoolコマンドで操作する
データセット
- プールから切り出す仮想的なファイルシステムやボリュームのこと
- zfsコマンドで操作する
ファイルシステム
- マウントしてファイルを置くことができるデータセット
- ext4、xfs、Btrfsなどに相当する
- zfsコマンドで操作する
ボリューム
- ブロックデバイスとして使えるデータセット
- LVMなどに相当する
プールの操作
プールの作成
zpool create {プール名} {ディスク} ...- diska全体からプールを作る:
zpool create pool0 /dev/diska- ディスク全体からプールを作るのが原則(管理性、パフォーマンス)。ただしEFI領域などが必要な場合はパーティションから作る。
- diska1パーティションからプールを作る:
zpool create pool0 /dev/diska1 - diska1, diskb1パーティションからRAID1のプールを作る:
zpool create pool0 mirror /dev/diska1 /dev/diskb1
プールの確認
- プールの一覧を確認:
zpool list - プールの内容を確認:
zpool status
プールの削除
zpool destroy pool0
プールのプロパティ
プールにはプロパティがあり取得や設定ができる。
- 属性の取得:
zpool get プロパティ プール - 属性の設定:
zpool set プロパティ=on/off プール
たとえば autoexpand プロパティをオンにするには次のようにする。
zpool set autoexpand=on pool0
プロパティにはプール作成時のみ設定できるものがある。
たとえばセクタサイズを指定する ashift はプール作成時にのみ設定できるため、プールを次のように作成する。
zpool create -o ashift=12 pool0 /dev/diska
ashift はセクタサイズを2の何乗バイトにするか指定する。
ashift=12 は2の12乗=4,096バイトをセクタサイズとする。
未整理メモ
- データセットの操作:
- ファイルシステム:
- 作成:
zfs create pool0/filesystem0- デフォルトで
/pool0/filesystem0にマウントされる - 別の場所にマウントしたい場合:
zfs create -o mountpoint=/mnt/test pool0/filesystem0 - 圧縮を有効にしたい場合:
zfs create -o compression=lz4 /pool0/filesystem0- compressionには
lz4(デフォルト),zstd,gzip,gzip-N(Nは1から9),lzjb,zleなどが指定できる
- compressionには
- デフォルトで
- 確認:
zfs list
- 作成:
- ボリューム:
- 作成:
zfs create -V 10g pool0/volume0- ファイルシステムにマウントされず、
/dev/zvol/pool0/volume0でブロックデバイスとして参照される
- ファイルシステムにマウントされず、
- 作成:
- ファイルシステム:



