您所在的位置:e-works首页 > 基础信息化 > 终端和服务器

专家解析:如何保护服务器虚拟环境

发表时间:2008-6-19 冉金龙 来源:eNet硅谷动力
企业导入服务器虚拟化,近年来受到很大的瞩目,这项决定虽然整合了分散在各台实体服务器设备的运算资源,但相对地也集中了风险,使得实体主机一旦故障,所造成的连带影响远大于过去。因此要让虚拟机器走出单纯的测试环境,实际、大规模地承担企业重要的应用服务,就得解决数据保护与系统备援问题。我们将针对目前主要x86虚拟化平台,整理出备份、备援与高可用性机制,分析不同的类型,找出现行对应的做法与解决方案。以下分为三大部分来讨论。

    类型2 实体主机端备份

    即在执行虚拟化软件的实体主机上执行备份,典型的方式有两种,一为在实体主机上部署备份代理程序,二为利用虚拟平台内建的快照(Snapshot)或复制(Clone)功能。

    直接在实体主机上安装代理程序,所需软件授权数量比前一种方式少的多,不管实体主机上执行了多少个虚拟机器,都只需在实体主机上安装一份代理程序,可一次对全部或特定虚拟机器执行备份。

    由于虚拟机器对应在实体主机上的本体是特定格式的档案,如.VMDK或.VHD等,因此在实体主机上执行的备份也是属于磁盘映像层级,只要备份软件能辨识虚拟平台的档案系统格式,就能使用这种备份方式。

    如Symantec NetBackup 6.5就将Client Agent部署到 VMware ESX的Service Console中,然后对ESX Server中对应不同虚拟机器的.VMDK进行备份,无论ESX Server上有几个虚拟机器,都只需要1个NetBackup Client Agent。

    这种备份方式虽能大幅节省代理程序的授权费用,但也存在几个副作用:

  • 在实体主机上执行备份将占用实体主机的硬件资源,严重影响虚拟机器的执行效能。
  • 必须执行冷备份(Cold Backup),也就是先停止虚拟机器的运作再执行备份,才能确保备份复本的可用性,否则就得为应用程序撰写Script,先将内存数据写入磁盘、暂停应用程序对磁盘区的写入,并将快照执行期间的数据写入,导到另一暂存区,才能不中断系统服务,同时保证复本的一致性与可用性。
  • 在实体机器上看到的是磁盘映像层级的数据,因此备份或还原都是针对整个系统,不能还原特定档案。更麻烦的是,由于代理程序看到的是虚拟机器的实体磁盘档案(.VMDK或.VHD),随着虚拟机器的执行,对应的实体档案也会有所异动,因此对备份代理程序来说,每次备份时所看到的.VMDK或.VHD都是异动过的,因此只能执行完全备份,相当占用磁盘空间与网络频宽。

    利用虚拟平台内建的快照功能

    较专业的虚拟平台如VMware Workstation/Server/ESX与Virtual Iron等,都内建了快照或复制功能,用户在操作虚拟机器时,可透过快照把当前虚拟机器的状态储存成复本,以供还原系统状态或其它用途所需。

    Clone是制作一个容量1:1的复本,较为耗时,而且Clone多少次就会占用多少倍的空间,空间消耗很大;而快照则可以不是1:1的,但必须参照索引并结合原始那一份磁盘数据,才能合成不同时间点的磁盘状态。 这种方式优点是无需购买备份软件,但问题也不少:

  • 用户必须分别为每一个虚拟机器执行快照,若用户设置的虚拟机器很多,这将成为一个十分麻烦的工作。
  • 这种快照所得的复本属于映像层级,备份下来的是该系统的整个磁盘状态,因此在还原时也只能还原整个系统状态,不能还原特定组件或档案。
  • 除某些企业级虚拟平台可提供能支持不中断服务的热备份(Hot Backup)工具外(如VMware ESX的vcbMounter与vcbSnapshot),多数虚拟平台内建的快照多只能执行冷备份或暖备份(Warm Backup),也就是在关闭虚拟机器,或是使虚拟机器瞬间暂停再执行快照,才能保证复本的可用性,因此前端的服务将会中断。
  • 虚拟机器执行快照的动作,将会消耗实体主机的运算与磁盘I/O资源,影响整体效能。如果用户要把复本移到其它媒体上保存,还会影响到前端的网络频宽。

本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。

责任编辑:李卓刚
10
;