[Nutanix]CVMのvCPUやメモリの修正方法を解説(CLI版)

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

はじめに

CVMのメモリはSettingsから修正することが可能ですが、CLIでも可能です。

また、CVMのvCPUはCLIからのみ修正可能です。

この記事では修正方法について解説します。

あくまでも、個人環境で変更する場合に参考としてください。

商用環境で変更する場合は、サポートに問い合わせの上、正常性確認を含めた正式な手順を用いてください。

修正方法

KVMで動作しているので、virshコマンドを使用して設定ファイル(xml)を修正してあげれば良いです。今回はCVMを以下のリソースに変更します。

  • vCPU:8から4に変更
  • メモリ:20GBから16GBに変更
メンテナンスモードへの移行

IPアドレスはAHVのIPアドレスとなります。

シングルノードクラスターでは失敗します。
マルチノードの場合はsuccessが表示されます。

nutanix@NTNX-HOME-01-CVM:192.168.0.111:~$ acli host.enter_maintenance_mode 192.168.0.112 wait=true
EnterMaintenanceMode: pending
EnterMaintenanceMode: HostEvacuationFailure: Host evacuation aborted: No host is schedulable
CVMのシャットダウン

virsh shutdownでも良いように思えますが、専用のコマンドがあります。

nutanix@NTNX-HOME-01-CVM:192.168.0.111:~$ cvm_shutdown -P now
CVMのマシン名の確認

AHVにログインして、KVMにおけるCVMのホスト名を確認します。

また、CVMがshut offになっていることも確認します。

[admin@NTNX-HOME-01-AHV ~]$ sudo virsh list --all
[sudo] password for admin:
Id Name State
--------------------------------------
- NTNX-f6341489-A-CVM shut off
CVMの設定ファイルのバックアップ

virsh dumpxmlコマンドを使用します。

[admin@NTNX-HOME-01-AHV ~]$ sudo virsh dumpxml NTNX-f6341489-A-CVM > NTNX-HOME-01-CVM.xml
[sudo] password for admin:
[admin@NTNX-HOME-01-AHV ~]$

出力されているか確認します。

[admin@NTNX-HOME-01-AHV ~]$ ll | grep CVM
-rw-------. 1 admin admin 4462 Jul 1 13:19 NTNX-HOME-01-CVM.xml
設定ファイルの確認

赤字の箇所が修正対象となります。

[admin@NTNX-HOME-01-AHV ~]$ sudo virsh dumpxml NTNX-f6341489-A-CVM | egrep -i "cpu|memory|topology"
<memory unit='KiB'>20971520</memory>
<currentMemory unit='KiB'>20971520</currentMemory>
<memoryBacking>
</memoryBacking>
<vcpu placement='static' cpuset='0-15'>8</vcpu>
<cpu mode='host-passthrough' check='none' migratable='on'>
<topology sockets='1' dies='1' cores='8' threads='1'/>
<cell id='0' cpus='0-7' memory='20971520' unit='KiB' memAccess='shared'/>
</cpu>
設定ファイルの修正

vimと操作方法は同じです。

CVMの構成を知るためにも赤太字以外の箇所にも目を通しておくと良いかもしれません。

[admin@NTNX-HOME-01-AHV ~]$ sudo virsh edit NTNX-f6341489-A-CVM
<domain type='kvm'>
<name>NTNX-f6341489-A-CVM</name>
<uuid>c3dd1ce6-bead-4c72-bf66-5fe9175414dc</uuid>
<memory unit='KiB'>16777216</memory>
<currentMemory unit='KiB'>16777216</currentMemory>
<memoryBacking>
<hugepages/>
<nosharepages/>
</memoryBacking>
<vcpu placement='static' cpuset='0-15'>4</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.6.0' max_ram_below_4g='536870912'>hvm</type>
<boot dev='cdrom'/>
<bootmenu enable='no'/>
</os>
<features>
<acpi/>
<apic eoi='on'/>
<pae/>
<pmu state='off'/>
</features>
<cpu mode='host-passthrough' check='none' migratable='on'>
<topology sockets='1' dies='1' cores='4' threads='1'/>
<numa>
<cell id='0' cpus='0-3' memory='16777216' unit='KiB' memAccess='shared'/>
</numa>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/var/lib/libvirt/NTNX-CVM/svmboot.iso'/>
<backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/sdb'/>
<backingStore/>
<target dev='sda' bus='scsi'/>
<vendor>ATA</vendor>
<product>VMware Virtual S</product>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/sdc'/>
<backingStore/>
<target dev='sdb' bus='scsi'/>
<vendor>ATA</vendor>
<product>VMware Virtual S</product>
<address type='drive' controller='0' bus='0' target='0' unit='1'/>
</disk>
<controller type='usb' index='0' model='none'/>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<controller type='scsi' index='0' model='virtio-scsi'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</controller>
<controller type='pci' index='0' model='pci-root'/>
<interface type='bridge'>
<mac address='50:6b:8d:e5:12:b4'/>
<source bridge='br0'/>
<virtualport type='openvswitch'>
<parameters interfaceid='1d05a98d-ad11-40b6-88f1-c64db6a7aa1a'/>
</virtualport>
<model type='virtio'/>
<driver name='vhost' queues='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='network'>
<mac address='50:6b:8d:23:03:c7'/>
<source network='NTNX-Local-Network'/>
<model type='virtio'/>
<driver name='vhost' queues='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
<interface type='bridge'>
<mac address='50:6b:8d:96:3e:59'/>
<source bridge='br0'/>
<virtualport type='openvswitch'>
<parameters interfaceid='7085aa3b-9bb0-4e76-91ce-3d21be1d788f'/>
</virtualport>
<model type='virtio'/>
<driver name='vhost' queues='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</interface>
<serial type='file'>
<source path='/var/log/NTNX.serial.out.0' append='on'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='file'>
<source path='/var/log/NTNX.serial.out.0' append='on'/>
<target type='serial' port='0'/>
</console>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
<listen type='address' address='127.0.0.1'/>
</graphics>
<audio id='1' type='none'/>
<video>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='none'/>
</devices>
<seclabel type='dynamic' model='selinux' relabel='yes'/>
<seclabel type='dynamic' model='dac' relabel='yes'/>
</domain>
設定ファイルの確認

確認します。修正が反映されました。

[admin@NTNX-HOME-01-AHV ~]$ sudo virsh dumpxml NTNX-f6341489-A-CVM | egrep -i "cpu|memory|topology"
[sudo] password for admin:
<memory unit='KiB'>16777216</memory>
<currentMemory unit='KiB'>16777216</currentMemory>
<memoryBacking>
</memoryBacking>
<vcpu placement='static' cpuset='0-15'>4</vcpu>
<cpu mode='host-passthrough' check='none' migratable='on'>
<topology sockets='1' dies='1' cores='4' threads='1'/>
<cell id='0' cpus='0-3' memory='16777216' unit='KiB' memAccess='shared'/>
</cpu>
CVMの起動

virsh startコマンドでCVMを起動します。

[admin@NTNX-HOME-01-AHV ~]$ sudo virsh start NTNX-f6341489-A-CVM
[sudo] password for admin:
Domain 'NTNX-f6341489-A-CVM' started

[admin@NTNX-HOME-01-AHV ~]$

CVMの起動にはしばらく時間がかかるので5分程度を目安に待ちます。

CVMのサービス起動の確認

CVMのサービスが正常に起動していることを確認します。シングルノードクラスターの場合はサービスが正常に復帰しないようですので、cluster startを投入します。

nutanix@NTNX-HOME-01-CVM:192.168.0.111:~$ genesis status
2024-07-01 22:28:45.170894: Services running on this node:
acropolis: []
alert_manager: []
anduril: []
aplos: []
aplos_engine: []
arithmos: []
athena: []
cassandra: []
catalog: []
cerebro: []
chronos: []
cim_service: []
cluster_config: []
cluster_health: []
curator: []
delphi: []
dynamic_ring_changer: []
ergon: []
flow: []
foundation: []
genesis: [3070, 3202, 3241, 3242]
go_ergon: []
hera: []
ikat_control_plane: []
ikat_proxy: []
insights_data_transfer: []
insights_server: []
lazan: []
mantle: []
mercury: []
minerva_cvm: []
nutanix_guest_tools: []
pithos: []
placement_solver: []
polaris: []
prism: []
scavenger: []
secure_file_sync: []
security_service: []
ssl_terminator: []
stargate: []
sys_stat_collector: []
uhura: []
xmount: []
xtrim: []
zookeeper: []
nutanix@NTNX-HOME-01-CVM:192.168.0.111:~$ cluster start

暫くすると、全てのサービスが起動します。

nutanix@NTNX-HOME-01-CVM:192.168.0.111:~$ cluster status
2024-07-01 13:37:50,806Z INFO MainThread zookeeper_session.py:191 cluster is attempting to connect to Zookeeper
2024-07-01 13:37:50,814Z INFO Dummy-1 zookeeper_session.py:625 ZK session establishment complete, sessionId=0x1906e7d502b0138, negotiated timeout=20 secs
2024-07-01 13:37:50,821Z INFO MainThread cluster:2943 Executing action status on SVMs 192.168.0.111
The state of the cluster: start
Lockdown mode: Disabled

CVM: 192.168.0.111 Up, ZeusLeader
Zeus UP [4408, 4471, 4472, 4473, 4483, 4500]
Scavenger UP [24273, 24941, 24942, 24945]
Xmount UP [24249, 25093, 25094, 25204]
SysStatCollector UP [29903, 30066, 30067, 30068]
IkatProxy UP [30909, 31071, 31072, 31073]
IkatControlPlane UP [31734, 31882, 31883, 31884]
SSLTerminator UP [31744, 31940, 31941]
SecureFileSync UP [31747, 31988, 31989, 31991]
Medusa UP [1013, 32537, 32696, 32697, 32704]
DynamicRingChanger UP [1426, 1650, 1651, 1896]
Pithos UP [1429, 1700, 1701, 1770]
InsightsDB UP [1435, 1858, 1859, 1961]
Athena UP [1438, 1751, 1752, 1753]
Mercury UP [1442, 1812, 1813, 1862]
Mantle UP [1448, 1958, 1959, 2028]
VipMonitor UP [2602, 2603, 2604, 2605, 2607]
Stargate UP [2693, 2835, 2836, 2923, 2924]
InsightsDataTransfer UP [3537, 3746, 3747, 3766, 3767, 3768, 3769, 3770, 3771]
Ergon UP [3545, 3864, 3865, 3866, 3917]
GoErgon UP [3548, 3875, 3876, 3934]
Cerebro UP [3557, 4037, 4038, 4262]
Chronos UP [3564, 4115, 4116, 4156]
Curator UP [3571, 4140, 4141, 4178]
Prism UP [3596, 4247, 4248, 4294, 4909, 4938]
Hera UP [3609, 4347, 4348, 4349]
CIM UP [3620, 4488, 4489, 4534, 4535]
AlertManager UP [3645, 4523, 4524, 4600]
Arithmos UP [3673, 4589, 4590, 4650]
Catalog UP [4633, 4905, 4906, 4907, 4925]
Acropolis UP [5137, 5298, 5299, 5301]
Uhura UP [5179, 5352, 5353, 5354]
NutanixGuestTools UP [5228, 5475, 5476, 5484, 5523]
MinervaCVM UP [6235, 6422, 6423, 6425, 6763]
ClusterConfig UP [6283, 6455, 6456, 6457, 6466]
APLOSEngine UP [6301, 6553, 6554, 6555]
APLOS UP [7211, 7365, 7366, 7367]
PlacementSolver UP [7232, 7723, 7724, 7725, 7751]
Lazan UP [7262, 7919, 7920, 7921]
Polaris UP [7292, 7992, 7993, 8095]
Delphi UP [7315, 8182, 8183, 8184, 8241]
Security UP [7372, 8355, 8356, 8357]
Flow UP [7653, 8466, 8467, 8468, 8478]
Anduril UP [7791, 8557, 8558, 8559, 8569]
XTrim UP [7864, 8622, 8623, 8624]
ClusterHealth UP [8086, 8776, 9162, 9163, 9170, 9171, 9292, 9293, 9298, 9308, 9309, 9310, 9311, 9314, 9372, 9373, 9377, 9394, 9395, 9397, 9531, 9532, 9562, 9563, 9566, 9567, 9589, 9590, 9916, 9917, 9920, 9921, 9926, 9928, 9930, 9932, 9949, 9957, 9969, 9977, 9980, 9988, 10065, 10066]
2024-07-01 13:37:55,452Z INFO MainThread cluster:3104 Success!
nutanix@NTNX-HOME-01-CVM:192.168.0.111:~$
メンテナンスモードの解除

シングルノードクラスターでは不要です。マルチノードの場合はメンテナンスモードを解除するためにも投入してください。

nutanix@NTNX-HOME-01-CVM:192.168.0.111:~$ acli host.exit_maintenance_mode 192.168.0.112

メンテナンスモードの解除の確認はacli host.get AHVのIPアドレス で確認可能です。

node_stateがAcropolisNormalになっていればメンテナンスモードが解除されました。

nutanix@NTNX-HOME-01-CVM:192.168.0.111:~$ acli host.get 192.168.0.112
192.168.0.112 {
cpu_usage_ppm: 497178
cvm_memory_size_bytes: 17179869184
cvm_num_vcpus: 4
cvm_uuid: "80d6dd94-e6bd-4093-90df-af622f106c71"
logical_timestamp: 380
max_mem_ha_reserved_bytes: 0
mem_assigned_bytes: 0
mem_usage_bytes: 48794345407
memory_size_bytes: 109386399744
node_state: "AcropolisNormal"
num_cpus: 16
pool_size_bytes: 0
schedulable: True
uuid: "ee2d2940-2477-4611-bb21-d51ba87b8aa3"
}
健全性の確認

シングルノードクラスターでは不要です。

マルチノードクラスターでは事前に設定したFault Toleranceを満たしていることを確認するために、次のコマンドで健全性を確認します。

typeは他にもrackやblockがありますが、一般的にはnodeの方がほとんどと思われるのでnodeにしています。

nutanix@NTNX-HOME-01-CVM:192.168.0.111:~$ ncli cluster get-domain-fault-tolerance-status type=node

Domain Type : NODE
Component Type : STATIC_CONFIGURATION
Current Fault Tolerance : 0
Fault Tolerance Details :
Last Update Time : Sun Jun 30 07:40:42 JST 2024
Cassandra Ringの参加状態の確認

シングルノードクラスターでは不要です。

Nutanixの主要サービスの1つとして、Cassandraと呼ばれるメタデータ管理の役割を担うものがあります。

CassandraについてはNutanix Bibleもしくは次のドキュメントで理解を深めてください。

nutanix@NTNX-HOME-01-CVM:192.168.0.111:~$ nodetool -h 0 ring
Address Status State Load Owns Token 
192.168.0.111 Up Normal 51.51 MB 100.00% 00000000T0M11bCWqFLogQrAjGPrlogczVxhlIdl8vV7bEPRWZdV5Jx6P4t4

マルチノードの例は以下の通りです。

nutanix@cvm$ nodetool -h 0 ring
Address Status State Load Owns Token
kV0000009mwVt22okPr6y5fXhbUTXiUcClXjuFUSg5Ndl3cTZEZOrgbWQrpO
x.x.x.134 Up Normal 4.39 GB 25.00% 00000000xsRtMiGIHsKFvmw2OGWV95pbjknvxlcJ5WnFvSEPAJm6j4b95IDY
x.x.x.131 Up Normal 4.39 GB 25.00% FV000000gNG3BYrH6b6jMylvyc6mBu6tZCdYeZM2Nb2oepJdmqnPt6jrGCLz
x.x.x.132 Up Normal 3.79 GB 25.00% V0000000JPirucHqKdraeLfRzNBfWtj4a54G6Uid7C5uGEX2qg4PJSrjNfts
x.x.x.133 Up Normal 4.19 GB 25.00% kV0000009mwVt22okPr6y5fXhbUTXiUcClXjuFUSg5Ndl3cTZEZOrgbWQrpO
  • 各CVMのCassandraがメタデータリングに参加していること(ノードの個数だけ表示される)
  • Upと表示されること

の2点が重要です。

参考

Understanding alert node "marked to be detached" state | Nutanix Community
There may be instances where you'll receive the following alert in your environment      "Cassandra on CVM x.x.x.31 is n...
Nutanix Support & Insights
KVMの初期設定、及びvirsh, virt-installによるVM作成 - えんでぃの技術ブログ
QEMU+KVM環境のセットアップ、libvirt CLI (virsh, virt-install) によるVM作成手順を紹介します。今回も原理とトラブルシューティングに力を入れて密度高く紹介します。
KVM をインストールして設定する - Qiita
新しい PC を買って KVM をインストールしたので手順をまとめてみました。#(#1-Linux のインストール)まずは Linux をインストールします。…

コメント