1. 程式人生 > >遠端管理KVM,命令列控制KVM,console連線,透傳

遠端管理KVM,命令列控制KVM,console連線,透傳

遠端管理虛擬機器

首先,將虛擬機器改成橋接模式,才可以相互連線。

開啟宿主機的虛擬系統管理器

 

 

輸入要遠端管理的IP地址。

 

 

然後輸入密碼,顯示連線。

 

 

開啟遠端管理的主機的設定,設定VNC伺服器和所有介面,就可以開啟遠端終端。

 

 

然後重啟libvirtd服務

systemctl restart libvirt-bin

 

命令列管理虛擬機器

virsh 既有命令列模式,也有互動模式,在命令列直接輸入 virsh 就進入互動模式, virsh 後面跟命令引數,則是命令列模式

語法結構:virsh <command> <domain-id> [OPTIONS]

 

virsh help #檢視幫助

virsh help list #檢視list的各種引數用法

virsh list #檢視宿主機正在執行的虛擬機器

virsh list --all #列出當前宿主機上所有的虛擬機器

virsh start vm1 #開啟vm1虛擬機器

virsh shutdown vm1 #關閉一臺虛擬機器

virsh destroy vm1 #強制關閉某一臺虛擬機器

virsh autostart vm1 #開機自啟動虛擬機器vm1

virsh autostart --disable vm1 #關閉開機自啟動

virsh edit vm1 #編輯vm1虛擬機器的配置檔案

virsh pool-list #列出儲存資源池

建立一個磁碟卷

qemu-img create -f qcow2 -o size=9G /export/kvm/test.qcow2

檢視磁碟資訊

qemu-img info /export/kvm/test.qcow2

克隆一個虛擬機器

virt-clone -o vm2 -n vm4 -f /var/lib/libvirt/images/vm4.qcow2

命令列下建立 && 管理虛擬機器

Virt-install:命令列下建立虛擬機器的命令,不過在它後面需要跟上很多的引數

--name: 虛擬機器的名字。

--disk Location: 磁碟映像的位置。

--graphics : 怎樣連線 VM ,通常是 SPICE 。

--vcpu : 虛擬 CPU 的數量。

--ram : 以兆位元組計算的已分配記憶體大小。

--location : 指定安裝源路徑

--network : 指定虛擬網路,通常是 virbr0 或者自己設定的 br0

例如:

virt-install --name=test --disk path=/export/kvm/test.qcow2 --ram=1024 --vcpus=1 --graphics spice --location=/export/download/software/iso/CentOS-7.3-x86_64-DVD.iso --network bridge=br0

 

virsh help 列印幫助

virsh attach-device 從一個 XML 檔案附加裝置

virsh attach-disk 附加磁碟裝置

virsh attach-interface 獲得網路介面

virsh detach-device 從一個 XML 檔案分離裝置

virsh detach-disk 分離磁碟裝置

virsh detach-interface 分離網路介面

virsh define 從一個 XML 檔案定義(但不開始)一個域

virsh undefine 刪除一個虛擬機器

 

console連線虛擬機器

新安裝一臺虛擬機器後,沒有ip的情況下,是無法通過virsh console 命令連入虛擬機器中的,這時我們需要開啟虛擬機器的console功能。

在小虛擬機器中新增ttyS0許可,允許root登入

grubby --update-kernel=ALL --args="console=ttyS0"

重啟。

測試:

virsh console vm-name #連線虛擬機器

ctrl + ] #退出連線

 

透傳(巢狀)

一、檢視小型機是否支援VT

grep vmx /proc/cpuinfo

沒有結果,說明小型機並沒有把宿主機的VT功能透傳,所以無法在小型機中巢狀KVM虛擬機器。

二、CPU虛擬化透傳

在宿主機建立檔案vim /etc/modprobe.d/kvm-nested.conf

新增 options kvm_intel nested=1 #啟用巢狀虛擬化功能,並且透傳永久生效。

三、重新載入模組並驗證

modprobe -r kvm_intel #刪除舊的模組

modprobe kvm_intel #重新載入模組

cat /sys/module/kvm_intel/parameters/nested #結果是Y,透傳功能開啟。

四、修改透傳配置檔案

virsh edit Vm-Name

將檔案中的 custom 改為 host-passthrough

host-passthrough:直接將物理CPU暴露給小型機使用

 

修改為:

 

五、重啟小型機

檢視小型機是否透傳成功

lsmod | grep kvm

grep vmx /proc/cpuinfo