参考
zfsが超遅い場合
sync=disabledにすると10倍くらい早くなる
zfs set sync=disabled rpool
sync=enabled(初期値)
# pveperf
CPU BOGOMIPS: 22347.96
REGEX/SECOND: 1314685
HD SIZE: 440.39 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND: 42.32
DNS EXT: 146.05 ms
DNS INT: 13.54 ms
sync=disabled(変更後)
# pveperf
CPU BOGOMIPS: 22347.96
REGEX/SECOND: 1381188
HD SIZE: 440.39 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND: 18952.28
DNS EXT: 14.35 ms
DNS INT: 2.19 ms
/をzfsにした場合、compressionが有効になっている
compressionの確認
# zfs get compression
NAME PROPERTY VALUE SOURCE
rpool compression lz4 local
rpool/ROOT compression lz4 inherited from rpool
rpool/ROOT/pve-1 compression lz4 inherited from rpool
rpool/swap compression lz4 inherited from rpool
tank1a compression off default
dedupの確認(念の為)
# zfs get dedup
NAME PROPERTY VALUE SOURCE
rpool dedup off default
rpool/ROOT dedup off default
rpool/ROOT/pve-1 dedup off default
rpool/swap dedup off default
tank1a dedup off default
compressionの無効化
zfs set compression=off rpool
確認
# zfs get compression
NAME PROPERTY VALUE SOURCE
rpool compression off local
rpool/ROOT compression off inherited from rpool
rpool/ROOT/pve-1 compression off inherited from rpool
rpool/swap compression off inherited from rpool
tank1a compression off default
VMのDISK Cacheを変更すること
- VM作成した直後だけなぜかVM起動失敗するが、2回目からは起動する(不思議)
-
Default(No Cache)
だとVMが起動しない-
Write Back
かWrite Through
に設定すること。QEMU tuning
-
KVM
- kvmはcache=writeback か writethroughにする必要がある。
LVMのPVを縮小したい場合
ZFSのキャッシュをSSDにしたい
- /homeをzfs利用(RAID1+SSDをrwのキャッシュに使う)L2ARC - Qiitaを参考に /dev/sdc4, sdc5 をlog, chache に割り当てて利用できた。
ZFSプールの認識に失敗する場合
zpool create rpool mirror /dev/sda1 /dev/sdb1
をしてOS再起動すると、rpoolが見当たらないと言われた。
zpool status -v
解決方法
zpool create 〜
した後、ProxmoxのWebUIからZFSストレージの割り当てをすれば
OS再起動後も認識してくれる。
ZFSボリュームの作成
-
/dev/sdcが119.2GB余っていたため
- log 1GB
- cache 29G 割り当てた。
poolの作成
zpool create tank1a /dev/sda -f
zpool create tank1b /dev/sdb -f
zpool create tank2t /dev/sde -f
zpool add rpool log /dev/sdc1
zpool add rpool cache /dev/sdc5
zpool add tank1a log /dev/sdc2
zpool add tank1a cache /dev/sdc6
zpool add tank1b log /dev/sdc3
zpool add tank1b cache /dev/sdc7
zpool add tank2t log /dev/sdc4
zpool add tank2t cache /dev/sdc8
確認
zpool iostat -v
zfsファイルシステムの削除
- リカバリを途中でやめた場合ゴミが残るので削除したい。
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank1b/subvol-100-disk-1 22K 8.00G 22K /tank1b/subvol-100-disk-1
tank1b/vm-365-disk-1 82.5G 668G 4.00G -
tank1b/vm-365-disk-2 82.5G 645G 27.3G -
削除
zfs destroy tank1b/subvol-100-disk-1
zfs destroy tank1b/vm-365-disk-1
zfs destroy tank1b/vm-365-disk-2