(この記事は、個人ブログの再投稿です)
先日に引き続き govcの小ネタです。今回はディスク確認のコマンドについてです。
TL; DR
VMのディスクを確認するには
$ govc device.info -vm myvm disk-*
Name: disk-1000-0
Type: VirtualDisk
Label: Hard disk 1
Summary: 512,000 KB
Key: 2000
Controller: pvscsi-1000
Unit number: 0
File: [datastore1] myvm/myvm.vmdk
ディスクのパスから確認するには
$ govc datastore.disk.info -ds datastore1 myvm/myvm.vmdk
Name: myvm/myvm.vmdk
Type: eagerZeroedThick
Parent:
はじめに
ディスク取得コマンドはいろいろあってややこしいので、整理のためにまとめておきます。
VMのデバイス取得 govc device.info
NICやディスク等、VMに接続しているデバイスがすべて取得できます。
$ govc device.info -vm myvm
Name: ide-200
Type: VirtualIDEController
Label: IDE 0
Summary: IDE 0
Key: 200
Devices:
Name: ide-201
Type: VirtualIDEController
Label: IDE 1
Summary: IDE 1
Key: 201
Devices:
Name: ps2-300
Type: VirtualPS2Controller
Label: PS2 controller 0
Summary: PS2 controller 0
Key: 300
Devices: keyboard-600, pointing-700
…
ディスクの名前は disk-
ではじまるので、名前で絞り込めば冒頭のようにディスクだけ取得できます。
$ govc device.info -vm myvm disk-*
Name: disk-1000-0
Type: VirtualDisk
Label: Hard disk 1
Summary: 512,000 KB
Key: 2000
Controller: pvscsi-1000
Unit number: 0
File: [datastore1] myvm/myvm.vmdk
データストア内のディスク確認 datastore.disk.info
こちらはデータストアに紐づいた情報なので、プロビジョニングポリシーが確認できます。
$ govc datastore.disk.info -ds datastore1 myvm/myvm.vmdk
Name: myvm/myvm.vmdk
Type: eagerZeroedThick
Parent:
# UUIDも確認できる
$ govc datastore.disk.info -uuid -ds datastore1 myvm/myvm.vmdk
Name: myvm/myvm.vmdk
UUID: 60 00 C2 93 88 2a d7 97-99 19 52 74 93 fa 1f 3c
Type: eagerZeroedThick
Parent:
First Class Diskの取得: disk.ls
一見すると govc disk.ls
が一番手っ取り早そうですが、VMのディスクは取れません。
# 何も出ない?
$ govc disk.ls
このコマンドは、VMに紐づかないFirst Class Disk (FCD)を取得するものでした。
vRealize Automation Cloud の First Class Disk ストレージで実行できること
どうやらk8sのPVC等、「VM以外の単位でディスクを管理したい」際に使うようです。
せっかくなのでFCDを作って確認してみます。
$ govc disk.create -size 10M mydisk
[21-03-22 09:47:58] Creating mydisk...OK
0e62faf6-4420-4aba-b9bb-67f34a03d1c4
今度はちゃんと確認できました。
$ govc disk.ls
0e62faf6-4420-4aba-b9bb-67f34a03d1c4 mydisk
作成したディスクはVMに紐づかないので /fcd
配下に格納されます。
$ govc datastore.ls /fcd
d870784bfa58431084602b9e1644a75c-flat.vmdk
d870784bfa58431084602b9e1644a75c.vmdk
$ govc datastore.disk.info fcd/d870784bfa58431084602b9e1644a75c.vmdk
Name: fcd/d870784bfa58431084602b9e1644a75c.vmdk
Type: thin
Parent:
vSphere Client上でもディスクが確認できます。
おわりに
ディスク取得コマンドのおさらいをすることで、vSphereの新しい機能も知ることができました。govcネタはまだいくつかありそうなので、随時まとめていきたいと思います。