Hola,
zitten hier mensen die een beetje bekend zijn met de VMware vSphere API?
TL;DR: Ik heb een VMware vSphere datastore, die is aan een host gekoppeld, die koppeling gaat over een bepaald pad. Hoe krijg ik die gegevens via de VMware.VIM API boven water?
Lange versie:
Ik zal eerst beginnen met uitleggen wat ik wil. We hebben een fiberchannel SAN met een active/passive oplossing richting de disk arrays, de IBM System Storage SAN Volume Controller zoals het ding voluit heet.
Daarin maken we mirrored vDisks, deze vDisks hebben een preferred node. Benader je de vDisks over een andere dan de preferred node dan zorgt dit voor overbodig inter-node verkeer. Dit voorkom je door in VMware de Multipathing voor je datastores op 'Fixed' in te stellen en het juiste path als 'preferred' in te stellen. Dit alles volgens best practices, op aanbevelen van de leverancer en de fabrikant etc etc.
Nu hebben we nogal wat hosts, en ook behoorlijk veel vDisks. Om te controleren of alle instellingen (er zitten nog wat meer haken en ogen aan die je juist in moet stellen / wilt balanceren maar die heb ik al getackeld) goed staan heb ik een programma gemaakt in C# dat (o.a.) de vSphere API aanroept en een hele rits dingen controleert, zowel op VMware als op de SVC.
De vraag die nog open staat is hoe ik van de naam die een datastore heeft in vCenter Server op een host bij de bijbehorende HostMultipathInfoLogicalUnit kom.
In het de VMware vSphere PowerCLI geïnstalleerd en in mijn C#-project de referentie VMware.Vim toegevoegd. VS zegt dat dit versie 5.1.0.0 is, dat kan kloppen want dat was ook de versie van de PowerCLI.
Er zijn echter heel veel namen en nummertjes die her en der te vinden zijn maar ik krijg niks gevonden dat ik aan elkaar kan linken... Zo kun je bijvoorbeeld bij de Datastore -> DatastoreHostMounts in de HostMountInfo het path vinden, maar dat is weer een ander path dan er in HostSystem -> HostConfigManager -> HostStorageSystem staat...
Via Datastore.info.vmfs.extent kom je bij een [url=http://pubs.vmware.com/vsphere-51/index.jsp#com.vmware.wssdk.apiref.doc/vim.host.ScsiDisk.Partition.html]HostScsiDiskPartition met daarin een diskName, maar die is weer nergens terug te vinden als je bij de HostStorageSystem gaat kijken...
In de GUI is het betrekkelijk simpel te vinden, maar welke API er dan achter hangt, geen idee
zitten hier mensen die een beetje bekend zijn met de VMware vSphere API?
TL;DR: Ik heb een VMware vSphere datastore, die is aan een host gekoppeld, die koppeling gaat over een bepaald pad. Hoe krijg ik die gegevens via de VMware.VIM API boven water?
Lange versie:
Ik zal eerst beginnen met uitleggen wat ik wil. We hebben een fiberchannel SAN met een active/passive oplossing richting de disk arrays, de IBM System Storage SAN Volume Controller zoals het ding voluit heet.
Daarin maken we mirrored vDisks, deze vDisks hebben een preferred node. Benader je de vDisks over een andere dan de preferred node dan zorgt dit voor overbodig inter-node verkeer. Dit voorkom je door in VMware de Multipathing voor je datastores op 'Fixed' in te stellen en het juiste path als 'preferred' in te stellen. Dit alles volgens best practices, op aanbevelen van de leverancer en de fabrikant etc etc.
Nu hebben we nogal wat hosts, en ook behoorlijk veel vDisks. Om te controleren of alle instellingen (er zitten nog wat meer haken en ogen aan die je juist in moet stellen / wilt balanceren maar die heb ik al getackeld) goed staan heb ik een programma gemaakt in C# dat (o.a.) de vSphere API aanroept en een hele rits dingen controleert, zowel op VMware als op de SVC.
De vraag die nog open staat is hoe ik van de naam die een datastore heeft in vCenter Server op een host bij de bijbehorende HostMultipathInfoLogicalUnit kom.
In het de VMware vSphere PowerCLI geïnstalleerd en in mijn C#-project de referentie VMware.Vim toegevoegd. VS zegt dat dit versie 5.1.0.0 is, dat kan kloppen want dat was ook de versie van de PowerCLI.
Er zijn echter heel veel namen en nummertjes die her en der te vinden zijn maar ik krijg niks gevonden dat ik aan elkaar kan linken... Zo kun je bijvoorbeeld bij de Datastore -> DatastoreHostMounts in de HostMountInfo het path vinden, maar dat is weer een ander path dan er in HostSystem -> HostConfigManager -> HostStorageSystem staat...
Via Datastore.info.vmfs.extent kom je bij een [url=http://pubs.vmware.com/vsphere-51/index.jsp#com.vmware.wssdk.apiref.doc/vim.host.ScsiDisk.Partition.html]HostScsiDiskPartition met daarin een diskName, maar die is weer nergens terug te vinden als je bij de HostStorageSystem gaat kijken...
In de GUI is het betrekkelijk simpel te vinden, maar welke API er dan achter hangt, geen idee
"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock