張 媛
(長安大學圖書館,陜西 西安 710064)
數據備份是任何一個數據中心必不可少的環(huán)節(jié),圖書館也不例外。在備份軟件的選擇上,功能強大的企業(yè)級商業(yè)軟件無疑是首選,但鑒于大多數圖書館經費緊缺的情況,很多圖書館不得不放棄對其數據中心重要數據的備份工作,或者退而求其次采用傳統的手工備份及刻錄光盤的方法。隨著圖書館數字化建設的持續(xù)發(fā)展,各館數據中心的數字資源以每年TB級別的數據量在增長,傳統的手工備份顯然已無法滿足日益增長的數據量的要求,一旦出現人為的錯誤操作,以及各種難以預料的外界因素如電腦病毒、黑客攻擊、異常斷電等原因而導致的數據意外丟失或損壞,造成的損失和影響將無法估量,因此數據的備份與恢復工作隨著數據量的增大顯得愈發(fā)重要。
企業(yè)級開源備份軟件有著商業(yè)軟件無法比擬的優(yōu)勢,主要體現在成本低廉和源代碼開放,用戶可以對代碼進行修改,從而滿足自身需求。筆者以長安大學圖書館為例,通過使用開源Amanda備份與恢復技術,實現對具有自主知識產權的數字資源的備份與恢復系統,確保了圖書館數據的安全。
目前市場主流的3款開源備份軟件主要為Amanda、Bacula和BackupPC;而與之相對應的3款商業(yè)備份軟件分別為Symantec Veritas NBU、EMC Legato Networker和 Commvault,它們的主要功能及特點比較見表1。
表1 開源備份軟件與商業(yè)備份軟件的比較
根據開源備份軟件選型原則[1]:從是否支持異構平臺、是否易部署和管理、制定備份策略是否靈活及是否易恢復等因素出發(fā),再考慮長安大學圖書館數據中心對Oracle等數據庫的實際應用及Amanda活躍的Wiki論壇的技術支持,Amanda無疑成為本館開源備份軟件的首選。
主要考慮兩個問題:需要備份的應用平臺及數據庫有哪些;希望采用什么樣的備份方式進行備份。
長安大學圖書館數字化應用主要有維普、CNKI、萬方、超星、人大復印資料、方正Apabi電子圖書、網上大講堂、自建數據庫及圖書館網站等,總存儲容量將近25TB。由于受存儲空間的限制,好多數據庫平臺只安裝了全文索引而沒有拷貝全文。盡管如此,要想對T級別的數據量進行全部備份依然是件困難的事情,出于對備份能力及價值的考慮,只能選擇對最有價值的資源進行備份。
圖書館最有價值的資源莫過于具有自主知識產權的資源。目前本館自建的本校碩博論文庫資源有230GB左右、圖書館管理信息系統(MIS)的數據量有4GB、圖書館網站文件有700M左右,表2列出了此備份恢復系統的客戶端、備份目錄、操作系統及備份方式等詳細信息。
表2 備份恢復清單
Amanda采用C/S架構,以目錄為單位能夠把LAN中的所有計算機備份到一臺服務器的磁帶驅動器、磁盤或云存儲上[2]。Amanda使用全備份和增量備份來保存數據,支持多種客戶端操作系統,如Linux、Solaris、Windows、VMware、和MacOS X等;對基于Linux、Solaris及Windows下的Oracle數據庫和MySQL、PostgreSQL等數據庫都有很好的支持。
長安大學圖書館Amanda備份恢復系統是基于同一LAN中的磁盤的備份方式,采用7天作為一個備份周期,每日零點對數據做增量備份。服務器端硬件采用IBM3500,內存8G,備份文件的保存介質使用7200轉/秒的SAS硬盤5塊,做RAID5保護,總備份容量1.2TB;軟件方面是基于RHEL(Red Hat Enterprise Linux)6.3內嵌的amanda-server-2.6.1p2版??蛻舳擞蠾indows XP sp2的個人電腦、Windows 2003 Server sp2的自建碩博論文庫、Windows 2008 Server sp2的圖書館網站和基于CentOS5.2的圖書館MIS服務器。由于需要在Linux及Windows間進行通信、傳輸數據等,并要求服務器端定時向管理員發(fā)送備份信息的Mail,以便管理員及時了解整個系統的運行狀況,因此在服務器端還搭建了Mail及Samba服務,在Windows 2003 Server sp2的一臺服務器上搭建了DNS(Domain Name System,域名系統)和AD(Active Directory,活動目錄)服務。圖1列出了整個系統的架構。
圖1 圖書館Amanda備份恢復系統架構
(1)Amanda服務器端的部署[3-6]
鑒于備份服務器選擇RHEL6.3版,此版內嵌有amandaserver-2.6.1p2,因此本系統沒有使用最新版的3.3,所有Amanda服務器及客戶端版本都可以在它的官網http://www.zmanda.com/index.html下載得到。
①數據列表
Amanda的備份以盤陣或目錄為單位,備份數據必須以目錄的方式定義。下面是定義備份目錄disklist文件的格式,包括客戶端機器名或IP地址,需要備份的目錄及備份方式。
最后一列是備份方式,用來指定備份時使用的命令,是否需要生成備份文件列表等。這一參數定義如下:
在備份方式的定義里面,可以直接調用前面定義好的備份類型。根據定義,zwc-compress備份是采用DUMP程序來備份,備份時數據壓縮,備份結束后,需要生成此次備份數據的索引,索引文件用于以后的數據恢復。
②備份策略列表
根據需要備份的數據大小、類型和備份頻率等將這些數據分至不同的備份列表,目前只有一種備份策略列表,各館可以根據自己的實際情況來添加。
DailySetl:所有用戶數據都備份在此目錄下,每周一次全備份,每天一次增量備份。
③目錄結構
備份硬盤1.2TB劃分為兩個分區(qū),每個分區(qū)各600GB,一個用來作為Amanda備份需要的磁盤緩沖區(qū),即holding disks;一個用來作為虛擬磁帶,600GB分區(qū)被分為6盤磁帶,每盤磁帶100GB,目錄結構如下:
④備份日程表
在時間表進程crontab中設置:0 0**1-7/usr/sbin/amdump DailySetl
這里定義了備份策略DailySet1在每天的0:00開始執(zhí)行備份,一周備份7次,所有備份結果可通過日志文件來查看。
(2)Amanda客戶端的部署[7-8]
①CentOS5.2客戶端的部署
安裝與服務器端同一版本的amanda-client-2.6.1p2;配置.amandahosts文件,指定服務器的名稱和允許進行備份操作的用戶;配置/etc/xinetd.d/amandaclient文件,重新啟動xinetd服務。
②Windows客戶端的部署
安裝與服務器端同一版本的支持Windows的ZWCCommunity-2.6.1軟件,開放10080和10081端口;程序創(chuàng)建的amandabackup用戶必須對備份目錄具有操作權限。
①CentOS5.2客戶端的恢復
以root用戶創(chuàng)建數據還原目錄并賦予amandabackup用戶權限;進入數據還原目錄,使用amrecover命令初始化數據還原進程;使用setdate命令指定需要恢復的日期,ls命令查看備份內容,add命令指定需要恢復的文件,extract命令從備份集中提取備份內容。
②Windows客戶端的恢復
在服務器端使用amfetchdump命令從備份集中提取備份內容,之后將備份內容通過Samba共享給需要恢復的客戶端系統,使用winrar等解壓縮程序對該文件進行解壓縮即可。
①備份方便,恢復便捷,運行穩(wěn)定
本系統未實施之前,鑒于本館經費緊缺,并沒有購買任何商業(yè)備份軟件對館中的重要資源進行備份。其中對于自建的碩博論文庫采用刻錄光盤的方式對新增的數據進行備份,此種方法不僅耗神、耗時,而且光盤也不宜長久保存、內容不易查找,數據恢復的工作量也特別大;對于圖書館的網站只是加強了服務器及網站本身的安全性防護,并沒有做任何的備份措施;而對于圖書館重要的MIS系統也僅僅采用基于EXP腳本的數據庫備份。隨著每年數據量的遞增,數據安全問題成為圖書館的一大隱患。
實施Amanda備份恢復系統后,對于本館的重要資源可以實現按時自動備份,恢復時也可以根據一定的時間點進行恢復,而且管理者通過系統每日發(fā)送的備份信息可以及時了解整個系統的備份運行狀況,并做出相應調整。系統自實施半年多以來,運行一直比較穩(wěn)定,徹底將工作人員從之前繁瑣的手工備份及無數據備份的擔憂中解脫出來。
②經驗總結
對于打算實施Amanda備份恢復系統的圖書館來說,首先要考慮的問題是你需要備份什么,Amanda是否支持?其次就是你有多少備份空間?你想采用磁帶、硬盤還是云存儲的備份方式?因為備份是一個持續(xù)的過程,雖然Amanda采用增量備份的方式,但管理員依然要做好長期宏觀的把握。對于Amanda服務器的配置并不需要過多考慮,如果想提高備份與恢復的速度則應關注所采用的備份方式。最后,作為Amanda備份恢復系統的管理者,一定要密切關注系統每日發(fā)送的詳細備份信息,以便及時了解整個系統的備份運行狀況,從而做出相應調整。
實踐證明,開源Amanda完全能滿足圖書館對自主知識產權數字資源的備份要求,是圖書館解決數據中心數據安全問題的重要發(fā)展方向。如果備份空間允許,完全可以對其他數據庫資源進行備份。筆者探討的圖書館應用Amanda部署數據備份恢復系統的過程、方法和相關經驗,具有實際參考意義。
系統在具體的實施過程中也存在一些問題,如開源軟件應用對人員技術水平提出了較高要求;未對VMware ESXi虛擬環(huán)境下的客戶端進行測試;對于MIS服務器的Oracle數據庫的備份是基于EXP腳本的數據庫備份,并沒有使用RMAN(Oracle’s Recovery Manager)創(chuàng)建備份等。如何做好技術人員培訓、對虛擬環(huán)境下的客戶端進行備份恢復測試及實現對Oracle數據庫的RMAN備份等有待進一步深入研究。
[1]于春生.企業(yè)級開源備份軟件在高校數據中心中的應用[J].北京聯合大學學報:自然科學版,2012(5):11-14.
[2]Amanda Wiki[EB/OL].[2012-10-09].http://wiki.zmanda.com/index.php/Quick_start.
[3]The 15-Minute Backup Solution[EB/OL].[2012-11-03].http://www.zmanda.com/quick-backup-setup.html.
[4]Amanda集中備份實例[EB/OL].[2012-11-23].http://zhumeng8337797.blog.163.com/blog/static/100768914201046 34610372/.
[5]Amanda備份數據的操作手冊[EB/OL].[2012-12-13].http://wenku.baidu.com/view/d533ca0502020740be1e9b13.html.
[6]Amanda安裝配置[EB/OL].[2012-12-23].http://wenku.baidu.com/view/11b262b8960590c69ec376a1.html.
[7]Zmanda Windows Client[EB/OL].[2012-12-23].http://wiki.zmanda.com/index.php/Zmanda_Windows_Client.
[8]Troubleshooting[EB/OL].[2012-12-23].http://wiki.zmanda.com/index.php/Amcheck_issues.