将虚拟磁盘添加到vSphere 5上的Linux VM之后,我们需要识别这些磁盘以自动执行LVM存储设置。
虚拟磁盘可能驻留在不同的数据存储区(例如sas或flash),尽pipe它们的大小可能相同,但其速度可能会有所不同。 所以我需要一种将vSphere磁盘映射到Linux设备的方法。
通过vSphere API,我可以获取设备信息:
Data Object Type: VirtualDiskFlatVer2BackingInfo Parent Managed Object ID: vm-230 Property Path: config.hardware.device[2000].backing Properties Name Type Value ChangeId string Unset contentId string "d58ec8c12486ea55c6f6d913642e1801" datastore ManagedObjectReference:Datastore datastore-216 (W5-CFAS012-Hybrid-CL20-004) deltaDiskFormat string "redoLogFormat" deltaGrainSize int Unset digestEnabled boolean false diskMode string "persistent" dynamicProperty DynamicProperty[] Unset dynamicType string Unset eagerlyScrub boolean Unset fileName string "[W5-CFAS012-Hybrid-CL20-004] l****9-000001.vmdk" parent VirtualDiskFlatVer2BackingInfo parent split boolean false thinProvisioned boolean false uuid string "6000C295-ab45-704e-9497-b25d2ba8dc00" writeThrough boolean false
在Linux上,我可以读取uuidstring:
[root@lx***** ~]# lsscsi -t [1:0:0:0] cd/dvd ata: /dev/sr0 [2:0:0:0] disk sas:0x5000c295ab45704e /dev/sda [3:0:0:0] disk sas:0x5000c2932dfa693f /dev/sdb [3:0:1:0] disk sas:0x5000c29dcd64314a /dev/sdc
如您所见,磁盘/ dev / sda的uuidstring看起来不太熟悉VMware API中可见的string。 只有第一个hex数字是不同的(5对6),它只出现在第三个连字符。 所以这看起来很有希望
通过控制器select磁盘。 但是,升序的SCSI ID是否也与下一个vSphere虚拟磁盘相匹配呢? 如果我添加另一个DVD-ROM驱动器/ USB拇指驱动器会发生什么情况? 这可能会在两者之间引入新的SCSI设备。 那就是我认为我会放弃这个想法的原因。
使用SCSI ID来标识虚拟磁盘。 您似乎在虚拟机启动时会dynamic分配SCSI ID。 不是这种情况。 在虚拟机的属性中,您可以将虚拟磁盘的ID设置为所需的任何内容,除非您需要,否则不会更改。