====== tips ======
===== disk指定 =====
Diskを生で扱うと交換時に番号がずれることがある。
Hintファイルで管理する方法もあるがGPTのラベルで扱ってもいける
ここは、未検証があるので後日検証の上書きなおす
==== 参考 ====
* https://freebsd-workshop.slack.com/archives/C053L720KL5/p1682674477814439
===== HDD追加 =====
HDD確認
# dmesg|grep ada
追加
# zpool create backup /dev/ada2
# zpool create pool名 raidz /dev/adaxx /dev/adaxx /dev/adaxx
===== poolが見つからない =====
再起動したが、以下の様にpoolがないと言われる((13.2へのUpdateで発生?))
# zpool list
no pools available
# zfs list
no datasets available
もともとあったのは間違いない
マウントされてない模様
# zpool import
pool: zdata
id: 4334033344455566677
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
zdata ONLINE
ada1 ONLINE
# zpool import zdata
zfs_enable="YES"
これでいけた((rc.confにzfs_enable="YES"必要))
===== 高速化 =====
zfs set atime=off <プール名>
ファイルアクセス時間の記録を止める\\
ONだと読んだだけでスナップショットの容量が増えてしまいます。\\
性能もバンバン落ちるそうです。
atimeが使えなくなるが普通のファイル置き場では困らないはず。\\
メールスプール等には使用しないこと((Dovecotなど、noatmieに対応してる場合は大丈夫です))
値の確認は
zfs get atime
===== Dedup禁止!! =====
ZFSにはdedupという重複排除機能があります。\\
ブロック単位でハッシュをとって同じ内容のブロックか、判断してくれます。\\
なので、1bitだけ違う1GBのファイルが2つあった場合、消費されるディスクは1GBと128KBだけです。\\
なんて素晴らしい。夢のような機能です。
が、が、が、
ブロック単位でハッシュをとると言いました。\\
何処に? メモリです。\\
どれくらい? 1ブロックにつき320Bytes
では、3TBのディスクで計算してみます。\\
zfsのブロックサイズは512B~128KBで可変なので、ザックリ64Kで計算して見ます。
3TB=1024 * 1024 * 1024 * 3 = 3,221,225,472KB
3,221,225,472KB/64KB = 50,331,648Blocks
50,331,648 * 320Bytes = 16,106,127,360 = 約15GBytes
はい、終了。
と言うわけで、あり得ないくらい大量のメモリが必要になります。\\
ディスク容量が小さければ動くかもしれませんが、そもそもzfsを使う意味がない…
その上とどめです。設定したら戻せません((データを書き直さないと元にもどりません))。キリッ
===== 後からzfsをOnにする =====
zfs_load="YES"
↑不要になった模様((2020.10.13 12.1-RELEASE-p9 で確認))
zfs_enable="YES"
# service zfs start
===== Link =====
[[https://qiita.com/ryuinada/items/36535a0e7f1846d89fb6|ZFSのRAIDZの修復とついでに拡張する]]
[[https://people.allbsd.org/~hrs/FreeBSD/sato-FBSD20121207.pdf|zfsの活用とチューニング]]