Summary ¶
前回の初期化試験で背面にあるリセットボタン3秒押しでの admin アカウントパスワード時に暗号化ボリュームのロックがされず、中身が閲覧できてしまうバグを見つけました。 QNAP にもサポートチケットを切って確認したが仕様ということなので QTS の利用を諦らめた。ため、 TrueNAS Scale のテストと構築を試してみる。
設計 ¶
Slot | 用途 | |
---|---|---|
QTS Version | QTS 5.1.2.2533 | |
PCIE | 10GbE x2 | QXG-25G2SF-CX6 |
Memory | 16GB x2 | Kingston C8D24D4S7D8K1A - 16 |
M.2 PCIe SSD 1,2 | WD Red SN700 | |
3.5’’ SATA HDD 1,2 | Data | WD WUH721816ALE6L4 16TB |
3.5’’ SATA SSD 5,6 | VM Store | Samsung 870 EVO |
USB HDD | バックアップ用 | Toshiba MG08ACA16TE |
弊宅のハードウェアを再掲する。
TrueNAS Scale は ZFS でストレージを構成するため ZFS の構成を調査する
ZFS にはキャッシュ機能が複数あり通常であれば ARC(DRAM) がこれとなる。 ARC は読み書きのキャッシュとして利用され TrueNAS Scale 23.10 時点では RAM 容量の 50% が自動で割り当てられる。
書込みキャッシュ ¶
- ZIL/SLOG
- Pool 設定の
Log VDEVs
に該当する - 設定すると ネットワークまたはアプリーケーションからくる書き込みリクエストを 5秒間キャッシュとして書き込む
- 書き込み中の電源損失はデータロストになる可能性があるためUPSなどを設置する必要がある
- 書き込みドライブはミラーを推奨
- 容量の推奨下記
- 式: ((
<Network Speed>
*1000*1000)/8)*5=<必要容量(MB)>
Network Speed 必要容量(MB) 1.0Gbps 625 2.5Gbps 1,562 10.0Gbps 6,250 20Gbps 12,500
- 式: ((
- Pool 設定の
読込みキャッシュ ¶
- ARC
- RAM で実施される 読込み/書き込みキャッシュ
- 搭載 RAM の 50% が標準で使われる
- L2ARC
- Pool 設定の
Cache VDEVs
に該当する - RAM が 64GB 以下の場合は設定するべきではない
- L2 キャッシュ ARC に収まらないキャッシュデータを NVMe などの高速ストレージで保持することで読み取り性能を上げる
- 大事なのはランダム読み取りパフォーマンス
- 複数 Pool にまたがる L2ARC は作れない(専用で用意する必要がある)
- 容量は RAM の 1-5倍迄が目安
- L2ARC のセクターあたり 88byte の RAM が必要
- 計算式:
(((<L2ARC容量>*1024*1024)/4096)*88)/1000=<L2ARC RAM 使用量(MB)>
L2ARC容量 L2ARC RAM 使用量(MB) 16GB 360.45 32GB 720.90 64GB 1,441.80 128GB 2,883.58 240GB 5,406.72 256GB 5767.19 480GB 10,813.44 512GB 11,534.34 960GB 21,626.88
- 計算式:
- Pool 設定の
性能比較 ¶
fio で Disk benchmark を走らせて確認することにする。
L2ARC は搭載RAM 64GB 以下では非推奨であるが速度が変わるのか確認する。試験方法は TrueNAS Scale 23.10 内蔵の fio に上記記事で書いた fio.txt を使ってベンチをかける。 Data vDevs は 16TB でメーカー公称と弊宅実測で1台あたり 258MB/s は出る。
結論として弊宅の構成では L2ARC の恩恵は微かである。 1GbE=125MB/s, 10GbE=1,250MB/s であることを考えても SLOG まであれば十分である。 SLOG には 調達済みだったため WD Red SN700 500GB を Miror にして利用する
GiB | ARC | SLOG | L2ARC | SLOG + L2ARC |
---|---|---|---|---|
Read Avg | 646.3 | 895.5 | 527.0 | 704.5 |
Write Avg | 279.6 | 363.5 | 193.8 | 257.3 |
1GiB-RO-SEQ-1MQ08T1 | 1106.0 | 2758.0 | 828.0 | 2459.4 |
1GiB-RO-SEQ-1MQ01T1 | 999.0 | 2845.0 | 1297.0 | 992.4 |
1GiB-RO-RND-4kQ32T1 | 53.0 | 177.0 | 41.0 | 164.6 |
1GiB-RO-RND-4kQ01T1 | 49.0 | 178.0 | 40.0 | 159.3 |
4GiB-RO-SEQ-1MQ08T1 | 1614.0 | 1025.0 | 1049.0 | 1406.3 |
4GiB-RO-SEQ-1MQ01T1 | 1671.0 | 1398.0 | 1089.0 | 1502.4 |
4GiB-RO-RND-4kQ32T1 | 0.7 | 66.0 | 0.9 | 2.8 |
4GiB-RO-RND-4kQ01T1 | 0.7 | 0.8 | 1.0 | 2.4 |
10GiB-RO-SEQ-1MQ08T1 | 1212.0 | 1143.0 | 960.0 | 880.0 |
10GiB-RO-SEQ-1MQ01T1 | 1050.0 | 1155.0 | 1017.0 | 882.5 |
10GiB-RO-RND-4kQ32T1 | 0.5 | 0.5 | 0.7 | 1.4 |
10GiB-RO-RND-4kQ01T1 | 0.5 | 0.6 | 0.7 | 1.2 |
1GiB-RW-SEQ-1MQ08T1 | 663.0 | 2479.0 | 1115.0 | 1695.6 |
1GiB-RW-SEQ-1MQ01T1 | 1591.0 | 434.0 | 506.0 | 524.0 |
1GiB-RW-RND-4kQ32T1 | 219.0 | 266.0 | 1.9 | 118.4 |
1GiB-RW-RND-4kQ01T1 | 246.0 | 255.0 | 62.7 | 126.8 |
4GiB-RW-SEQ-1MQ08T1 | 222.0 | 191.0 | 220.0 | 157.5 |
4GiB-RW-SEQ-1MQ01T1 | 168.0 | 193.0 | 164.0 | 198.4 |
4GiB-RW-RND-4kQ32T1 | 0.5 | 25.0 | 1.0 | 1.5 |
4GiB-RW-RND-4kQ01T1 | 0.8 | 45.0 | 1.5 | 2.6 |
10GiB-RW-SEQ-1MQ08T1 | 121.0 | 207.0 | 127.0 | 128.0 |
10GiB-RW-SEQ-1MQ01T1 | 123.0 | 203.0 | 125.0 | 132.3 |
10GiB-RW-RND-4kQ32T1 | 0.6 | 28.0 | 1.2 | 1.7 |
10GiB-RW-RND-4kQ01T1 | 0.6 | 36.0 | 1.2 | 1.9 |
|
|
最終的な構成 ¶
最初とあまり変わらないが Data Pool の SLOG として SN700 を利用することにしてあとは構成変更せずに作成することにした。
Slot | 用途 | |
---|---|---|
TrueNAS Scale | 23.10 | |
PCIE | 10GbE x2 | QXG-25G2SF-CX6 |
Memory | 16GB x2 | Kingston C8D24D4S7D8K1A - 16 |
USB SSD | OS | SSD-PST250U3BA |
M.2 PCIe SSD 1,2 | SLOG | WD Red SN700 |
3.5’’ SATA HDD 1,2 | Data Pool | WD WUH721816ALE6L4 16TB |
3.5’’ SATA SSD 5,6 | VM Pool | Samsung 870 EVO |
USB HDD | バックアップ用 | Toshiba MG08ACA16TE |
OS 用は USB フラッシュメモリーで妥協予定だったが、 TrueNAS Scale の推奨要件で SSD が推奨されていることと USB フラッシュメモリーは非推奨い現在なっているため USB SSD を購入した。購入前の下調べで TBW や MTBF/MTTR 系の情報が一切なく大丈夫なのかと思ったが通常の USB メモリーより高耐久なのは間違えなさそうなためこちらにすることにした。スペースの問題もあるため飛び出し 17mm は魅力的であった。
実際現物を確認すると、下記の様であったが S.M.A.R.T に対応していて一応健康状態を確認できそうである。ので監視をしっかり仕込めば実用の範囲内に見えるのでこれを OS Disk として利用していく。 TrueNAS Scale は事前の情報で設定情報さえ取ってあれば再インストールで修復することもできると聴いてるのでそれが可能なら設定を自動でバックアップするか、大きめの変更を実施したさいに手動でバックアップを作成して別のストレージに保存すれば OS Disk 障害にも対応できそうである。