本帖最后由 基业傲腾_饶林瑞 于 2017-3-16 15:09 编辑
aDesk各个组件通信流程
在部署桌面云的时候,经常会遇到ip地址规划的问题。之前也发表过帖子来说明桌面云里面的接口类型,后来发现对于桌面云各个组件VMP、VDC、VDI的通信提问的人也不少。稍微做了一个整理,分享给大家。如有出错,欢迎指正!
首先来看这张图:
非常清楚的一张访问流程图,不过我还是来说一下每一步的个人理解。
首先,aDesk或者是咱们的PC、笔记本、ipad,我都统称为“VDI客户端”,因为他们存在的目的都是一样的:运行VDI程序,然后通过网络连接上VDC,去VDC上进行认证并获取资源。
OK,继续!
注意:下文截图均以某公司正在运行的桌面云环境截图,与上图的访问流程无关,所以不要被IP地址误导了!
第一步:VDI连接VDC
这一步,VDI是为了连接上VDC去进行认证,并且连接的端口是VDC的443端口,所以我们在浏览器打开VDI登录界面的时候输入的地址就是https://VDC_IP 并不需要加什么端口号。
那么,我们get到1个重点:VDI需要跟VDC的443端口进行通信
如果认证通过,VDC就需要看看该用户是否通过角色关联的对应的资源。假设该用户关联了资源(所谓资源,在桌面云里就是虚拟机),但是是第一次登录,还没有绑定对应的虚拟机(假设是独享桌面的资源),那么进行下一步。
第二步:VDC连接VMP
VDC发现自己的合法用户来这里认证了,那么就需要在该用户对应的资源池里分配资源给该用户来使用。资源在哪呢?当然不在VDC上了,它只是负责分配,资源可是在VMP上呢!虚拟机跑在VMP上呀!
这个时候,VDC就要去找VMP了,问问VMP是否还有相应资源的空闲虚拟机,如果有的话,分配一台虚拟机给该用户,并且如果分配的虚拟机处于关机状态,需要VMP开启虚拟机。那么,VDC到底是通过哪个IP的哪个端口去跟VMP通信的呢?
如果是单个VMP服务器,就是VMP服务器的管理口地址。如果是集群的话,就是集群的IP地址。端口是4433。配置路径如上图所示,端口号可以不写,默认就是4433。建议不要偷懒!
第二步的重点:VDC需要和VMP平台的管理地址的4433端口进行通信
第三步:VMP开启虚拟机
VMP需要跟虚拟机进行通信么? 需要么? 不需要么? 需要么? … 你电脑上的QQ需要跟你电脑进行网络通信? 所以,虚拟机只是VMP上的一个程序,有没有地址,都不影响VMP开启它,也不妨碍VMP让VDI看到它! VMP开启了虚拟机以后会反馈给VDC,告诉VDC分配的虚拟机运行在集群里的哪台主机上,主机IP是多少,运行在该主机的哪个端口下。
第三步的重点:虚拟机不需跟VMP进行通信!
那么,虚拟机需要跟VDI进行通信么? 需要么? 不需要么? 需要么? ... 不知道的话继续往下看
第四步:虚拟机连接VDC,通过Agent程序上报状态
总有人问,agent是干嘛的,能不能不装这个程序? 我之前也知道一些,但是不全,为了本文的分享,特意找在线咨询要了一下
Agent实际上是VDC控制虚拟机的一个程序。
Agent的作用: 1、 虚拟机派生完成后,首次开机时需要Agent接入VDC执行初始化过程,上报虚拟机此时cpu,内存,磁盘,虚拟机是否运行正常。 2、 VDC下发组策略的控制给虚拟机(所以不安装agent,组策略是不生效的) 3、 Agent程序会自动将原存放于Windows系统盘的“我的文档”等个人文件夹重定向到个人磁盘(所以不安装agent的话,桌面等个人文件会在模板更新后数据丢失) 4、 如果启用网页浏览加速,当桌面虚拟机分配内存大于2.5GB时,Agent程序可以划分一部分内存空间作为磁盘缓存,用作IE等浏览器的缓存目录,以提升网页浏览的加载速度(网页浏览加速这个功能后续会取消咯) 5、 安装Agent程序的同时,虚拟机会安装性能优化工具,优化虚拟机的各项性能(所以不安装agent的话会有画面卡顿、鼠标虚影等运行不流畅现象出现) 6、 不安装Agent,虚拟机U盘,鼠标键盘,磁盘大小等使用可能有问题 7、 不安装Agent,VDC上获取不到虚拟机的运行状态,CPU、内存、磁盘等占用情况 8、 等等其他使用异常的现象……欢迎补充!
重点来啦:虚拟机需要去连接VDC的LAN口的TCP 8866端口来与VDC通信!
第五步:VDI客户端连接VMP,获取虚拟机资源
在这里,问题来了: 1、 VDI只知道VDC的地址(登录的时候自己输的地址嘛),怎么知道VMP地址? 2、 VMP如果是一个集群的话,虚拟机运行在哪个主机上呢? 3、 一个主机上运行多个虚拟机,怎么能保证正确连接到该用户对应的虚拟机呢? 4、虚拟机没有IP地址的情况下,怎么跟VDC通信上报状态?
这些问题,没考虑过吧?
其实是这样的:
VDC跟VMP集群IP建立连接,开启了虚拟机之后呢,集群会告诉VDC你需要的这个虚拟机运行在集群中的哪个主机上,并且是用的哪个端口
注意:虚拟机类似于VMP上的某个程序,VMP作为一个服务端为VDI客户端提供服务,自然要告诉VDI我为你提供的是哪个端口的服务。这里的端口范围是主机IP的TCP 5500-5699端口。
然后VDC会返回给VDI对应的资源信息,也就是告诉用户虚拟机运行的主机IP以及对应端口,VDI拿到之后,就去找对应的主机建立spice通道,虚拟机的画面就传输过来了!
这个时候你觉得,虚拟机需要跟VDI进行通信吗?嘿嘿。
最后一个重点:VDI需要跟VMP的TCP 5500-5699端口进行通信!
同样,我们也得知了,一台服务器上最多运行200个虚拟机。因为通信端口是200个嘛!可千万不要理解成为是跟集群IP建立的spice通道哈!
整个访问流程就到这里了,希望能够帮助小伙伴们对桌面云的整体架构有一个基础的理解,在规划IP网段的时候思路更加清晰!
在这里,真诚的感谢社区在线咨询的“小琴”对我的帮助以及400妹纸1096的耐心指教。通过她们的专业解释,也理清楚了很多以前我不太明白的细节。另外,在线咨询真的很有帮助哦!也建议大家以后多多利用我们能用到的资源来帮助自己快速掌握知识。
在这里也祝福各位女神,女神节快乐!!!
|