1. 程式人生 > >SAP HANA分散式系統及高可用性(一)

SAP HANA分散式系統及高可用性(一)

在實際的生產環境中, SAP HANA的分散式系統很常見因為隨著資料量的擴充通常單機SAP HANA往往記憶體會越來越吃緊,所以有必要搭建分散式系統從而分散查詢壓力保持SAP HANA的高速性在另一方面在實際生產環境為了防止單機故障通常也會做HA, 以便當某個結點主機宕機之後系統能夠保持穩定.

以上便上SAP HANA分散式系統及高可用性的實際需要但是受限於測試條件需要多臺SAP HANA伺服器一般大家都沒有自己動手搭建過分散式HANA, 大部分都是在單機上做測試但是SAP HANA的分散式系統與我們平常印象中的分散式系統稍微有點不一樣

, SAP HANA中的分佈二字主要是指記憶體的分散式而不是指資料檔案分散式.

 有關分散式的基本概念

structofhana.png\

Host

一個主機指SAP HANA資料庫的執行的作業系統環境可以對應一臺物理機器.

Instance

例項是指在作業系統上安裝的SAP HANA的編號所以可以在同一個主機(Host)上安裝多個Instance是可以的對於多主機的SAP HANA 系統要求各個主機上的例項號都相同.

System

一個SAP HANA系統是指同一編號下的多個例項的集合是一個整體.

對於單主機系統的SAP HANA, 想必大家都很熟悉了以下簡單介紹一下多主機的

SAP HANA系統.

multihosthana.png

多主機系統的構架如上圖所示.

如上圖表示的SAP HANA系統例項號為01, 由三臺主機構成hana1, hana2, hana3 , 這三臺主機共享享儲存系統Storage Solution. 所以,前文筆者提到, SAP HANA中的分散式系統主要是指記憶體的分散式比如這裡記憶體分佈於hana1, hana2, hana3. 但是這三臺主機共享同一個儲存系統資料檔案並沒有分佈所以第一個問題就是那這個共享的儲存系統要是壞了怎麼辦 ? 答案簡單明瞭如果真這樣那麼SAP HANA系統的所以資料將丟失所以為了這個共享儲存系統的穩定性

需要做冗餘磁碟陣列等措施來保障這個共享儲存系統本身的高可靠性.

二 系統複製

system replication.png

系統複製是指另一個概念主要用途還是為了實現HA. 對於原生的SAP HANA系統Primary  System , 利用軟體跟硬體冗餘建立一個Secondary  System. Primary SystemSecondary System之間就不共享儲存了而是獨立儲存,但是二者的資料保持同步這樣一般其中一個系統壞掉了可以用另一個系統頂上去有關複製系統的具體實現及使用後面會有具體介紹.

 儲存解決方案

對於多主機的SAP HANA系統前面提到是基於共享儲存的解決方案的但是具體有哪些解決方案呢當前包括的解決方案包括NFS, GPFS, Storage Connector API. 如果你需要搭建一個分散式的SAP HANA 系統建立共享儲存系統是第一步需要做的下面分佈介紹這幾種方案.

NFS

NFS Network File System,  網路檔案系統它是一個CS構架結構如下圖所示有一臺NFS伺服器用來提供儲存服務客戶機上安裝客戶端然後建立網路對映之後可以像訪問本地檔案一樣去訪問遠端檔案. NFS最大的好處是配置起來比較方便簡單比如你需要測試分散式SAP HANA, 用這種儲存方案比其他兩種要方便得多在後面將要介紹的實驗中也是基於NFS搭建的SAP HANA分散式系統但是NFS效能不太好在實際生產環境並不推薦.

nfsserver.png

GPFS:

gpfs.png

GPFSIBM的商用檔案系統相對來說配置起來比較複雜一般需要由IBM的工程師來配置. GPFSNFS不一樣它並不是一個CS構架的儲存系統. GPFS 檔案系統基本上由三層架構組成:磁碟,網路共享磁碟(NSD), GPFS 檔案裝置.

GPFS 系統具有高效能,跨平臺,系統可擴充套件等優勢但是作為IBM的商用檔案系統其安裝與部署需要由IBM的工程師進行.

Storage Connector  API

有關Storage Connector API ,筆者瞭解得也不多好像需要專門的硬體支援SAP 的硬體合作伙伴一起開發通過Storage Connector API, 各主機之間可以不用共享儲存有各自的儲存空間通過Storageg Connector進行通訊其結構如下圖所示.

connectorapi.png

由於共享儲存系統是搭建分散式SAP HANA的基礎故在此先做了一些基本的介紹在後續文章中將具體介紹如何搭建分散式系統.