如何管理 KVM 虛擬機器

virsh 是 KVM 的虛擬機器管理工具,例如啟動或停止運作、控制和修改虛擬機器等。virsh 提供不同 virsh 指令,我們可以打 virsh 進入 virsh 指令台,或連同 virsh 指令直接執行。

列出 KVM 虛擬機器及找出名稱

virsh list 可列出運行中的 KVM 虛擬機器,如果需要列出所有 KVM 虛擬機器,包括已停止的,可以加上 –all。我們可從清單中找出不同虛擬機器名稱(domName)。

$ virsh list
$ virsh list –all

查詢 KVM 虛擬機器資料

virsh dominfo 可以顯示某台 KVM 虛擬機器資料, virsh dumpxml 則以 XML 格式來顯示某台 KVM 虛擬機器的詳細設定。

$ virsh dominfo mylinuxvm
$ virsh dumpxml mylinuxvm

啟動和停止 KVM 虛擬機器

在得知虛擬機器名稱後,我們可以使用名稱來啟動(start)、重啟(reboot)、停止(shutdown)、強行停止(destroy)等操作,例如虛擬機器名稱是 mylinuxvm。

$ virsh start mylinuxvm
$ virsh reboot mylinuxvm
$ virsh shutdown mylinuxvm
$ virsh destory mylinuxvm

管理 KVM 虛擬機器

如果我們在虛擬機器已設定 serial console,我們可以使用 virsh console 來管理 KVM 虛擬機器。

$ virsh console mylinuxvm

在 Ubuntu 16.04 虛擬機器內設定 serial console

$ sudo systemctl enable serial-getty@ttyS0.service
$ sudo systemctl start serial-getty@ttyS0.service

在 Ubuntu 14.04 虛擬機器內設定 serial console

首先修改 /etc/default/grub 檔案內的 GRUB_CMDLINE_LINUX_DEFAULT 變數,然後執行 update-grub。

GRUB_CMDLINE_LINUX_DEFAULT=」console=ttyS0,38400n8 console=tty0″

再複製 /etc/init/tty1.conf 到 ttyS0.conf,修改最後一行指令為「exec /sbin/getty -8 38400 ttyS0」。

$ cp /etc/init/tty1.conf /etc/init/ttyS0.conf
$ nano /etc/init/ttyS0.conf

刪除 KVM 虛擬機器

如果不再使用某台 KVM 虛擬機器,我們可以使用 virsh undefine 來刪除該台 KVM 虛擬機器,例如虛擬機器名稱是 mylinuxvm。

$ virsh undefine mylinuxvm

 

 

 

 

Related posts

Sammy Fung

Sammy 是 Linux 技術顧問,擁有 20 年 Linux 技術經驗。