对网络服务器进行备份一般情况下是比较简单的工作,但是,一旦这些服务器组成了集群,那么备份起来就会让人摸不着头脑了,因为集群中会有多台物理服务器(又被称为节点),而他们对外则表现为一台逻辑服务器。本文就帮你来理清如何对集群服务器进行备份的思绪。
集群有多种,针对每一种集群所采用的备份方式也不尽相同。作为样例,我就举例说明如何在一个被配置了Cluster Continuous Replication (CCR)的Windows Server Majority Node Set (MNS)集群中对其上运行的Exchange Server 2007数据进行备份。
简单来讲,一个集群化的mailbox服务器由两个集群节点组成,一个处于活动状态,另一个处于非活动状态,只有活动状态的服务器处于工作状态,非活动状态的服务器则作为一种热备机而存在。Exchange Server 2007使用一种被称为“log shipping(日志传送)” 的机制将活动服务器上的transaction log传送到非活动服务器上。这样,一旦活动服务器发生故障,那么所有的数据都会在非活动服务器上保存着一份,可以立即被使用。
至于对数据的备份,Microsoft则推荐备份非活动服务器上对应的数据而不是备份活动服务器上的。之所以这样推荐,其背后的原因是因为活动服务器是处于工作状态的,它需要承担所有的工作负载,此时如果去备份非活动服务器上对应的数据,就可以将对活动服务器的影响降到最低,你可以在任何时候发起备份,而不影响活动服务器上的用户访问。
虽然这种备份方式听起来很有道理,但是你依然需要注意一个小问题。在集群failover的情况下,非活动服务器变成了当前工作的服务器,但当你把原本的活动服务器恢复上线时,它就会变为现在的非活动服务器了,而且会一直保持非活动服务器的角色,除非你手动设置它为活动节点(或者设定为自动回管)。此时问题就来了,你不可能立即就知道当前是哪台服务器处于非工作状态,那么你就不知道应该在哪台服务器上进行备份了。
万幸的是,你不必埋头自己去解决这个问题了。大多数企业级的备份软件都是cluster aware的,它们可以感知到集群当前的状态,即便如此,你依然需要对备份集群中的数据有一个战略性的准备。
我还是展示一下我刚才说的意思吧。我们来看看“图片A:对集群的备份”。这张截图是从Microsoft's System Center Data Protection Manager 2007 (DPM 2007)备份程序中截取的,DPM就是我用于我的网络环境中的备份工具。图示的这个对话框可以让你来选择需要备份的项目。你会发现,其中有EXCHNODE1服务器,另一台服务器EXCHNODE2。这两台服务器就是当前Exchange Server集群中的两个节点。