云上办公的时代已经到来了,本文讲解了从选择桌面云解决方案、部署安装、到落地使用、运维管理其中遇到的问题和解决办法,篇幅很长,多图慎入!!!
一、云桌面解决方案选择
要求:
1. 更低的成本
2. 针对日常办公使用,主要针对windows
3. 解决方案成熟,方便部署和统一管理
基于以上要求,最开始想到的是VMware
,因为之前用VMware
的虚拟机用了很长一段时间,对VMware
的好感度还是很高的,于是去找了一下VMware
用于桌面云的解决方案是什么,最后发现VMware
是叫vmware workstation 7
的一套解决方案,然后去vmware
官网看了看,有免费试用的版本下载,于是高高兴兴的注册了账号,下载了600多M的安装包,找了一台测试服务器准备安装,结果发现安装不了,需要是已经加入域的电脑才行,然而公司的电脑并没有入域,而且那台测试机上面还有其它的东西,作为小心起见,还是不直接在这台机器上弄了,于是找领导协商,弄了台闲置的DELL刀片服务器,配置如下:
- 双路 Inter Xeon E5 2620v3 2.4GHZ
- 64G内存
- 2T DELL 机械硬盘 x 2 组成的RAID1磁盘列阵 实际存储空间1.8T
- 千兆网卡 x 4
过程中找领导商量了一下,结果让我了解一下微软的解决方案,毕竟是要兼容windows的,微软自己的解决方案应该会更好,然后找到了Hyper-v
,卧槽!!!
不看不知道,了解了一下之后才发现,原来微软在虚拟机这一块已经做得非常棒了,如果是单纯面向windows
的话,微软的Hyper-v
更适合,而且它完全免费(当然你得先有已经激活的windows server 2008+
),想到vmware workstation 7
注册试用的时候那一堆麻烦的东西,所以果断选择了Hyper-V
(毕竟能免费用,总比去用别家的一个试用版要好)
嗯...服务器开机,发现是Linux的VMware,里面装了5个windows server2012
,于是先运行一个跑起来,然后安装Hyper-V
结果在虚拟的windows server2012
上面不能安装,原因是Hyper-V
不支持虚拟机嵌套,没办法,那就只能给服务器重新安装系统了。
安装系统
- 下载官网原版的Windows Server 2012镜像,资源地址:MSDN,我告诉你,感谢博主的资源。
下面的资源迅雷就可以下载:
ed2k://|file|cn_windows_server_2012_r2_vl_with_update_x64_dvd_6052729.iso|5545527296|BD499EBCABF406AB82293DD8A5803493|/
- 准备一个8G以上的U盘,使用<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">ultraiso</mark>将镜像文件刻录到U盘中,使U盘变成一个启动盘。
- U盘插服务器上面,重启服务器,按F2进入
System Setup
,选择U盘启动,然后安装系统(这个不详细说了,网上教程很多)
二、服务器主机安装Hyper-V
- 打开<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">服务器管理</mark>
- 添加角色和功能
- 基于角色或基于功能的安装
- 从服务器池中选择服务器
- <mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">角色</mark>勾选<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">Hyper-V</mark>
- <mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">功能</mark>默认勾选
- 完成安装
三、Hyper-V创建虚拟交换机
- 打开<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">Hyper-V管理器</mark>
- 选择服务器,右键
虚拟交换机管理
- 新建虚拟交换机,虚拟交换机分为:
外部
、内部
、专用
三种类型
- 新建一个
外部
虚拟交换机,连接类型选择外部网络
,选择一个插上网线的并且能连接外部网络的网卡,点击确定。
- 虚拟交换机新建完成之后查看对应的实体网卡,这时候会发现实体网卡的
IPV4
和IPV6
都已经被取消了,同时Hyper-V可扩展虚拟交换机
选项已经被勾选。
- 并且此时在网络链接中出现了一个新的名为
vEthernet(Public)
的网络连接,描述为Hyper-V虚拟以太网适配器
,这个就是将实体网卡扩展出来的虚拟交换机。
- 给虚拟交换机
vEthernet(Public)
设置一个静态IP即可,虚拟交换机外部网络连接建立完成(此处有坑,后面会有讲解)。
四、Hyper-V安装虚拟机
1.选择服务器,右键->新建->虚拟机
- 输入虚拟机的名称和保存位置
- 选择虚拟机代数,默认第一代即可
- 为虚拟机分配
启动
虚拟内存,并且可以勾选为此虚拟机使用动态内存
,这个选项绝对是Hyper-V
的一大亮点,动态内存能更好更合理的分配虚拟机的内存,这相比于传统的虚拟机而言,极限的提升了虚拟机内存的使用率,杜绝了闲置内存在虚拟机上面的开销浪费。不过此处需要注意的是,这个地方设置的启动内存是虚拟机开机的时候Hyper-V
会分配给虚拟机的内存,开机内存设置的太大,即使用了动态内存,会有可能在同时开启多台虚拟机的时候将物理主机的内存爆掉,所以这个地方需要考量开启虚拟机时的物理内存多少。
- 配置虚拟机网络,选择之前创建的
Public
。
- 链接虚拟硬盘,两种方式:
创建虚拟硬盘
和使用现用的虚拟硬盘
,第一次创建,当然是创建一个新的虚拟硬盘,选择虚拟硬盘的文件保存位置。
- 安装选项,选择虚拟机如何启动以及如何安装系统,这个时候选择本地的
ISO
系统镜像即可。
- 摘要
- 虚拟机列表中已创建好名为
vm1
的虚拟机
- 虚拟机设置,选择虚拟机<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">右键->设置</mark>
- 虚拟机硬件设置:添加硬件(
SCSI控制器
、网络适配器
、旧版网络适配器
、光钎通道适配器
),如果你的物理主机有显卡的话,还能设置RemoteFX 3D 适配适配器
- 设置:BIOS启动
- 设置:内存(动态内存的最大限制内存也可以设置)
- 设置:处理器(默认一个处理器,设置成4个)
- 设置:IDE控制器
- 设置:网络适配器
- 设置:磁盘驱动器
- 启动虚拟机:选择虚拟机
右键->启动
,也可以连接连接,然后通过虚拟机连接中的启动按钮启动。
方法一:
32方法二:
34 33- 虚拟机启动后,虚拟机会显示为
正在运行
,并且会有已分配内存
、CPU使用率
、运行时间
等数值。
- 连接到虚拟机,进行系统安装。
- 系统安装完成后,检查网络适配器设置,将虚拟机网络连接IPV4设置为静态IP。
- ping一下虚拟交换机,检查网络连接是否有问题(ping成功,网络连接OK)。
- 访问外部网络,Public虚拟交换机是能连接外部网络的实体网卡扩展而成,用于虚拟机连接外部网络使用。打开百度,访问外部网络OK。
- 开启远程桌面访问
我的电脑->属性->远程设置
,选择允许运行任意版本的远程桌面计算机连接
- 在其它设备上使用
远程桌面连接
访问虚拟机,这个时候会发现虚拟机已在其它地方登录,需要已登录的设备同意注销才能继续,原因是因为windows 7默认是只允许一个用户登录,如果需要允许过个用户同时登录,需要使用工具破解或者安装windows更新补丁,这里我使用的是破解工具UniversalTermsrvPatch-x64
,链接就不放了,大家可以自己去找,网上有很多。
- 此时再使用远程桌面访问OK。
五、虚拟机远程桌面连接画面延迟问题
在虚拟机搭建好了之后,我发现了如果是使用Hyper-V
的虚拟机连接直接连接虚拟机的话,虚拟机的响应效果良好,但是使用别的计算机或者云桌面终端连接虚拟机的远程桌面发现画面延迟非常好,几乎都不能正常使用,每个虚拟机的配置都是4核处理器
+4G内存
的配置,性能上应该是不会有问题的。
- 一开始我还以为是我们买的云桌面终端的问题,但是后来使用电脑的远程桌面连接依然非常卡,画面延迟很高,期间有将windows 7的远程桌面RDP协议升级到8.1,效果依然没有得到改善;
- 再次猜测是不是公司的网络限速,影响了的远程桌面的访问,然后测试了一下内网的传输速度,能达到百兆的速率,显然不是内网限速的问题;
- 最后想到会不是是虚拟交互机的问题,内网中机器和虚拟机网络唯一的不同点在于虚拟机的网络链接是通过虚拟交换机分配的IP,会不会是多台虚拟机使用同一个交换机,这一个交换机有点吃不消了,然后测试了一下虚拟机连接其它内网机器的速度,结果对比如下:
<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">虚拟交互机内部IP之间速率测试</mark>
954A521CC5B75BC8A3B1217F0BAF991C<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">虚拟交互机内部IP与内网其它实体网卡IP速率测试</mark>
3B26227996E3A08C6212F85BF15B7323
果然虚拟交互机内部的IP和其它内网IP直接存在着障碍,但问题并不是虚拟交换机吃不消,因为虚拟交换机内部的IP相互访问的速率非常高,几乎达到了硬盘的读写速度了;问题的原因在于<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">实体网卡</mark>的设置问题。
禁用网卡设置中的虚拟网卡队列:
- 打开实体
网卡->属性
(<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">注意是实体网卡,不是Hyper-V
虚拟以太网适配器</mark>)。
- 打开配置
- 高级
- 找到<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">虚拟机队列</mark>,选择<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">禁用</mark>,然后确定。
<mark style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: baseline; background-color: rgb(253, 255, 182);">问题排查:</mark>
- 内网是否限制了速度;
- 虚拟机是否设置网络速率限制;
- 虚拟机的性能是否达标;
博主之前在使用云桌面终端测试远程桌面连接的时候,问过终端的厂商技术对接人员,结果他们说他们的终端连接win7确实存在画面延迟的问题!!!然而实际他们说的画面延迟只是一点点而已,并不是我看到的画面延迟的主要原因,然后博主一直以为是终端的问题,在终端和远程桌面RDP协议的问题上浪费了很多时间,最后通过多端设备之间的连接测试发现问题并不在终端设备上/(ㄒoㄒ)/~~。
网友评论