admin 管理员组

文章数量: 887021

最近整理了一下自2017年以来自己对私有云服务平台构建的一些认识,并以刚刚为某后勤保障部队单位提供的小规模私有云服务平台为例阐述。

私有云平台、云计算服务与虚拟化:

我个人认为这三个名称分别指涉了三个不同的事物:

  1. 私有云平台:在实践中,私有云平台时包含了服务端软硬件集成和客户端软硬件集成的一整套特定业务需求场景的、已经处于落地实施阶段的解决方案项目。

          比如某后勤保障部队为简化征兵流程、节省相关开支成本,决定采购一套私有云平台软硬件系统集成产品。关于这套私有云平台产品,经过供应商的需求调研、相关单位的解决方案论证,最终形成了一份关于这个私有云平台应该“是什么”的描述性文档,这份文档描述了私有云平台的服务目标、软件系统应提供的功能、软件系统的定制开发标准、硬件平台的规格、验收合格的标准、软件平台系统的使用说明书及适用培训、软硬件基础平台的故障排查说明书及对维保人员的培训。

在本例中,私有云的服务目标是解决士兵心理测试使用电脑的便携性与易用性、士兵政审表的确认打印。软件系统应提供的功能是:(一)承载国防部提供的心理测试软件的服务端与客户端运行,并完成服务端与客户端的局域网组网;(二)能及时获取到《全国征兵网》上预征士兵填写的个人政审资料信息,并实时接入到政治工作科的政审内网,供政审人员查阅和打印。软件系统的要求是数据不出内网。硬件平台规格有供应商按需提供,但不得使用完全进口设备。验收合格标准是平台承载40~60台运行心理测试软件的客户机,并提供政审信息的流畅预览与打印。

根据上述基本需求,可以确定这套私有云平台的实施应分为三个部分:软件应用系统、硬件虚拟化及虚拟化管理平台、硬件设施平台。这三个部分中最贴近委托方人员频繁操作的部分是软件应用系统,该应用系统需要完全定制化开发,在满足数据获取与传播的安全性的同时,更要注重操作人员的操作习惯、学习成本、用户界面的易用性。硬件虚拟化及虚拟化管理平台与硬件设施平台与委托方的市场操作关联性不是太强,但应考虑到维保团队的运维能力后再决定软硬件基础设施平台构建的复杂度。

在本例中,软件应用系统由软件产品研发部分负责定制化开发,并时刻根据委托方在使用过程中的反馈信息就行修改。根据研发部门开发人员的编程能力可业务框架开发水平,最终研发部门决定放弃造轮子,以某开源产品为底本进行修改,整个软件应用系统分为服务端程序和客户端程序两个部分,并提供Web页面版的客户端操作,整套作业系统基于在Windows平台开发,服务器环境为Windows Server 2016 64位版本。委托方要求供应商全程提供运维保障,因此该私有云平台的维保团队由本公司的平台建设团队代维,故不需考虑维保团队问题,平台复杂度由公司委派的平台建设团队人数及成员实际运维水平综合决定。公司决定为该平台建设指派2名人员,再综合考虑公司的贴牌产品实际性能与使用约束条件,硬件虚拟化及虚拟化管理平台决定采用OpenStack Queens 版本,服务器硬件标准产品决定以DELL R730 为标准服务器,瘦身终端采用深圳泛联公司代工的FL500型云瘦身终端作为客户端主机,其远程连接协议采用开源的SPICE虚拟桌面传输协议。由于国防部的心理测试软件只能运行于Windows 7平台上,且委托方指定的Ky打印机只提供Windows平台的驱动程序,因此提供给各VM实例的镜像为Windows 7 32位操作系统,在镜像封装过程中按需加入了心理测试软件的客户端、FTP客户端、中州韵汉语输入法等指定软件。服务端镜像与客户端的远程桌面连接采用WIFI连接,该无线路由器为华三的企业级千兆无线路由器。物理服务器与个连接设备之间的双绞线采用超六类线连接,所有的网络接口均采用千兆口。

按照原来的设计方案,OpenStack平台应为主备双节点,但委托方只愿意认购一台物理服务器,因此OpenStack平台的搭建采用了单节点模式;在内外网数据交汇方面,由于委托方希望设计尽可能简单以便在未来由他们直接操作,因此放弃了在服务器上同时接入内外网的做法,改用在一台跳板机上同时连接内外网,由跳板机电脑和物理服务器直连。

按照本次委托方的活动实施计划,攻击需要提供30台心理测试机、1台心理测试服务器、2台体检数据服务器、3台政审预览电脑、3台连接ky共享打印机的打印电脑,此外根据政审作业系统的运行环境还需要提供2台Windows Server 2016服务器和1台Windows域控制服务器。据此共计需要在OpenStack平台上创建50个VM实例,并按需封装2类qcow2格式的VM镜像上传到OpenStack的glance服务中。现场需要提供50个云瘦身终端、50套显示器、50套键盘鼠标、5根长度为1米的超五类双绞线、2个支持无线桥接的无线路由器。

待软硬件基础设施平台搭建完毕,即可在运行Windows Server 2016 的VM 实例上部署定制开发的政审作业软件系统供政审人员使用。

     2、云计算服务

我个人认为云计算和虚拟化采用的实现技术本质上是完全一致的,区别在于二者提供的服务规模和是否有计费审计系统。我个人认为低于200个逻辑节点的系统应该称作虚拟化管理系统——即便它包含了计费审计系统,而超过200个逻辑节点的系统则应称为云计算服务系统——即便它没有使用计费审计系统。

200个逻辑节点这个划分依据,是我个人在平台构架实践中依据平台使用规模、建设投资规模、维护复杂度、利旧能力、纳管能力、平台承载能力、建设投资持续性等因素确定的。一般而言,200个标准逻辑节点,需要投入4~5台标准服务器即可,而在客户端方面则按需购置云瘦身终端、显示器和键盘鼠标即可。通常中小型规模的公司,全部雇员不会超过200个,这其中还有一部分不需要工作电脑的勤务人员,因此200个标准逻辑节点是可以满足中小规模企业的实施办公需求的。如果在河南省范围内,中小型公司是不会超过80个雇员的,按照200个逻辑节点构建虚拟化管理平台或者云计算服务平台,在服务端已经是超规格、超标准配置了,是会造成服务器资源浪费的。我曾服务过的河南省郑州某ZY欠薪公司,对外宣称自己的雇员达到了500人,但实际雇员不足40人,其中还包括了13名不需要办公电脑的勤务人员。这种情况下,构建一个单节点OpenStack平台都会造成计算资源浪费,只不过在雇员存储大量音视频文件时需要占用服务器上较大的Ceph存储空间罢了。还有河南省郑州市位于西三环国家大学科技园区内的某恶意压低薪资的皮包公司,和另外三家皮包公司合租了一间众创办公室,全部雇员总计7人,要构建一个10个逻辑节点的“私有云平台”,放弃本地存储不用,非得哗众取宠地要用分布式的Ceph集群做存储,还一度扬言是在跟上海市的Zenlayer公司合作研发私有云产品,自己是Zenlayer公司的大股东(其实我只想说一句,Zenlayer公司是我在上海市实习期间的老东家,Zenlayer公司虽然提供部分IAAS服务,但好像还不涉及小规模的“私有云”业务吧?)。

此外,云计算服务一般在东西和南北两个方向上都有扩展性,理论上东西方向的资源扩展是无限制的,如果是定制的物理服务器,还可以在南北方向上实现一定程度内的资源扩展。这主要是以OpenStack和CloudStack为代表的开源云计算服务产品有充分的利旧能力,甚至可以将廉价的X86_x64平台PC编入集群加以利用。在充分利旧方面,大陆地区的ZStack开源云计算服务产品也是个佼佼者。

目前比较成熟的商用云计算服务平台主要指美国亚马逊公司提供的Amazon Web Services和美国谷歌公司的Google Cloud Platform,其他云计算服务平台都以这二者为事实标准,并一度在经营方面向Amazon Web Services看齐。中国大陆的阿里云计算、腾讯云计算、华为云计算等在功能可以看做是美国亚马逊公司提供的Amazon Web Services的克隆版,从这些云计算服务供应商处取得的VM实例被称作“云主机”,也叫VPS(虚拟化的个人服务器)。现在很多河南省范围内——尤其是郑州市的“云计算公司”,在向阿里云计算、腾讯云计算或华为云计算等公共云计算服务供应商处租得1个或几个VPS后,就声称自己是“云计算公司”,主营业务要么是给个人或非法网贷、黄赌毒经营、莆田系弹窗广告推广提供软件定制服务和维保服务,要么就是个纯种的诈骗公司、没有任何明确的主营业务或者就是搞培训贷的培训机构。

从技术实现上看,鄙人为某后勤保障部队提供的征兵私有云平台平台,也是在提供VPS服务,只不过服务端与客户端交互采用了远程桌面的推送方式,客户端的显示器相当于服务端显示器的一块扩展屏幕,对源屏幕的内容进行了复制。

云计算服务,是对某平台的服务端功能描述,它提供了所有可被客户端请求的服务和功能,特征是跨地域、跨网域、逻辑节点多(一般会大于200个)、网络分层复杂(一般分承载网、数据网和管理网)、多含有计费审计系统、一般采用分布式集群部署、实际部署中多采用负载均衡和高可用方案、以开源产品为主。

       3、虚拟化

如前所述,我个人认为少于200个逻辑节点、采用虚拟化技术集中管理硬件资源的平台系统都应被称为虚拟化资源管理系统。从这个角度讲,虚拟化管理技术是云计算服务的基础版本、云计算服务是虚拟化管理技术的复杂功能升级版。虚拟化技术的出现,主要目的在于充分利用硬件资源,避免硬件资源性能过剩造成的资源性浪费。比较成熟的虚拟化产品有VMWare ESXi 、VMWare vSphere、Ctrix XenServer、Docker、Kubernetes、LinuxContainer、KVM、QEMU、Microsoft Hyper-V、Oracle Virtual、Proxmox VE、Open VZ等,这些技术既有支持裸金属虚拟化的、也有支持OS层虚拟化的。一度被国内拥踅者捧上神坛的华为FusionSphere虚拟化平台,其核心虚拟化技术也是开源的KVM-QEMU技术、其依托产品原型也是开源的OpenStack产品。尽管河南省——尤其是郑州市的人头外包公司一度声称华为FusionSphere的运维技术不同于其他虚拟化或云计算服务管理平台、来自非华为FusionSphere平台的技术不通用于华为FusionSphere平台,但我怀疑他们的真实目的是在恶意压低求职者的意向工资,至少我试用过的华为FusionSphere 6和8 系产品是可以用通用技术完成绝大多数运维工作任务的。

至于应该在特定项目中采用哪种虚拟化技术,我认为这取决于建设成本的投入总额、平台建设的持续性、明确的业务需求及分析、平台建设人员对未来使用状况扩展性的预估、平台维保人员的实际运维能力、所在单位对平台建设和维保的支持程度、平台建设人员的职业操守等。

以某部队下属的征兵私有云平台建设为例:

该平台的建设有两个方向可选:一是虚拟化方案,二是私有云方案。

采用虚拟化方案的话,排除掉专用软件采购费用,可选用的最佳虚拟化产品应该是 Xen Server虚拟化技术,其次是基于KVM-QEMU的Proxmox VE产品。放弃Xen Server虚拟化技术最主要的原因是,供应商派去的2名建设人员仅有一人可使用该项技术,无法保证在平台建设结束后即可实现对委托方人员的快速培训;放弃Proxmox VE产品的主要原因在于委托方的人员不了解Linux平台的操作,有较大的短期内学习难度。

采用私有云方案的话,从技术实现上讲最佳方案应是ZStack平台方案,既能满足当前需求,还能纳管其他虚拟化平台提供的资源。被放弃的主要原因是供应商不愿意花钱购买ZStack的商业技术支持、而公司自身的运维人员严重不足(原本应该是一个5~7人的团队工作量,现在仅有1人在岗承担)无法保障及时响应;其次委托方的人员对于新的操作内容也存在学习障碍。而之所以最后选中了在技术实现上并非最有选项的OpenStack方案,是因为委托方观摩并体验过OpenStack方案的常规操作,不存在短期学习障碍;同时供应商在对委托方的销售过程中一致声称是“自主研发”的产品,使用开源产品不存在商业版权纠纷,只需替换OpenStack的LOGO即可蒙混过关。再加上,之前该公司的程序研发人员也接触过OpenStack的WEB页面管理,可以一定程度上缓解运维保障的“运维荒”。综合这几方面的考虑,最终在平台建设过程中使用了非最佳选项OpenStack方案。

     4、关于虚拟电脑的落地

    虚拟电脑,也被称作“云电脑”、“桌面云”、“云桌面”。在实践中一般认为虚拟电脑有三种形式,即VDI、IDV和VOI。事实上 RDV 和 DDP也是一种实践中的虚拟电脑。

RDV和VOI不涉及资源虚拟化,充分利用终端资源进行计算和存储,可以离线使用,服务端仅进行客户终端的统一调度和管理。部分RDV产品是不配置本地存储的。

DDP、VDI和IDV会涉及资源虚拟化:IDV的虚拟层在客户终端,桌面使用的是本地虚拟机桌面;VDI的虚拟层在服务端,桌面使用的是服务器VM实例透传桌面。

DDP和VDI的使用场景是低性能、软件应用单一的场景,不适用常规办公。可使用场景为浏览器展示、前台接待记录、会议签到、影音播放等。这是由于VDI严重依赖网络,在服务端没有进行专门的GPU虚拟化额情况下图像传输品质会非常差,同时由于其虚拟CPU和RAM是动态按需限额分配的,其真实可用的计算资源要远远少于标记的分配资源。一般一台标准服务器上的资源可供50个左右的桌面终端使用。

IDV的使用场景是低性能、软件应用资源消耗很低轻办公的场景,不适用于常规办公。可使用场景为文档编辑、网页浏览影音播放等,可以看做是一个低性能的上网本,是综合办公性能上会低于华硕出品的思聪本一类的上网本。这主要是一般用于虚拟电脑的桌面终端都会采用低电压、低功耗、低性能的硬件所致。

VOI和RDV基本上采用了实体机的PXE的资源引导,可以满足各种轻型、中型的常规办公场景,可以作为常规办公环境的主力产品使用。

我自2015年开始研究网吧环境的无盘系统开始,陆续在工作中接触到了客户终端虚拟化和服务端资源虚拟池化,个人感觉“虚拟电脑”类项目的落地中心不在服务端,而在于客户终端的个性化定制。

综合OpenStack、CloudStack、ZStack、ProxmoxVE、ESXi、Vsphere、Hyper-V、KVM-QUME、XEN Server、Ovirt等虚拟化服务产品来看,服务端提供的核心功能是资源集中化管理与分发,而如何获取并利用服务端提供的资源则完全交给了客户终端。打个比方来说,服务端就像是个小麦粮仓,它把来自全国各地的小麦给集中放到了一个大粮仓中;客户终端就是面食产品的加工企业,他们把从“粮仓”获取到的“小麦”按需磨粉后加工成不同品类的主食或糕点,如拉面、面包、馒头、大饼、火烧、鸡蛋糕、绿豆糕等;而最终的使用者就像是进行消费的顾客,可以根据自己的喜好和需要选择消费拉面、面包、馒头、大饼、火烧、鸡蛋糕或绿豆糕等。

如何为“参与消费的顾客”提供多种多样的个性化产品,是各“虚拟电脑项目”供应商应该重点考虑的问题,否则供应商就变成人人可以取而代之的硬件产品“二道贩子”了。

以我最近服务过的某ZY公司为例,老板某日告诉我让我出一个针对三甲医院信息化建设的落地执行方案。我问老板:有没有意向合作医院?何时可以跟医院接触进行需求调研?是否参照国家卫生部下发的医院信息化建设标准文件?这家伙说:没有,也不用调研,你先按照卫生部文件写吧。梳理公司的宣传产品后,我认为公司现在对外宣传的产品中唯一有机会参与的标准医院信息化建设的就是基于OpenStack部署的基础设施虚拟化平台,而且要进入医院采购目录,还必须在此基础上为医院定制一套医院亟需而又没有很好解决方案的软件系统产品。和这家伙初步沟通确定解决方案方向后,在正式的联讨会上,在我提出项目成本大约每天会在20万左右时,这货马上变脸说“我们只需要卖给医院硬件服务器就行了”,完全没了“我们不差钱儿,我们月营业额10个亿”的牛皮嘴脸。会后这货单独找到我说“我有资源,要卖给河医(河南省人民医院)起码1000台服务器”。听到这话,我的第一反应是“艹!这话你不应该去给销售说吗?你给我开项目落地施工的工资,销售的活儿应该我来干吗?你是不是得多发我一份工资、多给一份销售提成?一次卖给医院1000台没有任何特色的服务器,你当人医院的人都是傻子吗?为了买你这1000台平平无奇的二手服务器,把人医院30多年购买的各种型号的服务器全当烂铁扔垃圾堆里?医院里哪个人都不敢冒着“侵吞国有资产”的罪名给你大开方便之门吧?你不是有资源吗,还用找卖给它东西的理由?你直接订货、我带人到现场给完成软件平台系统的部署维护不就行了?”

现在绝大多数“虚拟电脑”供应商都没能为采购方提供个性化定制功能的桌面终端产品,几乎都处于功能雷同、甚至相互抄袭的状态。某ZY公司提供给某军区下属单位的“虚拟电脑”桌面终端产品,就是有某公司贴牌生产的,除了外壳上的商标是自己花钱设计的外,里里外外都是在使用生产厂家采用的公开技术,没有一项是其宣称的“自主研发”技术。这种桌面终端设备,主体技术采用的VDI模式,使用过程中最大的问题便是散热,通电时间稍长或周边温度稍高,便面临因芯片温度过高带来的停止工作、网络信号衰减或中断、物理按键失灵、键盘输入紊乱等故障,严重影响工作。此外,某ZY公司提供的服务端无法进行GPU虚拟化,桌面终端的图像透传质量很差,文字重影模糊很严重,使用超过20分钟便会感觉到头晕和视力模糊。将此产品应用在无纸化考试过程中,将会对考生作答产生不利影响,已观察到的案例中显示考生使用此设备的透传图像时,会频繁揉眼睛,以便看清楚屏幕上的文字。

我认为要做到客户终端设备的个性化,就必须紧跟采购方的实际需求,充分进行需求调研分析后、再依据现有的成熟技术进行软硬件产品集成和测试,最终在反复调整的过程中向采购方移交合格合规、保质保量的终端集成产品。

当然,在河南省郑州市范围内就不要指望会有这种研究型企业出现了,绝大对数企业都是挂羊头卖狗肉的投机分子。在他们眼里,通过销售中形形色色的“话术”和“套路”,把钱从采购方手中“骗”到自己腰包里,才是“正道”。什么严格测试、品质保障、技术支持保障,都他妈统统见鬼去吧!给销售开月薪3万都不嫌多,给技术人员开月薪1万就心疼得像要了他的老命、还拖欠着本就低的可怜的工资不给,真实拿着他白菜的工资却拼着白粉的命......

  综合来看,在用户终端影响“虚拟电脑”项目落地的因素主要有:

  1. 成本问题。服务器、网络、存储等物理硬件设备的采购成本,加上商业云桌面软件的成本,往往一套标准环境下的VDI云桌面产品价格比购买一台廉价的PC设备还要贵。

以某ZY公司贩卖给某单位的一套标准VDI计算,对应了50个不含显示器和键盘鼠标桌面终端,总包价约30万。按照冠捷显示器在京东的同等类型报价为850元计算,该单位购买显示器的总价为4.25万元;一套雷柏的键盘鼠标在京东上同类产品报价约为89元,则该单位购买键盘鼠标的总价约为0.445万元。按照这个标准计算,该单位的一台虚拟电脑的实际采购成本应为6939元。

这样得到的虚拟电脑在使用体验上只相当于是一个低性能的上网本。在2012年左右一台华硕或联想或宏碁或神舟出品上网本在当时的销售单价约为1000元,现在购买这种二手上网本,闲鱼价大约在70¥~110¥之间。若取中位数90元,则该单位采购50台的总价应为4500元。

按照2020年6月京东上的电脑零部件产品报价,我组装一台i5-10500/16GB内存的全新电脑主机总花费也不过3654.9元,具体配置为:

CPU:Intel i5-10500

主板:ASUS TUFGAMINGB460M-PLUS(WI-FI)重炮手

内存:光威 TYPE-α系列 16GB(8Gx2)套装 DDR4 3200MHz

硬盘:西部数据SSD 500GB-SN550-WDS500G2B0C

CPU散热风扇:酷冷至尊 暴雪T400i

电源:鑫谷 额定550W 全模650

主机机箱:航嘉 暗夜猎手5

再加上显示器和键盘鼠标,一台全新的全场景办公工作站电脑采购总价约为4593.90元,比一套VDI虚拟电脑的采购成本低了约2400元。

由此可见,在电脑硬件采购成本一路降低的情况下,如无特殊要求,仅就办公场景而言,采购实体电脑的成本要比虚拟电脑低很多,同时实体电脑好可以作为固定资产进行折旧出售。虚拟电脑的客户终端显然没有多大折旧出售的价值。

 

    2、性能问题。在CPU、内存、网络、存储、显卡五个主要指标中,显示卡的直通使用是虚拟电脑的致命短板,其图像显示能力在桌面云通常不如实体电脑。

虽然GPU的虚拟化与直通是一个很有前景的解决方案,但据我所知,在GPU虚拟化直通方面还没有哪家研究型公司取得突破性进展,不过各大厂商的销售团队鼓吹的商业噱头倒是不少。VMware、Microsoft、NVIDIA、AMD等公司等先后进行过GPU虚拟化研究,但实际成果与研究期望相差甚大,且在实际应用方面有诸多限制,只能用于特定的架构平台,通用性比较差,尚处于技术评估与测试阶段,目前还不能作为一项通用技术应用到商业产品实践中。如MicroSoft的RemoteFX仅限于Windows 7系统、只支持少数型号的GPU且对VM实例的支持数量有限制。

现在的VDI类虚拟电脑技术在图像透传上的通行做法是:在服务端先把GPU虚拟化功能禁止,然后在VM内安装指定的远程连接工具并配置未开机自启动模式,而后再次开启GPU虚拟化功能。而大型公有云服务功用上则采用了第三方远程展示协议作为解决方案,常用的协议有Windows RDP、RDP、Tightvnc、X11vnc、Citrix HDX、HP RGS、Citrix XenApp-XenDesktop、AWS AppStream等。在中国大陆被吹上技术神坛的阿里公司,其旗下的阿里云图形工作站采用的便是Citrix HDX图像展示协议,通过Citrix Receiver进行远程显示。

 

    3、使用和维护复杂。这个问题可能更为重要,虚拟电脑面对的终端用户和适用单位通常是没有专业知识或者没有接受过专业技术培训的普通用户,而“虚拟电脑”这种复杂事物偏偏集成了各项专业技术,没有一定的知识背景是无法驾驭和使用的。例如在VDI类的虚拟电脑项目中,终端用户需要知道他们是同的设备严重依赖网络,显示器黑屏很可能是网络连接中断了,至于引起的网络连接中断的原因是宽带中断还是中断设备导致的网络中断有需要做进一步排查。

在我代维过的VDI类虚拟电脑项目中,发现终端用户在发现显示器黑屏时,自助排查的过程中首先是要求更换显示器,而不是将故障现象通过拍照或录制短视频的方式向维护人员清晰描述故障现象。这导致维护人员在维保过程中走了大量弯路,本来只需要感触一下终端设备的发热量或者给终端设备强制断电几秒钟就可以排查出故障原因的内容,被使用者给搞得的走物料领取流程浪费半天乃至一天工作时间才排查出故障原因。

这也从侧面说明,对终端使用者进行专业培训和常见故障排查培训十分重要。这原本属于售后技术支持服务内容,但在实践操作中这部分内容成为了平台建设竣工验收的必备内容,平台建设人员在施工结束后应尽快安排使用人员参见技能培训并向采购单位发放常见故障自助排查手册和本项目使用到的技术种类与维保数据。

本文标签: 桌面 看法