現在、SANに接続されたストレージアレイ上に数百のLUNを作成し、それらを1つ以上の(物理)サーバーにエクスポートし、LUNに含まれるデータに対してテストを実行してから、それらを破棄して繰り返すテスト環境があります。
VMをサーバーとして使用したいのですが、数百のLUNを各個人に手動で割り当てる際に問題が発生しますVM(以前のように、物理サーバーの場合と同様に、ゾーニングを設定してこれを実行し、HBAの再スキャンを実行します)。
この状況に対処する方法について何か提案はありますか? 1つの解決策は、VMダイレクトパスIO(ただし、現時点では必要なハードウェアがありません))、またはスクリプトを自動的にセットアップすることです。 ESXレベルで新しいLUNを再スキャンしてから、LUNを特定のVMに自動的に割り当てます(これはAPIを介して実行できると思いますか?)。
標準のESX\ESXiセットアップでこれを実行できない理由がわかりません。
Rawデバイスマッピングでそれを行うことができるはずです。 SAN側のゾーニングおよびLUNプレゼンテーション手順が変更されていない場合、vmkfstoolsを使用して、ESXにホストレベルで新しいLUNを再スキャンおよび検出するように指示できます。それが見つかったら、次のいずれかを作成できます。 VMDKをVMに追加するか、ボリューム全体をRawデバイスマッピング(RDM)として表示します。
ESXを使用すると、Service Consoleコマンドラインでこれをスクリプト化できますが、ESXiの場合は、PowerCLI(Powershell)またはPerlCLIツールのいずれかを使用する必要があります。 vSphere Management Appliance は、そのルートを使用する場合にすべてのツールが事前にパックされたLinuxアプライアンスです。 3つのCLIアプローチすべてのドキュメントは、 ここ にあります。
あなたがやりたいことの一般的な概要は次のとおりです。
1。ホスト上の新しいLUNを再スキャンします。
vicfg-rescan [vmhbaX]
おそらく、LUNが提示されている関連するHBAをスキャンして、VMhbaXをSANに接続されている関連するHBA名に置き換えたいと思うでしょう。
2。新しいLUNにマップするRDMスタブを作成します
vmkfstools –a lsilogic -r /vmfs/devices/disks/vmhba1:0:0:0 /vmfs/volumes/storage1/testluns/testrdmlun.vmdk
LUNSのLUN参照を把握し、vmdkを環境に適した場所と名前に設定する必要があります。これにはいくつかの構文バリアントがあり、ESXi 4ではこれを使用していませんが、3.5ではこの形式で問題なく動作していました。 2つのRDMモードがあります。より多くのSCSI機能が必要な場合は、Rawデバイスマッピングパススルーモードの方が適している場合があります。その場合は、-rを-xに置き換えます。
3。新しいディスクをVMに提示します。
この方法でディスクを準備したら、VM内のOSにこれらを提示する方法がいくつかあります。 VM構成を編集して、このデバイスのエントリを追加するか、この特定のターゲットvmdkをVMで構成して、実行することができます。 VMの電源がオフになっている間の上記の検出手順。より動的なメカニズムが必要な場合は、 VMwareディスクマウントユーティリティ)を使用するのが最善の方法です。 -これにより、VM configをいじることなく、ゲストOS内からRDM(またはその他のVMDK)を直接マウントできます。
再スキャンとvmkfstoolsの部分にリモートCLIを使用している場合は、コマンドの一部としてターゲットホストと認証資格情報を指定する必要がある場合があります。
同じアプローチを標準のVMDKファイルでも使用できますが、最初にLUNをVMFSとしてフォーマットしてから、適切なVMDKを作成する必要があります。あなたの説明から私が知る限り、そのようにすることから得られる利益はありません。