一种部署和更新Linux系统的方法

文档序号:6381937阅读:290来源:国知局
专利名称:一种部署和更新Linux系统的方法
技术领域
本申请涉及计算机操作系统技术领域,尤其涉及一种部署和更新Linux系统的方法。
背景技术
当前,随着信息化技术的推进,无论是企业还是其他组织都越来越依赖于计算机系统。对计算机系统的维护是保证现代企业或组织工作顺利开展的基本条件。无论是计算机系统的升级换代或者其他方面的原因,企业或组织的技术维护人员每天都会面临着重新安装系统、升级系统等例行工作。其次,对于一些软件开发的部门,除了以上类型的维护工作以外,更重要的是维护全体研发部门开发环境的一致性,使得开发出来的产品能够保证 运行平台的统一和稳定。出于生产、开发、运营等需要,批量部署和更新Linux系统是系统管理员或系统维护人员经常遇到的事项。如何有效地来执行这些工作则成为部门工作效率提升的关键。对于部署或者更新Linux系统,现有技术中通常有如下三种方法第一种方法是依次逐台部署,即为每一台机器单独进行部署和更新。这种方法对于小规模的组织部门是有效的。但是,当涉及的计算系统过多,达到百台甚至千台,这种方法则成为一种低效的做法。为了提高效率,则可能需要增加系统维护人员的人数或者工作量。因此在人力成本上会有较大的增加。其次,多人维护时,同时也增加了沟通与协调的时间,因此可能导致增加人力却并不能实际解决生产效率的问题。由于机器数量较多,按照系统一致性的要求,新系统的配置工作也将会非常繁重。因为重新部署每台计算机都需要重新配置。这种方法的缺点是部署效率低下,不适用于大规模的系统部署与维护,仅适合于极少量计算机系统的维护工作,且更新不方便。第二种方法是系统克隆,即使用系统克隆工具,如GhostClonezilla等。部署时,先在一台计算机上安装并配置好操作系统,然后使用克隆工具制作操作系统镜像,然后再到目标机器上执行系统还原完成部署。而更新时,则使用克隆工具重新制作更新后系统的系统镜像,依新建系统一样的方法进行更新。因此很明显,这种方法解决了第一种方法中需要逐台配置设备的缺点,但是其维护的效率也并没有很大的改善。同时克隆工具增加了维护的复杂度,而且每次更新系统需要重新制作系统镜像,操作较为繁琐,对于系统更新非常不便。第三种是自动化部署。即使用一些自动部署工具,如Kickstart、Cobbler、Puppet,先安装和配置自动化部署工具,制定自动部署规则,然后实施安装。这种方式部署效率较高,但这类自动部署工具往往仅适用于特定的Linux发行版,缺乏通用性。而且安装、配置均较复杂,难以为普通系统管理人员使用。以上三种方法在进行系统部署与更新时为了不破坏既有的数据,在进行维护时还需要将这些既有数据先迁移到目标系统之外,等维护成功后再迁移回原来的数据。如果数据量巨大,将使得部署与更新操作耗用过长的时间,不利于批量规模化的维护工作。

发明内容
本申请提供了一种部署和更新Linux系统的方法,能够集中、快速、批量地部署各种基于Linux操作系统的运行环境,使维护工作大大减轻,提高部门的生产效率。本申请实施例提供的一种部署和更新Linux系统的方法,包括A、在第一计算机系统中安装和配置Linux系统,并安装目标计算机系统所需要的应用程序;B、利用Linux系统启动盘启动目标计算机系统;C、确定目标计算机系统中的目标介质,计算目标介质中的文件与第一计算机系统的文件的差异数据,并将差异数据通过第一计算机系统与目标计算机系统之间的网络连接
从第一计算机系统传输到目标介质;D、判断目标介质上是否存在操作系统的启动代码,若是,直接执行步骤E,否则,在目标介质上安装操作系统的启动代码后执行步骤E ;E、目标计算机系统关闭后,利用目标介质重新启动目标计算机系统。较佳地,所述Linux系统启动盘为光盘或U盘。较佳地,步骤A进一步包括利用第一计算机系统上安装的Linux系统以及应用程序制作生成Linux系统启动盘。较佳地,步骤C所述计算Linux系统启动盘中的文件与目标介质中的文件的差异数据的步骤中忽略预先定义的排除列表中的目录以及文件。较佳地,所述排除列表包括Linux系统运行时动态生成的文件以及目录,以及用户自定义的文件以及目录。较佳地,步骤C进一步包括若目标介质中存在第一计算机系统中不存在的文件时,将所述文件从目标介质中删除。较佳地,所述目标计算机系统为PC机、笔记本电脑,服务器平台或虚拟机。较佳地,步骤C所述确定目标计算机系统中的目标介质之后进一步包括对目标介质进行格式化及分区。较佳地,步骤C之前进一步包括将第一计算机系统和目标计算机系统的时间同步为标准时间。从以上技术方案可以看出,通过利用Linux系统启动盘系统启动目标计算机系统,并利用差异同步技术从第一计算机系统中同步所有根文件系统的文件到目标计算机系统的目标介质上。由于使用了差异同步技术,对于更新系统时,只需要传输数据不同的部分,因此对于系统的更新维护非常的高效快速。同时在更新时,只需要更新第一计算机系统后再对目标计算机系统进行同步,因此极大地降低了维护难度,加快了更新速度,目标计算机系统的部署与更新可以多台同时进行,因此可以加快部署与更新的效率。本申请技术方案不仅适用于普通桌面PC机、笔记本电脑,也适用于服务器平台,对于各种虚拟机平台也可以使用本方法进行部署与更新,因此具有很好的软硬件平台适应性。


图I为本申请提供的部署和更新Linux系统的方法流程图2为差异同步的示意图;图3为本申请实施例针对图I中的步骤103提供了具体实现流程图;图4为系统随时间变更与同步的示意图。
具体实施例方式本发明通过利用Linux系统启动盘启动目标计算机系统,并利用差异同步技术从第一计算机系统中同步所有根文件系统的文件到目标计算机系统的目标介质上。在本申请中,需要安装部署或者更新的系统为目标系统。第一计算机系统是一台已经安装并且配置成功,并运行Linux的适用于具体需求的标准的参考计算机系统。目标计算机系统是需要安装部署Linux操作系统的个人计算机、服务器以及在虚拟化平台中的虚拟计算机。第一计算机系统和目标计算机系统之间通过网络实现数据传输。系统同步成功后,即可从目标介质启动目标计算机系统。本申请提供的部署和更新Linux系统的方法流程如图I所示,包括如下步骤步骤101 :安装配置第一计算机系统。确定Linux的发行版,并按照相应的发行版的安装流程安装并配置作为基准的第一计算机系统,然后在第一计算机系统中安装目标计算机系统所需要的应用程序,并确保正常运行。利用第一计算机系统上安装的Linux系统以及应用程序制作生成Linux系统启动盘。为保证启动盘与第一计算机系统的一致,我们将制作过程编写成计算机程序,并在更新系统后调用此计算机程序自动生成Linux系统启动盘。步骤102 :利用Linux系统启动盘启动目标计算机系统。·如步骤101所述,Linux系统启动盘是一种由第一计算机系统生成并安装在光盘、U盘等可移动的存储介质上的系统,以便于在部署时方便地与目标计算机系统进行连接并引导该计算机系统。利用Linux系统启动盘启动目标计算机系统是为了给差异同步工具提供独立的运行环境。步骤103 :利用差异同步工具安装及更新目标计算机系统。系统的安装与更新均执行相同的差异同步过程,并且在执行差异同步的过程当中,会忽略排除列表中的目录以及文件。包括如下子步骤子步骤103-1 :选择目标介质。在启动同步过程前,首先需要选定启动目标计算机系统的目标介质。目标介质用于存储Linux根文件系统中所有的文件。子步骤103-2 :启动差异同步。利用差异同步工具同步母系统第一计算机系统与目标计算系统中的文件数据。差异同步工具能够通过计算第一计算机系统中的文件与目标计算机系统中的文件的差异数据,并将这些差异数据通过第一计算机与目标计算机系统之间的网络连接从第一计算机系统传输到目标计算机系统。当目标计算机系统不存在相应的文件时,则差异的部分为整个文件,因此整个文件将会被传输到目标计算机系统上。另一种差异的表现为第一计算机系统中不存在某个文件,而目标计算机系统存在该文件,则差异同步时会将这个文件从目标计算机系统中删除。
差异同步的示意图如图2所示,其中方格表示文件,而标有阴影的方格表示第一计算机系统与目标计算机系统存在差异的文件。同步过程中仅传输这些差异文件,通过同步过程,使得目标计算机系统的目标介质上的文件与第一计算机系统的文件一致。子步骤103-3 :安装启动代码。当差异同步完成后,使得目标计算机系统的目标介质上的文件与第一计算机系统的文件一致。为了目标介质能够启动计算机系统,还需要在目标介质上安装操作系统的启动代码。如果目标介质上已经存在启动代码,则无需此步骤。步骤104 目标计算机系统关闭后,利用目标介质重新启动目标计算机系统。当完成了以上的所有工作后,第一计算机系统上的Linux系统则被部署到了新的目标计算系统之上。当需要在所有的目标计算机系统进行软件模块的更新、删除,或者增加新的软件模块时,首先在第一计算机系统上进行更新、删除或者增加后,再重新执行步骤102到步骤104的过程,即可将变动的模块同步到目标计算机系统上。由于以差异同步的方式进行的,即只有变动的部分才会进行同步,因此更新的过程会非常高效。 无论是重新部署系统或者更新系统,多台目标计算机系统可以同时与第一计算机系统进行同步,因此这种方案可以加快系统部署与更新的效率。为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。步骤101,安装和配置第一计算机系统过程中,需要选择某个具体的Linux发行版本,在本实施例中选择Red Hat Enterprise Linux发行版,并按照安装向导及说明安装第一计算机系统。并按照实际要求安装必要的系统组件和软件模块。作好相应的配置工作,并验证第一计算机系统是否安装和配置正确,然后进入步骤102。步骤102中,利用Linux系统启动盘启动目标计算机系统。为了保证平台一致性以及启动盘系统中包含在安装与更新系统时所需要用到的软件工具模块,本申请实施例中的Linux系统启动盘由第一计算机系统制作生成,这样的启动盘一般称之为LiveCD。本申请实施例针对步骤103提供了具体实现流程,如图3所示,包括步骤301 :同步系统时间。将第一计算机系统和目标系统时间同步为标准时间,同步系统时间可保持目标系统的系统时间与第一计算机系统一致,避免时间不一致带来的干扰。时间同步完成后,进入步骤302。步骤302 :定义排除列表。由于Linux系统中某些目录下的文件是运行时生成的,并未在磁盘文件系统中存在,因此需要将这些文件从同步的列表中排除。位于此排除文件列表中的文件以及目录将不会进行同步。默认排除的目录,包括/proc、/sys、/tmp、/mnt。同时也可以定义自己的排除列表,使得在更新系统时不同步已经部署的计算机系统上生成的独立数据。然后将这些排除项写入到记录文件中,以备使用。如果是第一次部署系统,则进入步骤303,否则即是对原有的系统进行更新操作,因此跳过步骤303直接执行步骤304。步骤303 目标介质分区及格式化。将目标计算机系统的目标介质根据要求创建分区,并在分区上创建文件系统,使得同步工具能够向目标介质上写入文件数据。然后进行入步骤304。步骤304 :选择目标介质分区。指定目标介质的分区,在这个分区上将存储整个Linux同步过来的文件。选定介质分区后,将这个分区挂载到目录/mnt下。然后进入步骤305。步骤305 :同步系统文件。利用差异同步工具,如rsync,指定源端为第一计算机系统的网络地址,而目标端为步骤304所挂载的分区所在的挂载目录,在本例中即为/mnt目录,同时指定rsync在同步时排除的文件为步骤302所指定的文件以及目录。差异同步工具会检查欲更新的系统与第一计算机系统文件的差异,然后同步差异的部分。
当多台目标计算机需要同时部署或者更新目标计算机系统时,只需要利用Linux系统启动盘启动多台目标计算机系统,并同时启动差异同步工具进行同步,从而达到多台设备快速部署与更新的效果,提高系统部署与更新的效率。步骤103-3所述安装启动代码的具体实现中,本申请实施例采用Grub工具将引导代码写入目标介质的引导扇区。只有安装了引导代码才能够使系统引导进入Linux操作系统。如果是更新目标计算机系统,则不需要安装启动代码。步骤104所述重启目标计算机系统的过程中,需要进行系统配置。由于同步时,会将第一计算机系统的所有配置内容同步到目标计算机系统上,有些配置需要根据实际情况进行修改,如主机名、IP地址等。在修改完成这些参数之后,取出Linux系统启动盘,然后重启目标计算机系统,即可从新部署或者更新启动介质上引导进入Linux操作系统。当系统完成了部署后,如果第一计算机系统有更新,只要按照上面相同的步骤,对目标计算机系统执行相同的步骤,将第一计算机系统中有差异的数据同步到目标计算机系统即可。系统随时间变更与同步的示意图如图4所示。通过应用本申请技术方案,可以达到如下效果I.由于使用了差异同步技术,对于更新系统时,只需要传输数据不同的部分,因此对于系统的更新维护非常的高效快速。同时在更新时,只需要更新第一计算机系统后再对目标计算机系统进行同步,因此极大地降低了维护难度,加快了更新速度,使系统维护对企业或者组织的业务造成的影响降到最小。2.目标计算机系统的部署与更新可以多台同时进行,因此可以加快部署与更新的效率。当大规模地进行计算机系统维护与管理时,这种优势非常明显。3.在部署与更新时,只需要安装并配置好第一计算机系统,并利用Linux系统启动盘启动目标系统后,就可以对目标计算机系统进行部署和更新,而不需要复杂的配置和额外的工具,因此本方案具有方便操作、方便维护的优点。4.只要是Linux操作系统,而不用关心具体的发行版,都可以利用本方法进行部署与更新,而不需要像集中部署工具需要与特定的发行版本进行绑定。同时,本发明不仅适用于普通桌面PC机、笔记本电脑,也适用于服务器平台,对于各种虚拟机平台也可以使用本方法进行部署与更新,因此具有很好的软硬件平台适应性。5.在系统进行同步更新时,由于可以指定排除列表,因此可以将已经存在目标系统上的数据排除在同步处理之外,可以保留已经在目标系统上生成的数据,而不需要在更新系统时将这些数据时行迁移操作。即先迁移出系统,等同步完成后再迁移回系统。这样可以给系统的维护带来极大的便利,极大的简化了系统维护工作的复杂度。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
权利要求
1.一种部署和更新Linux系统的方法,其特征在于,包括 A、在第一计算机系统中安装和配置Linux系统,并安装目标计算机系统所需要的应用程序; B、利用Linux系统启动盘启动目标计算机系统; C、确定目标计算机系统中的目标介质,计算目标介质中的文件与第一计算机系统的文件的差异数据,并将差异数据通过第一计算机系统与目标计算机系统之间的网络连接从第一计算机系统传输到目标介质; D、判断目标介质上是否存在操作系统的启动代码,若是,直接执行步骤E,否则,在目标介质上安装操作系统的启动代码后执行步骤E ; E、目标计算机系统关闭后,利用目标介质重新启动目标计算机系统。
2.根据权利要求I所述的方法,其特征在于,所述Linux系统启动盘为光盘或U盘。
3.根据权利要求I所述的方法,其特征在于,步骤A进一步包括利用第一计算机系统上安装的Linux系统以及应用程序制作生成Linux系统启动盘。
4.根据权利要求I所述的方法,其特征在于, 步骤C所述计算Linux系统启动盘中的文件与目标介质中的文件的差异数据的步骤中忽略预先定义的排除列表中的目录以及文件。
5.根据权利要求4所述的方法,其特征在于,所述排除列表包括Linux系统运行时动态生成的文件以及目录,以及用户自定义的文件以及目录。
6.根据权利要求I至5任一项所述的方法,其特征在于,步骤C进一步包括若目标介质中存在第一计算机系统中不存在的文件时,将所述文件从目标介质中删除。
7.根据权利要求I至5任一项所述的方法,其特征在于,所述目标计算机系统为PC机、笔记本电脑,服务器平台或虚拟机。
8.根据权利要求I至5任一项所述的方法,其特征在于,步骤C所述确定目标计算机系统中的目标介质之后进一步包括对目标介质进行格式化及分区。
9.根据权利要求I至5任一项所述的方法,其特征在于,步骤C之前进一步包括将第一计算机系统和目标计算机系统的时间同步为标准时间。
全文摘要
本申请公开了一种部署和更新Linux系统的方法,在第一计算机系统中安装和配置Linux系统,并安装目标计算机系统所需要的应用程序;利用Linux系统启动盘启动目标计算机系统;确定目标计算机系统中的目标介质,计算目标介质中的文件与第一计算机系统的文件的差异数据,并将差异数据通过第一计算机系统与目标计算机系统之间的网络连接从第一计算机系统传输到目标介质;目标计算机系统关闭后,利用目标介质上的启动代码重新启动目标计算机系统。通过应用本申请方案,能够集中、快速、批量地部署各种基于Linux操作系统的运行环境,使维护工作大大减轻,提高部门的生产效率。
文档编号G06F9/445GK102937909SQ201210475650
公开日2013年2月20日 申请日期2012年11月21日 优先权日2012年11月21日
发明者叶佑群, 吴凡 申请人:上海爱数软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1