对于很多存储管理员来讲,对网络附加存储 (NAS)设备的备份可以说是一个极大的挑战,因为为了备份NAS设备,他们不得不将数据通过网络传送到备份服务器上。而这个过程需要在服务器端安装备份代理程序以便控制NAS设备,且这样做的效率也不是很高。然而也有一些可以简化NAS备份的方法比如网络数据管理协议(NDMP)以及准连续保护系统(CDP),但是这些技术是不是也有一些局限性呢?
W. Curtis Preston是TechTarget的执行编辑,同时也是一名独立的备份领域专家。本文中他对一些普遍的NAS备份方面的挑战进行了讨论,对NDMP的优势和劣势以及其他可以帮助简化NAS备份的技术进行了回答。
问:NAS备份方面最常见的挑战有哪些?
答:一个挑战就是NAS备份其实使用的是标准的基本协议,当我们讨论NAS的时候,我们其实是在讨论NFS、服务器信息拦截器 (SMB)或者CIFS。相对于NAS,另外一个存储方式就是存储区域网络 (SAN),或者本地连接的DAS存储,这两种存储方式下,文件系统都运行在服务器本地。所以,在这种情况下,备份软件必须通过对应的协议,NFS或者SMB来访问待备份的文件,而NFS以及SMB都是基于IP的协议。所以,有这样一种可能性,即远端的设备,比如一台专业NAS设备,其本身是能够满足性能要求的,但是之间所连接的网络就不好说了,可能是直连方式,或者使用高性能的交换机,或者是那种很烂的网络,比如很老旧的网络设备。总之,在这种情况下你必须通过网络,通过对应的NAS协议来访问和备份对应的数据。
同时,这也意味着你不能实现什么有特色的东西。例如,对于传统的文件系统来讲,一个挑战就是恶名昭彰的“百万文件”问题,所谓“百万文件”是指在一个单一文件系统中存在着上百万个文件。当你在文件系统层进行备份的时候,你就必须处理这数以百万的单个文件,此时系统将会非常难受,备份和恢复过程将会变得异常慢。比如,我曾经就见过一个20GB的文件系统的恢复过程竟然花了72小时,花费这么长时间的原因并不是因为备份软件出了问题,而是因为由于文件系统必须去创建数以百万计的文件节点等元数据,这个过程是非常耗时的。当你所备份的数据并不存放在NAS上的时候,我们就可以做一种叫做“Image backup”,影像备份,也就是直接备份磁盘或者LUN,恢复的时候直接挂载,拷出文件即可。所以,由于基于LUN级别的备份,使得对其中文件系统数据的备份速度有很大的提升,如果你需要恢复这整个的文件系统,那么你可以直接恢复整个LUN,这样对应文件系统中的文件也就自动出现了。在“百万文件”环境下,这种做法比传统做法快一百倍。
然而,对于NAS来讲,你无法使用上述的影像备份方式来备份NAS上的数据,唯一办法就是使用NFS或者SMB来备份文件数据。所以,这就是NAS备份的核心挑战,而接NAS的网络性能是参差不齐的。
问:NDMP对于NAS备份来讲是一个好选择么?它是怎么工作的?
答:NDMP大约是在10年前被引入业界的。那时候NetApp公司就开始活跃了,而NetApp的NAS设备正是这样一种让你备份起来很头疼的设备。那时候人们会问:“到底怎么备份它?”,一开始答案是:“它就是用NFS的,所以直接用NFS备份就行了。”。然而,很多人根本不想通过NFS来备份他们的数据。所以,NDMP就这样诞生了,为了更好的备份像NetApp这样的NAS设备,众多的备份软件厂商都在寻找这样一种方式,最终NDMP应运而生了。
很多人认为NDMP是一种备份格式或者协议,但NDMP其实是一种管理协议,它让备份服务器可以与NAS设备交流。有了NDMP协议,备份服务器所要做的便是将磁带放入磁带驱动器中,或者使用虚拟磁带,或者任何你想要将备份数据存放在的存储介质,当准备好之后,备份软件便告诉NAS设备做备份。之后,NAS设备如何将数据备份到介质中就完全是NAS设备自己的事情了。
另外一个挑战便是备份格式,市场上多种备份软件都会产生各自不同格式的备份集。比如,NetApp使用dump格式,其他有的使用CIO格式,另一些使用TAR格式或者增强型TAR等等。当使用NDMP来连接备份服务器时,它会说:“我已经将一盘磁带放到这了,我想让你把数据备份到这里。” 然后,NAS设备会将一些信息封装在NDMP协议中告诉备份服务器:“好了,我已经做完了备份,数据都存放在这里了。”,之后备份软件就可以访问这些数据了。
备份可以以三种方式来完成:NAS设备自己备份到自己,NAS设备之间备份以及NAS设备备份到服务器或者相反。备份到自己的方式下,一般是采用直连一个磁带驱动器或者磁带库到NAS设备上,然后NAS设备自己将数据备份到磁带中。在NAS到NAS的备份方式下,其中一台NAS连接有磁带驱动器,另一台NAS通过网络将数据传送到这台连接有磁带驱动器的NAS上,然后这台NAS再将数据写入磁带存放。在NAS到服务器的备份方式下,服务器连接有磁带驱动器,此时服务器其实是作为一个响应NDMP请求的设备了,NAS将数据传送到服务器,然后服务器再将数据写入磁带中保存。
NDMP就是提供这样一种控制方式的协议,而且由于它可以实现自身到自身的备份,也就是说备份软件可以将一盘磁带放到正确的位置然后告诉NAS设备来直接将数据备份到这盘磁带或者虚拟磁带中,这样就不需要使用外部网络来传输数据了。通过这种方式,备份的效率提升了很多。
NDMP更酷的是,它不仅可以做磁带备份,而且你可以用它来查看快照。你可以在备份软件中来感知到系统中的快照,然后你可以选择恢复它们。
本质上,NDMP允许将NAS上的数据直接备份到本地所连接的磁带或者虚拟磁带中,而这正是很多人都很感兴趣的,这种方式也提升了备份和恢复的速度和效率。
问:NDMP有什么限制吗?
答:NDMP并没有规定备份格式,这或许是NDMP的一个主要限制。比如,假如你有一台NetApp的设备和一台EMC Celerra设备,而你想把所有的数据移动到Celerra中。在这种情景下,你就不能使用NDMP了,比如你想通过NDMP来将NetApp上的数据备份下来,然后再恢复到Celerra中,这是做不到的。这种情景并不仅限于NetApp与Celerra,比如Celerra和Hitachi Data System(HDS)等等情况都一样。不同的厂商拥有不同的备份格式,而每种格式都是互不兼容的。
NDMP的另外一个限制情景则是厂商自身的格式升级所带来的利旧问题,比如EMC决定在两年之后他们不再用dump格式来备份了,而打算使用其他某种新的更好的正在开发当中的备份格式,所以它们之后升级了。那么之前备份的磁带怎么办?这里就会产生担忧了,厂商不得不考虑后向兼容,而一旦厂商在这方面稍有失误,那么你就必须保存着老旧的设备以便应对随时可能发生的数据恢复。
另外一个限制与文件级别的协议有关。常见的备份格式比如dump、TAR、CIO等,都是文件级别的协议。而如果你遇到了“百万文件”问题,那么你一样会在NDMP环境下也遇到这种问题,这也就是为何很多备份软件厂商都提供影像备份的原因。有不少厂商支持影像级别备份,此时当你发起NDMP备份时,你说:“将这个卷备份到这盘磁带,不要使用dump,使用这个新的影像格式。”,当你这么做后,你就会得到一份影像,当你恢复的时候,就必须恢复到一个相等或者更大容量的存储空间中,而且此时你不可以做文件级别的恢复。
问:还有什么其他技术可以简化NAS的备份么?
答:我是准CDP技术的忠实粉丝,这个技术本质上其实就是快照以及数据复制技术的组合。如果你所选用的产品是将快照与复制技术相融合的,那么你备份的时候就应当选用这种方式,因为这种方式是基于真正的增量备份方式,你就不需要再做全备份了。被复制的数据看起来像是多份完整的全备份,但其实每次传输的时候都只是传输变化的部分。并且,你所拥有的数据不仅仅是当前系统中的数据,你还拥有了昨天、前天甚至上周时刻的系统数据影像。另外,被复制的数据并不是以某种备份集格式而存在的,这就意味着,当你想恢复数据的时候,你不需要做像传统磁带备份那样的数据回导过程,你可以直接让你的应用程序直接挂起复制之后的数据,同时将数据导回你的主存储,当主存储数据导回完毕之后,你可以选择继续让应用使用副存储,或者选择将应用切回到主存储,同时将副存储上变化的数据反向同步到主存储。比如,如果仅仅是主存储电源故障,这种情况下,应用切换到副存储继续运行,当主存储电源恢复之后,将副存储上的变化过的数据同步到主存储即可。
所以,如果你有NAS设备,那么我高度推荐你调查一下到底哪种方式是最好的备份方式。如果你的设备不支持某种备份方式,或者你可以考虑选择另一款NAS产品。在我看来,准CDP方式是最好的备份方式。