遠端管理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