当前位置: 首页 >> 产业发展

Linux的企业应用
发布时间:2015-04-29 10:44 作者:LUPA

   

作者:浙大网新科技 毛德操 周力炜 徐鼎鼎   

我武生物科技 单明

       我们开源界的人,大都希望Linux能在中国的企业(包括政府机构)中得到广泛的采用。这是因为,企业中的应用才是“重磅”的应用,Linux只有被企业广泛采用才能真正站稳,围绕着Linux企业应用的软件、服务产业链才能兴起。至于信息安全的问题,虽然现在并无充分的证据能证明Windows有蓄意安插的问题,但是既然是不开源的“黑盒子”,人们就有理由怀疑和提防。

         然而,要让中国的企业广泛采用Linux实非易事。这里面的问题主要不在版本,而在于如何实现平滑无痛的迁移,如何继承企业原有的各种资源。

         事实上,国内已经有了够多的Linux版本。作为开源的操作系统,就版本而言,国内和国外的差别主要只是汉化,而汉化是个相对而言不那么困难的工作,更何况像Ubuntu那样的版本本来就已经支持中文。但是,尽管已经有了不少的Linux版本,真正采用了Linux的企业(包括政府机构,下同)却还是很少。

         为什么采用了Linux的企业很少呢?原因当然有很多,但是其中关键的一条是:对于中国的绝大多数企业而言,是“改用Linux”的问题,而不是“采用Linux”的问题。如果是一个新办的企业,要从零开始搭建一个计算环境,你劝他采用Linux,那还有点可能,当然也还需要有些例如政策鼓励等等“正能量”来抵消一些例如员工对此不熟悉、不习惯等等的“负能量”。但是如果是业已存在的企业,已经搭建好了并在正常使用Windows计算环境,这时候你要劝他改用Linux,那就难上加难了。他们会问:要是这么一来让我的财务停下几天怎么办?我原来都已按组织架构划分了域(Domain),还有活动目录(Active Directory),这不就打乱了吗?我们的业务要求使用某项软件,那根本就没有Linux版对应物,怎么办?如此等等,不一而足。平心而论,这些问题也确实是客观存在,并非只是出于对Linux的主观抵制和不友好。换位思考一下,如果这些问题得不到妥善的解决,如果不能提供一条平滑无痛的迁移路线,不能让企业最大限度地继承原有的环境、模式和资源,把迁移所带来的干扰和波动减小到企业可以接受的程度,那确实很难让一个企业毅然决定弃用Windows而改用Linux,换谁都是一样。

         所以,Linux的企业应用,特别在中国的企业应用,其实是“不患版本、患过渡”。而过渡问题的核心,则是继承。最理想的过渡,是除操作系统本身以外所有的东西都继承下来了,让用户在不知不觉之间就完成了操作系统的替换。当然,这种理想的过渡实际上是达不到的,我们能做到的、或者说应该做到的,是将用户觉察到的变动、尤其是突变、降低到他们可以接受的程度。

 

 

         但是,要达到这样的目的,难度远远超过Linux版本的汉化,这里面有相当高的技术含量。当然,Linux本身、特别是其内核的技术含量是最高的,但是现在谁也不会再从头去做一个Linux了。而解决构成Linux企业应用主要障碍的过渡问题,对我们就是个重大的挑战。反过来,这也给我们提供了好多创新的机会。

         那么,要实现平滑无痛的过渡,需要解决哪些方面的问题呢?通过在企业的实践,我们总结了一下,围绕着“继承”这个核心,至少要解决这么一些方面的问题:

l  组织架构上的继承

  企业内网原来都已按行政组织架构和业务流程划好了域,员工都已有了用户名,机器也有了机器名,各在各的域里活动,许多企业还用了活动目录,当然还会有ACL(访问控制名单)。此外,有些企业动态分配IP地址,也有些企业内部的IP地址是固定的。所有这些,如果不能好好继承下来,就势必会造成至少是一段时间内的混乱。这里讲的继承,一方面是过渡之后还能不能达到相同效果和作用的问题;另一方面也涉及是否需要把老的一套都废掉重建的问题。光是这一条,就可能把企业吓退。

l  软件资产的继承

  企业往往都已经在软件方面有所投入,特别是一些行业应用方面的软件,他们很可能是花了不少钱的。更重要的是,他们的业务很可能离不开这些软件,而这些软件又只有Windows版本而没有Linux的对应物;或者虽有Linux对应物,但是在使用、风格、功能、配套方面相去甚远。当然,Linux上也有许多应用软件是Windows上没有的,但是具体的企业却可能并不需要这些应用。这样,如果这个问题不解决,那么改用Linux就无从谈起,实践中往往一个财物软件就能使整个企业改用Linux的想法化作泡影。显然,这是最大的问题。

  解决这个问题的最好方法就是兼容,所以国外早就有了Wine这个软件的开发,并一直延续进展到现在。浙大网新的兼容内核项目,则是想要把Wine融入内核以提高其性能。不过近年来CPU硬件的发展已经使性能的重要性明显降低,浙大网新团队甚至已能在采用ARM处理器的平板电脑上仿真运行Office,而且响应速度可以接受。所以我们在下面的讨论中都以原版Wine为例。

  现在,有了Wine,许多(甚至大部分)Windows应用都已经可以在Linux上运行。但是不可否认的是有些软件还不行,这些软件怎么办?我们的办法是让这些软件在Windows虚拟机上运行。可是如果在每个桌面PC机上都装上Windows虚拟机,那就失去了意义。所以我们需要有一些“应用服务器”,把Windows虚拟机装在应用服务器上,而用户则在“客户端”、即自己的桌面PC机上通过网络使用这些Windows软件。显然,这是一种云计算的模式。不过应用服务器的使用只是权宜之计,随着Wine的进展,或者Linux版替代物的出现,以及应用软件本身的更新,应用服务器的数量应该越来越少,最后应该减少到零。但是现阶段还是不可避免。

 

 

  还有个问题,Wine对Windows软件的兼容常常不是非黑即白、要么支持要么不支持;而可能是基本兼容,但在某些不常用的功能上还不完善。对于这样的情况也要有个办法,否则可能会导致把所有这样的软件都甩到应用服务器上。我们的解决方案是:在客户端和服务器上都装上这样的软件,用户点击启动此类软件时一定是先在本地用Wine支持运行,如果真是需要用到那些兼容得不是太好的功能,就换用服务器上的Windows虚拟机,但是不让用户一开始就直接使用服务器上的虚拟机。一般而言,在本地使用Wine运行毕竟是独占的,在响应速度等方面会比使用多用户共享的服务器略好一些,所以使用者也会愿意尽量在本地运行。

  不过以云计算的模式使用那些暂时在Linux上还运行不好的Windows软件,又会带来一些细节的问题,例如剪贴板的使用就是问题之一,还有视窗的融合问题等等,这些问题都有一定的挑战性。

  还有,虽然Wine已使许多Windows应用可以在Linux上直接运行,但是都需要把这些软件在Linux+Wine的平台上重新安装一下。在企业环境下,这也可能成为问题,因为需要安装的软件可能有很多,机器也可能有很多。更麻烦的是,有些软件可能实际上已经无法重新安装了。比较好的办法是:设法保留磁盘上原有的Windows分区(但是最后要把Windows内核映像删掉),然后在Linux这一边把Windows分区上的软件照单全收,全都接管过来。当然其中有些软件还不能在Linux上直接运行,或者还运行不好,那些软件需要放在云端运行,但是接管过来的很多软件直接就可以运行。这样当然就省事了,但是据我们的经验这也是个不小的挑战。

  有人可能怀疑这样是否涉及知识产权的问题,我们认为没有问题,这是因为:原先装在Windows分区的软件都是合法获得的(如果非法那是另一个问题),我们没有任何改变,也没有拿来发行,我们甚至都没有把这些软件放在Linux上再安装一遍。至于用Linux+Wine来运行这些软件,则没有任何一个条款说这是不可以的。

  在软件资产的继承方面,还有个问题是软件升级。有些Windows软件是常常要(通过网络)升级的,而升级的方法当然是与Windows配套的,如果改用Linux以后在这方面有了问题,那就又会引起企业的不满,这又可能是个问题。

l  “安全井”的问题

  把暂时还不能直接在Linux上运行的Windows软件集中在服务器的虚拟机上,就带来了一个问题,就是需要把凡是装上Windows或者Windows虚拟机的计算机都集中在一起,放在一个“安全井”中,并对这安全井采取特殊的安全措施以确保信息安全。这是因为,有些企业之所以愿意改用Linux,正是出于信息安全的考虑。有了这样的措施,就可以把Windows系统全都集中在安全井里,严格控制进出安全井的访问。而在安全井外,则是清一色的Linux环境。而之所以可以对安全井中的Windows机器采取特殊的安全措施,是因为:安全井中的Windows机器(物理机和虚拟机),只是一个数量很小的、基本固定的集合,而且允许安装在这些机器上的软件又是一个很小的、基本固定的集合。这样,一些对于大面积使用不太现实的安全手段就可以用上了。再说这些机器又不在个人手中,我们随时都可以根据需要在上面配备附加的软件和手段。另一方面,我们还可以给安全井装上特殊的防火墙,使安全井中的机器只能跟企业内网的机器交互(那些机器是清一色的Linux),而不允许跟外网有任何交互。甚至,如果遇到安全井内的机器企图跟外网交互,我们可以设法知道是哪一台机器上的哪一个进程想要与外网交互。当然我们也绝不允许来自外网的访问进入安全井。

 

 

l  数据的继承

  对于企业,就重要性而言,数据(包括历史数据)的继承问题与软件的继承问题相比毫不逊色,有过之无不及。特别是现在,对大数据的重视使企业进一步认识到数据的重要性和价值。如果操作系统的迁移可能造成数据的丢失或混乱,那么这又会使企业裹足不前。数据的继承,首先当然是文件的继承,这倒比较好办,因为我们可以把Windows分区mount到Linux文件系统中。而访问权限的继承,特别是ACL的继承,则要复杂一些,因为现在Linux的NTFS驱动还不支持ACL,需要有别的手段,好在需要有ACL的文件基本都在服务器上,这个问题可以靠Samba解决。

  比较麻烦一些的问题是备份,一方面当然是现有文件系统的备份,包括增量备份、异地备份。更重要的是对于从前所做备份的继承,比方说,如果需要从好几年以前所做的备份中恢复某个文件在当时的版本,是否还能与在Windows环境下一样方便(如果能更方便那当然更好),这也是企业所关心的问题。

  最后当然还有数据库的迁移问题。许多企业用的都是微软的SQL Server,也有些是用的Oracle。解决的方案可能需要分几步走,第一步是先把Windows服务器整体放到安全井中,第二步是从物理机迁移到虚拟机。然后,如果实验证明可行,就把他们迁移到Linux+Wine平台上。最后,如果合适,最彻底的解决方案是改成使用MySQL,这需要实施数据的转移,那就是所谓ETL(抽取-转换-装载)。当然,这要看具体企业的数据是否真的适合采用MySQL,不能一概而论,具体能走到那一步要看具体情况,但是至少应该走到第三步,即迁移到Linux+Wine平台上。

l  设备和应用环境的继承

  有些企业使用着一些特殊的设备,因为在Linux平台上可能缺少合适的驱动模块,这些设备可能暂时只能在Windows平台上运行。对于这样的设备,在短期内可能唯一的办法就是让它继续挂在Windows平台上,但是既然暂时还是Windows就也要把它放到安全井里。其实,即使没有特殊设备,企业中也会有些设备可能存在继承的问题,这方面最典型的有U盾和USB设备,包括例如“加密狗”、用于网银的U盾、扫描仪、照相机、手机等等。即使普通如打印机、传真机,也可能会有继承的问题。我们在一个企业还遇上基于PC机的门禁系统,那个系统在PC机上插了一些似乎是定制的板卡,用的是Windows系统,显然这些板卡不会有Linux版的驱动。还有个既跟安全有关、又跟设备驱动有关的问题是笔记本电脑上的指纹登录。所以,设备和应用环境的继承是个很有挑战性的领域。

l  安全性的继承及加强

  这方面的问题相对比较小一些,因为Windows的安全性本来就不是特别好。再说,企业原有的防火墙、网关等等设备本来就跟Windows关系不大,一般而言只要保持原状就行。

 

 

  不过在Windows环境中原来可能有基于WMI的管理(包括安全管理),需要替换成基于WBEM的企业计算环境管理。其实WMI是WBEM的一个变种,但是二者还是有所不同。

 

  还有个问题,如前所述我们把所有的Windows都放在安全井内,安全井外应该是个纯Linux的环境,但是对于外来的机器却并没有这样的控制力,例如来访者很可能带着Windows笔记电脑,并且还要无线上网,对此我们无法拒绝。尽管我们可能无法将他们限制在一个物理的安全井中,但是却可以将安全井的技术加以扩充,将这些无线接入的机器纳入逻辑上的安全井。不过这个问题并不像别的问题那么紧迫,因为对于企业而言这本来就是并未妥善解决的问题。

  最后,Linux软件的补丁和升级问题,也需要妥善加以解决。

  其实改用Linux以后的安全性理应可以做得比原来更好。例如SELinux的安全机制,现在一般都还没有把它用起来,如果能设法用起来而又不使用户感到不便,那就可以显著提高系统的安全性。另一方面,正因为Linux是开源软件,就更容易在上面添加各种各样的安全措施,这也有利于提高企业的信息安全性。

l  提高迁移的自动化程度

  即使实现了上述的所有目标,也要尽量提高迁移和部署的自动化程度,使人工介入降到最低。企业一般不会为操作系统的迁移而暂停几天业务,所以可以用来实现迁移的时间限于周末和假日。这意味着,每一步的作业、加上作业以后的测试、都必须能在两三天的时间内完成。如果不能在这样的时间窗口中完成,就得加以分解,分成几步来完成。但是,既然是分步实施,就更得考虑新旧系统共存的问题。

 

  当然,要实现平滑无痛的过渡,还存在着别的问题。使用习惯就是其中的问题之一,但是这个问题对于企业应用不像对于个人和家庭使用那么严重。因为既然是企业应用,那么对于员工而言就是职业行为,那就不是纯粹的个人偏好问题了,当然企业需要为此提供一些培训。所以别的问题都没有上述那些问题那么重要,而那些问题的核心就是继承。

  浙大网新的Linux团队一直在从事Linux兼容性的研究和开发,上述这些问题虽不能说都已彻底地妥善解决,但却可以说基本上都已经解决了,瞻念前途已经没有什么大的技术障碍,目前正在企业中进行试点。但是当然还有很多工作要做,我们也希望开源界的朋友能和我们一起把这事情做好,使Linux在中国的企业中真正得到广泛应用。

 

本文转载自COPU

上一篇:
下一篇:

浙ICP备09056983号  浙公网安备 33010602003258号    Copyright © 2009-2021 LUPA
用户名:
登陆密码:
已登录成功

选择文件


点此下载模板>>

登陆失败
请重新登录