字体:  

利用NDMP备份

武家麟 发表于: 2008-3-23 13:59 来源: 动力存储

作者: 刘洁 张严 ,  出处:IT168

  由于NAS环境下网络备份方案已经被广泛使用,但大数据量文件通过LAN网络和备份管理服务器会带来诸多弊端,这种方式对备份管理服务器的I/O吞吐量要求极高,此外,最令客户难以忍受的是备份数据流对网络资源的占用,甚至可能会影响正常业务的运行。

  与SAN环境下成熟的LAN-Free技术一样,通过NDMP协议备份是当前业界解决大数据量NAS备份的方法。通过为NAS设备和备份软件程序之间的接口定义一种通用代理,NDMP最小化了对网络资源的需求,并且实现了本地备份和灾难恢复。本文描述了TSM实现NDMP备份的物理连接方式和TSM配置,本文涉及到的备份软件TSM及磁带库等硬件设备均支持NDMP协议。

  网络数据管理协议(NDMP)是一种基于企业级数据管理的开放协议。NDMP 中定义了一种基于网络的协议和机制,用于控制备份,恢复,以及在主要和次要存储器之间的数据传输。NDMP结构基于客户机/服务器模型,文件备份管理软件用作客户机。

  TSM备份NAS连接方式

  TSM通过NDMP备份NAS有多种方案,包括:NAS独占带库;NAS共享磁带库;或者NAS与TSM服务器、NAS与存储代理程序、NAS文件服务器间驱动器共享等方式,详情参见《TSM管理员手册》。当然,不同的方案和硬件连接方式对硬件设备有相应的要求,例如磁带库;因此,在选择NAS备份方案时需要充分考虑客户需求和硬件设备情况。

  配置TSM实现NAS备份

  我们将通过一个实际案例,详细阐述如何用TSM实现基于NDMP协议的NAS备份。

  NAS备份的需求

  NAS在对文件系统的管理上有它独特的优势,特别是在文件系统共享和跨平台服务器并行数据访问的时候。本案例中,我们的客户计划构建一套基于文件共享的存储、备份系统,因为他们每天要面对新增TB级的文件的保存、处理和备份。

  在规划存储的时候,考虑到文件系统跨平台的数据并行写入,和少量的数据库应用,存储设备选用了一台IBM N5600(即NetApp 5600)作为主存储设备;由于NetAPP的NAS产品具备同时支持光纤存储区域网(SAN)协议和IP网络附加存储(NAS)的能力,因此在本方案中5600被划分成两个区域,即作为管理大量文件的NAS存储,同时少量数据库通过光纤通道连接SAN网络。

  因此,对数据备份来讲,既要考虑NAS上大量文件通过NDMP备份,同时也要考虑数据库LAN-Free备份如何共享一个磁带库。

  客户配置磁带库为IBM 3584(10个以上驱动器)。

  从客户需求的角度看,NDMP备份和LAN-Free需要共享磁带库3584; 磁带库3584是IBM高端智能磁带库,自动装置控件和第一驱动器共享端口用于访问,也就是说3584的机械臂与驱动器端口是共享的。因此,我们可以采用配置2的连接方法,但是针对配置2可以推出2种解决方案。(参见《TSM管理员手册》)

  


1.jpg



  表 1. TSM用于 NDMP的配置支持参数参考表

  方案一:

  磁带库3584具备逻辑带库的功能,也就是说可以将一个物理带库划分为多个逻辑独立的带库使用;而TSM对多磁带库具备很好的管理能力;因此,为了满足客户对带库共享的要求,最终采用划分逻辑带库的方式,分别实现NDMP和LAN-Free的备份。TSM如何实现LAN-Free备份,在这里就不再赘述,下面详细介绍如何实现NDMP备份。
方案二:

  由于TSM可以支持和NAS服务器间的驱动器共享,因此不划分逻辑带库而是将多个驱动器进行划分,亦可以实现用户NAS备份要求;但此方案不适用于存储代理程序(Storage Agent)与NAS文件服务器间驱动器共享,也就是说不能满足客户同时使用NDMP和LAN-Free备份的要求,因此在该项目中推荐方案一。本文不涉及到方案二的配置,将在下一篇文章中描述。

  实现NDMP备份的物理配

  通过NDMP协议备份NAS可以大大节省IP网络的资源,尤其对此案例中如此大数据量的客户。NAS独占逻辑带库1(可看作一个物理磁带库,以下简称磁带库),物理连接图如下:


2.jpg


  

  即磁带库只连接到NAS文件服务器,驱动器和磁带全部被NAS设备独占,TSM服务器不直接操纵机械手,而是通过将库命令通过网络发送到 NAS 文件服务器控制库自动装置。NAS 文件服务器将命令传送到磁带库。库生成的任何响应都将发送到 NAS 文件服务器,并通过网络传送回 Tivoli Storage Manager 服务器。


3.jpg



  表1测试环境的机器说明

  


4.jpg



  首先,在硬件连接上,我们假设已经在3584中划分了逻辑带库,指定了八个驱动器及若干磁带槽位供NAS备份使用;由于NAS和磁带库在物理上都是通过光纤通道连接到光纤交换机上,我们通过在交换机上划Zone的方式,使逻辑带库中的设备只能被NAS看到;即将磁带库驱动器和机械臂只与NAS划分在一个Zone内;
在SAN交换机上划Zone的结果如下:


5.jpg


  

  实现NDMP备份的软件配置

  我们在TSM 5.4环境下测试了此方案,正常安装TSM服务器、客户端,并对TSM进行基本的配置(此处不详述TSM服务器客户端的安装和配置,详细步骤可以参考IBM TSM V5.4安装手册SC320134)。配置过程中需要注意以下几点:

  1. 为NDMP备份配置磁带库

  首先定义磁带库: Define library naslib libtype=SCSI

  定义NAS devclass,指定devtype为NAS类型:

  define devclass nasclass devtype=nas library=naslib mountretention=0 estcapacity=300g

  定义nas 存储池,TSM对NDMP备份使用不同的数据格式定义存储池:

  define stgpool naspool nasclass maxscratch=10 dataformat=netappdump

  定义TOC存储池,此创建目录所使用的磁盘存储池,此步骤可选,但创建目录在恢复的时候可以指定文件进行恢复:

  define stgpool tocpool disk

  2. 创建NDMP策略

  为NAS服务器创建策略域、策略集和管理类

  define domain nasdomain description='Policy domain for NAS file servers'

  define policyset nasdomain standard

  define mgmtclass nasdomain standard mc1

  在缺省管理类中定义副本组。目的地指定到为NDMP创建的存储池(包括NAS存储池和TOC存储池);verexists指定保存备份版本数;

  define copygroup nasdomain standard mc1 destination=naspool tocdestination=tocpool verexists=4

  激活策略集

  activate policyset nasdomain standard
 3. 注册NAS节点

  register node 5200 naspwd1 domain=nasdomain type=nas

  4. 将NAS节点定义成一个Datamover

  define datamover 5200 type=nas hladdress=172.16.12.119 lladdress=10000 userid=root password=password dataformat=netappdump

  (NAS2:172.16.12.123 root/password)

  注:datamover名必须与NAS节点名一致

  5. 定义到库的路径

  define path 5200 naslib srctype=datamover desttype=library device=mc1

  注:DEVICE 参数的值是 NAS 文件服务器所认知的磁带库的文件名。

  telnet 172.16.12.119

  5200-pri> sysconfig -m

  Medium changer (FPN[200b00051e3459cb]:0.17L1) IBM 03584L32

  mc0 - medium changer device

  6. 定义NDMP驱动器和驱动器路径

  定义驱动器

  define drive naslib nasdrive1 element=256

  定义驱动器路径

  define path 5200 nasdrive1 srctype=datamover desttype=drive library=naslib device=rst2h

  注:device参数通过telnet到NAS Server,sysconfig –t命令查询

  7. 标记磁带

  label libvolume naslib search=yes labelsource=barcode checkin=scratch overwrite=yes

  至此,TSM配置完成。

  磁带标记结果:tsm > query libvol
4.启动NDMP备份和恢复

  通过NDMP备份NAS文件,有两种方式,即通过Server端或对NAS有访问权限的客户端启动备份和恢复操作。

  Server端NAS备份命令语法:

  


6.jpg



  Server端NAS恢复命令语法:

  


7.jpg


客户端NAS备份命令语法:


8.jpg


  

  options选项:

  


9.jpg



  使用 mode 选项指定是执行完全 NAS 映像备份还是执行差异 NAS 映像备份。完全映像备份备份整个文件系统。缺省值是差异 NAS 映像备份,仅对上次完全映像备份后更改的文件执行备份。如果不存在合格的完全映像备份,则执行完全映像备份。

  使用 monitor 选项指定是否想监视 NAS 文件系统映像备份并在屏幕上显示处理信息。

  客户端NAS恢复命令语法


10.jpg



11.jpg


使用 nasnodename 选项指定 NAS 文件服务器的节点名。当用非管理标识使用交互式命令行会话时,Tivoli Storage Manager 提示输入管理员标识。NAS 节点名对 Tivoli Storage Manager 服务器标识 NAS 文件服务器。必须在服务器上注册 NAS 节点名。将 nasnodename 选项放在客户机选项文件(dsm.opt)中。客户机选项文件中的值是缺省值,但可以在命令行上覆盖该值。

  可以使用 pick 选项显示指定的 NAS 节点拥有的 NAS 映像的列表。可以从此列表选择一个或多个要恢复的映像。如果选择多个映像以使用 pick 选项恢复,则不要使用 monitor 选项,否则将会使恢复序列化。要在恢复多个映像时同时启动多个恢复进程,则不要指定 monitor=yes。

  使用 monitor 选项指定是否要监视 NAS 文件系统映像恢复并在屏幕上显示处理信息。

  Server端启动NAS备份

  使用backup node命令备份NAS文件系统:

  tsm> backup node 5200 /vol/vol1


12.jpg



  备份完成后查看备份(q nasbackup命令):

  tsm> query nasbackup 5200 /vol/vol1

  

  客户端启动NAS备份

  授权node1具有5200节点的所有者权限:

  tsm> GRANT AUTHORITY node1 CLASSES=NODE NODE=5200 AUTH=OWNER

  dsmc进入客户端命令行,启动备份任务:

  tsm> backup nas -nasnodename=5200 /vol/vol1

  磁带机备份时的状态:


13.jpg


  

  备份之后,查看内容。

  tsm> q content A00019L3


14.jpg


 恢复文件系统

  服务器端启动恢复(restore node命令):

  tsm> restore node 5200 /vol/vol1

  客户端启动恢复:

  tsm> restore nas –nasnodename=5200 /vol/vol1

  恢复单个文件

  备份了toc后可以恢复单个文件:

  如在服务器端命令:tsm> restore node 5200 /vol/vol1 filelist=/E/readme.lwp

 NDMP备份小结说明

  1. TSM对NAS的备份是文件系统一级,如客户需要做目录一级的备份可以通过定义虚拟文件空间来实现:

  如/vol/vol1/0001,/vol/vol1/0002,在TSM环境下定义virtualfsmapping

  命令:define virtualfsmapping.....,则:

  VFS名称 文件系统路径

  /0001dir /vol/vol1/0001

  /0002dir /vol/vol1/0002

  备份虚拟文件空间:backup node node_name /0001dir,/0002dir

  2. 且在确省状态下做差量备份(mode=differencial),NDMP支持全量和差量备份(mode=full/differencial)

  3. 多磁带驱动器环境下,驱动器可以并行执行备份或恢复任务

  尾声

  此案例解决了客户大数据NAS备份的困扰,在不占用网络带宽的前提下,实现了快速的文件备份;同时,充分利用了硬件资源,整合了多种备份方案。

  当然,用TSM实现NDMP的备份还有很多灵活的方式,如对有独立机械臂控制端口的带库,我们可以不划分逻辑带库实现磁带库、磁带驱动器的灵活共享,等等方式;相信TSM对NAS的灵活管理方式将在今后的项目中不断的得到应用