StarWind
StarWind VSANをKVMベースの環境にデプロイする際の基本的な流れは、Controller Virtual Machine (CVM) を利用することが鍵となります。
CVMは、StarWind VSANのソフトウェアが動作するLinuxベースの仮想アプライアンスであり、これをKVMホスト(物理サーバー)上にデプロイすることで、ホストのローカルストレージを共有ストレージプールとしてまとめ、iSCSIターゲットとしてホスト側へ提供します。
以下に、一般的なKVM環境(例:Proxmox VE、oVirt/OLVMなど)でのデプロイ手順の概要を、ステップごとに説明します。
🛠️ StarWind VSAN (CVM) デプロイのステップ概要
ステップ 1: KVMホストの準備
- OSとKVMのインストール: 選択したKVMベースのOS(例: Proxmox VE、またはRHEL/CentOS/Ubuntu + KVM)を物理サーバーにインストールします。高可用性を実現するためには、最低2台のノードが必要です。
- ネットワーク構成: 以下のトラフィック用に、それぞれ異なるネットワークインターフェース(またはVLAN)とLinuxブリッジを設定します。
- 管理 (Management): KVMホスト、CVM、および管理用の通信。
- iSCSI/データ (iSCSI/Data): 仮想マシンがデータを読み書きするトラフィック。
- 同期 (Synchronization): 2つのCVM間でデータをリアルタイムに複製(ミラーリング)するためのトラフィック。専用の高速回線(10GbE以上推奨)を使用します。
ステップ 2: StarWind CVMのデプロイ
- CVMアプライアンスのダウンロード: StarWind社からKVM用の**CVMイメージ(OVAまたはQCOW2形式)**をダウンロードします。
- CVMのインポートと起動: ダウンロードしたCVMイメージを、各KVMホストに仮想マシンとしてインポートし、起動します。
- ローカルディスクの割り当て: CVMに、VSANで使用したい物理的なローカルストレージディスク(HDDやSSD)を、**仮想ディスクとしてではなく、パススルー(またはVirtIO SCSIコントローラ経由で直接)**で割り当てます。
ステップ 3: StarWind VSANの設定(HAデバイスの作成)
- 管理ツールへのアクセス: CVMにログインするか、Web UI(管理コンソール)を使用して、StarWind VSANの設定インターフェースにアクセスします。
- ストレージプールの作成: CVMに割り当てられたローカルディスクを使用して、冗長化されたストレージプールを作成します。
- 高可用性 (HA) デバイスの作成:
- このストレージプール上に、KVMホストに提供する**仮想ディスク(LUN)**を作成します。
- このLUNを、同期(Synchronization)リンクを使用して、**パートナーノード(もう一方のCVM)とリアルタイムにレプリケート(ミラーリング)**する設定をします。これにより、ノード障害に耐えられるアクティブ-アクティブのHAストレージが完成します。
ステップ 4: KVMホストのiSCSIターゲットへの接続
- iSCSIイニシエータの設定: 各KVMホスト(例:Proxmoxノード)で、iSCSIイニシエータを設定し、手順3で作成したHAデバイスが公開しているiSCSIターゲットに接続します。
- マルチパスI/O (MPIO) の設定: 2つのCVMが同じストレージを公開しているため、KVMホスト側でMPIOを設定し、両方のCVMへのパスを冗長化します。これにより、いずれかのCVMがダウンしても、データアクセスを継続できます。
- クラスターファイルシステムの構成: KVMホスト側で、iSCSI LUNをクラスター対応のファイルシステム(例: ProxmoxのLVM-thin、oVirtのストレージドメインなど)として構成し、仮想マシンを配置するための共有ストレージとして利用を開始します。
このCVMアプローチにより、StarWind VSANはKVM環境でハイパーコンバージドインフラストラクチャ (HCI) を実現し、ローカルストレージのみで高可用性を提供します。
StarWind
StarWind VSANは、KVMをベースとした様々なハイパーバイザーソリューションをサポートしています。
これは、StarWind VSANが、Controller Virtual Machine (CVM) と呼ばれるLinuxベースの仮想マシンとしてデプロイされ、iSCSIストレージとしてKVMホストに高可用性ストレージを提供する方式を採用しているためです。
💻 サポートされるKVMベースのハイパーバイザの例
具体的なKVMベースのソリューションとしては、以下のようなものが挙げられます:
- Proxmox VE (Virtual Environment)
- oVirt (現在はEOLで、後継はRed Hat Virtualization (RHV)、またはそのアップストリームであるOVN/OLVM)
- OLVM (Oracle Linux Virtualization Manager)
- Xen Hypervisor (KVMとは異なりますが、StarWind VSANはLinuxベースのVMとしてデプロイできるため、こちらもサポートされています。)
📝 補足情報
- KVM自体はLinuxカーネルの機能であり、StarWind VSANはiSCSIターゲットとして機能することで、KVMをハイパーバイザとして使用する環境に高可用性ストレージを提供します。
- 多くのユーザーが、Proxmox VEのようなKVMベースのソリューションとStarWind VSANを組み合わせて、アクティブ-アクティブの高可用性ストレージを構築しています。
StarWind
StarWind Virtual SAN (VSAN) は、Microsoft Hyper-V 環境と連携し、ハイパーコンバージドインフラストラクチャ (HCI) の実現を可能にするソフトウェア定義ストレージ (SDS) ソリューションです。
これは、従来の共有ストレージ(SAN/NAS)を使用せずに、Hyper-Vホストサーバーの内蔵ストレージを論理的にプールし、高可用性(HA)と共有ストレージ機能を提供します。
StarWind Virtual SANとHyper-V連携の概要
StarWind VSANは、Hyper-Vクラスターに必要な共有ストレージを、サーバーローカルディスクを使って提供します。
- 内蔵ディスクのミラーリング: 複数のHyper-Vホストのローカルストレージ間でデータを同期的にミラーリングし、仮想的な共有ストレージを作成します。
- iSCSI/SMBの利用: この仮想的な共有ストレージを、iSCSIまたはSMB経由でHyper-Vクラスターに提示します。Hyper-Vクラスターは、これをクラスター共有ボリューム (CSV) として認識し、クラスター内のすべてのVMがアクセスできるようになります。
- 高可用性: データのリアルタイムなミラーリングにより、いずれかのホストやディスクに障害が発生しても、仮想マシン (VM) は別のホスト上で継続して動作できる耐障害性を実現します。これにより、Hyper-Vフェールオーバークラスターの構築が可能になります。
主な特徴とメリット
| 特徴 |
説明 |
メリット |
| 共有ストレージの不要化 |
高価な専用のSAN/NAS装置が不要。 |
CAPEX/OPEXの削減と、導入・運用管理の簡素化。 |
| ハイパーコンバージドの実現 |
仮想マシン (VM) とストレージを同じサーバーで実行。 |
フットプリントの削減と、効率的なリソース利用。 |
| 高可用性 (HA) |
2ノードまたは3ノード構成での同期ミラーリング。 |
99.9999% の高い可用性と、データ損失からの保護。 |
| 標準ハードウェアの活用 |
既存または安価な汎用 (コモディティ) ハードウェアを利用可能。 |
特定ベンダーに縛られないベンダーロックインの回避と柔軟な拡張性。 |
| パフォーマンス向上 |
ローカルディスク、特にSSDやNVMeの性能を活かし、データ読み書きを高速化。 |
仮想環境のI/O性能の向上。 |
連携のステップ(概要)
Hyper-V環境にStarWind VSANを導入し、クラスターを構築する基本的な手順は以下の通りです。
- StarWind VSANのインストール: Hyper-Vホストとなるサーバー(通常2台以上)にStarWind VSANソフトウェアをインストールします。
- 高可用性ストレージの作成: StarWind管理コンソールを使用して、各サーバーの内蔵ディスクを元に、同期ミラーリングされた高可用性 (HA) デバイス(仮想共有ストレージ)を作成します。
- iSCSI/SMBターゲットの提示: 作成したHAデバイスを、iSCSIまたはSMBターゲットとしてHyper-Vホストに提示します。
- Hyper-Vフェールオーバークラスターの構築: Windows Serverのフェールオーバークラスターマネージャーを使用し、Hyper-Vクラスターを構築します。
- クラスター共有ボリューム (CSV) の設定: iSCSI/SMB経由で接続された共有ストレージをCSVとして構成し、VMの保存先として利用可能にします。
- 仮想マシンのデプロイ: CSV上にVMをデプロイし、HA環境下で運用を開始します。
この連携により、最小構成の2ノードでも、VMのライブマイグレーションやホスト障害からの自動復旧が可能な、コスト効率の高いHyper-Vクラスターを構築できます。
StarWind
StarWind VSAN と StarWind VSAN Best Practices に従って生産環境が設定されている場合、ハードウェアのアップグレードは通常、ダウンタイムを必要としません。以下に、2ノード構成でのハードウェアアップグレードの手順を説明します。Windows クラスターでは、この手順は新しいノード 1 と 2 に Windows とともにその役割と機能が既にインストールされ、構成されていることを前提としています。この手順では、各サーバーがメンテナンス中に生産環境全体をホストできることも前提としています。
2ノード構成でStarWind HAを新しいハードウェアにマイグレーションする手順:
- 古いノード1のターゲットをすべてのクライアントサーバーから切断します。
- StarWind Management Consoleで古いノード2のHAデバイスを右クリックし、Replication Managerを選択します。
- レプリケーション マネージャー ウィンドウで、HA デバイスのレプリカを削除します。この手順を各 HA デバイスに対して実行します。
- 古いノード 1 をシャットダウンします。
- 古いノード 2 の同期リンクを新しいノード 1 サーバーに接続します。
- 新しいハードウェアがインストールされた新しいノード 1 を起動します。
- 新しいノード 1 と古いノード 2 間の同期リンクを構成します。
- 新しいノード 1 に StarWind VSAN をインストールし、新しいインストールにライセンス キー ファイルを適用します。
- 9. StarWind Management Console で、古いノード 2 の HA デバイスを右クリックし、レプリケーション マネージャーを選択します。
- 10. レプリケーション マネージャー ウィンドウで、レプリカを追加ボタンをクリックします。ウィザードの手順に従って、新しいノード 1 に HA デバイスのレプリカを設定します。この手順を各 HA デバイスに対して実行します。
- NOTE: 前のデバイスが同期を完了するまで、次のデバイス レプリカを追加しないことをおすすめします。
- 同期が完了したら、新しいノード 1 をクライアント サーバーに接続します。
- 古いノード 2 のターゲットをすべてのクライアント サーバーから切断します。
- StarWind Management Console で、新しいノード 1 の HA デバイスを右クリックし、Replication Manager を選択します。
- レプリケーション マネージャー ウィンドウで、HA デバイスのレプリカを削除します。この手順を各 HA デバイスに対して実行します。
- 古いノード 2 をシャットダウンします。
- 新しいノード 1 の同期リンクを新しいノード 2 サーバーに接続します。
- 新しいノード 2 を起動します。
- 新しいノード 2 と 1 間の同期リンクを設定します。
- 新しいノード 2 に StarWind VSAN をインストールし、新しいインストールにライセンス キー ファイルを適用します。
- StarWind Management Console で、新しいノード 1 の HA デバイスを右クリックし、Replication Manager を選択します。
- Replication Manager ウィンドウで、Add Replica ボタンをクリックします。
- ウィザードの手順に従って、新しいノード 2 に HA デバイスのレプリカを設定します。この手順を各 HA デバイスに対して実行します。
- NOTE: 前のデバイスが同期を完了するまで、次のデバイス レプリカを追加しないことをおすすめします。
- NOTE: Heartbeat Failover 戦略で作成された HA デバイスについては、Heartbeat リンクの接続と設定も必ず行ってください。
- 同期が完了するまで待ちます。
- 同期が完了したら、新しいノード 2 をクライアント サーバーに接続します。
StarWind
ストレージプールは、StarWind仮想ディスク(LSFS専用ファイル、*.imgなど)を配置するデフォルトのパスです。
デフォルトのストレージプールパスを変更するには、以下の手順を実行してください:
- StarWind Management Consoleを開きます。
- ストレージ プールのパスを変更したいサーバーを選択します。
- 構成 タブをクリックし、次に を選択します。
- StarWind Management Console の右上にある 変更 をクリックします。
- 表示されるポップアップ ウィンドウで、ストレージ プール タブを選択します。
- ストレージ プールの新しいデフォルト パスを選択します。
StarWind
私たちは、すべてのデータリンクを専用サブネットに接続することを強く推奨します(すべての同期チャネルとハートビートを含む)。IPアドレスを選択すると、ウィザードは自動的にそのサブネット内のすべてのIPアドレスを予約します。これは、ハートビートと同期チャネルを同じデータリンクに割り当てることでHA(高可用性)の設定ミスからStarWind VSANユーザーを保護するためです。
StarWind
Starwind Management Console で対応するデバイスを選択します。右側のウィンドウで、Replication Node Interfaces をクリックします。表示されるウィンドウで、ハートビートと同期チャネルの設定をリアルタイムで編集できます。
注意: 一度にすべてのインターフェースを削除しないでください。また、すべてのレプリケーション ノード インターフェースがダウンする状況は避けてください。レプリケーション ノード インターフェース リスト内のすべての IP アドレスを変更する必要がある場合は、両側のネットワーク スタック全体で一つずつ変更してください(例: まずすべてのパートナー ノードのハートビート IP アドレスを変更し、その後同期 IP アドレスを変更する)。
StarWind
ハートビートは、同期チャネルの障害が発生した場合にデータ破損を防止するための高度なメカニズムです。同期チャネル経由でデータを転送できない場合、StarWind VSANは代替ネットワークインターフェース経由でセカンダリノードの可用性を確認し、セカンダリノードを「同期未完了」としてマークします。