陸文穎
(上海海事測繪中心 上海市 200082)
隨著測繪行業的發展和建設,基礎設施資源池的建設需要不斷完善,在面臨電力故障,火災水災等重大故障等緊急情況時,單一的本地備份方式很可能引起生產系統失效,數據丟失等問題。為了防止此類損失的發生,保障測繪系統正常連續運行以及觀測數據的安全,優化利用率,迫切需要建設異地容災系統,以滿足業務的連續運行以及數據能應對突發狀況長期存儲的需求。
由ibm 與share 用戶群組在20世紀90年代聯合開發出來的災難恢復層概念,共分為7 個層次。
第一級容災系統是有數據備份但沒有系統方面的備份。例如:ptam 皮卡存取方法,它備份好的數據傳送到另一個位置。通常恢復時間超過一周,數據不一定是最新的。第二級容災系統是有數據備份也有系統備份。在發生災難時,可以切換備份節點以支持關鍵應用程序。恢復時間快于第一層。第三級別: 要求備用節點在二級基礎上繼續運行。災難備分中心和生產中心之間通信聯系費用增加。但它消除了對交通工具的依賴,提高了災后恢復的速度。三層的更高要求層則要求難備分中心和生產中心之同時處于活動狀態。一旦災難發生可用進行異地之間的雙向切換。數據恢復在1 天以內。第五級是則是在上一層的基礎上增加了數據中心和生產中心之間數據一致性的要求,只允許少量的數據丟失。典型的數據恢復時間少于12 小時。第六級容災則對數據的丟失率提出了更高要求甚至是0丟失。需要災難備份點來自動檢測故障并在第5 級基礎上切換網絡。
以上7 個級別層次的劃分是以公認的RPO 以及RTO 作為標準。
虛擬化的主要目標是提高資源利用率,這是云計算的基礎。最早使用虛擬化技術的是IBM7044 計算機,早期的計算機中操作系統叫supervisor,能運行在其他操作系統上的操作系統被稱為hypervisor.虛擬化技術的優勢主要包括提高了效率,降低由于物理量機器而造成的經費開銷,提高了應用性能,提高了服務器可用性,消除了服務器數量劇增和復雜性。服務器虛擬化后,可用實現多個操作系統在單個物理服務器上高效的運行。
虛擬化技術在60年代后用在了高端的RISC 服務器上,之后大致形成了三條發展主線以克服虛擬化帶來的主機的性能損耗。這三條主線一是以二進制翻譯為支撐的設備全虛擬化技術,二是以Xen為代表的半虛擬化技術,三是硬件輔助,此類虛擬化技術全面支持CPU,內存以及I/O 設備的虛擬化,可成為系統的插件。

圖1
隨著時代的進步,這些虛擬化技術也運用到了CPU,內存,以及I/O 設備。I/O 設備的虛擬化,主要采用模擬方式或者軟件接口方式采用模擬I/O 設備的技術使客戶可用使用對應真實的驅動程序。比如VMware 系列模擬的SoundBlaster 是屬于這種模擬I/O 設備的方式,當各種虛擬機在使用軟盤映像提供的虛擬軟件驅動時,就會調用對應的真實驅動。I/O 設備的虛擬化在傳統機器上很容易造成性能上的瓶頸,其解決關鍵在于虛擬數據的交換,這部分主要要解決的是DMA 直接內存存取以及IRQ 中斷請求方面的隔離以及保護。
1998年,Vmware 第一次問鼎世界,之后在服務器虛擬化領域先后發布了VMWare GSX 和VMWare ESX.隨著信息技術的發展,VMWare 的hypervisor 產品Vmware server 和VMware ESXi 都免費向市場開放,而VMware ESX 則被作為VMware Infrastruture 的一個組成部分出售。
2.3.1 Vmware server 產品研究
Vmware server 控制臺是操作VM virtual machine 虛擬機的主要方式,包括虛擬機的創建,刪除,編輯,開啟以及關閉。這是一個應用程序,需要有 windows,linux 等操作系統的支持。
2.3.2 VMware 企業級虛擬化產品研究
Vmware server 產品研究關于VMware 企業級虛擬化產品研究VMware Esxi 企業級的虛擬化成熟產品,實際上可以看作是一個hypervisor 與Esxi一樣,(需要64 位處理器架構)可以安裝在裸機上,不需要操作系統,可用通過VMware Virtual Centerl 來進行管理達到簡化軟件維護的要求。Esxi 需要在本地工作站上安裝遠程命令行實用工具(remote command line utility)后,通過API 發出遠程命令即可達到操作。與此同時,VMware 提供了多種Esxi 的安裝方式,一種是交互式的,這種安裝方式主要用于10 臺服務器一下的小規模安裝。而在非常大的生產環境中采用工業化快速制作服務器,主要可用通過vSphere Auto Deploy ESXi 安裝,將其加載到服務器內存,在主機上采用配置文件檢索配置,通過預啟動執行環境來完成。
2.3.3 Esxi 的控制臺研究
Esxi 的控制臺是VIC(Virtual Infrastructure Client)集中管理應用程序,用戶通過此程序實現和ESXi 服務器上虛擬機的創建,I/O,CPU,以及內存的分配。

表1:容災平臺物理硬件表
在容災管理中心部署測繪系統服務器備份機和和存儲器,生產中心的數據由備份機的遠程復制功能進行備份。一旦生產中心遇到水災停電等重大緊急事故無法正常服務,災備中心能以最快速度啟用,實現海事業務系統的異地災備。容災系統采用與生產環境完全相同的網絡和物理環境,形成空間上相互獨立但邏輯互相統一的整體。容災中心的示意圖如圖1所示。
不需要為測繪生產體系中每臺服務器分別添置備用服務器,在基于Vmware 虛擬化的測繪數據處理高可用集群中,為主備用服務器安裝Vmware esxi,文件服務器等構成高可用集群,根據測繪數據生產一系列系統原有服務器性能,DL380 G7 在其上安裝esxi,在本地環境運用原有的HP EVA4000 作為高速存儲,在esxi 服務器上添加HP EVA4000 存儲,用于虛擬文件vmdk 的存放。在異地容災機房采用hp p2000 作為存儲,通過hp 光纖交換機將該存儲連接到每臺esxi 服務器上,作為遠程備份存儲,存放快照后虛擬文件。在共享的光纖網絡集中存儲陣列hp p2000 上為每個虛擬機創建文件系統。對于vcenter,選用原有的一臺DL388 GEN8 進行部署,統一管理4 臺主機臺esxi 的主備切換.其中兩臺DL380 G7 用于主要生產,另外兩臺DL380 G7 用于遠程災難恢復。容災恢復系統的物理硬件表如表1所示。
為系統建立HA,可在esxi 服務器損壞時自動重啟虛擬機。創建一個HA 集群時,在每臺主機上創建FDM 代理程序。選擇其中一臺作為集群的主服務器,其余作為從屬服務器,主服務器保存受HA 保護的VM 存儲列表,讀取其他服務器運行情況,與VCENTER 交互。在從屬服務器損壞時會自動選擇另外的物理主機上重新啟動虛擬機。主服務器主要通過以下兩個步驟來判斷從屬服務器是否正常工作:一是向從屬服務器IP 地址發送一個互聯網控制協議,二是在數據存儲級別進行數據交換也成為存儲心跳,以區分從屬服務器是網絡隔離還是從屬服務器本身問題。從屬服務器同樣也監控主服務器運行情況,當主服務器故障時負責啟動主服務器的虛擬機。新主機的選擇依據主要有兩方面:一是選擇連接數據存儲最多的服務器。二是在數據存儲鏈接相同的情況下會選擇管理對象ID 最高的服務器來重啟虛擬機。
當HA 集群中某臺機器發生故障時,剩余的服務器的資源應當能夠接管需要遷移的虛擬機的工作負載。插槽大小(slot size)確定每臺ESXi 服務器所能接受的必要的CPU 和內存資源,是最高VM 保留值,一般默認為32MHz,但在das.vmCpuMinMhz 文件中可以修改。HA 集群體中一般主機服務器允許的故障數量最大為31 個節點,但根據實際需要,可以自己調節。這一參數的設置是為了保證所有的虛擬機重啟時候有能獲得必要的資源條件。
Vmare 的安全屏障一般來說是相當安全的,但測繪生產體系容災系統建立后,宿主主機上會運行多個負載,一旦發生未授權訪問,會帶來不止一個虛擬機的入侵,如果忽略了其配置和遠程訪問管理,就會像蜂窩一樣存在很多漏洞。所以基于以往的經驗,我們必須采取如下措施進行基于Vmware 的容災系統的安全加固。
(1)虛擬機之間的通信,每臺虛擬服務器通過不同的VLAN和不同的IP 地址網段的方式進行邏輯隔離,需要通信的虛擬服務器之間通過vpn 進行網絡連接。
(2)虛擬存儲方面,安裝時為每臺虛擬服務器分配一個獨立的硬盤區,使其進行邏輯隔離。
(3)訪問限制,對虛擬機數據存儲所在的物理存儲層和宿主主機通過限制遠程訪問管理進行加固。
(4)虛擬機網絡配置權限限制,鎖定虛擬機的網絡配置,對虛擬機和虛擬網絡的修改權限,設定為只有網絡管理員才能修改,而不是擁有虛擬機操作權限的服務器或應用管理員。
虛擬化技術在容災的應用方面的研究已越來越趨于成熟,期前也有不少可供參考的產品比如 VMware ESXi 的引入。為服務器系統快速部署災備創造了有利的條件。通過采用服務器虛擬化技術解決了多平臺間部署的問題。vSpere 虛擬化平臺的HA 技術,以及虛擬機快照技術很好的解決了服務器資源緊張以及占地面積過大,備份復雜問題。實現了主要應用系統的實時容災和重要數據的實時備份。在測繪生產體系容災的方案設計方面還應該考慮UPS,空調,應急通信等配套容災基礎設施的建設。