我想要获取数据存储设备类型是固态硬盘还是非固态硬盘,并区分数据存储是本地SCSI disk还是iSCSI设备。我的要求是在固态硬盘上克隆虚拟机或在iSCSI设备上克隆虚拟机。
代码可以获取设备类型和数据存储名称,但我无法连接它们。
from pysphere import VIServer, VIProperty
server = VIServer()
server.connect(HOST, USERNAME, PASSWORD)
for ds_mor, name in server.get_hosts().items():
props = VIProperty(server, ds_mor)
for item in props.config.storageDevice.scsiLun:
print item.displayName
print "----------------------1"
for item4 in props.datastore :
print item4.info.url
print item4.info.name
print "----------------------2"
server.disconnect()
结果:
Local SMC Disk (naa.600304800cf26f001a1e6f391c22755f)
----------------------1
VIOLIN iSCSI Disk (naa.6001b970d8b7afa7d8b7afa78a0e63cc)
----------------------1
Local SMC Disk (naa.600304800cf26f001a1e6f391c22aec8)
----------------------1
/vmfs/volumes/532733bb-cb47ac13-a978-0025908c2110
ds-violin-1tb
----------------------2
/vmfs/volumes/52912281-5393bb5e-4cb5-0025908ac4e8
d11-4
----------------------2
/vmfs/volumes/528bb73c-d8b90c36-4bd6-0025908ac4e8
datastore11
----------------------2
发布于 2014-06-21 03:16:50
您可以尝试查看存储在props.config.storageDevice._obj.ScsiLun中的磁盘信息数组。这是我在使用bpython解释器中的对象时能想到的:
>>> for lun in props.config.storageDevice._obj.ScsiLun:
... print "%s, %s" % ( lun.Model, lun.Vendor )
...
...
VMware IDE CDR10, NECVMWar
Virtual disk, VMware
TierStore, NexGen
Virtual disk, VMware
>>>
我不知道这是否能让你得到你想要的大部分东西,还有另一个地方可以找到iSCSI信息,那就是在props.configManager.storageSystem.multipathStateInfo._obj.Path.下面在那里查看时,您可以找到IQN->na.*映射,并使用它来查看iSCSI提供了哪些驱动器,并将其与上面的驱动器信息交叉关联。
>>> for path in props.configManager.storageSystem.multipathStateInfo._obj.Path:
... path.Name
...
...
'ide.vmhba32-ide.0:0-mpx.vmhba32:C0:T0:L0'
'iqn.1998-01.com.vmware:tml-esx-1-0e009bbe-00023d000001,iqn.2010-11.com.nexgenstorage:esxHostTest:c17c704c-0031a7cc-7c90-c77662adf00d,t,1-naa.6f49461701dba1a92c284fbd6fa32d7e'
'iqn.1998-01.com.vmware:tml-esx-1-0e009bbe-00023d000002,iqn.2010-11.com.nexgenstorage:esxHostTest:c17c704c-0031a7cc-7c90-c77662adf00d,t,2-naa.6f49461701dba1a92c284fbd6fa32d7e'
'iqn.1998-01.com.vmware:tml-esx-1-0e009bbe-00023d000003,iqn.2010-11.com.nexgenstorage:esxHostTest:c17c704c-0031a7cc-7c90-c77662adf00d,t,2-naa.6f49461701dba1a92c284fbd6fa32d7e'
'iqn.1998-01.com.vmware:tml-esx-1-0e009bbe-00023d000004,iqn.2010-11.com.nexgenstorage:esxHostTest:c17c704c-0031a7cc-7c90-c77662adf00d,t,1-naa.6f49461701dba1a92c284fbd6fa32d7e'
'pscsi.vmhba1-pscsi.0:0-mpx.vmhba1:C0:T0:L0'
'pscsi.vmhba1-pscsi.0:1-mpx.vmhba1:C0:T1:L0'
>>>
https://stackoverflow.com/questions/24319155
复制相似问题