NDMP(Network Data Management Protocol)是一种基于企业级数据管理的开放协议。NDMP中定义了一种基于网络的协议和机制,用于控制备份、恢复、以及在主要和次要存储器之间的数据传输。
NDMP协议最初是由Network Appliance 和 Legato Systems公司联合开发设计的,而今在性能方面已得到了极大的增强,并被存储界广泛采用。现在,存储网络行业协会(SNIA)成立了一个工作组专门负责制定此协议标准。该工作组正处于制定协议第五版本的***阶段。
NDMP协议是一个管理协议,专注于数据源(以文件系统的形式向NDMP呈现) 和备份设备之间的备份过程管理。
基本概念
- NDMP服务: NDMP主机上的状态机,可以通过网络协议访问它并且通过NDMP协议来控制它。NDMP服务包括3种服务,数据服务(Data Service)、磁带服务(Tape Service)和转换服务(SCSI Path-through Service)。
- NDMP服务器: 被一个NDMP控制的一个或者多个独立的NDMP服务的实例。因此,数据/磁带/SCSI服务器是一个NDMP服务器,提供数据、磁带和SCSI服务。
- NDMP会话: 是一个DMA和2个NDMP服务的配置,用来进行数据操作比如备份和恢复数据。
- 主存系统:简单来说就是提供备份数据的系统,它要提供数据服务。
- 辅存系统:简单来说就是存储备份数据的系统,它要提供磁带服务,通常也提供SCSI服务。
- 数据流: 一个在NDMP数据连接中传输的单向的字节流。数据连接是建立在2个NDMP服务中的。
- MOVER: 磁带服务的一个部分,它负责在磁带和数据流之间传输数据。
备份原理
NDMP中定义了一种基于网络的协议和机制,用于控制备份,恢复,以及在主要和次要存储器之间的数据传输。
NDMP结构基于客户机/服务器模型。文件备份管理软件用作客户机,也就是NDMP数据管理应用程序(DMA)。在一次NDMP会话中,有且只有一个DMA。数据管理会话中的其它每个进程都是一个NDMP服务。DMA将数据服务器和磁带服务器进行分离。NDMP也提供磁带设备和SCSI介质的底层控制。
DMA是用于创建和控制NDMP会话的应用程序。
DMA负责读取、存储并管理所有会话状态(服务器拓扑结构、磁带设置和编号方式、同步点等所有需要继续或后退会话的所有操作,实现备份过程的控制,例如完全或部分恢复一个文件系统)。
在DMA和每个NDMP服务之间有且只有一个连接,即NDMP控制连接(一个双向的TCP/IP连接)。
备份数据流在NDMP服务之间进行传输和复制(如上图,在Primary Storage和Secondary Storage之间)。
磁带备份可以带来许多实际的利益,减小投资成本。可以利用现有的磁带设备作备份介质。而且,磁带介质的单位成本比磁盘要低,根据其存储特性,作为数据备份介质是很适宜的。
为什么使用NDMP备份?
先说说传统NAS备份方式,传统的网络备份依靠一个安装在所有待备份服务器上的备份代理程序。这些服务器同时访问NAS设备,数据通过网络从其他服务器传送到备份服务器上,也就是说,这些服务器先从NAS设备中将需要备份的数据读出,然后再通过网络将这些数据传送到备份服务器上备份。
NDMP(网络数据管理协议)是一个专门为NAS设备的数据备份系统设计的协议。简单来讲,它可以让NAS设备直接向其所连接的磁带设备或者位于网络上的备份服务器发送需要备份的数据,这个过程不需要任何备份客户端代理的参与。
相对于传统备份模式,NDMP备份模式主要有LAN-Free,对服务器性能无影响(Server Free)2个优点。
NDMP 备份可以支持各种 NAS 存储,而无需为每个设备开发专用软件。NDMP软件会在 NAS 设备上运行,并为管理者提供了一个通用框架,用于管理 NAS 基础架构的备份和还原操作,NDMP带来的好处:
- NDMP消除技术壁垒
- NDMP使NAS厂商专注于核心竞争力
- NDMP是一个开放的标准
NDMP协议版本比较
目前主机协议版本为V4、V5,但事实上广泛遵循的版本是V4版本。
V4版本改进存储设备和备份软件能力和厂商间的可协作性,业务被服务分为Tape、Data、SCSI ,可支持SAN、NAS存储设备。增加扩展性、SnapShot、SnapVault、SnapMirror、Restartable等。
V5继承V4对V3的改进,新增了Multiplexing能力加快备份/恢复的速度;基于Translate可使各厂家提供自己的优化方案(如压缩、加密等)。
V5比V4做了架构变化,控制流和数据流分离,DMA基于会话管理(Translate等任务也是会话),业务自己管理状态,使DMA和DSP更彻底解耦,厂商间更容易兼容,更容易做各自扩展。
主要支持NDMP的备份软件
- 1、NetBackup: NBU软件各模块分为三层体系,分别是Clients/Agents、Master Server和Media Servers。备份过程中,数据从Clients/Agents传递给Media Servers,Media Servers将数据存放到备份介质上。
- 2、Networker: NetWorker支持数据的备份和归档,支持NAS存储的NDMP备份方式。在NetWorker的备份过程中,数据流从Client端传递到Storage Server/Storage Node端,Storage Server/Storage Node再将数据保存至备份介质上。
- 3、CommVault: Simpana软件各模块分为三层体系,分别是主控服务器CommServe、介质服务器Media Agent、客户端服务器iDataAgent。各个模块可以安装在相同的计算机上,也可以安装在不同的计算机上。备份过程中,iDataAgent负责将备份数据传递给Media Agent,Media Agent将数据存放到备份介质上。备份介质可以是本地硬盘、磁带库、网络共享空间等。
- 4、IBM TSM: TSM分为Agent和备份服务器。备份过程中,数据从Agents传递给备份服务器,备份服务器将数据存放到备份介质上。
NDMP常见备份方案
NDMP可以让NAS设备直接向其所连接的磁带设备或者位于网络上的备份服务器发送需要备份的数据,这个过程不需要任何备份Client Agent的参与。NDMP通常有3类组网方式,3-Way,3-Way和Remote。
2-Way组网
2-way组网方式中,备份介质不再与备份服务器连接,而是直接与NAS存储系统连接。备份服务器执行备份操作的时候,通过以太网将备份命令传递给NAS存储,NAS存储直接将数据备份到与其连接的磁带库上。
从上图中可以发现,NDMP 2-way这种备份方式下,数据流直接传递到备份介质上,大大提升了传输性能,同时减少了服务器资源的占用。但是由于磁带库是连接给NAS存储的,所以磁带库只能给这一台NAS存储做备份。
3-Way组网
3-Way备份方式下,NAS存储系统可以通过专用备份网络传递备份数据到连接了磁带库的NAS存储上,由该NAS存储将数据备份到磁带库中去。3-way备份方式实现了多个NAS存储之间共享磁带库的目的,但是由于其数据需要在NAS存储之间传递,性能受限于备份网络的带宽。
2-way和3-way组网中,由于数据都是从NAS存储系统上备份到磁带库中,所以NAS存储系统必须支持磁带库。为了屏蔽这种限制,衍生出下面这种Remote组网方式。
Remote组网
这种组网方式下,由备份软件负责和磁带库相关的操作,NAS存储只需要将数据传递给备份服务器就可以。
这种组网方式下,由备份软件负责和磁带库相关的操作,NAS存储只需要将数据传递给备份服务器就可以。这种组网下,对NAS存储的要求降低了,也可以共用磁带库资源,但是由于数据都是通过网络传递给服务器,所以性能会偏低,同时备份服务器的负荷也增加了。