當前位置:首頁 » 服務存儲 » HADR共享存儲
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

HADR共享存儲

發布時間: 2022-04-30 13:23:47

A. 如何使用虛擬化軟體實現雙活災備系統

災備雙活如何實現數據同步?
問題1:金融系統中同城災備如何實現數據實時同步(兩地是異構存儲),請軟體推薦和方法?
問題2:如果是遠距離(1000KM)異地災備雙活,如何較好的實現數據同步?

希望獲得:具體解決, 注意事項, 實例參考

問題1:金融系統中同城災備如何實現數據實時同步(兩地是異構存儲),請軟體推薦和方法
問題2:如果是遠距離(1000KM)異地災備雙活,如何較好的實現數據同步?
A1:數據實時同步復制有兩種大的分類:
1)存儲復制 - 即使異構存儲也能,只不過效果差點。利用虛擬化網關集群設備(比如VPLEX)。但是有一個缺點,存儲層面的塊兒復制,解決不了邏輯校驗的問題,有可能同步過去的塊兒數據,資料庫無法識別。
2)資料庫層面的復制,Oracle、db2都有。是基於日誌的復制,數據復制量很小。很安全。但是災難時刻拉起資料庫的時間也不是很理想。有條件的做一下自動化開發。

wangj0923技術經理 , 工行

存儲復制最大的問題是,復制過去的磁碟對資料庫來講突然下宕後掛上的,有可能不識別,即便識別了,也要進行一致性校驗,那個時間是無法忍受的。

資料庫復制的問題是同步模式對主庫的影響較大,備庫出問題容易hang主庫,而非同步模式無法確保RPO為零。

需要各種技術組合起來用。

shenxzh系統工程師 , Nanjing Securities

同城災備,如果是ORACLE資料庫,可以使用遠距離RAC,實現同城雙活數據中心(通過ORACLE ASM實現異構存儲雙活,或者存儲虛擬設備VPLEX,SVC等)

遠距離異地災備,最好使用主備模式,採用dataguard利用非同步模式(或採用12C的far sync功能),保證數據安全

else_xie系統運維工程師 , PICC
cz_doctor、xk2008贊同了此回答
首先要確定,實現要異地實時同步,生產環境答應嗎?
另外帶寬,速度的壓力,成本投入能答應嗎?
每一個數據的修改交互,都需要問1000KM外的,是否OK了。然後才下一步?那多累的,估計某些應用可以,同步數據少的,對業務性能不敏感的。
現在很多存儲的復制技術,非同步效果也趨於同步效果,只要業務壓力在可接受范圍內,就能及時傳送數據過去,只要自己明白,如果遇到業務高峰時,是要承受數據傳輸滯後比較明顯的結果而已。
另外,對復制同步的數據,如果不是在線進行使用的,要定期的驗證檢查,反正數據已經是「帶病」的,還一直在同步,哪天真的要用,才發現,那就遲了。

zhoujia8218(提問者)
你的這些反問點,都是我要關注的和不明確的地方,謝謝提醒

nitkey系統架構師 , ECT
xiaoyaozi贊同了此回答
問題1:異構存儲要實現同城實時同步有幾種實現方式:1.存儲前面加一層虛擬網關,通過虛擬網關來實現兩個存儲的數據同步;2.操作系統層面,通過LVM或者veritas的卷管理軟體實現;3.通過應用層自己實現數據同步,比如ORACLE的DG,DB2的HADR。同城實時同步一般對架構環境的要求都較高,如果再加上是異構存儲,要特別注意兩個存儲的性能是否匹配,否則會出現短板
問題2:1000KM以上我認為基本上只有靠存儲的非同步復制,通過資料庫的復制方式在遠距離的案例上不是太多。

孔再華資料庫運維工程師 , 中國民生銀行
同城災備可以做到對等雙活。相當於雙中心不差別提供服務。資料庫技術有DB2 GDPC和Oracle Extended RAC。DB2 GDPC集群底層通過GPFS集群文件系統完成數據同步,支持異構的存儲。

遠距離災備如果需要雙活肯定是有很大限制的。首先數據不可能實時同步,代價太大。因此對一致性要求高的系統幾乎不可能。但是如果使用非同步的方式,例如DB2的HADR技術,或者是CDC等數據邏輯同步技術,能夠做到同步數據,但是災備伺服器只能用來做查詢分析等作用。

zhoujia8218(提問者)
CDC遠距離復制時有沒有需要注意的嗎?我們只用過同城的,遠距離的沒有嘗試過

B. DB2 DBA,如何解釋DB2的業務價值

但是,如果談話的對方是管理層的成員,那麼會怎麼樣?公司管理者們關心的主要問題是收入的增長、成本控制、產品質量和產品投入市場的時間。一般來說,這些人並不關心鎖的粒度、伺服器內存管理和 sql 語句優化這樣的技術問題。他們並不關心 DB2 技術本身的特色(盡管 DB2 技術是很酷的),而是關心 DB2 對於實現組織目標能夠有哪些作用。本文將幫助使用 DB2 的人從業務價值的角度討論 DB2 技術。 許多技術人員可以輕松地討論 DB2 技術的細節,很自信地談論查詢並行化、數據壓縮、WebSphere MQ 集成、大對象管理、JDBC 和 ADO.Net 驅動程序、大型機 Parallel Sysplex 上的數據共享、DB2 for Linux, Unix, and Windows(LUW)多維集群等等話題。但是,如果談話的對方是管理層的成員,那麼會怎麼樣?公司管理者們關心的主要問題是收入的增長、成本控制、產品質量和產品投入市場的時間。一般來說,這些人並不關心鎖的粒度、伺服器內存管理和 SQL 語句優化這樣的技術問題。他們並不關心 DB2 技術本身的特色(盡管 DB2 技術是很酷的),而是關心 DB2 對於實現組織目標能夠有哪些作用。日常使用 DB2 的任何人都應該能夠從業務價值的角度討論 DB2 技術。 通過我在 CheckFree Corp. 的經驗,我總結出了一個關鍵領域列表,在這些領域中 DB2 技術可以提供業務人員能夠感受到的價值。 可伸縮性 vs. 隨著業務增長 單伺服器 DB2 系統(無論是運行在大型機上,還是運行在高端 Linux、Unix 或 Windows 伺服器上)可以為 OLTP、業務智能(BI)或組合工作負載提供巨大的吞吐量。吞吐量大主要是由於 DB2 利用了 64 位伺服器內存定址、新穎的 I/O 優化特性(比如列表預獲取)、預優化的 SQL(DB2 專業人員將其稱為靜態 SQL)以及高級工作負載管理功能。但是,在擴張迅速的業務環境中,數據訪問請求量會快速增長,單伺服器系統的能力可能不足以處理未來的請求量。業務領導肯定不希望業務的增長受到數據伺服器可伸縮性的限制。這就是規模擴展(scale-out)的重要之處,而可伸縮性正是 DB2 真正占據優勢的領域。 在這個上下文中,「規模擴展」 這個詞指的是能夠將針對單一邏輯映像資料庫的工作負載分散到多個物理伺服器上。有兩個 DB2 規模擴展解決方案:大型機集群(稱為 Parallel Sysplex)上的數據共享和在 Linux、Unix 或 Windows 伺服器集群上實現的 Data Partitioning Feature(DPF)。這兩種技術都是在行業中領先的技術。DB2 for z/OS 數據共享能夠支持企業從最多 32 個 DB2 子系統對一個共享資料庫進行並發讀/寫訪問(這些子系統可以運行在許多大型機系統上,也可以運行在少量物理伺服器上,每個伺服器上有多個 DB2 子系統)。這個解決方案不是市場上惟一的共享數據 DBMS 規模擴展解決方案,但是其他任何技術都無法提供 DB2 for z/OS 數據共享組這樣好的 CPU 效率(真正並發的節點間讀/寫數據訪問的 CPU 開銷非常低)。 帶DPF 功能的 DB2 能夠在 Linux、Unix 或 Windows 環境中提供無以倫比的規模擴展能力。可以在一個 DB2 DPF 系統中配置數以百計的伺服器;每個伺服器提供對單一邏輯映像資料庫的一個物理子集的訪問(一個散列演算法將給定的資料庫表的行分散到 DBA 指定的節點上)。市場上也有其他的非共享(shared-nothing) DBMS 規模擴展解決方案,但是其他解決方案都無法像帶 DPF 功能的 DB2 那樣兼具易用性和靈活性,因為 DPF 功能是嵌入在 DB2 for LUW 數據服務引擎中的。 對於共享數據和非共享 DBMS 體系結構孰優孰劣的問題,人們還在爭論;但是,這兩種 DB2 解決方案對於底層伺服器平台都是非常合適的。DB2 for z/OS 數據共享的 CPU 開銷非常低,這是因為它使用的函數以優化的方式分散在整個 Parallel Sysplex 軟體結構中:z/OS 操作系統、DB2 DBMS、Coupling Facility Control Code(它管理全局鎖和數據緩沖所用的共享內存結構)以及 CICS 事務管理器或 DB2 Connect 分布式客戶機網關(如果配置中有這些組件的話)。這種優化是可行的,因為 DB2 for z/OS 數據共享只需要使用一個操作系統和一個晶元組(IBM System z 微處理器)。在 DB2 for LUW 環境中不可能進行這樣的功能分布,因為這樣的環境需要支持多個操作系統和多個伺服器硬體平台;因此,DB2 for LUW 規模擴展解決方案基於最佳的非共享集群技術。無論採用哪種方式,組織都會得到所希望的效果:DBMS 不會阻礙業務的增長。 效率vs. 降低總體擁有成本 在評估各種數據服務解決方案的相關費用時,人們往往關注獲得硬體和軟體許可證的費用。軟體和硬體的價格固然重要,但是在與 DBMS 相關的總擁有成本(TCO)中這只佔很少的一部分。影響成本的其他因素包括: 管理資料庫系統所需的人數; 使用硬體資源(CPU 和硬碟存儲)的效率; 技術的培訓費用; 讓企業中的不同資料庫系統一起工作的難度; 先說說 DB2 for z/OS,因為某些范圍內它可以替代非常昂貴的基於大型機的解決方案。下面一些因素可以影響 System z 平台上的成本控制: 規模經濟 在DB2 for z/OS 系統上,可以處理非常大的工作負載;即使一連幾小時處於 90% 以上的利用率,數據服務大型機也能夠順利地運行。隨著事務處理量的增長,平台的單個事務成本會顯著降低。 性價比趨勢 盡管System z 平台是一種相當昂貴的系統(因為它提供了尖端的硬體和軟體技術),但是在過去幾年中,單位計算能力(通常用每秒百萬指令數或 MIPS 來衡量)的成本已經下降了。無論是來自 IBM 還是其他廠商的大型機軟體,其價格也比以前更有競爭力了。 可管理性 組織可以在大型機 DB2 系統上處理非常大的工作負載,而不需要大量的支持人員。DB2 for z/OS 系統程序員和 DBA 具有令人吃驚的生產效率的原因之一是,許多公司提供了豐富的大型機 DB2 工具;與之相關的另一個好處是,DB2 for z/OS 會產生豐富的跟蹤數據,前面提到的工具可以對這些數據進行格式化,而且成本往往非常低。DB2 for z/OS 支持人員還可以獲益於某些平台特性,比如系統管理的存儲,這個特性能夠讓 z/OS 操作系統在硬碟子系統中放置表和索引數據集(資料庫越大,系統管理的存儲的人員效率優勢就越顯著)。 數據存儲的空間效率高 DB2 for z/OS 伺服器硬體可以幫助進行數據壓縮,這可以將表空間存儲的硬碟空間需求降低 50%以上(我們在 CheckFree 常常觀察到 70% 或更好的壓縮效果,因為我們的表往往具有很長的行;長行的壓縮率一般好於短行)。由於 DB2 9 中的改進,在 Linux、Unix 和 Windows 伺服器上數據壓縮效果也很好了。 自治是什麼意思?這個詞是指 DB2 能夠自行完成以前需要 DBA 執行的大量工作。我們在 CheckFree 發現,通過使用 DB2 Design Advisor(DB2 for LUW 中內置的自治特性之一),效率得到了極大提高。Design Advisor 會分析與 DB2 工作負載相關聯的 SQL 語句,並為改進應用程序性能提出建議。我們的基於 AIX 的企業數據倉庫(EDW)使用帶 DPF 功能的 DB2,Design Advisor 對這個資料庫提出了修改某些表索引的建議,其效果讓我們非常滿意。 最後,還有協作方面的好處。CheckFree 的 IT 基礎設施有意地設計成包含多個平台(我們常常說的一句話是,「使用正確的工具完成工作」)。在我們最大的部門中,核心業務應用程序運行在一個大型機 parallel sysplex 上。這個部門的操作數據存儲(ODS)運行在一個單獨的 System z 伺服器上。我們的 EDW 運行在 IBM pSeries 伺服器集群上,CRM 應用程序運行在一個單獨的 Sun Solaris 伺服器上。這些系統有什麼共同點?它們都是基於 DB2 的。DBMS 具有共同的 「基因」,這會簡化平台之間的數據轉移,並增強人員配置的靈活性。最近,我們的大型機 DB2 團隊中 DBA 人員過剩(盡管這些系統已經增長了,這是一種便於管理的環境),而快速增長的 EDW 需要更多的 DBA 人力資源。我們讓一位 DB2 for z/OS DBA 轉入了 DB2 for LUW 團隊,他很快就適應了新的崗位。DB2 for z/OS 和 DB2 for LUW 之間存在 DBA 能夠察覺到的差異嗎?確實有差異,但是與 DB2 for z/OS 和在分布式系統伺服器上運行的非 DB2 DBMS 之間的差異相比,這些差異是很小的。 高可用性 vs. 拿起電話話筒就能聽到撥號音 在CheckFree,我們一直在為應用程序的可用性而努力。我們希望應用程序的可用性像電話撥號音那樣持續不斷,當您拿起電話話筒時,就一定會聽到撥號音。DB2 能夠提供這樣的可用性。單伺服器 DB2 系統已經能夠提供極其出色的可用性;多伺服器配置甚至能夠進一步提高可用性標准。 前面作為規模擴展解決方案提到了 parallel sysplex 上的 DB2 for z/OS 數據共享,這種技術也能夠在兩個方面提高可用性: 減小服務意外中斷的影響 如果數據共享組中的一個 DB2 子系統失敗了(無論是由於伺服器、操作系統還是 DB2 故障),那麼並不需要等待替代伺服器接管這個子系統的資料庫連接。組中的其他成員已經能夠訪問資料庫,工作負載會自動地從失敗的子系統轉移到其他 DB2 系統上。失敗並非毫無影響,因為在失敗的 DB2 子系統重新啟動之前,這個成員上運行的程序正在更新的資料庫頁面是不可訪問的;但是,在通常情況下,處於這種狀態的資料庫頁面所佔的百分比非常小,子系統的恢復是自動的(如果 「主」 伺服器和操作系統仍然可用,那麼會 「就地」 恢復;否則,在 sysplex 中的另一個伺服器上恢復)而且很快(在我們的環境中大約需要 90 秒)。與單獨的系統環境相比,數據共享組中的 DB2 失敗的影響要小得多。幾個月前,我們的生產數據共享組中發生了一次 DB2 for z/OS 故障,但是客戶都沒有察覺到。 幾乎完全消除有計劃的服務中斷 因為數據共享為所有 DB2 成員提供對資料庫中所有數據的讀/寫訪問,所以可以讓一個 DB2 子系統臨時停止運行,對它進行軟體維護,然後讓它重新運行,這個過程不會中斷應用程序的處理(當一個 DB2 成員停止運行時,應用程序通信量會轉給組中的其他成員)。這種功能讓我們能夠自由地對數據共享組進行維護,而不需要指定維護時間窗。 DB2 對於業務的意義 如果需要用業務人員能夠理解的方式討論 DB2,那麼可以試試下面這些詞彙。 可伸縮性:DB2 可以隨著業務而增長,而不是限制業務的發展; 效率:DB2 可以降低數據服務平台的總擁有成本(TCO),而數據服務平台是組織的應用程序的基礎。降低 TCO 就相當於增加收入; 服務質量:DB2 技術可以減少有計劃的應用程序系統中斷,還可以縮小意外服務中斷的影響和范圍。因此,能夠提高服務質量和客戶忠誠度; 敏捷性:DB2 為訪問和管理傳統數據和非結構化數據提供了眾多可選方法;這種靈活性可以幫助組織對市場機遇做出快速響應。 對於LUW 環境,DB2 提供了一個多伺服器解決方案,這個方案能夠提供更高的可用性,但它使用的是在非大型機環境中更有意義的非共享體系結構。這個解決方案稱為 High Availability Disaster Recovery(HADR),它可以維護 DB2 for LUW 資料庫的一個拷貝(使用單獨的伺服器和硬碟存儲),這個拷貝與主資料庫保持精確的同步。HADR 的實現方法是,不斷地將事務日誌記錄發送給備用伺服器,備用伺服器實時地處理這些記錄。這種方法會讓備用資料庫與主資料庫同步,而且更新過的頁面的內存頁面緩沖區也與主伺服器上的緩沖區保持一致。因此,在主系統發生故障時,備用系統會非常快速地接管(通常只需要幾秒),而且不會丟失已經提交的資料庫更新。HADR 還可以按照非同步模式運行,這種模式適合長距離數據更新復制,在可以接受少量數據損失的情況下,這可以提供災難恢復功能。 HADR 也可以減少有計劃的服務中斷時間,因為它使 DB2 for LUW 的維護幾乎不需要維護時間窗。為使用 HADR 實現這種效果,DBA 應該臨時終止從主伺服器到備用伺服器的日誌記錄流,在備用伺服器上應用並激活軟體補丁,重新啟動日誌的傳輸,恢復同步(這個 「追趕期」 通常非常短);然後,通過一次用戶發起的接管,交換主伺服器和備用伺服器的角色(這個過程應該只需要花幾秒時間)。在此之後,重復前面的步驟,在 HADR 配置中原來的主伺服器(現在的備用伺服器)上應用並激活軟體補丁。 敏捷性 vs. 對新的需求做出快速響應 DB2 能夠幫助組織對挑戰和機遇做出快速響應,因為它能夠提供多個訪問 DB2 資料庫中的數據的路徑。您希望從 Java 應用程序訪問數據嗎?沒問題:DB2 提供了 JDBC 驅動程序並支持 SQLJ,因此能夠在 Java 應用程序中使用嵌入的預綁定的 SQL 語句。數據請求來自 Windows 系統上運行的 .Net 應用伺服器嗎?DB2 提供了 ADO.Net 驅動程序,並與 Microsoft 的 Visual Studio 應用程序開發工具集成。您希望使用伺服器端 SQL 嗎?DB2 存儲過程可以用幾種編程語言來編寫(包括 Java),也可以採用 SQL 存儲過程的形式。在大型機環境中廣泛使用的 CICS 和 IMS Transaction Manager 程序可以提供更多的伺服器端 SQL 方式。對於文件處理這樣的任務,批處理程序具有很高的效率。 通過DB2 與 IBM WebSphere MQ(一種消息排隊和傳遞技術)的集成,應用程序開發的靈活性會得到進一步增強。將 MQ 插入基於 DB2 的基礎結構中是一種增強系統彈性的好方法:如果應用程序的 「處理消息」 的組件不可用(由於故障或有計劃的停機),那麼從客戶機系統收到的消息就會累積在隊列中,當不可用的應用程序組件再次聯機時,它會繼續從隊列中獲取消息。從發送消息的用戶或客戶機應用程序的角度來看,並沒有出現服務中斷。MQ 隊列還有助於控制大幅度變化的工作負載量,其作用就像是汽車引擎散熱器的附屬水箱:消息處理應用程序可以按照自己的節奏處理消息;如果消息到達的速度超過了處理消息的速度,那麼消息就會累積在隊列中,而不會造成 「目標」 伺服器過載。DB2 和 MQ 組合的優點還包括:協調的提交和回退(如果程序在 DB2 表中插入一行並在 MQ 隊列中放一個消息,那麼當這個程序失敗時,DB2 和 MQ 更改會回退到最近的提交點);DB2 函數支持程序使用 SQL 語句與 MQ 交互;MQ 實用程序與 DB2 實用程序非常相似,因此 DB2/MQ 的交叉培訓非常容易。 數據級別上的靈活性怎麼樣呢?DB2 可以存儲和管理傳統的文本和數字數據,還可以非常高效地管理大對象(LOB),比如文檔、圖像和音頻文件。DB2 9 引入了先進的 XML 數據存儲特性,在存儲 XML 文檔時可以保留數據元素的結構特性,還可以使用 SQL 或 XQuery 高效地訪問數據。當然,可以在 DBMS 之外存儲 LOB 和 XML 文檔;但是,將這些數據類型存儲在 DB2 中,就可以為集成數據管理、安全性以及備份和恢復提供一個現成的解決方案。其結果是,管理和保護數據所需的時間更少了,可以留出更多的時間來開發使用數據的應用程序。 技術的最終目的 我很喜歡談論在各個平台上 DB2 中使用的高級技術。但是,技術必須能夠幫助我的公司實現業務目標;否則,就是浪費資金。大多數業務人員對 IT 產品的要求只有幾點:產品必須能夠工作(可靠性),它們不能限制公司在市場上的作為(增長和創新)。DB2 在 CheckFree 的各個平台和應用環境中表現出了這些品質。業務人員需要的就是這些;技術人員請務必注意這一點。

C. 大話存儲的目錄

第1章 盤古開天--存儲系統的前世今生 1
1.1 存儲歷史. 2
1.2 信息. 數據和數據存儲 5
1.2.1 信息 5
1.2.2 什麼是數據 7
1.2.3 數據存儲 7
1.3 用計算機來處理信息. 保存數據 8
第2章 IO大法--走進計算機IO世界 11
2.1 IO的通路--匯流排 12
2.2 計算機內部通信 13
2.2.1 IO匯流排可以看作網路么 14
2.2.2 CPU. 內存和磁碟之間通過網路來通信 15
2.3 網中之網 17
第3章 磁碟大挪移--磁碟原理與技術詳解 19
3.1 硬碟結構 20
3.1.1 碟片上的數據組織 22
3.1.2 硬碟控制電路簡介 28
3.1.3 磁碟的IO單位 29
3.2 磁碟的通俗演繹 30
3.3 磁碟相關高層技術 32
3.3.1 磁碟中的隊列技術 32
3.3.2 無序傳輸技術 33
3.3.3 幾種可控磁頭掃描方式評論 34
3.3.4 關於磁碟緩存 36
3.3.5 影響磁碟性能的因素 36
3.4 硬碟介面技術 37
3.4.1 IDE硬碟介面 37
3.4.2 SATA硬碟介面 40
3.5 SCSI硬碟介面 43
3.6 磁碟控制器. 驅動器控制電路和磁碟控制器驅動程序 50
3.6.1 磁碟控制器 50
3.6.2 驅動器控制電路 51
3.6.3 磁碟控制器驅動程序 51
3.7 內部傳輸速率和外部傳輸速率 53
3.7.1 內部傳輸速率 53
3.7.2 外部傳輸速率 54
3.8 並行傳輸和串列傳輸 54
3.8.1 並行傳輸 54
3.8.2 串列傳輸 55
3.9 磁碟的IOPS和傳輸帶寬(吞吐量) 56
3.9.1 IOPS 56
3.9.2 傳輸帶寬 57
3.10 小結:網中有網, 網中之網 58
第4章 七星北斗--大話/詳解七種RAID 59
4.1 大話七種RAID武器 60
4.1.1 RAID 0陣式 60
4.1.2 RAID 1陣式 62
4.1.3 RAID 2陣式 64
4.1.4 RAID 3陣式 67
4.1.5 RAID 4陣式 71
4.1.6 RAID 5陣式 72
4.1.7 RAID 6陣式 76
4.2 七種RAID技術詳解 78
4.2.1 RAID 0技術詳析 80
4.2.2 RAID 1技術詳析 82
4.2.3 RAID 2技術詳析 83
4.2.4 RAID 3技術詳析 85
4.2.5 RAID 4技術詳析 87
4.2.6 RAID 5技術詳析 90
4.2.7 RAID 6技術詳析 93
第5章 降龍傳說--RAID. 虛擬磁碟. 卷和文件系統實戰 95
5.1 操作系統中RAID的實現和配置 96
5.1.1 Windows Server 2003高級磁碟管理 96
5.1.2 Linux下軟RAID配置示例 105
5.2 RAID卡 107
5.3 磁碟陣列 119
5.4 實現更高級的RAID 119
5.4.1 RAID 50 119
5.4.2 RAID 10和RAID 01 120
5.5 虛擬磁碟 120
5.5.1 RAID組的再劃分 121
5.5.2 同一通道存在多種類型的RAID組 121
5.5.3 操作系統如何看待邏輯磁碟 122
5.5.4 RAID控制器如何管理邏輯磁碟 122
5.6 卷管理層 123
5.6.1 有了邏輯盤就萬事大吉 124
5.6.2 卷管理層 125
5.6.3 Linux下配置LVM實例 126
5.6.4 卷管理軟體的實現 128
5.6.5 低級VM和高級VM 130
5.6.6 VxVM卷管理軟體配置簡介 131
5.7 大話文件系統 134
5.7.1 成何體統--沒有規矩的倉庫 134
5.7.2 慧眼識人--交給下一代去設計 135
5.7.3 無孔不入--不浪費一點空間 136
5.7.4 一箭雙雕--一張圖解決兩個難題 137
5.7.5 寬容似海--設計也要像心胸一樣寬 139
5.7.6 老將出馬--權威發布 139
5.7.7 一統江湖--所有操作系統都在用 140
5.8 文件系統中的IO方式 140
第6章 陣列之行--大話磁碟陣列 143
6.1 初露端倪--外置磁碟櫃應用探索 144
6.2 精益求精--結合RAID卡實現外置磁碟陣列 145
6.3 獨立宣言--獨立的外部磁碟陣列 147
6.4 雙龍戲珠--雙控制器的高安全性磁碟陣列 149
6.5 龍頭鳳尾--連接多個擴展櫃 150
6.6 錦上添花--完整功能的模塊化磁碟陣列 152
6.7 一脈相承--主機和磁碟陣列本是一家 153
6.8 天羅地網--SAN(Storage Area Network)存儲區域網路 154
第7章 熟讀寶典--系統與系統之間的語言OSI 155
7.1 人類模型與計算機模型的對比剖析 156
7.1.1 人類模型 156
7.1.2 計算機模型 157
7.1.3 個體間交流是群體進化的動力 158
7.2 系統與系統之間的語言--OSI初步 158
7.3 OSI模型的七個層次 159
7.3.1 應用層 160
7.3.2 表示層 160
7.3.3 會話層 160
7.3.4 傳輸層 160
7.3.5 網路層 161
7.3.6 數據鏈路層 162
7.3.7 物理層 165
7.4 OSI與網路 166
第8章 勇破難關--Fibre Channel協議詳解 169
8.1 FC網路--極佳的候選角色 170
8.1.1 物理層 170
8.1.2 鏈路層 171
8.1.3 網路層 172
8.1.4 傳輸層 178
8.1.5 上三層 179
8.1.6 小結 179
8.2 FC協議中的七種埠類型 180
8.2.1 N埠和F埠 180
8.2.2 L埠 180
8.2.3 NL埠和FL埠 181
8.2.4 E埠 183
8.2.5 G埠 183
8.3 FC適配器 184
8.4 改造盤陣前端通路--SCSI遷移到FC 185
8.5 引入FC之後 186
第9章 天翻地覆--FC協議的巨大力量 191
9.1 FC交換網路替代並行SCSI匯流排的必然性 192
9.1.1 面向連接與面向無連接 192
9.1.2 串列和並行 193
9.2 不甘示弱--後端也升級換代為FC 193
9.3 FC革命--完整的盤陣解決方案 195
9.3.1 FC磁碟介面結構.. 195
9.3.2 一個磁碟同時連入兩個控制器的Loop中 196
9.3.3 共享環路還是交換--SBOD晶元級詳解 197
9.4 中高端磁碟陣列整體架構簡析 208
9.4.1 IBM DS4800控制器架構簡析 209
9.4.2 NetApp FAS系列磁碟陣列控制器簡析 212
9.4.3 IBM DS8000簡介 213
9.4.4 富士通ETERNUS6000磁碟陣列控制器結構簡析 214
9.4.5 EMC公司CX及DMX系列盤陣介紹 216
9.4.6 HDS公司USP系列盤陣介紹 217
9.5 磁碟陣列配置實踐 218
9.5.1 基於IBM的DS4500盤陣的配置實例 218
9.5.2 基於EMC的CX700磁碟陣列配置實例 227
9.6 小結 230
第10章 三足鼎立--DAS, SAN和NAS 233
10.1 NAS也瘋狂 234
10.1.1 另闢蹊徑--亂彈NAS的起家 234
10.1.2 雙管齊下--兩種方式訪問的後端存儲網路 237
10.1.3 萬物歸一--網路文件系統 238
10.1.4 美其名曰--NAS(Network Attached Storage網路附加存儲) 246
10.2 龍爭虎鬥--NAS與SAN之爭 247
10.3 三足鼎立--DAS. SAN和NAS 250
10.4 最終幻想--將文件系統語言承載於FC網路傳輸 251
10.5 長路漫漫--系統架構進化過程 251
10.5.1 第一階段:全整合階段 252
10.5.2 第二階段:磁碟外置階段 252
10.5.3 第三階段:外部獨立磁碟陣列階段 252
10.5.4 第四階段:網路化獨立磁碟陣列階段 253
10.5.5 第五階段:瘦伺服器主機. 獨立NAS階段 253
10.5.6 第六階段:全分離式架構 253
10.5.7 第七階段:能量積聚, 混沌階段 254
10.5.8 第八階段:收縮階段 254
10.5.9 第九階段:強烈坍縮階段 255
10.6 泰山北斗--NetApp的NAS產品 255
10.6.1 WAFL配合RAID 4 256
10.6.2 Data ONTAP利用了資料庫管理系統的設計 257
10.6.3 利用NVRAM來記錄操作日誌 257
10.6.4 WAFL從不覆寫數據 258
10.7 初露鋒芒--BlueArc公司的NAS產品 258
第11章 大師之作--大話乙太網和TCP/IP協議 261
11.1 共享匯流排式乙太網 262
11.1.1 連起來 262
11.1.2 找目標 262
11.1.3 發數據 263
11.2 網橋式乙太網 264
11.3 交換式乙太網 265
11.4 TCP/IP協議 266
11.4.1 TCP/IP協議中的IP 266
11.4.2 IP的另外一個作用 267
11.4.3 TCP/IP協議中的TCP和UDP 268
11.5 TCP/IP和乙太網的關系 271
第12章 異軍突起--存儲網路的新軍IP SAN 273
12.1 橫眉冷對--TCP/IP與FC 274
12.2 自嘆不如--為何不是乙太網+TCP/IP 274
12.3 天生我才必有用--攻陷Disk SAN陣地 275
12.4 ISCSI交互過程簡析 275
12.4.1 實例一:初始化磁碟過程 276
12.4.2 實例二:新建一個文本文檔 278
12.4.3 實例三:文件系統點陣圖 281
12.5 ISCSI磁碟陣列 283
12.6 IP SAN 284
12.7 增強乙太網和TCP/IP的性能 285
12.8 FC SAN節節敗退 286
12.9 ISCSI配置應用實例 287
12.9.1 第一步:在存儲設備上創建LUN 287
12.9.2 第二步:在主機端掛載LUN 289
12.10 小結 292
第13章 握手言和--IP與FC融合的結果 293
13.1 FC的窘境 294
13.2 協議融合的迫切性 295
13.3 網路通信協議的四級結構 299
13.4 協議融合的三種方式 300
13.5 Tunnel和Map融合方式各論 301
13.5.1 Tunnel方式 302
13.5.2 Map方式 303
13.6 FC與IP協議之間的融合 305
13.7 無處不在的協議融合 306
13.8 交叉融合 306
13.9 IFCP和FCIP的具體實現 307
13.10 局部隔離/全局共享的存儲網路 309
13.11 多協議混雜的存儲網路 310
第14章 變幻莫測--虛擬化 313
14.1 操作系統對硬體的虛擬化 314
14.2 計算機存儲子系統的虛擬化 316
14.3 帶內虛擬化和帶外虛擬化 319
14.4 硬網路與軟網路 323
14.5 用多台獨立的計算機模擬成一台虛擬計算機 323
14.6 用一台獨立的計算機模擬出多台虛擬計算機 324
14.7 用磁碟陣列來虛擬磁帶庫 324
14.7.1 NetApp VTL700配置使用實例 325
第15章 眾志成城--存儲群集 337
15.1 群集概述 338
15.1.1 高可用性群集(HAC) 338
15.1.2 負載均衡群集(LBC) 338
15.1.3 高性能群集(HPC) 338
15.2 群集的適用范圍 339
15.3 系統路徑上的群集各論 339
15.3.1 硬體層面的群集 339
15.3.2 軟體層面的群集 341
15.4 實例:Microsoft MSCS軟體實現應用群集 341
15.4.1 在Microsoft Windows Server 2003上安裝MSCS 342
15.4.2 配置心跳網路 344
15.4.3 測試安裝 344
15.4.4 測試故障轉移 345
15.5 實例:SQL Server群集安裝配置 345
15.5.1 安裝SQL Server 345
15.5.2 驗證SQL 資料庫群集功能 348
15.6 小結:世界本身就是一個群集 351
第16章 未雨綢繆--數據保護和備份技術 353
16.1 數據保護 354
16.1.1 數據保護的方法 354
16.2 高級數據保護方法 355
16.2.1 遠程文件復制 355
16.2.2 遠程磁碟(卷)鏡像 356
16.2.3 塊(快)照數據保護 356
16.2.4 Continuous Data Protect(CDP, 連續數據保護) 363
16.3 數據備份系統的基本要件 367
16.3.1 備份目的 368
16.3.2 備份通路 371
16.3.3 備份引擎 373
16.3.4 三種備份方式 377
16.3.5 數據備份系統案例一 378
16.3.6 數據備份系統案例二 379
16.3.7 NetBackup配置指南 380
16.3.8 配置DB2資料庫備份 392
第17章 愚公移山--大話數據容災 399
17.1 容災概述 400
17.2 生產資料容災--原始數據的容災 401
17.2.1 通過主機軟體實現前端專用網路或者前端公用網路同步 402
17.2.2 案例:DB2數據的HADR組件容災 405
17.2.3 通過主機軟體實現後端專用網路同步 411
17.2.4 通過數據存儲設備軟體實現專用網路同步 415
17.2.5 案例:IBM公司Remote Mirror容災實施 416
17.2.6 小結 421
17.3 容災中數據的同步復制和非同步復制 421
17.3.1 同步復制例解 421
17.3.2 非同步復制例解 423
17.4 生產者的容災--伺服器應用程序的容災 424
17.4.1 生產者容災概述 424
17.4.2 案例一:基於Symantec公司的應用容災產品VCS 428
17.4.3 案例二:基於Symantec公司的應用容災產品VCS 431
附錄 五百年後--系統架構將
走向何方 435
後記

D. 如何最有效地使用DB2 HADR備用資料庫

說明:
下面的代碼演示了如何利用日誌還原功能,將主資料庫中的數據變化及時反饋到備用資料庫中
備用資料庫的數據可以隨時用於查詢,但不能被更新(備用資料庫只讀)。
--*/

--首先,創建一個演示用的資料庫(主資料庫)
CREATE DATABASE Db_test
ON
( NAME = Db_test_DATA,
FILENAME = 'c:\Db_test.mdf' )
LOG ON
( NAME = Db_test_LOG,
FILENAME = 'c:\Db_test.ldf')
GO

--對資料庫進行備份
BACKUP DATABASE Db_test TO DISK='c:\test_data.bak' WITH FORMAT
GO

--把資料庫還原成備用資料庫(演示主資料庫與這個備用資料庫之間的同步)
RESTORE DATABASE Db_test_bak FROM DISK='c:\test_data.bak'
WITH REPLACE,STANDBY='c:\db_test_bak.ldf'
,MOVE 'Db_test_DATA' TO 'c:\Db_test_data.mdf'
,MOVE 'Db_test_LOG' TO 'c:\Db_test_log.ldf'
GO

--啟動 SQL Agent 服務
EXEC master..xp_cmdshell 'net start sqlserveragent',no_output
GO

--創建主伺服器數據訓與備用伺服器資料庫之間同步的作業
DECLARE @jogid uniqueidentifier
EXEC msdb..sp_add_job
@job_id = @jogid OUTPUT,
@job_name = N'數據同步處理'

--創建同步處理步驟
EXEC msdb..sp_add_jobstep
@job_id = @jogid,
@step_name = N'數據同步',
@subsystem = 'TSQL',
@command = N'
--主資料庫中進行日誌備份
BACKUP LOG Db_test TO DISK=''c:\test_log.bak'' WITH FORMAT

--備用資料庫中還原主資料庫的日誌備份(應用主資料庫中的最新變化
--實際應該時主資料庫備份與備用資料庫的還原作業應該分別在主伺服器和備用伺服器上建立,並且備份文件應該放在主伺服器和備用都能訪問的共享目錄中
RESTORE LOG Db_test_bak FROM DISK=''c:\test_log.bak'' WITH STANDBY=''c:\test_log.ldf''',
@retry_attempts = 5,
@retry_interval = 5

--創建調度(每分鍾執行一次)
EXEC msdb..sp_add_jobschele
@job_id = @jogid,
@name = N'時間安排',
@freq_type=4,
@freq_interval=1,
@freq_subday_type=0x4,
@freq_subday_interval=1,
@freq_recurrence_factor=1

-- 添加目標伺服器
EXEC msdb.dbo.sp_add_jobserver
@job_id = @jogid,
@server_name = N'(local)'
GO

--通過上述處理,主資料庫與備用資料庫之間的同步關系已經設置完成
--下面開始測試是否能實現同步

--在主資料庫中創建一個測試用的表
CREATE TABLE Db_test.dbo.TB_test(ID int)
GO

--等待1分鍾30秒(由於同步的時間間隔設置為1分鍾,所以要延時才能看到效果)
WAITFOR DELAY '00:01:30'
GO

--查詢一下備用資料庫,看看同步是否成功
SELECT * FROM Db_test_bak.dbo.TB_test

/*--結果:
ID
-----------

(所影響的行數為 0 行)
--*/

--測試成功
GO

--最後刪除所有的測試
DROP DATABASE Db_test,Db_test_bak
EXEC msdb..sp_delete_job @job_name=N'數據同步處理'
GO

/*===========================================================*/

/*--伺服器檔機處理說明
使用這種方式建立的資料庫同步,當主資料庫不可用時(例如,主資料庫損壞或者停機檢修)
可以使用以下兩種方法使備用資料庫可用。
--*/

--1. 如果主資料庫損壞,無法備份出最新的日誌,可以直接使用下面的語句使備用資料庫可讀寫(丟失最近一次日誌還原後的所有數據)。
RESTORE LOG Db_test_bak WITH RECOVERY

--2. 如果主資料庫可以備份出最新日誌,則可以使用下面的語句。
--先備份主資料庫的最新的事務日誌
BACKUP LOG Db_test TO DISK=''c:\test_log.bak'' WITH FORMAT
--再在備用資料庫中恢復最新的事務日誌,並且使備用資料庫可讀寫(升級為主資料庫)
RESTORE LOG Db_test_bak FROM DISK='c:\test_log.bak'

E. unix環境高級編 v節點是存放在內存中的嗎

但是,如果談話的對方是管理層的成員,那麼會怎麼樣?公司管理者們關心的主要問題是收入的增長、成本控制、產品質量和產品投入市場的時間。一般來說,這些人並不關心鎖的粒度、伺服器內存管理和 SQL 語句優化這樣的技術問題。他們並不關心 DB2 技術本身的特色(盡管 DB2 技術是很酷的),而是關心 DB2 對於實現組織目標能夠有哪些作用。本文將幫助使用 DB2 的人從業務價值的角度討論 DB2 技術。 許多技術人員可以輕松地討論 DB2 技術的細節,很自信地談論查詢並行化、數據壓縮、WebSphere MQ 集成、大對象管理、JDBC 和 ADO.Net 驅動程序、大型機 Parallel Sysplex 上的數據共享、DB2 for Linux, Unix, and Windows(LUW)多維集群等等話題。但是,如果談話的對方是管理層的成員,那麼會怎麼樣?公司管理者們關心的主要問題是收入的增長、成本控制、產品質量和產品投入市場的時間。一般來說,這些人並不關心鎖的粒度、伺服器內存管理和 SQL 語句優化這樣的技術問題。他們並不關心 DB2 技術本身的特色(盡管 DB2 技術是很酷的),而是關心 DB2 對於實現組織目標能夠有哪些作用。日常使用 DB2 的任何人都應該能夠從業務價值的角度討論 DB2 技術。 通過我在 CheckFree Corp. 的經驗,我總結出了一個關鍵領域列表,在這些領域中 DB2 技術可以提供業務人員能夠感受到的價值。 可伸縮性 vs. 隨著業務增長 單伺服器 DB2 系統(無論是運行在大型機上,還是運行在高端 Linux、Unix 或 Windows 伺服器上)可以為 OLTP、業務智能(BI)或組合工作負載提供巨大的吞吐量。吞吐量大主要是由於 DB2 利用了 64 位伺服器內存定址、新穎的 I/O 優化特性(比如列表預獲取)、預優化的 SQL(DB2 專業人員將其稱為靜態 SQL)以及高級工作負載管理功能。但是,在擴張迅速的業務環境中,數據訪問請求量會快速增長,單伺服器系統的能力可能不足以處理未來的請求量。業務領導肯定不希望業務的增長受到數據伺服器可伸縮性的限制。這就是規模擴展(scale-out)的重要之處,而可伸縮性正是 DB2 真正占據優勢的領域。 在這個上下文中,「規模擴展」 這個詞指的是能夠將針對單一邏輯映像資料庫的工作負載分散到多個物理伺服器上。有兩個 DB2 規模擴展解決方案:大型機集群(稱為 Parallel Sysplex)上的數據共享和在 Linux、Unix 或 Windows 伺服器集群上實現的 Data Partitioning Feature(DPF)。這兩種技術都是在行業中領先的技術。DB2 for z/OS 數據共享能夠支持企業從最多 32 個 DB2 子系統對一個共享資料庫進行並發讀/寫訪問(這些子系統可以運行在許多大型機系統上,也可以運行在少量物理伺服器上,每個伺服器上有多個 DB2 子系統)。這個解決方案不是市場上惟一的共享數據 DBMS 規模擴展解決方案,但是其他任何技術都無法提供 DB2 for z/OS 數據共享組這樣好的 CPU 效率(真正並發的節點間讀/寫數據訪問的 CPU 開銷非常低)。 帶DPF 功能的 DB2 能夠在 Linux、Unix 或 Windows 環境中提供無以倫比的規模擴展能力。可以在一個 DB2 DPF 系統中配置數以百計的伺服器;每個伺服器提供對單一邏輯映像資料庫的一個物理子集的訪問(一個散列演算法將給定的資料庫表的行分散到 DBA 指定的節點上)。市場上也有其他的非共享(shared-nothing) DBMS 規模擴展解決方案,但是其他解決方案都無法像帶 DPF 功能的 DB2 那樣兼具易用性和靈活性,因為 DPF 功能是嵌入在 DB2 for LUW 數據服務引擎中的。 對於共享數據和非共享 DBMS 體系結構孰優孰劣的問題,人們還在爭論;但是,這兩種 DB2 解決方案對於底層伺服器平台都是非常合適的。DB2 for z/OS 數據共享的 CPU 開銷非常低,這是因為它使用的函數以優化的方式分散在整個 Parallel Sysplex 軟體結構中:z/OS 操作系統、DB2 DBMS、Coupling Facility Control Code(它管理全局鎖和數據緩沖所用的共享內存結構)以及 CICS 事務管理器或 DB2 Connect 分布式客戶機網關(如果配置中有這些組件的話)。這種優化是可行的,因為 DB2 for z/OS 數據共享只需要使用一個操作系統和一個晶元組(IBM System z 微處理器)。在 DB2 for LUW 環境中不可能進行這樣的功能分布,因為這樣的環境需要支持多個操作系統和多個伺服器硬體平台;因此,DB2 for LUW 規模擴展解決方案基於最佳的非共享集群技術。無論採用哪種方式,組織都會得到所希望的效果:DBMS 不會阻礙業務的增長。 效率vs. 降低總體擁有成本 在評估各種數據服務解決方案的相關費用時,人們往往關注獲得硬體和軟體許可證的費用。軟體和硬體的價格固然重要,但是在與 DBMS 相關的總擁有成本(TCO)中這只佔很少的一部分。影響成本的其他因素包括: 管理資料庫系統所需的人數; 使用硬體資源(CPU 和硬碟存儲)的效率; 技術的培訓費用; 讓企業中的不同資料庫系統一起工作的難度; 先說說 DB2 for z/OS,因為某些范圍內它可以替代非常昂貴的基於大型機的解決方案。下面一些因素可以影響 System z 平台上的成本控制: 規模經濟 在DB2 for z/OS 系統上,可以處理非常大的工作負載;即使一連幾小時處於 90% 以上的利用率,數據服務大型機也能夠順利地運行。隨著事務處理量的增長,平台的單個事務成本會顯著降低。 性價比趨勢 盡管System z 平台是一種相當昂貴的系統(因為它提供了尖端的硬體和軟體技術),但是在過去幾年中,單位計算能力(通常用每秒百萬指令數或 MIPS 來衡量)的成本已經下降了。無論是來自 IBM 還是其他廠商的大型機軟體,其價格也比以前更有競爭力了。 可管理性 組織可以在大型機 DB2 系統上處理非常大的工作負載,而不需要大量的支持人員。DB2 for z/OS 系統程序員和 DBA 具有令人吃驚的生產效率的原因之一是,許多公司提供了豐富的大型機 DB2 工具;與之相關的另一個好處是,DB2 for z/OS 會產生豐富的跟蹤數據,前面提到的工具可以對這些數據進行格式化,而且成本往往非常低。DB2 for z/OS 支持人員還可以獲益於某些平台特性,比如系統管理的存儲,這個特性能夠讓 z/OS 操作系統在硬碟子系統中放置表和索引數據集(資料庫越大,系統管理的存儲的人員效率優勢就越顯著)。 數據存儲的空間效率高 DB2 for z/OS 伺服器硬體可以幫助進行數據壓縮,這可以將表空間存儲的硬碟空間需求降低 50%以上(我們在 CheckFree 常常觀察到 70% 或更好的壓縮效果,因為我們的表往往具有很長的行;長行的壓縮率一般好於短行)。由於 DB2 9 中的改進,在 Linux、Unix 和 Windows 伺服器上數據壓縮效果也很好了。 自治是什麼意思?這個詞是指 DB2 能夠自行完成以前需要 DBA 執行的大量工作。我們在 CheckFree 發現,通過使用 DB2 Design Advisor(DB2 for LUW 中內置的自治特性之一),效率得到了極大提高。Design Advisor 會分析與 DB2 工作負載相關聯的 SQL 語句,並為改進應用程序性能提出建議。我們的基於 AIX 的企業數據倉庫(EDW)使用帶 DPF 功能的 DB2,Design Advisor 對這個資料庫提出了修改某些表索引的建議,其效果讓我們非常滿意。 最後,還有協作方面的好處。CheckFree 的 IT 基礎設施有意地設計成包含多個平台(我們常常說的一句話是,「使用正確的工具完成工作」)。在我們最大的部門中,核心業務應用程序運行在一個大型機 parallel sysplex 上。這個部門的操作數據存儲(ODS)運行在一個單獨的 System z 伺服器上。我們的 EDW 運行在 IBM pSeries 伺服器集群上,CRM 應用程序運行在一個單獨的 Sun Solaris 伺服器上。這些系統有什麼共同點?它們都是基於 DB2 的。DBMS 具有共同的 「基因」,這會簡化平台之間的數據轉移,並增強人員配置的靈活性。最近,我們的大型機 DB2 團隊中 DBA 人員過剩(盡管這些系統已經增長了,這是一種便於管理的環境),而快速增長的 EDW 需要更多的 DBA 人力資源。我們讓一位 DB2 for z/OS DBA 轉入了 DB2 for LUW 團隊,他很快就適應了新的崗位。DB2 for z/OS 和 DB2 for LUW 之間存在 DBA 能夠察覺到的差異嗎?確實有差異,但是與 DB2 for z/OS 和在分布式系統伺服器上運行的非 DB2 DBMS 之間的差異相比,這些差異是很小的。 高可用性 vs. 拿起電話話筒就能聽到撥號音 在CheckFree,我們一直在為應用程序的可用性而努力。我們希望應用程序的可用性像電話撥號音那樣持續不斷,當您拿起電話話筒時,就一定會聽到撥號音。DB2 能夠提供這樣的可用性。單伺服器 DB2 系統已經能夠提供極其出色的可用性;多伺服器配置甚至能夠進一步提高可用性標准。 前面作為規模擴展解決方案提到了 parallel sysplex 上的 DB2 for z/OS 數據共享,這種技術也能夠在兩個方面提高可用性: 減小服務意外中斷的影響 如果數據共享組中的一個 DB2 子系統失敗了(無論是由於伺服器、操作系統還是 DB2 故障),那麼並不需要等待替代伺服器接管這個子系統的資料庫連接。組中的其他成員已經能夠訪問資料庫,工作負載會自動地從失敗的子系統轉移到其他 DB2 系統上。失敗並非毫無影響,因為在失敗的 DB2 子系統重新啟動之前,這個成員上運行的程序正在更新的資料庫頁面是不可訪問的;但是,在通常情況下,處於這種狀態的資料庫頁面所佔的百分比非常小,子系統的恢復是自動的(如果 「主」 伺服器和操作系統仍然可用,那麼會 「就地」 恢復;否則,在 sysplex 中的另一個伺服器上恢復)而且很快(在我們的環境中大約需要 90 秒)。與單獨的系統環境相比,數據共享組中的 DB2 失敗的影響要小得多。幾個月前,我們的生產數據共享組中發生了一次 DB2 for z/OS 故障,但是客戶都沒有察覺到。 幾乎完全消除有計劃的服務中斷 因為數據共享為所有 DB2 成員提供對資料庫中所有數據的讀/寫訪問,所以可以讓一個 DB2 子系統臨時停止運行,對它進行軟體維護,然後讓它重新運行,這個過程不會中斷應用程序的處理(當一個 DB2 成員停止運行時,應用程序通信量會轉給組中的其他成員)。這種功能讓我們能夠自由地對數據共享組進行維護,而不需要指定維護時間窗。 DB2 對於業務的意義 如果需要用業務人員能夠理解的方式討論 DB2,那麼可以試試下面這些詞彙。 可伸縮性:DB2 可以隨著業務而增長,而不是限制業務的發展; 效率:DB2 可以降低數據服務平台的總擁有成本(TCO),而數據服務平台是組織的應用程序的基礎。降低 TCO 就相當於增加收入; 服務質量:DB2 技術可以減少有計劃的應用程序系統中斷,還可以縮小意外服務中斷的影響和范圍。因此,能夠提高服務質量和客戶忠誠度; 敏捷性:DB2 為訪問和管理傳統數據和非結構化數據提供了眾多可選方法;這種靈活性可以幫助組織對市場機遇做出快速響應。 對於LUW 環境,DB2 提供了一個多伺服器解決方案,這個方案能夠提供更高的可用性,但它使用的是在非大型機環境中更有意義的非共享體系結構。這個解決方案稱為 High Availability Disaster Recovery(HADR),它可以維護 DB2 for LUW 資料庫的一個拷貝(使用單獨的伺服器和硬碟存儲),這個拷貝與主資料庫保持精確的同步。HADR 的實現方法是,不斷地將事務日誌記錄發送給備用伺服器,備用伺服器實時地處理這些記錄。這種方法會讓備用資料庫與主資料庫同步,而且更新過的頁面的內存頁面緩沖區也與主伺服器上的緩沖區保持一致。因此,在主系統發生故障時,備用系統會非常快速地接管(通常只需要幾秒),而且不會丟失已經提交的資料庫更新。HADR 還可以按照非同步模式運行,這種模式適合長距離數據更新復制,在可以接受少量數據損失的情況下,這可以提供災難恢復功能。 HADR 也可以減少有計劃的服務中斷時間,因為它使 DB2 for LUW 的維護幾乎不需要維護時間窗。為使用 HADR 實現這種效果,DBA 應該臨時終止從主伺服器到備用伺服器的日誌記錄流,在備用伺服器上應用並激活軟體補丁,重新啟動日誌的傳輸,恢復同步(這個 「追趕期」 通常非常短);然後,通過一次用戶發起的接管,交換主伺服器和備用伺服器的角色(這個過程應該只需要花幾秒時間)。在此之後,重復前面的步驟,在 HADR 配置中原來的主伺服器(現在的備用伺服器)上應用並激活軟體補丁。 敏捷性 vs. 對新的需求做出快速響應 DB2 能夠幫助組織對挑戰和機遇做出快速響應,因為它能夠提供多個訪問 DB2 資料庫中的數據的路徑。您希望從 Java 應用程序訪問數據嗎?沒問題:DB2 提供了 JDBC 驅動程序並支持 SQLJ,因此能夠在 Java 應用程序中使用嵌入的預綁定的 SQL 語句。數據請求來自 Windows 系統上運行的 .Net 應用伺服器嗎?DB2 提供了 ADO.Net 驅動程序,並與 Microsoft 的 Visual Studio 應用程序開發工具集成。您希望使用伺服器端 SQL 嗎?DB2 存儲過程可以用幾種編程語言來編寫(包括 Java),也可以採用 SQL 存儲過程的形式。在大型機環境中廣泛使用的 CICS 和 IMS Transaction Manager 程序可以提供更多的伺服器端 SQL 方式。對於文件處理這樣的任務,批處理程序具有很高的效率。 通過DB2 與 IBM WebSphere MQ(一種消息排隊和傳遞技術)的集成,應用程序開發的靈活性會得到進一步增強。將 MQ 插入基於 DB2 的基礎結構中是一種增強系統彈性的好方法:如果應用程序的 「處理消息」 的組件不可用(由於故障或有計劃的停機),那麼從客戶機系統收到的消息就會累積在隊列中,當不可用的應用程序組件再次聯機時,它會繼續從隊列中獲取消息。從發送消息的用戶或客戶機應用程序的角度來看,並沒有出現服務中斷。MQ 隊列還有助於控制大幅度變化的工作負載量,其作用就像是汽車引擎散熱器的附屬水箱:消息處理應用程序可以按照自己的節奏處理消息;如果消息到達的速度超過了處理消息的速度,那麼消息就會累積在隊列中,而不會造成 「目標」 伺服器過載。DB2 和 MQ 組合的優點還包括:協調的提交和回退(如果程序在 DB2 表中插入一行並在 MQ 隊列中放一個消息,那麼當這個程序失敗時,DB2 和 MQ 更改會回退到最近的提交點);DB2 函數支持程序使用 SQL 語句與 MQ 交互;MQ 實用程序與 DB2 實用程序非常相似,因此 DB2/MQ 的交叉培訓非常容易。 數據級別上的靈活性怎麼樣呢?DB2 可以存儲和管理傳統的文本和數字數據,還可以非常高效地管理大對象(LOB),比如文檔、圖像和音頻文件。DB2 9 引入了先進的 XML 數據存儲特性,在存儲 XML 文檔時可以保留數據元素的結構特性,還可以使用 SQL 或 XQuery 高效地訪問數據。當然,可以在 DBMS 之外存儲 LOB 和 XML 文檔;但是,將這些數據類型存儲在 DB2 中,就可以為集成數據管理、安全性以及備份和恢復提供一個現成的解決方案。其結果是,管理和保護數據所需的時間更少了,可以留出更多的時間來開發使用數據的應用程序。 技術的最終目的 我很喜歡談論在各個平台上 DB2 中使用的高級技術。但是,技術必須能夠幫助我的公司實現業務目標;否則,就是浪費資金。大多數業務人員對 IT 產品的要求只有幾點:產品必須能夠工作(可靠性),它們不能限制公司在市場上的作為(增長和創新)。DB2 在 CheckFree 的各個平台和應用環境中表現出了這些品質。業務人員需要的就是這些;技術人員請務必注意這一點。