KVM 使用
Ubuntu 16.04 KVM 安装与使用,包括 KVM 模版与扩容虚拟磁盘。
[TOC]
安装 KVM
apt install -y qemu-kvm virtinst libvirt-bin bridge-utils libguestfs-toolslibvirt-bin提供 libvirt 管理 qemu 和 kvm 实例的 libvirtd。qemu-kvm是一个后端。bridge-utils提供桥接网络支持。virtinst提供 kvm 命令行安装支持。libguestfs-tools提供后续制作模版支持。
软件安装后,执行kvm-ok,如果显示:
INFO: /dev/kvm exists
KVM acceleration can be usedKVM 可以正常使用。如果显示类似的:
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used可能仍然能够运行虚拟机,但是速度会很慢。
配置桥接网络
编辑/etc/network/interfaces:
允许路由转发:
重启网络:
安装虚拟机
示例:
命令执行后,通过 VNC 连接主机 IP:5910 进行后续安装。
MacOS 可以通过屏幕共享进行 VNC 连接,或通过 realvnc 工具连接。
安装 Win 系统,需要在安装向导中加载 virtio 驱动(驱动在之前挂载的软盘中,需要将 Ethernet 和 SCSI 都安装):


获取虚拟机 IP
先获取虚拟机 mac 地址:mac_address="$(virsh dumpxml ${安装时虚拟机的名称} | awk -F\' '/mac address/{print $2}')"
然后获取 IP 地址:arp -n | grep -i ${mac_address} | awk '{print $1}'
制作 KVM 模版
暂停虚拟机:
virsh shutdown base导出虚拟机 XML 文件:
virsh dumpxml --domain base > /data/base.xml将
/data/base.xml文件中uuid,name,mac 地址,以及在安装时挂载上的软盘与 ISO 镜像的 disk 删除。在
vnc段添加passwd='123456',如<graphics type='vnc' port='5910' passwd='123456' autoport='no' listen='0.0.0.0'>。拷贝之前虚拟机磁盘文件:
cp /data/base.qcow2 /data/base-disk.qcow2清除磁盘文件中一些特定信息:
virt-sysprep -a /data/base-disk.qcow2从模版中启动虚拟机:
启动新虚拟机:
virsh start kvm2查看 VNC 端口:
virsh dumpxml kvm2 | grep vnc通过 VNC 连接:主机 IP:Port
扩容 KVM 磁盘
获取虚拟磁盘信息:
qemu-img info /data/kvm2.qcow2增加 20G 容量:
qemu-img resize /data/kvm2.qcow2 +20G重启虚拟机后,在
控制面板 - 计算机管理 - 磁盘管理,将新加的容量通过扩容卷扩容到 C 盘。
KVM 基础命令
停止虚拟机:
virsh shutdown <虚拟机名>强制停止虚拟机:
virsh destroy <虚拟机名>删除虚拟机:
virsh undefine <虚拟机名>,虚拟磁盘需手动删除启动虚拟机:
virsh start <虚拟机名>设置虚拟机开机自启:
virsh autostart <虚拟机名>
Last updated
Was this helpful?