StarWind Virtual SAN(VSAN)のベスト プラクティス


すべてのソフトウェア ソリューションには、その機能を最大限に生かすための最適な活用方法があり、「ベスト プラクティス」として手順化することができます。たとえば、VMwareならVMwareの、Microsoft や他のベンダーにはそれぞれのベスト プラクティスがあり、システム管理者はそれに則る必要があります。ソフトウェア定義型ストレージ ソリューションも例外ではありません。ここでは、StarWind Virtual SANのベスト プラクティスについて論じていきます。

ご承知のとおり、StarWind Virtual SANはすでに数々の導入実績があり、仮想環境の共有ストレージやバックアップ インフラストラクチャの冗長化ストレージ、あるいはハイパーコンバージド インフラストラクチャ(HCI)など、さまざまなアーキテクチャに対するもっとも費用効果の高いソリューションとして、業界に受け入れられています。

StarWind Virtual SANはソフトウェア ベースのストレージであり、コンフィギュレーションを間違えたり、要件を疎かにすれば、その分パフォーマンスが落ちたり、環境をリスクに晒すことになります。いかなる環境においても、ベスト プラクティスに準拠することが重要な理由はそのためです。

ベスト プラクティスに準拠すれば、最低2台のホストだけで耐性に優れたストレージ ソリューションが実現するばかりか、実装後ただちに最良のパフォーマンスが得られます。StarWindの高可用性(HA)ソリューションは、StarWindホスト間の冗長ネットワーク リンク(redundant network links)によってストレージのレジリエンスを確保します。

つまり、StarWindならホスト2台だけでも十分な効果が得られ、他のソリューションが通常3番目のホストを必要とする点とは異なります。設計が違うのです。

StarWind Virtual SAN for VMwareはLinux VM(仮想ストレージ アプライアンス(VSA))経由で運用でき、パススルー ディスク、そしてパススルーNICを通じて最大限のパフォーマンスを実現します。StarWind VSANによって、個々のホストのローカル ストレージから共有ストレージ プールが作り出されるしくみです。

StarWindHAとは?

StarWindを知らない方を納得させるには、もう少し説明が必要かもしれません。StarWindの高可用性(HA)はStarWindホスト間の冗長ネットワーク リンクにもとづいています。それにより、ストレージのレジリエンスが維持されます。モニタリングとエラーの管理がリンクを通じて行われ、いずれかのノードに不具合が生じたり、リクエストを適正に処理できなくなれば、フェイルオーバーがただちにクライアントOS/ハイパーバイザー側から発動されます。

また、StarWindにはハートビート メカニズムが内蔵されており、ネットワークの同期化エラーが生じた際にはストレージ パスを適切に隔離して、いわゆるストレージの「スプリットブレイン」状態を回避します。

下図は異なるサービス(ハートビートや同期化など)の異なるトラフィックに対して異なるNICが使用されるしくみを表しています。

2ノード直接接続のコンフィギュレーションがスイッチなしで成立していることがわかります。VMware vSAN直接接続と同じ方式です。

設計上の留意事項

ホスト ― 前もって冗長性を確立し、ホットスワップ可能な構成を準備することが大切です。ハードウェアには必ずいつか不具合が生じます。クラスタ全体でハードウェアRAID(独立ディスク冗長アレイ)カードを同一にする必要があります。実際、StarWindはHA SANのクラスタ全体で同じストレージ コンフィギュレーションを使用することを推奨しています。これには、RAIDコントローラ、ボリューム、設定、OSレベルのパーティションが含まれます。

ストレージ ― 以下の2つの選択肢があり、稼働するワークロードの種類に合わせて選ぶ必要があります。

  1. FLATイメージ ファイル アーキテクチャ ― ディスクのデータレイアウトに従来からよく使われます。一般向けのストレージとして使用されます。
  2. ログ構造ファイルシステム(LSFS)アーキテクチャ ― ログ構造ベースのデータ レイアウト。集中的な書き込みを処理するワークロードに最適。VM中心型のファイルシステムではサポートされないタイプのワークロードもあります。ログ構造ファイルシステムについての詳細はこちらを参照してください。

StarWindは、HA環境の実装にRAID 10(HDD)とRAID 5、あるいはRAID 10(SSD)の使用を推奨しています。ストライプ サイズ、ボリューム、パーティション、ファイルシステムなどについての注意事項はStarWindベストプラクティスの ソース記事を参照してください。

さらに、 Recommended RAID settings for HDD and SSD disks(HDDとSDDディスクのRAID設定の推奨事項)も参考になるはずです。

HAデバイス ― VMware vSphereとHyper-Vでは、異なるアプローチが推奨されます。たとえば、Hyper-Vで最適なパフォーマンスを得るには、Hyper-V/Microsoftフェイルオーバー クラスタごとに最低2つ以上のHAデバイスを作成することが推奨されます。

ハートビート チャンネル ― 複数のHA SANをつなぐ物理的に独立したリンクおよびNICには、別のハートビート接続を追加で有効にすることが推奨されます。しかし、HAデバイス同期化用のリンク/NICに追加のハートビートは必要ありません。同期化チャンネルに問題が生じれば、StarWindはパートナー ノードをそのハートビート リンクから照会することができます。パートナー ノードが応答しなかった場合は、オフラインであると想定されます。その場合、他のノードが同期化されなかったことが記録されると同時に、仮にノードがダウンしていた場合に備え、対象ノード上のすべてのHAデバイスが書き込みキャッシュをディスクにフラッシュしてデータの整合性が保たれます。

ハートビートによって、スプリットブレイン状態が防止されるしくみになっています。

ベンチマーク ― 業務環境での実用化の前には必ずシステムをベンチマークに照らして評価すべきです。それはバックアップのためだけでなく、IOPSの向上のためにも重要です。そのためのツールには、IOmeter、FIO、VDbenchなどが利用できます。ネットワーク パフォーマンスには、iPerfが有効です。StarWind Virtual SANを用いた環境で最大限のスループットを得るには、ネットワーク パフォーマンスを計測し、チューニングする必要があります。ネットワーク パフォーマンス テストに関する詳細は、StarWindのこちらの記事を参照してください。

まとめ

StarWind VSANのセットアップは簡単だと思われるかもしれませんが、全体的なコンフィギュレーションとパフォーマンス チューニングは単純ではなく、それなりの時間を要します。設計のしくみや何をテストすべきかなどを把握していない場合は、特にそうです。StarWindに有償版があるのはそのためで、StarWindのエンジニアがセットアップとその後の適切なサポートを提供してくれます。

StarWind Virtual SANは、データの二重または三重のレプリケーション、キャッシュ、I/Oコントローラを活用して、仮想インフラストラクチャにおけるストレージの単一障害点(SPOF)をなくします。すべてのリソースが異なる物理ホストに「ミラーリング」されます。

それにより、共有ストレージの障害耐性が(2つ以上のホストによって)保証され、より高いパフォーマンスと可用性が確立されます。

関連トピックス