在koolshare论坛看到jerviso211的帖子,介绍群晖安装KVM的方法。可是大侠省略了N步关键步骤,我摸索了一下午和晚上,加上去作者QQ群请教才搞定。决定把过程写出来分享,减少摸索的痛苦过程。

群晖硬件性能一般,要装KVM虚拟机建议使用带+的性能好点的产品(我用DS916+测试的)。

工作分以下几块:

  1. 群晖安装kvm套件,需手动安装;
  2. 找一台带图形界面的Linux机器安装virt-manager,用于图像化界面管理虚拟机。也可用群晖docker虚拟机搭建环境,详见本博客另一篇文章。没图形界面的Linux机器安装virt-manager后请在Windows下用putty和xming连接virt-manager主机(教程参见文末链接);
  3. 使用virt-manager建虚拟机,安装系统;

1. 首先在群晖系统中安装kvm套件(点此下载):

由于是第三方套件,需到套件中心设置允许任何发行者,然后点手动安装

装完显示已启动表示成功,有问题请联系套件作者。

2. 在Linux实体机或虚拟机中安装virt-manager图形化虚拟机管理包。以debian为例,执行apt-get install virt-manager安装。其他Linux使用对应安装命令安装就行了。安装后执行virt-manager调出虚拟机管理图形界面。

我是在Windows下用putty和xming连接virt-manager主机的,如何配置环境请参考文末链接。

 

3. 使用virt-manager建虚拟机,安装系统。

Virtual Machine Manager(简称VMM)主界面,点File–>Add Connection连接到群晖系统。

Method选TCP方式,Hostname填群晖IP地址。

右击IP地址选Details,进行相关设置。

先进入Virtual Networks页面,把默认的网卡设备删除,否则后面安装不下去。

然后到Storage页面下建立两个卷(点击左下角+号),一个iso用于放操作系统iso安装文件,一个vhost用户放虚拟机系统文件。

输入卷名称,比如iso,点Forward按钮到下一步。

输入卷目录路径,默认是/var/lib/libvirt/images/,比如我的群晖路径是/volume1/kvm/iso,点Finish按钮完成。

创建完就可以看到iso目录下的文件了。

用同样的方法再建一个vhost卷用于存放虚拟机系统文件。

接下来创建虚拟机,本文以安装Windows7 x86版本为例。

右击IP地址选New,开始建虚拟机。

第一步保持默认就行了,使用iso方式安装。

Browse从iso卷里选择Windows7 iso文件。OS typeVersion按下图选择。

内存和CPU资源根据实际需求分配。

Select managed or other existing storage,点Browse

在右下角点击New Volume后,出现如下配置页面。

Name:给虚拟机取个名字,Format:默认是qcow2,我选raw格式,性能好一些,当然qcow2支援快照等高级功能。Max Capacity:给虚拟机分配的总空间大小。注意raw格式分配多少就占多少硬盘空间,qcow2是用多少占多少,如需经常迁移系统的话qcow2占有优势。

选中上面刚建立的win7.img,点右下角Choose Volume

最后一步勾上Customize configuration before install,否则会出现不支持qxl video device的错误信息。默认网卡已经被删了,这里先不管,等装完系统后再配置。

在虚拟机选项页面,点击Display Default,修改Type为VNC server(套件暂不支持Spice server,可跟踪套件作者后续进展),Address选All interfaces

至此所有设置完成,点击左上角Begin Installation开始安装系统。

安装过程省略。。。

装完系统请关机,光驱挂上virtio的驱动iso(点此下载),等下会用到。

然后去群晖控制面板–>网络–>网络界面–>管理–>Open vSwitch设置,启用Open vSwitch。

用putty登入群晖系统,执行virsh edit win7(win7是虚拟机名称),加入以下配置:
mac address:请改为自己的物理地址,不要和家里其他设备重复。
source bridge:NAS接网卡1,使用名称ovs_eth0,NAS接网卡2,使用名称ovs_eth1。
address type=’pci’:这行中slot确保和其他pci设备不重复,配置文件中有多个pci设备,如果重复是无法保存修改的。

<interface type='bridge'>
  <mac address='00:11:23:ef:88:66'/>
  <source bridge='ovs_eth0'/>
  <virtualport type='openvswitch'>
    <parameters interfaceid='a1b551a8-e732-4efe-9abf-1db37b93ecc9'/>
  </virtualport>
  <model type='virtio'/>
  <driver name='vhost' txmode='iothread' ioeventfd='on' event_idx='off' queues='5'>
    <host csum='off' gso='off' tso4='off' tso6='off' ecn='off' ufo='off' mrg_rxbuf='off'/>
    <guest csum='off' tso4='off' tso6='off' ecn='off' ufo='off'/>
  </driver>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</interface>

改完配置回到虚拟机设置页面,网卡设备自动被添加进来了,不用任何修改。

开启虚拟机,进入系统后发现有两个设备没有驱动。浏览到virtio的驱动光盘路径,自动完成安装。简单说明下,上图中Device model选e1000是不需要装驱动的,但virtio是半虚拟化,e1000是全虚拟化。半虚拟化少了一层中转,性能更好。另外的PCI设备是内存管理驱动。

装完驱动后截图如下:

 

至此安装完成,请启用Windows的远程桌面连接,因为virt-manager实在太难用,哈哈。

最后简单说下Virtual Machine Manager(简称VMM)的用法:

在VMM主界面可以看到虚拟机运行状态。

在虚拟机图标上右击,点Open,进入Console界面。

View菜单,选Details可切换到虚拟机配置页面。

Virtual Machine菜单集成了对虚拟机开关机重启等动作。自行摸索一下,用法很简单。

 

参考:

kvm套件作者帖子:http://koolshare.cn/thread-95071-1-1.html

kvm套件下载地址:https://github.com/bsdcpp/synoKVM/releases

群晖docker搭建virt-manager环境:https://blog.oldghost.net:888/synology-ssh-and-virt-manager-setup-in-docker.html

putty+xming教程:http://www.zw1840.com/blog/zw1840/2008/10/putty-xming-linux-gui.html

virtio驱动下载:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

virt-manager教程:http://www.ilanni.com/?p=6101

3 对 “群晖(Synology)KVM虚拟机教程”的想法;

  1. 感谢大佬的教程,由于看得不够认真,装网卡驱动的时候走了些弯路,其实大佬的教程把所有的素材都提供齐了。伸手就可以拿来。

  2. 请教:创建虚拟机的时候出现权限不足问题,怎么破?
    Unable to complete install: ‘Cannot access storage file ‘********.vmdk’ (as uid:203590, gid:203590): Permission denied’

发表评论

电子邮件地址不会被公开。 必填项已用*标注