SSDキャッシュと10GbEは、それぞれ異なる種類の遅延を取り除きます。キャッシュは繰り返し発生するストレージ読み取りを短縮でき、10GbEはNASとクライアント間の転送上限を引き上げます。メタデータ中心のワークロードでは、どちらのアップグレードが適切かを判断する前に測定が必要です。
ネットワークがほぼアイドル状態なのに1台のクライアントが停止する場合、Ethernetを高速化しても、遅いディレクトリ、サムネイル、データベースへのアクセスは改善しません。ストレージの応答が速い一方で、複数のクライアントが1GbEの経路を埋めている場合、その経路を通過できるデータ量をキャッシュで増やすことはできません。
アップグレードを比較する前にボトルネック判定を行う
実際のメタデータ処理中に、ネットワーク使用率、ディスク遅延、IOPS、CPU負荷、メモリ負荷、クライアントの待機時間を記録します。RAMやOSのキャッシュによってストレージ経路が隠れないよう、コールド状態とウォーム状態の両方でテストします。
ストレージがボトルネックの場合、ネットワーク容量に余裕がある一方で、小さなランダムリクエストがプール上でキューに入ります。ネットワークがボトルネックの場合、ストレージ遅延が抑えられたまま、リンクが継続的に飽和します。どちらのパターンも見られない場合は、ハードウェアを購入する前に、アプリケーションのインデックス作成、権限、DNS、クライアントの動作を確認します。
データセット、クライアント、同時実行数、タスクの手順は固定します。ワーキングセットがすでにRAMに収まっている場合、またはアプリケーションがCPUバウンドの場合は、この比較を中止します。SSDキャッシュも10GbEも、支配的な待ち時間には対処できないためです。
SSDキャッシュによって結果が変わる場合
同じメタデータブロックが再読み取りされ、キャッシュヒット率が意味のある水準になり、HDDプールでランダム読み取りの遅延が発生している場合、SSDキャッシュが有効です。L2ARCのランダム読み取りワークロードに関する公開された事例は、ワーキングセットがRAMより大きい場合、フラッシュキャッシュがウォームアップした後にメリットを得られる理由を示しています。ただし、この結果を一度限りのスキャンに一般化すべきではありません。
キャッシュポリシーは重要です。読み取りキャッシュは、確認済み書き込みに伴うリスクを避けられますが、すべての永続書き込みを高速化できるわけではありません。一方、ライトバックモードでは、電源喪失、耐久性、復旧に関する要件が追加されます。インフラとして扱う前に、正確なポリシーを使い、破棄可能なコピーでテストします。
代表的なウォーム状態および混在ワークロードで、同時実行時に有用なデータを追い出すことなく、テールレイテンシが低下した場合にのみ、キャッシュの判定を通過させます。効果が2回目の同一実行時にだけ現れる場合は、普遍的なNAS高速化ではなく、ウォームキャッシュによる効果として説明します。
10GbEを最初に導入したほうがよい場合
複数クライアントの合計トラフィックが現在のリンク上限に繰り返し達し、ストレージプールがさらに多くのデータを供給できる場合、10GbEが有効です。実際のNASテストでは、ネットワーク全体のアップグレードを伴う、より高い10GbE転送性能が示されています。そのため、NICだけでは購入全体を完結できません。
NASのNIC、スイッチ、ケーブルまたはトランシーバー、クライアントアダプターの各セグメントが、想定する速度に対応している必要があります。メタデータ操作は、短いリクエストとレスポンスのサイクルによって高帯域幅を自動的に使い切るわけではないため、依然として遅延に制約される可能性があります。
同時に複数のクライアントを接続し、元のディレクトリまたはプロジェクトのワークロードで検証します。高速なリンクによってアプリケーションの遅延がほとんど変わらない場合は、大容量転送や追加の同時実行によって費用を正当化できる場合に限り、導入します。
どちらか一方、両方、またはどちらも選ばない
再現性のある局所性が確認され、小さなランダムストレージ処理が待ち時間の原因である場合は、まずキャッシュを選びます。プールの性能に余裕がある一方で、ネットワークの飽和が確認された場合は、まず10GbEを選びます。測定された一方のボトルネックを取り除くことで、もう一方が現れる場合にのみ、両方を選びます。
RAM、CPU、アプリケーションのデータベース、またはクライアント側の処理が支配的な場合は、どちらも選びません。プロトコルの選択によってリクエスト経路が変わることもあります。NASアクセスでSMBとNFSのどちらを選ぶかを判断する場合は、これを別途評価します。
2つ目のアップグレードを注文する前に、最初の変更後に再テストします。元のタスクが遅延と同時実行数の目標を満たしたら、アップグレードを中止します。より高いピークベンチマークは、判断に必要な条件ではありません。
最終判断
局所性に左右されるストレージのボトルネックが実証されている場合はSSDキャッシュを、ネットワークの上限が実証されている場合は10GbEを購入します。どちらの条件も測定で確認できない場合は、予算を温存し、実際に待ち時間の原因となっているコンポーネントを改善します。
よくある質問
メタデータ中心のNASには、必ず最初にSSDキャッシュを導入すべきですか?
いいえ。メタデータはリクエストのパターンを示すものであり、ボトルネックを示すものではありません。メタデータがすでにRAMから提供されている場合、またはストレージの遅延が抑えられている場合、ネットワーク、CPU、アプリケーションが制限要因である間は、キャッシュを追加しても効果がほとんどない可能性があります。
製品比較
もっと読む

アプリのアップデートとロールバックにおけるProxmox上のLXCとDockerの比較
Dockerはアプリレベルのバージョン管理を提供し、LXCはゲストレベルのロールバックを可能にします。より適した方は、安全に復元できる最小の状態単位に応じて決まります。

特権ホームサービスにおけるDockerとLXCのセキュリティ境界
Dockerは用途を絞ってパッケージ化されたアプリに適しており、LXCはより完全なLinuxサービスに適していますが、共有カーネルのリスクを許容できない場合、どちらもVMの代わりにはなりません。

初心者が初めて構築するなら、ターンキー型NAS OSかモジュール型Linuxか
ガイド付きのストレージ運用にはすぐに使えるNASソフトウェアを選び、学習と明確な制御のためにより多くの管理を担う価値がある場合は、モジュール式のLinuxを選びましょう。

