資源管理系統容災解決方案

學識都 人氣:2.52W

 目   錄
一、概論 3
二、背景描述: 3
三、實施過程: 4
四、運行維護: 6
五、總結: 6
 摘要
 企業越來越依賴IT系統已經成爲了一個不爭的事實,隨着計算機應用的不斷髮展,企業越來越重視數據的安全性和可用性。本文拋磚引玉,主要講的是資源管理系統的容災方案,最終的目的是實現所有IT系統的綜合備份容災,保持系統的高可靠性,真正保護業務持續性。爲業務的正常有效開展保駕護航。
一、概論
 對IT系統7×24關鍵業務長時間的停頓或大量數據丟失是不允許的,因此有必要對IT系統提供容災系統保護。一個好的容災方案應該充分考慮風險和成本平衡點,容災方案首先應該考慮“災難備份需求目標”,在此需要介紹兩個重要參數:
 RTO (Recovery Time Objective):指災難發生後,從IT系統故障導致業務停頓之刻開始,到系統恢復至可以支持正常運作,業務恢復運營之時,此兩點之間的時間段稱爲RTO。RTO時間越短越好。
 RPO (Recovery Point Objective):指從系統和應用數據而言,要實現能夠恢復至可以支持生產中心業務運作,系統及生產數據應恢復到怎樣的更新程度,換而言之企業可以接受多長時間的數據丟失。
 在各種IT系統中,應用服務器和數據庫系統災備的重點不同,重要的應用服務器支持實時運行,支持災備中心和生產中心同時運行,可實現最高級別的災備,即RTO=0,RP0=0。數據庫系統根據容災成本大小分爲數據備份容災和數據庫容災,數據備份容災側重於保護數據,RPO最大爲24小時的數據量,數據庫容災的RTO通常小於30分鐘。
 容災包括數據容災和應用容災兩類。數據容災是指建立一個異地的數據系統,該系統是本地關鍵應用數據的一個實時複製。在本地數據及整個應用系統出現災難時,系統至少在異地保存有一份可用的關鍵業務的數據。應用容災是在數據容災的基礎上,在異地建立一套完整的與本地生產系統相當的備份應用系統(可以是互爲備份)。建立這樣一個系統是相對比較複雜的,不僅需要一份可用的數據複製,還要有包括網絡、主機、應用、甚至IP等資源,以及各資源之間的良好協調。
二、背景描述:
 南寧電信於2000年自主開發了管線資源系統。數據庫服務器爲一臺PCSERVER。數據庫爲sybase11.0。採用的是C/S結構。2003年6月,數據庫服務器硬盤出現壞道,操作系統無法正常啓動,由於數據庫的備份是放在同一臺機器上的。導致長達三年管線資料全部丟失,雖然在九七系統中有全部的機線資料,未對業務造成影響,但仍有部分管線資料需要重新覈查。
 針對上述情況,在建設新的管線資源管理系統的同時,將容災同時進行了考慮。南寧電信主要的生產大樓一樞紐、二樞紐,相距7公里。各有一個IT機房,通過光纖直連。主要的IT系統設備都放在二樞紐,一樞紐有一臺HP小型機,和其它系統割接上線後留下來的磁盤陣列,大小爲2T,磁盤陣列速度較慢。
三、實施過程:
 首先,在進行資源管理系統建設時。充分考慮系統的安全性和穩定性。使用了HP的'雙機系統。能夠在某臺系統出現問題時及時系統切換到另一臺主機上。系統架構如下圖:
 
 
 新的資源管理爲B/S結構,配置爲HP小型機,操作系統爲HP-UX  11i,後臺數據庫爲SYBASE  12.5,中間層使用的tomcat5進行應用發佈。
 在雙機熱備的情況下。利用操作系統自帶的定時器的功能實現數據庫的自動備份工作。
 備份定爲每日的下班後進行,共分爲三個步驟,一是對備份目錄進行空間檢查,二是實施備份,三是將備份的文件傳輸到電信一樞紐大樓         UNIX系統中有一條命令crontab,通過它我們可以定製cron  job,它安排各命令在指定的時間間隔內執行,有定時器的功能。我們所制定的自動備份及自動檢測方案就是用它來實現的。但是,並不是每個UNIX系統的用戶都有權限使用它。
 要使sybase用戶具有執行定時器權限,需要將數據庫管理員sybase用戶添加到w文件中。首先,應以root用戶身份登錄,到路徑/var/adm/cron下確認無文件,或該文件中無sybase這條記錄。然後,編輯w文件,將sybase  用戶添加進去,這樣,sybase用戶就有了定製cron  job的權限。    以sybase用戶登錄後,執行crontab  –e  編輯cron  job,  例:    0 2 * * * /home/sybase/backup/ 
0 5 * * * /home/sybase/backup/ 
其中,第一條命令的意思是在每天的02∶00開始自動執行腳本文件 ,對數據庫進行備份,    的編輯在後面討論。第二條命令是在每日的05∶00自動執行腳本文件 ,將備份好的文件傳輸到遠端一樞紐的機器上。
編輯腳本文件    由crontab直接調用,存放在sybase用戶的home目錄下,它主要完成以下工作:  1、檢查備份目錄的空間    本部分實現的功能是:將目前備份目錄的空間使用率與管理員定義的上限進行比較,若超出上限,則刪除一個最早的備份文件。    MAX=65  ##  定義上限,可根據實際情況進行調整  ##  bdf  |  tail  -1  |  read  AVAIL  USED  FREE  PER  MOUNT  USED=${PER%%*}  #  #  Test  for  more  than  65%  used  #  if  [  "$USED"  -gt  "$MAX"  ]  then  ll  -t  /sybdata/sybnm/dump/synm*  |  tail  -1  |read  AA  BB  UUSR  GGRP  SSIZE  MM  DD  TT  FNAME  rm  $FNAME  2>> /sybdata/sybnm/dump/  fi    2、實施備份  備份工作通過isql調用備份腳本實現:    isql  -Usa  -P  -SSYBNM  -o /sybdata/sybnm/dump/      爲使sybase用戶成功執行本操作,我們應同時將sybase的環境變量定製在中,其主要命令可參考sybase用戶的ile文件。另外,本命令從外部讀取的備份腳本文件的內容如下:    declare  @ddate  char(28)  /*  定義一個變量,用於備份的文件名稱  */  select  @ddate  =  '/sybdata/sybnm/dump/synm'  +  convert(char(6),  getdate(),  12)  ,3,1,null)  
/*  將當前日期進行轉換  */  dump  database  nmdb  to  @ddate    go    
說明:該腳本將當前日期進行轉換,形成備份的文件名,其格式爲:  synmyymmdd  3、將成功備份的備份文件傳送到一樞紐的機器上
編輯文件。
DATE=`date +%C%y%m%d`
ftp -i -n
user sybase worldcup
bin
lcd /sybdata/sybnm/dump
cd /backup/resmga/sybnm
prompt off
put synm{DATE}
bye
4、在一樞紐的機器上將全庫備份恢復
load database synm from /backup/resmga/sybnm/ synm{DATE}
就可以將數據庫恢復在遠端的服務器上。
結構如下圖:

資源管理系統容災解決方案

四、運行維護:
    將自動備份系統建立後,每天系統自動在本地進行一次系統備份。同時把備份文件傳送到遠端的機器上,遠端的機器自動進行系統恢復。每天系統管理員需要做的工作就是檢查備份和在遠端的恢復是否成功。
     當本地的資源管理系統出現問題時,能夠立即切換到遠端的服務器上,切換時間對比恢復時間可以忽略不計。從而大大降低了系統風險,使系統運行在一個安全的狀態。
     2006年12月,本地的磁盤陣列出現問題。在相關的小型機廠商HP公司的工程師診斷下,確認磁盤陣列出現問題,數據全部丟失,當時立即啓動應急預案,將數據庫指向遠端的服務器上,在本地的硬件問題解決後,在非工作時間將數據再次導回來。而這些動作對前臺來說僅僅中斷了幾十分鐘,相對全部數據的丟失,其損失的時間可以忽略不計。
五、總結:
     從這次資源管理系統容災項目的實施,在出現故障後能夠短時間恢復業務的正常應用來看。在電信行業中,各種重要的IT系統應該做到容災。對於關鍵業務系統,必須做到應用級容災,做到RTO=0,RP0=0。確保IT系統能夠正常運行,爲業務的正常有效開展保駕護航。