2020年5月27日水曜日

【PowerCLI】ESXiのデータストアのアンマウントとパスの分離をコマンドで一気に実施する

vSphere環境でESXiからデータストアを取り外す際は、単純にアンマウントするだけではなく、「パスの分離」と呼ばれるSCSIデバイスの切断作業が必要となる。アンマウントはvSphere Clientを使えば全ESXiサーバで一気に実行することができるのでまだ負担が少ないが、パスの分離は、各ESXiサーバで実施する必要があり、作業負荷がかなり大きい作業となる。

そこで、以前からPowerCLIを使用することで一気にこの作業を実施できればよいと考えていたのだが、なかなか簡単にはできなさそうなので検証ができていなかったのだが、ようやくコマンドの調査と検証が終わったので、本記事にてPowerCLIを用いたアンマウントとパスの分離手順を記載する。

なお、手順検証はvSphere 6.7の環境で実施したが、データストア取り外し時にアンマウントとパスの分離を実施する手順自体は、vSphere 5.0の時代から続く作法となり、vSphere 6.7以前の環境でも利用できる可能性は高い。

環境

  • vCenter Server 6.7 Update 3b
  • ESXi 6.7 Update 3
  • PowerCLI 11.5

データストアのアンマウントとパスの分離手順

以下コマンドを上から順に実行すればよい。最初の変数は以下を指定する。
  • $dsLabel : アンマウント対象のデータストア名
  • $cluster : アンマウント対象のESXiが所属するクラスター名
# アンマウント対象のデータストアとクラスターを取得
$dsLabel = "MyDatastore"
$cluster = "MyCluster"

$ds = Get-Datastore $dsLabel
$vmfsUuid = (Get-View $ds).Info.Vmfs.Uuid
$lunUuid = (Get-View $ds).Info.Vmfs.Extent[0].DiskName

# 実行対象のESXi情報を取得
$vmhost = Get-Cluster $cluster | Get-VMHost

# アンマウント及びパスの分離を実行
$storSys = Get-View $vmhost.ExtensionData.ConfigManager.StorageSystem
$storSys.UnmountVmfsVolume($vmfsUuid)
$storSys.DetachScsiLun($lunUuid)
ストレージ側でLUNの削除または切断したのち、以下コマンドで「HBAデバイスのスキャン」と「VMFSボリュームのスキャン」を実施すれば、アンマウントしたデータストアは問題なくvSphere上から消えるはずだ。
Get-VMHost | Get-VMHostStorage -RescanAllHba -RescanVmfs

参考

0 件のコメント:

コメントを投稿

人気の投稿