前回に引き続き、Nutanix CE で VM の UUID を確認してみます。例として VM を扱っていますが、ネットワーク UUID やディスク イメージ UUID といった、他の情報も同様に確認できます。
今回の内容です。
前回はこちら。
環境の準備
まず SSH 公開鍵を CVM に登録して、acli / ncli をリモートから実行できるようにしておきます。CLI をリモートが実行できるようになったことで、jq コマンドなど、CVM にはインストールされていないツールも利用しやすくなります。
SSH 経由の ncli 実行例
ncli で取得した情報を、SSH 実行元の Linux にある jq コマンドで加工してみます。
- SSH 経由で実行する場合、ncli もフルパス(/home/nutanix/prism/cli/ncli)で指定します。
- ncli の実行結果は、--json=pretty オプションで JSON 出力できます。
- jq コマンドで、VM の名前と UUID だけ抽出 → CSV 整形 しています。
[gowatana@infra-jbox-01 ~]$ ssh -o StrictHostKeyChecking=false nutanix@lab-nxce-01.go-lab.jp /home/nutanix/prism/cli/ncli --json=pretty vm list | jq -r '.data[] | [.uuid, .vmName] | @csv' Warning: the ECDSA host key for 'lab-nxce-01.go-lab.jp' differs from the key for the IP address '192.168.20.50' Offending key for IP in /home/gowatana/.ssh/known_hosts:119 Matching host key in /home/gowatana/.ssh/known_hosts:354 Nutanix Controller VM "0e13bfd5-1f7e-47d6-a666-d4e9e2f5d2f9","vm02" "0ebf8a1c-0d5f-40e7-8129-e04b5b0c0adb","lab-web-02" "27e4fc61-25c0-4325-bcc7-245dac7478f6","NTNX-624676c4-A-CVM" "501fa588-042b-4d25-b5dd-21aae18b3b82","lab-web-01" "5fc2057e-bd99-4835-9b2f-4f5512daaf6c","lab-nxpc-01" "643193a1-a792-426a-8501-a3d874ddb457","ol8-base-01" "bcb007fe-3594-4dc0-8f35-4ad0c5a6429a","NTNX-test-fs-01-1" "e7a81f7d-1840-43d9-b712-bffaa01c6042","vm01" "ee505edb-41b9-4bd4-89b5-3a492b071e4f","rhel84-base-01"
前回と同様に、ncli で VM の名前「lab-web-01」から UUID を取得してみます。
[gowatana@infra-jbox-01 ~]$ ssh -o StrictHostKeyChecking=false nutanix@lab-nxce-01.go-lab.jp /home/nutanix/prism/cli/ncli --json=pretty vm list name=lab-web-01 | jq -r .data[].uuid Warning: the ECDSA host key for 'lab-nxce-01.go-lab.jp' differs from the key for the IP address '192.168.20.50' Offending key for IP in /home/gowatana/.ssh/known_hosts:119 Matching host key in /home/gowatana/.ssh/known_hosts:354 Nutanix Controller VM 501fa588-042b-4d25-b5dd-21aae18b3b82
SSH 経由の acli 実行例
acli で取得した情報を、SSH 実行元の Linux にある jq コマンドで加工してみます。
- SSH 経由で実行する場合、acli はフルパス(/usr/local/nutanix/bin/acli)で指定します。
- acli の実行結果は、-o json オプションで JSON 出力できます。
- jq コマンドで、VM の名前と UUID だけ抽出 → CSV 整形 しています。
- 実行結果のうちSSH による Warning や「Nutanix Controller VM」といった部分は、標準出力ではなく標準エラー出力のようで、jq コマンドには渡されません。
[gowatana@infra-jbox-01 ~]$ ssh -o StrictHostKeyChecking=false nutanix@lab-nxce-01.go-lab.jp /usr/local/nutanix/bin/acli -o json vm.list | jq -r '.data[] | [.uuid, .name] | @csv' Warning: the ECDSA host key for 'lab-nxce-01.go-lab.jp' differs from the key for the IP address '192.168.20.50' Offending key for IP in /home/gowatana/.ssh/known_hosts:119 Matching host key in /home/gowatana/.ssh/known_hosts:354 Nutanix Controller VM "bcb007fe-3594-4dc0-8f35-4ad0c5a6429a","NTNX-test-fs-01-1" "5fc2057e-bd99-4835-9b2f-4f5512daaf6c","lab-nxpc-01" "501fa588-042b-4d25-b5dd-21aae18b3b82","lab-web-01" "0ebf8a1c-0d5f-40e7-8129-e04b5b0c0adb","lab-web-02" "643193a1-a792-426a-8501-a3d874ddb457","ol8-base-01" "ee505edb-41b9-4bd4-89b5-3a492b071e4f","rhel84-base-01" "e7a81f7d-1840-43d9-b712-bffaa01c6042","vm01" "0e13bfd5-1f7e-47d6-a666-d4e9e2f5d2f9","vm02"
前回と同様に、acli でも VM の名前「lab-web-01」から UUID を取得してみます。
[gowatana@infra-jbox-01 ~]$ ssh -o StrictHostKeyChecking=false nutanix@lab-nxce-01.go-lab.jp /usr/local/nutanix/bin/acli -o json vm.get lab-web-01 | jq -r '.data | keys[0]' Warning: the ECDSA host key for 'lab-nxce-01.go-lab.jp' differs from the key for the IP address '192.168.20.50' Offending key for IP in /home/gowatana/.ssh/known_hosts:119 Matching host key in /home/gowatana/.ssh/known_hosts:354 Nutanix Controller VM 501fa588-042b-4d25-b5dd-21aae18b3b82
以上。