0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

KVM仮想マシンの管理

Last updated at Posted at 2024-11-24

備忘録

■KVM(Kernel-Base Virtual Machine)
LinuxをType1のハイパーバイザーとして機能させる技術
・Linuxカーネルに組み込まれた仮想化技術
・CPU仮想化技術(Intel VT-x/AMD-V)と、PCエミュレータ(QEMU)を合わせて使用

■ハイパーバイザーの種類
 Type1ハイパーバイザー
 ・ハードウェア上で直接動作(早い)
 ・KVM、Microsoft Hyper-V、VMware vSphere等

 Type2ハイパーバイザー(ホスト型)
 ・OS上でアプリケーションとして動作(遅い)
 ・Oracle VirtualBox、Broadcom Fusion、VMware Workstation Player等

※CPU仮想化支援機能は、仮想CPU上では、実CPUと動作を変えるべき命令(=センシティプ命令)をTrapする仕組み。センシティプ命令以外は、実CPUで動作させれば良いので、高速に動作させる事ができる。
例:CPUID命令、デバイスIO

■仮想マシン一覧

稼働中の仮想マシン一覧
virsh list

#virsh list
 Id   名前         状態
---------------------------
 7    EVE-NG_10   実行中

全ての仮想マシン一覧(停止中を含む)
virsh list --all

#virsh list --all
 Id   名前         状態
---------------------------
 7    EVE-NG_10   実行中
 -    ACI6.03     シャットオフ

■仮想マシンの起動と停止

仮想マシンの起動
virsh start <VM_NAME>

# virsh start EVE-NG_10
ドメイン 'EVE-NG_10' が開始しました

仮想マシンのシャットダウン
virsh shutdown <VM_NAME>

# virsh shutdown EVE-NG_10
ドメイン 'EVE-NG_10' はシャットダウンされています

仮想マシンの強制停止
virsh destroy <VM_NAME>

virsh destroy EVE-NG_10
ドメイン 'EVE-NG_10' 破壊されました

■仮想マシンの詳細確認

仮想マシンの情報表示
virsh dominfo <VM_NAME>

# virsh dominfo EVE-NG_10
Id:           12
名前:         EVE-NG_10
UUID:        25075ad4-87e9-49a1-8754-c5ad97ac9f7a
OS タイプ:   hvm
状態:         実行中
CPU:            8
CPU 時間:     37.2s
最大メモリー: 33554432 KiB
使用メモリー: 33554432 KiB
永続:         はい (yes)
自動起動:   無効にする
管理保存:   いいえ (no)
セキュリティモデル: selinux
セキュリティ DOI: 0
セキュリティラベル: system_u:system_r:svirt_t:s0:c715,c1016 (permissive)

ネットワークインターフェースの情報表示
virsh domiflist <VM_NAME>

#virsh domiflist EVE-NG_10
 インターフェイス   種類      ソース      モデル   MAC
----------------------------------------------------------------------
 vnet11           network   EVE-NG-NW   virtio   52:54:00:8f:6a:08

■仮想マシンの作成や削除

XMLファイルを使って仮想マシンを定義
virsh define <XML_FILE>

#virsh define EVE-NG_11.xml
ドメイン 'EVE-NG_11' が EVE-NG_11.xml から定義されました

virsh autostart <VM_NAME>

#virsh autostart EVE-NG_11
ドメイン 'EVE-NG_11' は自動起動としてマークされています

仮想マシンの削除(設定も含めて削除)
virsh undefine <VM_NAME>

#virsh undefine EVE-NG_11
ドメイン 'EVE-NG_11' の定義が削除されました

■仮想マシンのスナップショット管理

スナップショット作成
virsh snapshot-create-as <VM_NAME> <SNAPSHOT_NAME>

#virsh snapshot-create-as EVE-NG_10 snap_1
ドメインのスナップショット snap_1 が作成されました

スナップショット一覧
virsh snapshot-list <VM_NAME>

# virsh snapshot-list EVE-NG_10
 名前     作成時間                    状態
-----------------------------------------------
 snap_1   2024-11-24 09:23:01 +0900   running

スナップショットに戻す
virsh snapshot-revert <VM_NAME> <SNAPSHOT_NAME>

#virsh snapshot-revert  EVE-NG_10 snap_1
ドメインスナップショット snap_1 が復元されました

スナップショット削除
virsh snapshot-delete <VM_NAME> --current

#virsh snapshot-delete EVE-NG_10 --current
ドメインのスナップショット snap_1 が削除されました

■管理

GUIで管理
virt-manager

Cockpitで管理
https://localhost:9090/

仮想マシンのリソース使用状況の確認
virt-top

■仮想マシンへの接続

仮想マシンのGUI接続
virt-viewer <VM_NAME>

仮想マシンのコンソール接続
virsh console <VM_NAME>
※ (Ctrl + ])で終了
事前に仮想マシンのシリアル接続の設定が必要
sudo systemctl enable serial-getty@ttyS0.service
reboot

ディフォルトでは、VNCで1ポート使用してしまう。使用するポート番号は、/etc/libvirt/qemu.confのremote_display_port_min項目で指定する。また、VNC使用しない方法は、graphics項目を削除する。

#virsh edit EVE-NG_10

    <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
# virsh console EVE-NG_10
ドメイン 'EVE-NG_10' に接続しました
エスケープ文字は ^] です (Ctrl + ])

eve-ng login:

■仮想マシンのネットワーク管理

ネットワーク一覧
virsh net-list --all

# virsh net-list --all
 名前        状態       自動起動      永続
--------------------------------------------------
 ACI         停止状態   いいえ (no)   はい (yes)
 default     動作中     はい (yes)    はい (yes)
 EVE-NG-NW   動作中     はい (yes)    はい (yes)

ネットワークの作成
virsh net-define <NETWORK_XML>

#virsh net-define EVE-NG-NW.xml
ネットワーク EVE-NG-NW が EVE-NG-NW.xml から定義されました

ネットワークの自動起動の設定
virsh net-autostart <NETWORK_NAME>

#virsh net-autostart EVE-NG-NW
ネットワーク EVE-NG-NW が自動起動に設定されました

ネットワークの起動
virsh net-start <NETWORK_NAME>

#virsh net-start EVE-NG-NW
ネットワーク EVE-NG-NW が起動されました

ネットワークの停止
virsh net-destroy <NETWORK_NAME>

#virsh net-destroy EVE-NG-NW
ネットワーク EVE-NG-NW は強制停止されました

ネットワークの削除
virsh net-undefine <NETWORK_NAME>

virsh net-undefine EVE-NG-NW
ネットワーク EVE-NG-NW の定義が削除されました

ネットワークのDHCPリリース状況

virsh net-dhcp-leases <NETWORK_NAME>

#virsh  net-dhcp-leases EVE-NG-NW
 有効期限              MAC アドレス        プロトコル   IP アドレス         ホスト名   クライアント ID または DUID
-------------------------------------------------------------------------------------------------------------------------------------------------
 2024-11-24 10:38:57   52:54:00:8f:6a:08   ipv4         192.168.56.10/24   eve-ng     ff:00:8f:6a:08:00:01:00:01:2e:d4:5a:0f:52:54:00:b3:63:9b
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?