virsh を使ったVPSのリソース管理

古都の老兵
2025-08-01
2025-08-01

はじめに

 KVM(Kernel-based Virtual Machine)でvirshコマンドを使ったコマンドbaseでのVPSのリソース管理、操作方法についてのメモ。

ホストサーバー上のVPSの確認

 ホスト上で登録されているVPS(仮想マシン)の確認する事ができます

動作中のVPS一覧の表示
# virsh list

停止中も含めた登録されているVPSの一覧
# virsh list --all

CPUやメモリーの割当状況の確認

 該当のVPSのCPUやメモリの割り当て状況や自動起動設定の有無等を確認することができます。

# virsh dominfo sampleVPS
Id:             9
Name:           sampleVPS
UUID:           6e841eab-088e-0753-1513-430c141e0153
OS Type:        hvm
State:          running
CPU(s):         4
CPU time:       200580.0s
Max memory:     4194304 KiB
Used memory:    4194304 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0
Messages:       tainted: use of deprecated configuration settings
                deprecated configuration: machine type 'pc-i440fx-rhel7.6.0'

VPSのメモリー割当てを動的に変更

 VPSのメモリー割当てについては設定した最大メモリー以内であれば動的に変更する事ができます

# virsh setmem <VM名> <メモリ(KiB/GiB)> --live

例)2GBに変更
# virsh setmem sampleVPS 2GiB --live

 --live を指定している場合は一時的な変更となり、次回起動時には元の設定の戻ります。永続的に設定する場合は、--config で設定しておきます。

# virsh setmem <VM名> <メモリ(KiB/GiB)> --config

例)永続的に2GBに変更
# virsh setmem sampleVPS 2GiB --config

 --config はVPSの構成ファイルを変更するだけです。再起動時にはメモリ構成は変更されますが動的に変更されませんので、直ちに変更したい場合は --live も合わせて実行しましょう。

自動起動の設定

 ホストサーバーが起動したときに、VPSも自動起動するように設定する。

自動起動を有効にする
# virsh autostart <VM名>

自動起動の無効化
# virsh autostart <VM名> --disable

VPSのリセット 

 VPSがハングアップした場合等でハードウェアリセットする

VPSのハードウェアリセット
# virsh reset <VM名>

動的にリソース変更できないもので反映に再起動が必要な場合

 最大メモリーやvCPU数を変更する場合、再起動が必要になります。

VPSのXML定義を編集
# virsh edit <VM名>

編集したXMLを有効にする
# virsh shutdown <VM名>
# virsh start <VM名>

 reboot では編集したXMLは反映しない為、VPSの完全停止が必要になります。

まとめ

操作 コマンド例
 VPSの一覧を取得  virsh list --all
 VPSの情報取得  virsh dominf <VM名>
 メモリ変更(動的/永続的)  virsh setmem <VM名> 2GiB --live
 virsh setmem <VM名> 2GiB --config
 VPSの自動起動  virsh autostart <VM名> (--disable)
 VPSのリセット  virsh reset <VM名>
 VPSの再起動  virsh reboot <VM名>
 VPSの停止  virsh shutdown <VM名>
 VPSの起動  virsh start <VM名>