2014-11-20 6 views
0

В моем VMWare сервере ESX, у меня есть четыре VMware, такие как Window 7, Window XP, Window Server 2008 и Window Server 2012. И информация о приводе для каждого VMware:Есть ли способы получить информацию о драйвере каждого vmware в Vmware ESX через Vsphere SDK с Java?

  • Window 7 -> диск C - Б 2GB, свободная 2GB, Total 4GB

  • Window XP -> диск C - Используется 2GB, свободная 2GB, Total 4GB

  • Window Server 2008 -> диск C - Используется 2 Гб, объемом 2 Гб, Всего 4GB -> диск D - Используется 2GB, свободная 2GB, Total 4GB

  • Window Server 2012 -> диск C - Используется 2GB, свободная 2GB, Total 4GB -> диск D - Используется 2 Гб, объемом 2 Гб, Всего 4 Гб

Мой вопрос:

Как получить диск подробную информацию (например, Drive C, используется пространство и свободное пространство окна 7) Vsphere SDK? А также информацию о диске еще 3 vmware.

ответ

1

Ответ:

GuestInfo info = vm.getGuest(); //(vm means VirtualMachine object.) 
GuestDiskInfo[] dInfos = info.getDisk(); 
if (dInfos != null) { 
    System.out.println("Disk Info"); 
    for (GuestDiskInfo dInfo : dInfos) { 
    System.out.println(" Capacity(GB):"+dInfo.getCapacity()/1024/1024/1024); 
    System.out.println(" Free(GB):"+dInfo.getFreeSpace()/1024/1024/1024); 
    System.out.println(" Disk Path:"+dInfo.getDiskPath()); 
    System.out.println("============"); 
    } 
} 

** Важно: Во-первых, необходимо установить VMWare инструменты на каждой гостевой ОС машины. Из этого вопроса гостями являются Window 7, Window Xp, Window Server 2008 и Window server 2012.

0

Из объекта 'vm' вы можете получить весь диск, прикрепленный к виртуальной машине, приведенным ниже кодом.

Ниже изображения отображается информация внутри объекта virtualDisk.

enter image description here

VirtualMachine vm = getVM(); // get the vm object 
VirtualMachineConfigInfo vmConfig = vm.getConfig(); 
VirtualDevice[] vds = vmConfig.getHardware().getDevice(); 
for(VirtualDevice vd : vds){ 
    if(vd instanceof VirtualDisk){ 
     System.out.println("CapacityInKB : " + ((VirtualDisk) vd).getCapacityInKB()); 
     System.out.println("Name :"+((VirtualDisk) vd).getDeviceInfo().getLabel()); 
     //vd object contains many more information 
    } 
}