web-dev-qa-db-ja.com

XenServerのソフトウェアiSCSILUNにVDIを直接マッピングする

セクション4.1.6.2のXenServer管理者ガイドで、NetAppまたはEqualLogicSANを使用している場合はrawLUNをVDIにマップできることを読みました。ソフトウェアiSCSISANで同じことを行うことは可能ですか(つまり、Nexenta/ZFSベースのSANをiSCSIターゲットとして使用))?iSCSI SRをセットアップして、そこにVDIを配置できることはわかっています。ただし、LVMのオーバーヘッドに対処する必要があり、さらにクローン作成が難しくなるため、回避したいと思います。SANからのスナップショットとクローン作成を処理するので、基本的には必要です。 XenServerホスト内にLVMを関与させずに、VDIごとに1つのLUNを使用する。

必要に応じて、CLIを使用してこれを設定することに反対していません。 XenServerホストの再起動後も持続する信頼性の高いものが望ましいのですが、VMが起動してVDIが読み込まれる前に、iSCSIセッションを初期化するスクリプトを作成する必要がある場合は、問題ありません。

1
Alex

理解した。 LUN-per-VDI SRを作成するドキュメント化されていない「iscsi」SRドライバーがあります(/ opt/xensource/smディレクトリを調べたときにこれが見つかりました。ISCSISR.pyファイルを参照してください)。これは、VBDの作成やVMへの接続など、コマンドラインからのみ設定できます。 VBDとVDIはXenCenterにも表示されません。

これを設定するためのサンプルコマンドは次のとおりです。

xe sr-create name-label=san type=iscsi device-config:target=<IP address of target> device-config:targetIQN=<IQN of target> shared=true

これにより、iSCSILUNごとにVDIが自動的に作成されます。 SANに新しいiSCSILUNを追加することになった場合、XenServerは次のコマンドを実行した後、新しいVDIを追加します。

xe sr-scan uuid=<UUID of SR>

また、最終的にLUNのサイズを変更した場合、XenServerはそれを自動的に取得しないため、以下を実行する必要があります。

xe vdi-forget uuid=<UUID of VDI that you resized>
iscsiadm -m node -R
xe sr-scan uuid=<UUID of SR>

また、VBDを作成してVMに接続するには:

xe vbd-create vm-uuid=<UUID of VM> device=<VBD device #, e.g. 0> vdi-uuid=<VDI of UUID>
2
Alex