2017-05-16 4 views
1
  • 問題:マッピングVMドライブ

    は、私は、個々のVMDKファイルとしてSCSIを通してそれに VMFS店各ドライブを取り付けた3つのストレージのLUNとVMを考えてみましょう。

    1. C:(one_c.vmdk)
    2. D:(two_d.vmdk)
    3. F:ESXホストで(three_f.vmdk)

これらがVMDKファイルであります/ container_name/vm_name/

Is there any way of mapping,given (disk serial number or disk id) and vmdk files location can we figure out to which vmdk file this Drive maps to? 

注:私はこのリンクを通過しました VMWare VMDK mapping to Windows Drive Letters。しかし、スクリプトを使用することに熱心ではない

+0

ドライバ文字のマッピングを自由に変更できるため、ゲストOSに問い合わせる必要があります。スクリプトやWMIを使用したくない場合はどうすればいいですか?['guestInfo.guestDiskInfo'](http://pubs.vmware.com/vsphere-65/index.jsp#com.vmware .wssdk.apiref.doc/vim.vm.GuestInfo.DiskInfo.html)。 VMにマウントされているディスクのサイズと名前が表示されます。 ESXI上で見たときにサイズをVMDKに関連付けることができます(サイズが一意であると仮定します)。 [ダイナミックディスク](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363785(v = vs.85).aspxなど)ではこれが破られることに注意してください。 – YSK

+0

これも同様にスクリプトを使って行うことができます。しかし、より簡単な方法を試してみてください。 これを行う別の方法として、vmwareはscsi2:6.fileName = "Demo_Today_11"のように.vmxファイルにscsi-vmdkマッピングを保存します。 vmdkの場所を知っているので、私はscsi2の.vmxファイルをgrepすることができます:6.与えられたボリューム文字(例:G:)のための6.filenameを入力します。scsi2:6または関連するscsi idを取得する必要があります。どのように? –

+0

あなたの質問にリンクしたスクリプトは、このマッピングを行います: '$ DiskMatch = $ Disks |?{($ _。SCSIPort - 1)-eq $ VMRef.SCSIController - および$ _。SCSITargetID - eq $ VMRef.SCSITarget} 'である。このクエリはVM自体によって実行される必要があることに注意してください。これは、ゲストOSがドライブ文字マッピングを適切に変更できるためです。 – YSK

答えて

0

これらのディスクが接続されている仮想マシンに対して、ReconfigVM_Taskを使用することができます。 仮想マシンの構成を指定するvirtualMachineConfigSpecを渡す必要があります。それの下には何がやりたいことはあるvirtualDeviceConfigSpec

を見つける:

  • はあなたのVMの既存のvirtualMachineConfigSpecを取得
  • あなたのディスク
  • 編集バックアップ情報のために、関連するvirtualDeviceConfigSpecを探しますそのディスク
    • ファイル名を正しいパス(データストアから始まる)に変更してください
    • 設定解除fileOperation(そこに新しいディスクを作成しないようにするため)
  • 更新スペック

でVM上ReconfigVM_Taskを実行し、より具体的な手順

https://www.vmware.com/support/developer/converter-sdk/conv50_apireference/vim.VirtualMachine.html#reconfigure

のためのドキュメントを参照してください
関連する問題