Skip navigation

Blog Posts

Total : 3,555

Blog Posts

1 2 Previous Next

I´ve published several very useful vRealize Orchestrator workflow packages on my website. They are good for extending vRealize Automation or to use with vCenter WebClient.



  This package enables vRO to send HTML formatted emails via SMTP.


  • Use preformatted HTML or plaintext email Templates
  • Replace {tags} in the Mail template with vRO values
  • Repeats HTML structures and fills them either with values from arrays or from properties.
  • Use a configuration to centrally store your mail settings


The coolMail subsystem works by substituting a tag with an vRO value. A coolMail tag can be freely defined and must have { } winged brackets around it. For example {} or {userName}.

The User just prepares a HTML template (e.g. using and inserts tags where later values from vRO should be displayed. This enables one for example to create very nice looking HTML email that can be used with vRealize Automation (vRA).





  This package enables vRO to run scripts of various types inside a VM using VMware tools.


  • Easy to use script ruinning engine
  • Replace {tags} in the script template with values from vRO
  • Can use Windows, Linux, (virtual) ESXi and Photon OS 
  • Runs Linux Bash, Linux PHP, Linux Python, Linux Perl, Windows DOS, Windows PowerShell, Windows Diskpart
  • Can be easily addapted to run other OSs or Script types
  • Stores Configuration centraly and differentiates between Linux and Windows login credentials


CoolRun enables you to run scripts inside a VM without caring to much about copy, run, check etc. Using {tags} in the script you can replace these tags with any value from vRO. The workflow has the correct script exection setting for Linux Bash, Linux PHP, Linux Python, Linux Perl, Windows DOS, Windows PowerShell, Windows Diskpart build in. This for example allows a user to create a workflow that would add a new Disk to a Windows VM and then runs Windows Diskpart to create a partition, formatting it and assign a lab to it.

CoolRun is also built in such a way that it can be easily adapted to other script languages as well as OSs.  





This workflow allows you to completely read out a property in all its details. The output will be displayed into the logs of the workflow. This workflow is extremly useful for vRealize Automation (vRA)


  • Recursive logging of properties within properties
  • displaying the variable type
  • showing the content of arrays


This workflow will log the content of a property into the logs (System.log). The property can consists of multiple properties in properties as well as arrays. The workflow will also log all system context variables (mostly used with vRA). The input variable debugFlag can be null. If set to false the workflow is not executed. This can be used to make sure that the logging will only work in a debug situtation.



突然ですが、vCenter のタスク情報の一覧を PowerCLI で見てみようと思います。


vSphere API では、下記のあたりの情報です。


Data Object - TaskInfo(vim.TaskInfo)


PowerCLI から見る TaskInfo

vSphere Web Client / vSphere Client などで見られる vCenter のタスク情報は、

PowerCLI だと下記のように見ることができます。


まず、VM を起動してみます。

PowerCLI> Get-VM vm21 | Start-VM



Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm21                 PoweredOn  1        0.500



この VM の直近のタスクを見てみます。

PowerCLI> Get-VM vm21 | select Name,{$_.ExtensionData.RecentTask}


Name $_.ExtensionData.RecentTask

---- ---------------------------

vm21 Task-task-17043



PowerCLI> (Get-View (Get-VM vm21).ExtensionData.RecentTask).Info



Key           : task-17043

Task          : Task-task-17043

Description   :

Name          : PowerOnVM_Task

DescriptionId : VirtualMachine.powerOn

Entity        : VirtualMachine-vm-500

EntityName    : vm21

Locked        :

State         : success

Cancelled     : False

Cancelable    : False

Error         :

Result        :

Progress      :

Reason        : VMware.Vim.TaskReasonUser

QueueTime     : 2017/09/14 11:31:41

StartTime     : 2017/09/14 11:31:41

CompleteTime  : 2017/09/14 11:31:45

EventChainId  : 702468

ChangeTag     :

ParentTaskKey :

RootTaskKey   :

ActivationId  :

LinkedView    :



タスクの内容が分かりやすい、DescriptionId だけに絞ってみます。

直近の VM を起動したタスクだとわかります。

PowerCLI> Get-VM vm21 | select Name,{(Get-View $_.ExtensionData.RecentTask).Info.DescriptionId}



Name (Get-View $_.ExtensionData.RecentTask).Info.DescriptionId

---- ---------------------------------------------------------

vm21 VirtualMachine.powerOn



PowerCLI で タスク情報の一覧を取得してみる。

今回は、vCenter のタスクにどのようなものがあるのか PowerCLI で一覧を取得してみます。

まず今回使用した PowerCLI と、vCenter のバージョンです。


PowerCLI 6.5.1 と、vCenter 6.5 U1 を使用しています。

PowerCLI> (Get-PowerCLIVersion).UserFriendlyVersion

VMware PowerCLI 6.5.1 build 5377412

PowerCLI> Connect-VIServer | Out-Null

PowerCLI> $global:DefaultVIServer | fl Name,Version,Build,IsConnected



Name        :

Version     : 6.5.0

Build       : 5973321

IsConnected : True



TaskManager から、タスク情報を取得してみます。

1500 件以上あるようです。

PowerCLI> $t = Get-View $global:DefaultVIServer.ExtensionData.Content.TaskManager

PowerCLI> ($t.Description.MethodInfo).Count



とりあえず 10件だけ取得してみると、下記のような感じです。

PowerCLI> $t.Description.MethodInfo | select -First 10 | fl



Key     : host.OperationCleanupManager.createEntry

Label   : createEntry

Summary : createEntry


Key     : host.OperationCleanupManager.updateEntry

Label   : updateEntry

Summary : updateEntry


Key     : host.OperationCleanupManager.queryEntry

Label   : queryEntry

Summary : queryEntry


Key     : vm.guest.GuestOperationsManager.queryDisabledMethods

Label   : Query disabled guest operations

Summary : Returns a list of guest operations not supported by a virtual machine


Key     :

Label   : updateHostSpecification

Summary : updateHostSpecification


Key     :

Label   : updateHostSubSpecification

Summary : updateHostSubSpecification


Key     :

Label   : retrieveHostSpecification

Summary : retrieveHostSpecification


Key     :

Label   : deleteHostSubSpecification

Summary : deleteHostSubSpecification


Key     :

Label   : deleteHostSpecification

Summary : deleteHostSpecification


Key     :

Label   : getUpdatedHosts

Summary : getUpdatedHosts





最初に確認した VM を起動したタスクについての情報も含まれています。

PowerCLI> $t.Description.MethodInfo | where {$_.key -eq "VirtualMachine.powerOn"} | fl


Key     : VirtualMachine.powerOn

Label   : Power On virtual machine

Summary : Power On this virtual machine




PowerCLI> $t.Description.MethodInfo | where {$_.key -eq "VirtualMachine.rebootGuest"} | fl


Key     : VirtualMachine.rebootGuest

Label   : Initiate guest OS reboot

Summary : Issues a command to the guest operating system asking it to perform a reboot



ちなみに、下記のように CSV で出力することもできます。

PowerCLI> $t.Description.MethodInfo | Export-Csv -Encoding utf8 -NoTypeInformation -Path C:\work\vc-task.csv

PowerCLI> cat C:\work\vc-task.csv | select -First 10





"vm.guest.GuestOperationsManager.queryDisabledMethods","Query disabled guest operations","Returns a list of guest operations not supported by a virtual machine"








取得した CSV ファイルは下記のような感じでした。

vc-task.csv · GitHub


以上、PowerCLI で TaskInfo の一覧を取得してみる話でした。

vRA and The Problem of the vCenter Folder



Between speaking with customers, architecting and deploying solutions, and helping others out with their issues on the VMware Communities forums, I encounter a lot of problems and get a lot of info on how customers do business with their CMPs. One of the requests that keeps coming up over and over again is how to deal with putting vRA’s workloads into the correct folder structure that has already been established in an enterprise. Very often—especially in large vCenter servers—companies have an established folder structure which could be quite complex. It is not unheard of to see a tree structure ten levels deep. These folders not only serve the purpose of providing visual VM organization, but also in defining permissions, monitoring, and backup boundaries. Permissions can be assigned at those folders granting access to the responsible parties. Folders, for example with vROps, can segregate monitoring policies. And just about every backup application on the market can now use vCenter folders as their organizational concept when setting up jobs. So they tend to be very important to certain organizations in a variety of ways. When implementing a CMP it is therefore important that it be able to fit into the established folder schema.


vRealize Automation (vRA) is certainly capable of putting its VMs into folders. In fact, if you changed nothing out of the box, it deposits its deployed VMs into a default vCenter folder called “VRM”.

For smaller shops that don’t really worry about folders, maybe this is fine. Through use of custom properties, vRA can stash those VMs into a folder of your choosing. By specifying the property VMware.VirtualCenter.Folder, the value of which determines the folder, any system deployed from vRA will land in that folder.


Use of a forward slash (“/”) indicates a separate level in the folder tree. The above would yield the following result below.


Anywhere this custom property is present within vRA that a deployment “touches” will be inherited and applied. For example, if this property were applied at the vCenter endpoint level, a VM that is deployed to that endpoint will be affected by the custom property. Likewise, if this property is present on a business group, and a user from that business group requests a machine, that machine will go into the folder specified by the custom property. What happens if this property is present twice at different locations? In that case, an order of precedence applies where the property which occurs later overrides one earlier. For example, if the property were on both a business group and specified at time of request, the value at time of request would win. While this provides some level of customization above what the VRM default folder affords, it’s still not enough for many customers. The ultimate desire is to have vRA deposit systems into the exact folder given a number of variables that might include things like department, environment, geographic location, and application. That level of flexibility is just not possible in vRA today without taking to vRealize Orchestrator (vRO) and writing custom JavaScript code. Until recently, that last sentence was true, but now SovLabs has an answer that changes everything and gives you the power you need.


            With the 2017.3 release of SovLabs Extensibility Modules for vRA comes a new module called the SovLabs Property Toolkit for vRealize Automation. This module has two main abilities. The first is to change and manage custom properties on systems after they have been deployed.  This is extremely powerful, as this kind of functionality does not exist natively in vRA and requires custom vRO workflows and code today.  The second capability, the subject of this blog and the answer to our prayers, is to create dynamic property sets or groups of properties. With dynamic property sets, each property within the set can derive its name and value based on the value of other vRA custom properties or any custom logic utilizing the SovLabs Template Engine. With a dynamic property set, you can now derive a value for VMware.VirtualCenter.Folder from VM properties, including user-input values at request time. Let’s dig in and see this in action.


            Imagine the following scenario, which I’ve taken from a real customer setup but made my own alterations:  Your organization is very strict in its vCenter configurations. With over 4,000 virtual machines, you have to be organized. Further, with multiple locations, multiple lines of business, multiple environments, and even more applications, things get downright dirty if they aren’t carefully organized. This is the folder organization we must achieve.

Backup jobs are organized by these folders with specific retention policies applied due to regulatory compliance requirements. And your operations team allows access to these applications from the app teams themselves, which means you can’t give open access to everything in vCenter. This scenario is very real for many organizations. Let’s see how the SovLabs Property Toolkit module can easily handle this type of structure.


            As shown above, we have a 5-level folder hierarchy in which we want vRA to stash machines that result from deployments. There are multiple options at each of these levels. For example, let’s start and assume we have the following specific structure:  Southeast -> Inside -> Sales -> Production -> Oracle. We need to create labels for each of these levels and put them around vRA for the module to consume. The reason is simple:  vRA services multiple regions, groups, departments, environments, and applications, and we must be able to distinguish between, say, Oracle and Sharepoint for each combination thereof. We’ll create custom properties for each of these levels in the hierarchy and apply them to the relevant constructs within vRA. This is a table of the custom properties I’ve created, their value, and where they reside.


Property Name


Location in vRA

  1. VCFolder.Region


Cluster Compute Resource

  1. VCFolder.BusGroupDept


Business Group

  1. VCFolder.Environment


Cluster Compute Resource

  1. VCFolder.Application


Blueprint (show in request)


The cluster (of which there is only one since this is a lab) has the Region and Environment properties, but imagine that we had multiple clusters, one for production and another for non-production. Those properties would then be split up. We’ve created a business group called “Inside – Sales”. There are others that begin with “Inside” but might be “Engineering” or something similar. The names are effectively two components of our folder naming plan. Lastly, the application is defined in our property dictionary and presents as a drop-down list of application names. This property has been added to our blueprint and is being shown to users in the request form. The reason being that, in this scenario, we’re only deploying IaaS and not PaaS, so applications have yet to be installed.


            Now comes the magic. We have our property names established and configured. It’s time to configure the integration. For this, we must create a new custom property beginning with SovLabs_CreateProperties_. This prefix is required and is how the module knows to invoke the action defined in its value. In this case, I’ve created SovLabs_CreateProperties_VCFolder. I’ve done this directly on a test blueprint we’ll deploy in just a minute. The value is the most important part as it is JSON describing how the VMware.VirtualCenter.Folder property is to be constructed.


{ "name": "VMware.VirtualCenter.Folder", "value":"{{VCFolder.Region}}/{{VCFolder.BusGroupDept}}/{{VCFolder.Environment}}/{{VCFolder.Application}}" }


With this value, we are telling it to templatize the VMware.VirtualCenter.Folder property from all the constituent parts it comprises. The forward slashes denote the hierarchy.


If we go to our catalog and select this item, we then are asked to tell it what application we want.

We submit the request and stand back for a second. Actually, let’s check vCenter and see what vRA does.


Ah, so we see the individual folder create tasks hit vCenter. By default, vRA will look for the value of VMware.VirtualCenter.Folder, and if it doesn’t exist it will create every level that is present. This shows we’re on the right track with a result.

Alright, that’s what we want to see! Is that not cool?! Once the machine is built, we can check the properties tab (presuming you have business group manager role assigned) and see the resulting custom properties from all over that applied to the deployment.


So as to be expected, the module gathered our custom properties from all around vRA and, based on the template we defined as the value of SovLabs_CreateProperties_VCFolder, patched together the VMware.VirtualCenter.Folder property dynamically at build time all without having to write so much as a single line of JavaScript. That’s pretty amazing and powerful functionality right there, especially keeping in mind that if another user were deploying from a separate business group, the resulting folder would be different, so entirely dynamic.


            I hope this small tutorial has piqued your interest in the possibilities this module unlocks. The sky is the limit. Next time, we’ll look at another common use case for this SovLabs Property Toolkit module: Multiple property background assignment.

VMware Photon OS はコンテナむけの軽量 OS として提供されているので、





たとえば、Photon OS 1.0 の OVA (Build は 62c543d)をデプロイしてみると、

diff コマンドがインストールされていなかったりします。

root@photon-NaoOL4Nm6 [ ~ ]# cat /etc/photon-release

VMware Photon Linux 1.0


root@photon-NaoOL4Nm6 [ ~ ]# diff

-bash: diff: command not found

root@photon-NaoOL4Nm6 [ ~ ]# which diff

which: no diff in (/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin)


デフォルトの RPM 構成は今後のアップデートでも、また変わったりするのではないかと思います。

そこで今回は Photon OS への RPM 追加についての話です。


Photon OS では、Yum リポジトリで RPM が提供されていれば、

tdnf コマンドでインストールすることができます。

ただし、標準では yum コマンドではなく tdnf コマンドを利用します。

yum コマンドは、デフォルトではインストールされていません。

root@photon-NaoOL4Nm6 [ ~ ]# yum

-bash: yum: command not found


tdnf では yum コマンドと同様のオプションが使用できるようになっています。

たとえば、下記のように「diff」がインストールされていそうな RPM を探したりできます。

例では、Photon でも diffutils が提供されていることが分かります。

そしてインストールすると、diff コマンドが利用可能になります。

root@photon-NaoOL4Nm6 [ ~ ]# tdnf search diff

diffutils : Programs that show the differences between files or directories

root@photon-NaoOL4Nm6 [ ~ ]# tdnf install -y diffutils



diffutils                       x86_64      3.3-3.ph1           862.60 k


Total installed size: 862.60 k



diffutils                               319216    100%

Testing transaction

Running transaction



root@photon-NaoOL4Nm6 [ ~ ]# which diff



ちなみに、yum を tdnf でインストールすることもできます。

root@photon-NaoOL4Nm6 [ ~ ]# tdnf install -y yum



rpm-devel                       x86_64      4.11.2-11.ph1       389.27 k

libxml2                         x86_64      2.9.4-3.ph1           7.27 M

pycurl                          x86_64      7.21.5-3.ph1        143.50 k

yum-metadata-parser             x86_64      1.1.4-2.ph1          57.10 k

urlgrabber                      noarch      3.10.1-2.ph1        505.29 k

yum                             noarch      3.4.3-6.ph1           4.18 M


Total installed size: 12.52 M



yum                                    1359795    100%

urlgrabber                              150199    100%

yum-metadata-parser                      24490    100%

pycurl                                   52877    100%

libxml2                                1548443    100%

rpm-devel                               117961    100%

Testing transaction

Running transaction



root@photon-NaoOL4Nm6 [ ~ ]#


yum コマンドが利用できるようになりました。

root@photon-NaoOL4Nm6 [ ~ ]# yum repolist

Failed to set locale, defaulting to C

lightwave                                                   | 1.3 kB  00:00

lightwave/primary                                           |  13 kB  00:00

lightwave                                                                 68/68

photon                                                      | 1.3 kB  00:00

photon/primary                                              | 202 kB  00:00

photon                                                                  537/537

photon-extras                                               | 1.3 kB  00:00

photon-extras/primary                                       | 6.8 kB  00:00

photon-extras                                                             29/29

photon-updates                                              | 1.3 kB  00:00

photon-updates/primary                                      | 490 kB  00:00

photon-updates                                                        1421/1421

repo id                  repo name                                        status

lightwave                VMware Lightwave 1.0(x86_64)                       68

photon                   VMware Photon Linux 1.0(x86_64)                   537

photon-extras            VMware Photon Extras 1.0(x86_64)                   29

photon-updates           VMware Photon Linux 1.0(x86_64)Updates           1421

repolist: 2055

root@photon-NaoOL4Nm6 [ ~ ]#


ただ、デフォルトでは tdnf コマンドを利用するようになっていて、

Photon 以外の Linux ディストリビューションでもYUM 以外の

パッケージマネージャ(Fedra では DNF とか)を採用しているようなので、

個人的には可能な限り yum よりも tdnf を利用しておくとよいかなと思っています。


以上、Photon のパッケージ管理についての話でした。

When host is not responding and not able to press F2 key but it is ping able


Mostly issue from storage side scsci reservation locked host's lock file and not able to release it


It depend on storage environment in vnx when we check we got


09/08/17 10:22:06 FCDMTL 9 (FE1/SC)  ebd1b60 Target command error: mp context 0x300ff, SCSI status = 0x18 - returned by UL

                       A 09/08/17 10:22:06 TDD f32c7730 GRO:Register/Reserve Reservation RsvKey Mismatch Error.

                       A 09/08/17 10:22:06 FCDMTL 9 (FE1/SC)  ef6f680 Target command error: mp context 0x100f6, SCSI status = 0x18 - returned by UL

                       A 09/08/17 10:22:06 TDD f32c7730 GRO:Register/Reserve Reservation RsvKey Mismatch Error.


Here scsi reservation because of HLU and ALU was mismatch

Need to reconfigure from storage side and reboot all host in the cluster


During the last 9 months I wrote a series of articles that covered my work for the Swisscom Enterprise Service Cloud.

Yesterday our cloud went online and I'd like to invite you to check out my latest post providing an architectural overview on our new platform.


I am very interested in discussing all topics around service provider grade multi-tenancy and developing vRealize Suite artefacts in large teams (GIT/CICD).

Instructions to configure SecureAuth as IDP in VMware Identity Manager.

The VMworld 2017 at Mandalay Bay Hotel, LAs Vegas · August 27 - 31, 2017 was a great show with focus on Solutions and Products. As a vertical Telecommunications was highlighted as a segment that showcased VMware vCloud NFV and its applicability to sectors like IOT. Technical sessions on 5G, Service Function Chaining were discussed. Two NFV Hands on Labs showcased will be available in the public domain by Nov 2017.


  The team was honored to have Pat Gelsinger join us the NFV booth along with Shekar Ayyar EVP and GM of Telco NFV.




Now we are on the move to welcome you all at VMworld Barcelona Sept 11 to 14 at FIRA GRAN VIA. See you in Barcelona


Business processes are at the heart of what makes or breaks a business—and what differentiates it from the competition. Oracle helps your enterprise excel in process management by delivering a comprehensive, industry-leading Oracle business process management (BPM) suite.

Quite a number of users with existing Oracle BPM infrastructure and assets are considering moving their assets from on premise to the respective cloud version called Oracle Process Cloud Service.

Oracle Process Cloud (PCS) a subscription-based cloud service for process automation. Offering visibility and management of business processes, and a full life-cycle process management environment including development, test and production- with tooling and run time for process design, execution , monitoring and optimization -without the need to build and maintain an IT infrastructure.

Oracle Process Cloud  empowers Line of Business and Process Designers to build, customize and change custom business applications in a collaborative manner.

Oracle Process Cloud  comes prepackaged with process templates and starter patterns for quick and easy rollout of custom business applications. Users can build all a business application including forms, decisions, data models and implement in a zero code, declarative fashion.

Key features:

  • Rapid Process Automation & Change via starter patterns, collaborative modeling, and zero-code, declarative design
  • Business Friendly Forms Design to create responsive, dynamic web forms.Integration with business data supports design-once and run anywhere
  • Powerful Rules Design that gives designers the agility to dynamically determine approvers and control process flow. Rules are driven by if Then statements or can take the form of Excel-like Decision tables.
  • Richer Business Context for processes via business properties to capture requirements, issues and comments, and other information so that all stakeholders have the same big picture and necessary details. Reports capturing these properties and inter dependency between data can be used for deep impact analysis across processes.
  • User-friendly Sandbox for step-through and testing of business applications
  • Full Lifecycle Management for managing application lifecycle including instant deployment, automatic versioning, and promotion from Test environment to Production.

At the moment, users can export their assets to run on BPM as you will find in the PCS documentation but if you are considering moving your existing Oracle BPM applications and assets to the cloud, then an easy way to achieve this by Migrating your Oracle BPM assets into Oracle Process Cloud Service (PCS). As Andre Boaventura shows in this blog post, this requires a conversion framework and he provides a simple bash script that does the conversion for you.



Visit the below link to get the solution of Title issue.…


Share more get more.



PowerCLI には、vSAN に対応したコマンドも含まれています。

VMware Hands-on Labs (HOL)のラボを利用して PowerCLI 6.5 R1 で vSAN の情報を見てみます。


今回は 「vSAN 6.5 の新機能」(HOL-1731-SDC-1 )のシナリオを利用します。

このラボには PowerCLI で vSAN を操作するシナリオ(モジュール 4)も含まれていますが、

今回は モジュール1 での vSphere Web Client での情報確認を PowerCLI で代用してみます。


下記の「HOL-1731-SDC-1 - vSAN v6.5: What's New」です。

VMware Learning Platform


まず「レッスン 3:vSAN クラスターの準備」のシナリオを進めて vSAN クラスタを構成しておきます。


デスクトップにある PowerCLI のアイコンをダブルクリック起動して、vCenter に接続します。

PowerCLI> Connect-VIServer vcsa-01a.corp.local


PowerCLI コマンドラインは、HOL の「テキストの送信」を利用します。



vSAN クラスタの設定を確認してみます。

PowerCLI> Get-Cluster | where {$_.VsanEnabled -eq $True} | Get-VsanClusterConfiguration | select Cluster, VsanEnabled, VsanDiskClaimMode, SpaceEfficiencyEnabled | ft -AutoSize




IsCacheDisk が True のものがキャッシュ ディスクで、False のものがキャパシティ ディスクです。

PowerCLI> Get-Cluster | where {$_.VsanEnabled -eq $True} | Get-VsanDiskGroup | sort VMHost | select VMHost, DiskGroupType, DiskFormatVersion, @{N="CacheDisk"; E={($_ | Get-VsanDisk | where {$_.IsCacheDisk -eq $true}).Count}}, @{N="CapacityDisk"; E={($_ | Get-VsanDisk | where {$_.IsCacheDisk -ne $true}).Count}}, Uuid | ft -AutoSize



たとえば、下記でウィンドウ幅を 120 に拡張できます。

$window_width = 120

$pswindow = (Get-Host).ui.rawui

$newsize = $pswindow.buffersize; $newsize.width = $window_width; $pswindow.buffersize = $newsize

$newsize = $pswindow.windowsize; $newsize.width = $window_width; $pswindow.windowsize = $newsize



vSAN ディスクを確認してみます。

PowerCLI> Get-Cluster | where {$_.VsanEnabled -eq $True} | Get-VsanDiskGroup | % {$hv = $_.VMHost; $_ | Get-VsanDisk | % {$path = $_.DevicePath; $_| select @{N="ESXi"; E={$hv.Name}},Uuid, IsCacheDisk, IsSSD, CanonicalName, @{N="CapacityGB"; E={($hv | Get-VMHostDisk | where {$_.DeviceName -eq $path }).ScsiLun.CapacityGB}}}} | ft -AutoSize



vSAN データストアの容量情報を確認してみます。

PowerCLI> Get-Datastore | where {$_.Type -eq "vsan"} | select Name, Type, CapacityGB, FreeSpaceGB, @{N="ProvisionedSpaceGB"; E={($_.CapacityGB - $_.FreeSpaceGB) + ($_.ExtensionData.Summary.Uncommitted / 1GB)}} | ft -AutoSize



各 ESXi ホストのストレージ プロバイダ の情報を見てみます。

PowerCLI> Get-VasaProvider | where {$_.Namespace -eq "VSAN"} | sort Name | select Status, Name, ProviderId | ft -AutoSize




PowerCLI> Get-VasaStorageArray | where {$_.ModelId -eq "VSAN"} | select @{N="Datastore"; E={$Id = "ds:///vmfs/volumes/" + $_.Id + "/"; (Get-Datastore | where {$_.ExtensionData.Info.Url -eq $Id}).Name}}, Provider, Id | ft -AutoSize



デフォルトのストレージ ポリシー「Virtual SAN Default Storage Policy」のルールを確認してみます。

PowerCLI> Get-SpbmStoragePolicy -Name "Virtual SAN Default Storage Policy" | select -ExpandProperty AnyOfRuleSets | %{$name = $_.Name; $_ | select -ExpandProperty AllOfRules | select @{N="RuleName"; E={$Name}}, Capability, Value} | ft -AutoSize



HOL のシナリオを「レッスン 4: VSAN クラスター キャパシティのスケール アウト」まで進めると、

下記のように vSAN が拡張された様子が確認できます。


vSAN クラスタに、ディスクグループが追加されています。



追加したディスクグループの、キャッシュ ディスクとキャパシティディスクです。



vSAN データストア容量も追加されてます。



このように、vSphere Web Client で確認できる情報と同様のものが、PowerCLI でも確認することができます。

vSAN の構成情報をレポートとして残したい場合などに利用すると便利かもしれません。


以上、PowerCLI で vSAN の情報を見てみる話でした。

1 2 Previous Next


Looking for a blog?

Can't find a specific blog? Try using the Blog page to browse and search blogs.