WebVirtMgr创建虚拟机

介绍

WebVirtMgr,一款优秀的Web管理QEMU-KVM(以下简称KVM)程序

创建

首先登录,进入后台主界面

点击进入被控端(宿主机)

接着点击 Storages ,这里解释一下,服务器有两块硬盘,一块SSD,一块HDD,HDD内放置了系统镜像,所以iso和HDD的大小是一样的,除了iso外,剩下两个都可以放虚拟机文件

添加一个虚拟机硬盘

如下设置,qcow2格式的特点是虚拟机实际用多少空间,它占用多少空间,这点和vmware的精简置备很像,但这个硬盘格式只能扩大不可缩小。

创建好虚拟机硬盘

创建虚拟机

配置

按照上图上传系统镜像(系统镜像全部上传到iso文件夹)

点击开机

使用 VNC 连接

安装

接下来就和日常安装系统一样,不过这里有个坑,在创建虚拟机的时候有个VirtIO选项,勾上该选项可以获得更好的性能,但在windows平台下需要打驱动。

加载VirtIO驱动方法

复制粘贴以下代码,记得修改相关文件路径

1
2
3
4
5
6
7
8
<disk type='file' device='floppy'>
<driver name='qemu' type='raw'/>
<source file='/home/hdd/KVM/ISOs/virtio-win.vfd'/>
<backingStore/>
<target dev='fda' bus='fdc'/>
<alias name='fdc0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>

启动虚拟机后,到选择硬盘这一步

点击 加载驱动程序 点击 浏览 双击软盘驱动器

打开AMD64文件夹(32位系统打开i386文件夹)

会看到四个文件夹

1
2
3
4
win2008r2选择win7
win2012选择win8
win2012r2选择win8.1
win2016/win2019选择win10

然后就可以安装驱动

Ethernet Adapter 是网卡驱动,SCSI controller 是硬盘驱动,全部都需要装上

安装完毕

其他

克隆

打开此页面

推荐虚拟机硬盘和VM的名称一样,方便管理

端口映射

在ssh界面下,用root权限执行

1
vim /etc/libvirt/qemu/VM名称.xml

我这里是Mustang22.xml
打开文件后,拉到最底有个 qemu:commandline标签,在里面修改

1
2
3
4
5
<qemu:commandline>
........
<qemu:arg value='user,hostfwd=tcp::3391-:3389'/>
........
</qemu:commandline>

其中,在前面的端口是外网端口,在后面的端口是内网端口,端口映射不能重复
之后在ssh中输入

1
virsh define /etc/libvirt/qemu/Mustang22.xml

修改处理器配置

一般来说,你在安装调整配置时输入了8个vCPU,通常在任务管理器看到的情况是这样的
8路i7
一些程序对跨节点或跨NUMA的利用率很差,所以我们需要改成1插槽(Socket)8核心(Core)
同样的,我们需要修改xml文件

1
2
3
4
5
<qemu:commandline>
........
<qemu:arg value='8,sockets=1,cores=8,threads=1'/>
........
</qemu:commandline>

sockets为插槽数量,cores为核心数量,threads为线程数量,三个数相乘就是在任务管理器所能看到的框框数量
如果无法添加qemu:commandline这个参数,是因为XML头部的问题,把

1
<domain type='kvm'>

改为

1
<domain type='kvm' id='33' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

但改了这个后会产生许多报错,需要逐一修改,这里写一个比较奇怪的报错,关于cirrus视频监视器的错误
这个错误原因我并没有找出,可能是pci设备地址定义不一致,但解决方法很简单

1
2
3
4
5
<video>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>

改为

1
2
3
4
5
<video>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x1'/>
</video>

WebVirtMgr创建虚拟机
http://www.evec.cc/2019/07/24/WebVirtMgr-create-VMs/
作者
前夕
发布于
2019年7月24日
许可协议