シンプロビジョニングされた共有GFS2ブロックストレージ
シンプロビジョニングは、VDIの仮想サイズ全体を事前に割り当てるのではなく、データが仮想ディスクに書き込まれるときにディスクストレージスペースをVDIに割り当てることで、利用可能なストレージをより有効に活用します。シンプロビジョニングにより、共有ストレージアレイで必要なスペース量を大幅に削減でき、それによって総所有コスト(TCO)も削減できます。
共有ブロックストレージのシンプロビジョニングは、特に次の場合に重要です。
- スペース効率を高めたい場合。イメージはスパースに割り当てられ、厚く割り当てられません。
- ストレージアレイでの1秒あたりのI/O操作数を減らしたい場合。GFS2 SRは、共有ブロックストレージでのストレージ読み取りキャッシュをサポートする最初のSRタイプです。
- 複数の仮想マシンで共通のベースイメージを使用する場合。個々のVMのイメージは、通常、さらに少ないスペースしか使用しません。
- スナップショットを使用する場合。各スナップショットはイメージであり、各イメージは現在スパースです。
- 2 TiBを超えるサイズのVDIを作成したい場合。GFS2 SRは、最大16 TiBのサイズのVDIをサポートします。
- お使いのストレージがNFSまたはSMB3をサポートせず、ブロックストレージのみをサポートする場合。お使いのストレージがNFSまたはSMB3をサポートしている場合は、GFS2の代わりにこれらのSRタイプを使用することをお勧めします。
- お使いのストレージがLUNのシンプロビジョニングをサポートしていない場合。お使いのストレージがLUNをシンプロビジョニングする場合、GFS2と組み合わせると問題が発生し、容量不足になる可能性があります。GFS2をシンプロビジョニングされたLUNと組み合わせても、多くの追加の利点は得られず、推奨されません。XenCenter®は、シンプロビジョニングされたLUNでGFS2を使用しようとすると警告を表示します。
共有GFS2タイプは、iSCSIまたはHBA LUN上に作成されたファイルシステムとしてディスクを表します。GFS2 SRに保存されたVDIは、QCOW2イメージ形式で保存されます。
1. GFS2環境を計画する
データ損失のリスクなしに共有ブロックストレージでシンプロビジョニングの利点を提供するには、プールが十分なレベルの信頼性と接続性を提供する必要があります。GFS2を使用するリソースプール内のホストが相互に確実に通信できることが重要です。これを確実にするために、XenServer®はGFS2 SRでクラスター化されたプールを使用することを要求します。また、可能な限り多くの回復力と冗長性を提供するように環境を設計し、XenServer機能を構成することをお勧めします。
GFS2 SRで動作するようにXenServerプールを設定する前に、理想的なGFS2環境に関する以下の要件と推奨事項を確認してください。
-
推奨: (#2-configure-redundant-networking-infrastructure)冗長ネットワークインフラストラクチャを構成します。
-
オプション コントロール ドメインのメモリを増やす
-
推奨: ストレージマルチパスを構成する
-
必須: GFS2 SRを作成する
GFS2 SR を持つクラスタ化プールは、他の種類のプールや SR とは動作が異なります。詳細については、制約を参照してください。
2. 冗長なネットワークインフラストラクチャを構成する
ボンディングネットワークは、2つ以上のNICを結合して、ネットワークトラフィック用の単一チャネルを作成します。GFS2クラスタ化プールのトラフィックには、ボンディングネットワークを使用することをお勧めします。ただし、ボンディングネットワークをセットアップする前に、ネットワークハードウェア構成がボンディングネットワークの冗長性を促進することを確認してください。組織と環境にとって実現可能な限り、これらの推奨事項を多く実装することを検討してください。
以下のベストプラクティスは、ネットワークスイッチに影響を与える可能性のあるソフトウェア、ハードウェア、または電源障害に対する回復力を高めます。
- ボンディングネットワークで使用するために、同じスイッチ上のポートだけでなく、個別の物理ネットワークスイッチが利用可能であることを確認してください。
- 個別のスイッチが、異なる独立した配電ユニット (PDU) から電力を供給されていることを確認してください。
- 可能であれば、データセンターで、PDUを電源フィードの異なるフェーズ、または異なる電力会社が提供するフィードに配置してください。
- 無停電電源装置を使用して、電源障害が発生した場合でもネットワークスイッチとサーバーが機能し続けるか、または正常にシャットダウンできるようにすることを検討してください。
3. 専用のボンディングネットワークを作成する
GFS2クラスタ化プール内のホストが相互に確実に通信できることを確認することが重要です。このプールトラフィック用にボンディングネットワークを作成すると、クラスタ化プールの回復力が高まります。
注記:
GFS2クラスターネットワークは、管理用ではないVLAN上に配置できません。
ボンディングされたネットワークは、2つ以上のNIC間にボンディングを作成し、GFS2クラスタープールがクラスターハートビートトラフィックに使用できる単一の高性能チャネルを構築します。このボンディングされたネットワークを他のトラフィックに使用しないことを強くお勧めします。管理トラフィックに使用するプール用に別のネットワークを作成してください。
注記:
プール内のホスト間にファイアウォールがある場合は、ホストが以下のポートを使用してGFS2クラスターネットワーク上で通信できることを確認してください。
- TCP: 8892, 8896, 21064
- UDP: 5404, 5405
詳細については、「XenServerが使用する通信ポート」を参照してください。
GFS2クラスターネットワークとして使用するボンディングされたネットワークを作成するには:
- 新しいネットワークウィザードを開きます。
- ウィザードの最初のページで、ボンディングされたネットワークを選択し、次へをクリックします。
- ボンディングメンバーページで、ボンディングするNICを選択します。NICを選択するには、リスト内のチェックボックスをオンにします。このリストでは最大4つのNICを選択できます。NICの選択を解除するには、チェックボックスをオフにします。
-
ボンディングモードで、ボンディングの種類を選択します。
- アクティブ/アクティブボンディングを構成するには、アクティブ/アクティブを選択します。このボンディングでは、トラフィックはボンディングされたNIC間で負荷分散されます。ボンディング内のいずれかのNICが故障した場合、サーバーのネットワークトラフィックは自動的に2番目のNICを経由してルーティングされます。
- アクティブ/パッシブボンディングを構成するには、アクティブ/パッシブを選択します。このボンディングでは、トラフィックはボンディングされたNICの1つのみを経由します。このモードでは、アクティブなNICが故障した場合(たとえば、ネットワーク接続が失われた場合)にのみ、2番目のNICがアクティブになります。
- 「送信元MACアドレスに基づくロードバランシングを使用したLACP」を選択して、LACPボンドを構成します。このボンドでは、トラフィックの送信元であるVMのMACアドレスに基づいて、送信NICが選択されます。同じホスト上に複数のVMがある環境でトラフィックを分散させるには、このオプションを使用します。このオプションは、NICの数よりも仮想インターフェース(VIF)の数が少ない場合には適していません。トラフィックを複数のNICに分割できないため、ロードバランシングが最適ではないためです。
- 「送信元および宛先のIPとポートに基づくロードバランシングを使用したLACP」を選択して、LACPボンドを構成します。このボンドは、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、および宛先ポート番号を使用して、NIC間でトラフィックを割り当てます。NICの数がVIFの数を超える環境でVMからのトラフィックを分散させるには、このオプションを使用します。
注記:
- XenCenterでLACPボンディングオプションを表示し、LACPボンドを作成するには、ネットワークスタックとしてvSwitchを構成します。また、スイッチはIEEE 802.3ad標準をサポートしている必要があります。
- アクティブ/アクティブおよびアクティブ/パッシブのボンドタイプは、vSwitchとLinuxブリッジの両方で利用できます。
- vSwitchがネットワークスタックの場合、2つ、3つ、または4つのNICをボンディングできます。ただし、Linuxブリッジがネットワークスタックの場合、ボンディングできるNICは2つのみです。
Linuxブリッジネットワークスタックは非推奨であり、将来のリリースで削除されます。
- ジャンボフレームを使用するには、最大転送単位(MTU)を1500~9216の間の値に設定します。
- 「このネットワークを新しい仮想マシンに自動的に追加する」チェックボックスを選択すると、「新しいVM」ウィザードを使用して作成された新しいVMにこのネットワークが追加されます。
- 「完了」をクリックして新しいネットワークを作成し、ウィザードを閉じます。
プールコーディネーターでボンディングされたネットワークを作成した後、他のXenServerホストをプールに参加させると、ネットワークとボンドの情報は参加するサーバーに自動的にレプリケートされます。
詳細については、「NICの構成」を参照してください。
注記:
- XenCenterを使用してGFS2クラスターネットワークのIPアドレスを変更するには、クラスタリングとGFS2を一時的に無効にする必要があります。
- クラスターが稼働中でVMが実行されている間に、GFS2クラスターネットワークのボンディングを変更しないでください。この操作により、クラスター内のホストがハード再起動(フェンス)する可能性があります。
- GFS2クラスターネットワーク上で、クラスター化が有効になっているホストが少なくとも1つ含まれるIPアドレス競合(複数のホストが同じIPアドレスを持つ)が発生した場合、クラスターは正しく形成されず、必要時にホストはフェンスできません。この問題を解決するには、IPアドレス競合を解消してください。
4. GFS2クラスタープールをセットアップする
共有GFS2ストレージを使用するには、XenServerリソースプールがクラスタープールである必要があります。GFS2 SRを作成する前に、プールでGFS2クラスタリングを有効にしてください。
GFS2クラスタープールを作成するには:
- ツールバーの新規プールをクリックして、新規プールダイアログボックスを開きます。
- 新しいプールの名前とオプションの説明を入力します。名前はリソースペインに表示されます。
- コーディネーターリストからサーバーを選択して、プールコーディネーターを指名します。
- 追加メンバーリストから、新しいプールに配置するサーバーをさらに選択します。利用可能なすべての管理対象サーバーが一覧表示されます。サーバーが一覧にない場合は、新規サーバーの追加をクリックしてリストに追加できます。管理対象サーバーが一覧にない場合、それはプールの要件に記載されているプールの参加要件の1つ以上を満たしていないためである可能性があります。
- プールの作成を選択してプールを作成し、ダイアログボックスを閉じます。
- リソースパネルでプールを選択し、その一般タブでプロパティを選択します。プールプロパティウィンドウが開きます。
- GFS2クラスタリングタブで、GFS2クラスタリングを有効にするを選択し、作成した専用のボンディングネットワークをクラスターネットワークとして選択します。
- OKをクリックします。
5. コントロールドメインメモリを増やす
ホストのコントロールドメインメモリが不足している場合、プールでネットワークの不安定性が発生する可能性があります。ネットワークの不安定性は、GFS2 SRを持つクラスタープールに問題を引き起こす可能性があります。
GFS2クラスタープールに適切な量のコントロールドメインメモリがあることを確認することが重要です。コントロールドメインメモリの量を変更する方法については、コントロールドメインメモリの変更を参照してください。
6. ストレージマルチパスを構成する
クラスター化されたプールとGFS2 SRの間でストレージマルチパスが設定されていることを確認します。
マルチパスは、冗長性のために複数のパスを介してストレージトラフィックをストレージデバイスにルーティングします。通常の操作中、すべてのルートでアクティブなトラフィックを処理でき、その結果、スループットが向上します。
マルチパスを有効にする前に、以下の記述が真であることを確認してください。
-
イーサネットまたはファイバースイッチが、ストレージサーバーで複数のターゲットが利用可能になるように構成されていること。
例えば、特定のポータルで
sendtargetsを照会されたiSCSIストレージバックエンドは、次の例のように複数のターゲットを返します。iscsiadm -m discovery --type sendtargets --portal 192.168.0.161 192.168.0.161:3260,1 iqn.strawberry:litchie 192.168.0.204:3260,2 iqn.strawberry:litchieただし、単一のターゲットのみを公開するアレイに対してiSCSIマルチパスを有効にするための追加構成を実行できます。詳細については、単一のターゲットのみを公開するアレイのiSCSIマルチパスを参照してください。
-
iSCSIの場合のみ、コントロールドメイン (dom0) は、マルチパスストレージで使用される各サブネットにIPアドレスを持っていること。
ストレージへの各パスに対してNICがあり、各NICにIPアドレスが構成されていることを確認してください。例えば、ストレージへの4つのパスが必要な場合、それぞれにIPアドレスが構成された4つのNICが必要です。
-
iSCSIの場合のみ、すべてのiSCSIターゲットとイニシエーターは一意のIQNを持っていること。
-
iSCSIの場合のみ、iSCSIターゲットポートはポータルモードで動作していること。
-
HBAの場合のみ、複数のHBAがスイッチファブリックに接続されていること。
-
可能であれば、複数の冗長スイッチを使用してください。
マルチパスを有効にするには:
プール内のすべてのサーバーに対して、次の手順を完了してください。
- 「リソース」ペインでサーバーを選択し、メンテナンスモードにします。XenCenter がアクティブな仮想マシンを移行し、既存のストレージのプラグを抜く間、少し時間がかかります。サーバーがプールコーディネーターの場合、新しいプールコーディネーターが割り当てられる間、サーバーは切断され、「リソース」ペインから一時的に消えることがあります。サーバーがサーバーメンテナンスモードアイコン(青い四角が上にあるサーバーアイコン)(/en-us/xencenter/media/000-server-maintenance-h32bit-16.png) とともに「リソース」ペインに再表示されたら、次の手順に進みます。
- 「全般」タブで「プロパティ」を選択し、次に「マルチパス」タブを選択します。
- マルチパスを有効にするには、「このサーバーでマルチパスを有効にする」チェックボックスをオンにします。マルチパスを無効にするには、チェックボックスをオフにします。
- 「OK」をクリックして新しい設定を適用し、ダイアログボックスを閉じます。XenCenter が新しいストレージ構成を保存する間、少し時間がかかります。
- サーバーをメンテナンスモードから解除します。「リソース」ペインでサーバーを選択し、右クリックして「メンテナンスモードの終了」を選択します。
プール内のすべてのホストでマルチパスが有効になっていることを確認してください。すべてのケーブル接続、およびiSCSIの場合はサブネット構成が、各ホストの対応するNICと一致している必要があります。
7. GFS2 SRを作成する
リソースプール内のすべてのXenServerホストから見えるiSCSIまたはHBA LUN上に、共有GFS2 SRを作成します。
注:
GFS2でシンプロビジョニングされたLUNを使用することはお勧めしません。シンプロビジョニングされたLUNでGFS2を使用しようとすると、XenCenterは警告を表示します。
ただし、この構成を選択する場合は、XenServerが書き込みできるように、LUNに常に十分な空き容量があることを確認する必要があります。
クラスター化されたプールには、最大62個のGFS2 SRを追加できます。
ソフトウェアiSCSI SRを作成するには
注記:
以下の手順を実行する前に、プール内のすべてのホストに対してiSCSIイニシエータIQNが適切に設定されていることを確認してください。詳細については、「サーバープロパティの変更」を参照してください。
-
新しいストレージリポジトリウィザードを開きます。ツールバーの新しいストレージをクリックします。または、次のいずれかの方法で開きます。
- 選択したプールまたはサーバーのストレージタブで、新規SRをクリックします。
- ストレージメニューで、新規SRをクリックします。
- リソースペインで、サーバーまたはプールを選択し、右クリックしてショートカットメニューの新規SRをクリックします。
- 物理ストレージタイプとしてソフトウェアiSCSIを選択し、次へをクリックします。
- 名前ページで、新しいSRの名前を入力します。デフォルトでは、ウィザードはSRの説明を生成します。この説明には、ウィザードを進めるにつれて選択する構成オプションの概要が含まれます。独自の説明を入力するには、説明を自動生成チェックボックスをオフにして、説明ボックスに入力します。続行するには次へをクリックします。
- プロビジョニングページで、シンプロビジョニング (GFS2)を選択します。
-
場所ページで、iSCSIターゲットの詳細を指定します。
-
ターゲットホスト: iSCSIターゲットのIPアドレスまたはDNS名。これは、コンマ区切りの値のリストにすることもできます。
-
CHAPを使用: これはGFS2 SRではサポートされていません。このオプションは選択しないでください。
-
ターゲットIQN: iSCSIターゲットIQNを指定するには、IQNを検出ボタンをクリックし、ターゲットIQNリストからIQNを選択します。
重要:
iSCSIターゲットとプール内のすべてのサーバーは、同じIQNを設定してはなりません。すべてのiSCSIターゲットとイニシエータは、一意のIQNを持つ必要があります。一意でないIQN識別子が使用された場合、データ破損が発生したり、ターゲットへのアクセスが拒否されたり、その両方が発生する可能性があります。
-
ターゲットLUN: ストレージリポジトリを作成するLUNを指定するには、「LUNの検出」ボタンをクリックします。「ターゲットLUN」リストからLUNを選択します。
各iSCSIストレージリポジトリは、単一のLUNに完全に含まれている必要があります。SRは複数のLUNにまたがることはできません。LUNにすでにSRが含まれている場合は、既存のSRを使用するか、既存のSRを新しいものに置き換えるかを選択します。既存のSRを置き換えると、ディスク上のデータはすべて破棄されます。
-
- 「完了」をクリックして、新しいSR構成を完了し、ウィザードを閉じます。
ハードウェアHBA SRを作成するには
-
新規ストレージリポジトリウィザードを開くには、次のいずれかの操作を実行します。
- ツールバーで、新規ストレージを選択します。
- 選択したプールまたはサーバーのストレージタブで、新規SRを選択します。
- ストレージメニューで、新規SRを選択します。
- リソースペインで、サーバーまたはプールを選択し、右クリックしてショートカットメニューから新規SRを選択します。
- 物理ストレージタイプとしてハードウェアHBAを選択し、次へを選択します。
- 名前ページで、新しいSRの名前を入力します。デフォルトでは、ウィザードがSRの説明を生成します。この説明には、ウィザードを進めるにつれて選択する構成オプションの概要が含まれます。独自の説明を入力するには、説明を自動生成チェックボックスをオフにし、説明ボックスに入力します。次へをクリックして、プロビジョニングページに進みます。
- プロビジョニングページで、シンプロビジョニング (GFS2) を選択します。
- 次へをクリックして、場所ページに進みます。
-
ウィザードは利用可能なLUNをスキャンし、見つかったすべてのLUNを一覧表示するページを表示します。リストからLUNを選択し、作成をクリックします。
注記:
選択したLUNに既存のSRがある場合、警告メッセージが表示されます。詳細を確認し、次のいずれかのオプションを選択してください。
- 既存のものを使用するには、再アタッチをクリックします。
- 既存のSRを削除してSRを作成するには、フォーマットをクリックします。
- 別のLUNを選択したい場合は、キャンセルをクリックしてリストからLUNを選択します。
- 「概要」ページには、新しいSRに関する情報が表示されます。情報を確認し、「完了」をクリックしてSR作成プロセスを完了します。
制約事項
共有GFS2ストレージには現在、以下の制約があります。
-
他のシンプロビジョニングSRと同様に、GFS2 SRの使用率が100%に達すると、VMからのそれ以降の書き込みは失敗します。これらの書き込み失敗は、VM内の障害、データ破損、またはその両方につながる可能性があります。
-
SRの使用率が80%に達すると、XenCenterにアラートが表示されます。このアラートが表示された場合は、GFS2 SRを監視し、適切な処置を講じてください。GFS2 SRでは、使用率が高いとパフォーマンスが低下します。SRの使用率は80%未満に保つことをお勧めします。
-
GFS2 SR上にVDIがあるVMの場合、ストレージ移行を伴うVM移行(ライブまたはオフライン)はサポートされていません。また、別の種類のSRからGFS2 SRにVDIを移行することもできません。
-
FCoEトランスポートはGFS2 SRではサポートされていません。
-
Trim/unmapはGFS2 SRではサポートされていません。
-
CHAPはGFS2 SRではサポートされていません。
-
2 TiBを超えるVDIをVHDまたはOVA/OVFとしてエクスポートすることはできません。ただし、2 TiBを超えるVDIを持つVMはXVA形式でエクスポートできます。
-
GFS2でシンプロビジョニングLUNを使用することはお勧めしません。ただし、この構成を選択する場合は、XenServerが書き込みできるように、LUNに常に十分な空き容量があることを確認する必要があります。
-
GFS2 SRでSAN重複排除を使用することはお勧めしません。ただし、この構成を選択する場合は、XenServerが常に書き込みできるスペースがあることを確認するために、SAN使用率の適切な外部監視を使用する必要があります。
-
GFS2ファイルシステムは100 TiBを超えることはできません。
-
プール内に62を超えるGFS2 SRを持つことはできません。
-
GFS2クラスタープールは、プールあたり最大16ホストのみをサポートします。
-
GFS2クラスタートラフィックには、少なくとも2つの異なるネットワークスイッチを使用するボンディングされたネットワークを使用することを強くお勧めします。このネットワークを他の目的で使用しないでください。
-
XenCenterを使用してGFS2クラスタネットワークのIPアドレスを変更するには、クラスタリングとGFS2を一時的に無効にする必要があります。
-
クラスタが稼働中でVMが実行されている間は、GFS2クラスタネットワークのボンディングを変更しないでください。この操作により、クラスタ内のホストが強制的に再起動(フェンス)される可能性があります。
-
GFS2クラスタリングが有効になっている少なくとも1つのホストを含むGFS2クラスタネットワークでIPアドレスの競合(複数のホストが同じIPアドレスを持つ)がある場合、クラスタは正しく形成されず、必要に応じてホストがフェンスできなくなります。この問題を解決するには、IPアドレスの競合を解消してください。