[Nutanix]aCLIについて丁寧に解説

Nutanix
Nutanix logo
スポンサーリンク
スポンサーリンク

はじめに

Nutanixのコマンドラインは様々な種類がありますが、一応体系化されています。
今回の記事ではaCLIについて解説します。

aCLIとは

Acropolis CLIの略称です。AHVに対して様々な操作を行うことが可能です。
CVMから操作します。
様々な操作と言っても以下のエンティティが対象です。

・AHVホストの操作(メンテナンスモードなど)
・ADS(Acropolis Dynamic Scheduler)に関する操作
・コア機能に関する操作
・VMHAに関する操作
・イメージファイルに関する操作
・スナップショットに関する操作
・VMに関する操作
・アフィニティやアンチアフィニティに関する操作
・NWに関する操作(VSの作成など)
・Volume Groupに関する操作
・その他

代表的なコマンドについて紹介

AHVホストの操作(メンテナンスモードなど)

AHVホストのUUIDなどを確認する場合は以下のコマンドを使用します。

acli host.list

メンテナンスモードに移行できるか確認する場合には以下のコマンドを使用します。

acli host.enter_maintenance_mode_check "UUID"

問題なければ、「Ok to enter maintenance mode」と表示されます。

メンテナンスモードに入る場合は以下のコマンドを使用します。

acli host.enter_maintenance_mode "UUID" wait=ture

メンテナンスモードから抜ける場合は以下のコマンドを使用します。

acli host.exit_maintenance_mode "UUID"

また、指定したAHVで動作しているVMとUUIDを確認したい場合には以下のコマンドが使えます。

acli host.list_vms "AHVのUUID"
ADS(Acropolis Dynamic Scheduler)に関する操作

ADSの設定が有効化されているかを確認する場合は以下のコマンドを使用します。

acli ads.get
config {
enabled: True
}

無効化することは推奨されませんが、どうしても無効化したい場合には以下のコマンドで無効化します。

acli ads.update enable=false

やっぱり有効化したい場合は、以下のコマンドで有効化します。

acli ads.update enable=true
コア機能に関する操作

設定値を確認するには以下のコマンドを使用します。

acli core.get
assume_default=False Reply to all prompts with default values.
inline_help=True Show inline help for tab completion.
json=False Output JSON.
page_size=24 Number of lines before pagination.
pretty=False Show pretty output.
use_dns=False Perform DNS lookups.

変更する場合は、acli core.set page_size=100 引数2…のように設定できます。

VMHAに関する操作

こちらの記事で詳細に解説しています。

[Nutanix]VMHA(Virtual Machine High Availability)について解説
NutanixのHA機能であるVMHA(Virtual Machine high Availability)について丁寧に解説します。
イメージファイルに関する操作

イメージの名前とイメージの種類やUUIDを確認したい場合には、以下のコマンドを使用します。

acli image.list

イメージの詳細を確認したい場合には、以下のコマンドを使用します。
include以下はオプションの引数となりますので、入力しなくても問題ありません。

acli image.get "UUID" include_vmdisk_paths=true include_vmdisk_sizes=true

イメージを削除するには以下のコマンドを使用します。

acli image.delete "UUID"
スナップショットに関する操作

スナップショットの一覧を確認するには以下のコマンドを使用します。

acli snapshot.list

スナップショットの詳細を確認するには以下のコマンドを使用します。

acli snapshot.get "UUID"

スナップショットを削除するには以下のコマンドを使用します。

acli snapshot.delete "UUID"
VMに関する操作

クラスター内の全てのVMの一覧とUUIDを表示したい場合は以下のコマンドを使用します。

acli vm.list

VMに関する詳細情報を取得するには以下のコマンドを使用します。
include以下はオプション引数です。無しでも問題ありません。

acli vm.get "UUID" include_address_assignments=true include_vmdisk_datasource_info=true include_vmdisk_paths=true include_vmdisk_sizes=true

下記にある様々な情報を確認することが可能です。
agent vmの有効化/無効化
・ライブマイグレーションの許可状態
・bootデバイスの順番
・securebootの有効化/無効化
・uefibootの有効化/無効化
cpu_passthroughの有効化/無効化
・ディスクに関する情報
拡張フラグに関する設定値(numa_pinningなど)
・flashモードの有効化/無効化
・hwclockの設定
・メモリーオーバーコミットの有無
・VMの名前
・NICに関する情報
・VMのCPUリソースに関する情報
vnumaの設定値
vcpu_hard_pingの有効化/無効化
・マシンが動作しているAHVホストの名前とUUID
・VMの状態
・VMのUUID

※黒太字に関する用語の説明や設定方法については次の記事で紹介しています。

NutanixのVMの種類、推奨設計と注意事項を解説(regular VM, agent VM, vUMA VM, vNUMA VM)
NutanixのVMの種類,、推奨設計、注意点について丁寧に解説しています。
NUTANIXのvNUMAについて解説
NUMAノード、関連コマンド、vNUMA、NutanixにおけるvNUMA設定について実例を交えながら解説しました。

補足となりますが、e1000と呼ばれる1GbpsのNICを作成する場合は以下のコマンドで対応可能です。

acli vm.nic_create VM名もしくはUUID model=e1000 network=ネットワーク名
アフィニティやアンチアフィニティに関する操作

こちらの記事で詳細に解説しています。

[Nutanix]アフィニティとアンチアフィニティについて解説
仮想マシン(VM)を任意のノードで動作、冗長化しているVMを同じノードで動作させないために何ができるのか解説しました。
NWに関する操作(VSの作成など)

非常に多くの種類があります。ここでは、Virtual Switchに関するコマンドを紹介します。

新規にVirtual Switchを作成する場合には以下のコマンドを使用します。

net.create_virtual_switch VSの名前(vs0など)

オプションとなる引数は沢山あります。
[bond_type=”bond_type” ]
[cluster=”cluster” ]
[description=”description” ]
[enable_igmp_querier=”{ true | false }” ]
[enable_igmp_snooping=”{ true | false }” ]
[gateway_ip_address=”gateway_ip_address” ]
[host_ip_addr_config=”host_ip_addr_config” ]
[host_uplink_config=”host_uplink_config” ]
[igmp_snooping_timeout=”igmp_snooping_timeout” ]
[lacp_fallback=”{ true | false }” ]
[lacp_timeout=”lacp_timeout” ]
[mtu=”mtu” ]
[quick_mode=”{ true | false }” ] With quick mode, hosts are not put into maintenance mode during OVS configuration changes

黒太字の箇所については次の記事で紹介しています。

Nutanixのベストプラクティスをまとめてみた[NW関連]
NutanixのNWに関するベストプラクティスを整理しました。

作成したVLAN名、割り当てているセグメント、紐づいているVirtual Switchを確認するには以下のコマンドを使用します。

acli net.list

指定したUUIDのVLANについて詳細情報を確認する場合には以下のコマンドを使用します。

acli net.get UUID

指定したUUIDのVLANを使用する仮想マシンの一覧(UUIDと名前)、MACアドレスを取得することが可能です。IPAMでIPアドレスを払い出している場合はそれも確認可能です。

acli net.list_vms UUID

VSの名前、VSのUUID、MTUサイズ、Bond Type、Bridge名、IGMP Snoopingの有効化/無効化を確認する場合は、以下のコマンドで確認可能です。

acli net.list_virtual_switch

指定したVSに関する詳細情報を確認することが可能です。VSのuplinkとしてどのI/Fを使用しているのか、AHVホスト毎に確認可能です。

acli net.get_virtual_switch VS名
Volume Groupに関する操作

割愛。いつか追記します。

参考ドキュメント

Nutanix Support & Insights

 

コメント