2017-02-13 5 views
0

virtualDisk 개체에서 diskObjectId를 찾을 수 있습니다.이 개체는 내구성 있고 변경할 수없는 식별자입니다 (VMware 문서에 따라 : https://pubs.vmware.com/vsphere-55/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.vm.device.VirtualDisk.html). 그러나 가상 하드 디스크를 분리하여 인스턴스에 다시 연결하면 해당 가상 하드 디스크의 diskObjectId도 분리 전과 동일하게 유지됩니다. 예를 들어 diskObjectId는 "2086-2001"이었고 하드 디스크를 분리 한 후에도 새 하드 디스크를 만들었고 동일한 diskObjectId ("2086-2001")가 할당되었습니다.vSphere 5.5 Java API에서 VirtualDisk의 UUID를 얻는 방법은 무엇입니까?

고유 식별자 (uuid)를 가진 가상 하드 디스크를 식별하고 싶습니다. 가상 디스크를 어떻게 얻을 수 있습니까?

다음

답변

0

VirtualDisk 개체의 ID는 2입니다. 식별자 (vmware documentation) :

  • diskObjectId : 가상 디스크 내구성 및 변경 불가능 식별자. 가상 디스크에는 UUID 필드가 있지만 VirtualDiskManager API를 통해 설정할 수 있습니다. 이 식별자는 설정할 수없는 보편적으로 고유 한 식별자입니다. VirtualDisk는 VM과 연결되어 있지 않아도 존재할 수 있습니다.
  • UUID

하지만 때문에 위에서 언급 한 이유 'diskObjectId'를 사용하여 선호.

나는 아래에 언급 된 방법으로 고유 한 식별자를 얻고있다 :

VirtualMachineConfigInfo vmConfig = vm.getConfig(); 
    VirtualDevice[] vds = vmConfig.getHardware().getDevice(); 
    for(VirtualDevice vd : vds){ 
     if(vd instanceof VirtualDisk){ 
      System.out.println(vd.getDiskObjectId()); 
     } 
    } 
0

나는

먼저

 VirtualDevice[] device=vm.getConfig().getHardware().getDevice(); 

그런 인출 장치에 저장 판을 찾아 그들의 정보를 백업 찾아

거기에서 UUID를 가져 오기 당신의 VM의 모든 장치를 얻을 하드 디스크 정보를 가져 오는하고 방법

샘플 코드

VirtualDevice[] device=vm.getConfig().getHardware().getDevice(); 



     for (VirtualDevice disk : device) 
     { 
      if(disk.getDeviceInfo().getLabel().contains("Hard disk")) 
      { 
       VirtualDiskFlatVer2BackingInfo backing = (VirtualDiskFlatVer2BackingInfo) disk.getBacking(); 
       System.out.println(backing.uuid); 
      } 
     } 
+0

virtualDevice가 VirtualDisk 클래스의 인스턴스가 UUID를 얻기 전에 있는지 확인하는 것이 좋습니다. 레이블을 기반으로하는 모든 virtualDevice에서 virtualDisk를 필터링하는 것은 올바른 방법이 아닙니다. 'VirtualMachineConfigInfo vmConfig = vm.getConfig(); \t \t VirtualDevice [] vds = vmConfig.getHardware(). getDevice(); 위한 \t \t (VirtualDevice VD : VDS) { \t \t \t 경우 (VirtualDisk instanceof는 VD) { \t \t \t \t에서 System.out.println (vd.getDiskObjectId()); \t \t \t} \t \t} –