kvm管理
KVM管理
1、可以通過virt-manager在本地宿主機上創建并管理kvm虛擬機,virt-manager也可以管理其他宿主機上的虛機,點擊“文件”-“添加連接”用ssh進行連接。
2、有些情況下,有一個要配置的地方。 因為 KVM(準確說是 Libvirt)默 認不接受遠程管理,需要按下面的內容配置被管理宿主機中的兩個文件:
vim /etc/default/libvirt-bin
start_libvirtd="yes"
libvirtd_opts="-d -l"
vim /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
unix_sock_group = "libvirtd"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"?
3、配置完兩個文件后,重啟Libvirtd服務就可以遠程管理:systemctl restart libvirt-bin?
virsh 既有命令行模式,也有交互模式,在命令行直接輸入 virsh 就進入交互 模式, virsh 后面跟命令參數,則是命令行模式;virsh?help ?列出命令下的所有參數 help list ? ? ?列出 list 命令下的參數
virsh list 列出當前宿主機上處于運行狀態的虛擬機
virsh list --all 列出當前宿主機上所有的虛擬機
virsh start vm1 (虛擬機name) 開啟某一臺虛擬機
virsh shutdown vm1 (虛擬機name) 正常關閉一臺虛擬機
virsh destroy vm1 強制關閉某一臺虛擬機 virsh autostart vm1 開機自啟動虛擬機
vm1 virsh autostart --disable vm1 關閉開機自啟動
virsh edit vm1 編輯某個虛擬機的配置文件
virsh pool-list 列出存儲池
qemu-img create -f qcow2 -o size=9G /export/kvm/test.qcow2 創建一個大小為 50G 的,格式為 qcow2 的磁盤鏡像
? ? ? ? ? ?查看磁盤信息: qemu-img info /export/kvm/test.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_64DVD.iso --network bridge=br0
virsh的其他常用命令:
virsh help 打印幫助
virsh attach-device 從一個 XML 文件附加裝置
virsh attach-disk 附加磁盤設備
virsh attach-interface 獲得網絡界面
virsh destroy 刪除一個域
virsh detach-device 從一個 XML 文件分離設備
virsh detach-disk 分離磁盤設備
virsh detach-interface 分離網絡界面
virsh define 從一個 XML 文件定義(但不開始)一個域
virsh undefine 刪除一個虛機域
? ? ? ? ? ?克隆一個虛機:?virt-clone -o vm2 -n vm4 -f /var/lib/libvirt/images/vm4.qcow2
? ? ? ? ? ?宿主機上的虛擬機的配置文件路徑:xml:/etc/libvirt/qemu/;磁盤路徑:/var/lib/libvirt/images/。
? ? ? ? ? ?從新定義備份的虛擬機,輸入配置文件的絕對路徑;刪除虛擬機前,現在/etc/libvirt/qemu/目錄進行備份。刪除磁盤,信息不會刪除
kvm通過virsh console 控制虛擬機
??新安裝一臺虛擬機后,是無法通過virsh console 命令連入虛擬機中的,這時我 們需要開啟虛擬機的console功能。?
1、centos7以下,及其他情況?
? ? 1.添加ttyS0的許可,允許root登陸 ? ? ? ? [root@localhost ~]# echo "ttyS0" >> /etc/securetty?
? ? 2.編輯/etc/grub.conf中加入console=ttyS0
? ? ?
? ? 3.編輯/etc/inittab,在最后一行加入內容:S0:12345:respawn:/sbin/agetty ttyS0 115200
? ??
?
? ?4.重啟服務器:reboot
? ?5.宿主機上測試:virsh console vm-name
? ?6.退出console連接的虛擬機:按下ctrl + ] 組合鍵退出virsh console
2、對于centos7?
? ?1.在虛機里運行 [root@localhost ~]# grubby --update-kernel=ALL --args="console=ttyS0"
? ?2.重啟虛機 ”reboot
kvm虛擬化穿透
? 1.查看一層客戶端是否支持 VT: #grep vmx /proc/cpuinfo ,查詢未果,證明一層 KVM 的虛擬機,并未將宿主機處理器的 VT 功能成功透傳。 所以,沒有對 VT功能的支持,我們不能實現在該層虛擬機中嵌套KVM 虛擬機。
? 2.在物理服務器上為嵌套虛擬機做準備 --- CPU 虛擬化透傳?
? ? ?1># vim /etc/modprobe.d/kvm-nested.conf 在文件中添加:options kvm_intel nested=1;在宿主機啟用 kvm_intel 模塊的嵌套虛擬化功能,并且使透傳永久有效
? ? ?2>重新加載 kvm 模塊?
# modprobe -r kvm_intel ? ? ? ? ?-r參數:remove掉kvm_intel模塊
# modprobe kvm_intel ? ? ? ? ? ? ?加載kvm_intel模塊?
? ? 3>)驗證是否加載成功 :?#cat /sys/module/kvm_intel/parameters/nested
? ? ?Y ---“Y” 表示 cpu 虛擬化透傳功能開啟
3、編輯需要做虛擬化透傳的虛擬機的配置文件
? ? ?#virsh edit centos7 ( Virtual Machine Name )
? ? ?<cpu mode='host-passthrough'>
?
host-passthrough 直接將物理 CPU 暴露給虛擬機使用,在虛擬機上完全可以看到 的就是物理 CPU的型號
4、進入虛擬機中查看cpu是否透傳成功
?
轉載于:https://www.cnblogs.com/zxy-5257/p/10107829.html
總結
- 上一篇: 团队博客(21)
- 下一篇: jenkins配置小结