English  

 
產品介紹 > 存儲系統 > 存儲安全軟體 > PolyServe

存儲安全軟體-PolyServe
 

技術應用概覽

本文章說明HA和共享資料叢集的差別以及介紹PolyServe Matrix HA (故障切換應用軟體)和 PolyServe Matrix Server (叢集檔案系統和HA軟體)。目標是回答一般規劃和管理AP和資料庫叢集的人員的常會遇到的問題,例如:

  • 如何用到在一般HA叢集裡面所謂的Stand By節點 (如何做到全部是Active)?
  • Intel-based 伺服器怎麼能做到UNIX伺服器的可靠性和效能?
  • 為何HA軟體只適合低 I/O (比較偏向TCP/IP為主) 的應用程式?
  • 是否有更有效率的解決方案可以讓企業應用SAN存儲? (現在我有SAN,但是太多程式透過網路做資料共享 - 是否有甚麼方法可以讓HA伺服器共享SAN資料呢?)
  • 是否有比一般故障切換更可靠的、更有延展性的、適合一般企業程式的叢集解決方案?
Matrix Server整合完整HA功能和分散式叢集檔案系統 (c) PolyServe

因為企業經營的腳步越來越快,企業伺服器和應用程式都需要更高可用性、更高效能。近幾年CPU架構和作業系統平台的標準化帶來了一個新的趨勢 - 計算架構標準化。 Intel IA-32 (x86)伺服器、Windows或Linux作業系統和SAN存儲設備變了最有吸引力的企業計算基礎。不管是硬體成方面、本員工訓練方面或硬體維護方面,這個Intel-Windows/Linux-SAN組合對企業最有利。

一般HA Cluster提高可用性,但是不能滿足Data Center/Mission Critical環境的需求

Matrix Server(右)可透過光纖交換器的SNMP功能隔離有沒有反應的伺服器節點。此外,在Direct Attach 環境裡 Matrix Server 可透過伺服器管理卡進行I/O隔離。
傳統 HA 軟體,尤其是較舊 SCSI 存儲為主的叢集,使用兩種方式:
互相重新開機和自動重新開機。圖表示綠色的裝置是UPS; Srv One當機的時候, Svr Two 透過 RS232 關閉在開 Svr One 的電源以及讓服務切換到 Svr Two ; Svr One 回復當機情況。這種隔離方式(或watchdog daemon自動重新開機) 對資料完整性有不良的影響。

不過,Intel-based硬體目前仍然無法提供像高階、昂貴的UNIX伺服器一樣高可用性, 所以在企業環境裡,大部份伺服器必須具備高可用性軟體來保障高可用性。 HA軟體的任務就是監控伺服器、應用程式、網路和其他計算資源的狀況; HA軟體能偵測到伺服器、網路、應用程式或其他方面的失敗、釋放所使用的資源(例如SAN硬碟)、在其他伺服器上啟動所需要的資源(例如載入SAN的硬碟)以及啟動失敗伺服器的服務。有了HA軟體,企業可以用多台較便宜的Intel-based伺服器得到99.999%可用性(平均一年內5分鐘downtime)。

PolyServe Matrix HA是Intel-based架構上的領導產品。因為Matrix HA的現代設計於應用程式和硬體獨立, Matrix HA能夠對任何Windows和Linux資源提供計算基礎監控和高可用性。Matrix HA的安裝、使用和配置都非常方便。

PolyServe Matrix HA的使用者包含兩百多家大企業。台灣的使用者包含證交所、中華電信、台灣大哥大、等。企業使用Matrix HA來保護各種服務,例如:郵件伺服器、Oracle 8i,9i/IBM DB2/Sybase 1x/mySQL資料庫、檔案伺服器(Samba/CIFS、NFS)、等。

不過,任何Linux或Windows上的故障切換(HA)叢集軟體有一些缺點:

  • 沒有延展性:
    高等UNIX伺服器可以線上升級。Intel-based伺服器無法提供這種延展性。連HA叢集也需要切換才能做升級。 HA軟體本是提供延展性 - 企業還是必須買較大伺服器(比如說把2顆CPU伺服器換成8顆CPU伺服器)。
  • 資料完整性:
    企業資料中心的資料十分重要,所以伺服器必須保障資料完整性。HA叢集無法提供高度資料完整性的保障。 HA軟體無法解決兩個重要問題:第一,作業系統或網路失敗時,它可能會造成HA軟體不能正常運作,而且會在兩個伺服器間同時啟動一個服務而造成資料破壞。應用程式存取檔案系統時會建立鎖定(lock),其他應用程式才不會存取已被鎖定的檔案。不過兩個作業系統存取SAN硬碟時,還是只用自己的銷定資訊,所以被兩個伺服器存取的資料一定會破壞。第二,因為HA叢集的切換有硬碟載入/釋放的動作,伺服器很忙的時候它無法做快速釋放。如果HA軟體沒有時間限制,切換可能永遠不會發生。不過,如果HA軟體強制dismount/umount、資料可能會破壞。雖然這種情形很少,這兩問題讓資料中心不能運用Intel-based伺服器和HA軟體。
  • 管理性:
    因為其他方式較難管理,一般HA叢集使用所謂的「一對一」模式(一個伺服器是Primary、一個伺服器是Backup伺服器)。最後企業使用好幾個叢集而且應用程式部署、系統管理、資料備份、叢集監控變成很大的管理負擔。
  • 可靠性:
    採用shared disk的HA叢集(例如資料庫、NFS/CIFS檔案伺服器、郵件思伺服器),無論是Windows或Linux,無法保障故障切換。 Active伺服器節點當機的時候,雖然Passive伺服器可以發現Active伺服器有當機,Passive伺服器無法使 Active伺服器釋放共享硬碟(Windows上的dismount或Linux上的umount動作)。 Active伺服器因為當機關係也不能停止服務和/或釋放共享硬碟。大部份HA叢集使用"Reset Active伺服器"方法(Passive伺服器透過 RS-232或UPS做Active伺服器的reset)。這個做法不只貴(兩台伺服器需要UPS和其他硬體),它也不可靠:
    • 錯誤的故障切換或兩台伺服器同時開始存取硬碟(應用程式正常運作但是伺服器太忙所以沒有反應)會造成資料破壞。
      • 使用Quorum partition的HA叢集:I/O量很大或存儲連接中斷的時候
      • 使用SCSI Reservation的HA叢集:一個SCSI channel有幾個SCSI device (LUN)時候
    • 如果Active伺服器上的虛擬IP用"切回"配置,Active伺服器被reboot之後,虛擬IP和它的服務會從Passive伺服器切回來Active伺服器。如果Active伺服器真的有問題而再當機,Passive伺服器會再reset它。過了幾個reset,資料庫和其他應用程式很有可能會資料破壞。

Matrix Server的叢集檔案系統和High Availability Cluster讓Intel-based架構功能能滿足Mission Critical環境

PolyServe Matrix Server解決了所有的HA軟體缺點。第一,Matrix Server包含所有Matrix HA的高可用性功能(監視、切換)。第二,Matrix Server使用有叢集檔案系統 (Cluster File System; CFS),所以全部叢集的伺服器可以同時載入、存取共同SAN硬碟。此功能讓伺服器共享資料和應用程式,所以Matrix Server能夠解決叢集延展性、資料完整性、叢集管理和可用性的問題。 Matrix Server是唯一有HA功能和叢集檔案系統的軟體。

PolyServe Matrix Server - 所有叢集節點共享SAN硬碟

此做法有幾個重要突破:

  • 延展性
    Matrix Server提供水平延展性 - 企業資料中心可以從最小Matrix Server叢集(2個伺服器節點)延展到16個節點,而且叢集可以在線上升級(新增伺服器時候,叢集不需要重新啟動)。
  • 可靠性/高可用性
    Matrix Server的伺服器節點同時載入共享硬碟所以切換很快。Matrix Server叢集不會因為伺服器當機或其他因素造成切換失敗,所以Matrix Server的做法能夠保障99.999%可用性(比HA高十倍;一般HA叢集是fault resilient而不是fault tolerant),而且叢集的upgrade的時候服務不需要停止。每台伺服器可以用四片光纖HBA和四片網路卡。 Matrix Server支援有Multi Path IO (備份光纖通道可透過不同的FC Switch)功能、網路卡可以接不同的網路交換器、當機的叢集節點被隔離,所以Matrix Server沒有單一失敗點。
  • 管理性
    備份、應用程式、故障切換、硬碟存取都可以從任何一台伺服器執行,所以管理很方便。應用程式可以在SAN安裝所以伺服器只要有OS和Matrix Server軟體而不需要安裝應用程式。因為叢集節點共享SAN硬碟,紀錄檔案可以寫入SAN硬碟所以方便分析(無論伺服器節點有沒有online)。
  • 經濟效益
    企業可以用最有經濟效益的2-way或4-way Xeon CPU伺服器建立高效能server farm。因為叢集可以線上擴充,企業也不需要一開始就買太多伺服器和存儲空間。伺服器規格可以不一樣。有Matrix Server的可用性、效能和延展性的解決方案成本絕比Matrix Server叢集高。
  • 效能
    Matrix Server叢集可以擴充到16台伺服器。使用4顆CPU伺服器節點的企業可以擴充到64顆CPU(16節點*4CPU)效能的叢集。整體網路頻寬可以64Gbps (16伺服器節點*4片網卡*1Gbps;如果用Myrinet或Infiniband更高)、整體光纖頻寬可以128Gbps(16節點*4 FC HBA*2Gbps)。網路、記憶體、I/O的瓶頸都可以用Intel-based伺服器解決。

Matrix Server叢集節點(伺服器)同時共享SAN硬碟(psd5p1->/sanshared)

Matrix Server支援一般企業應用程式:Oracle 9i RAC、IBM DB2、Apache、sendmail、Samba、SQL、IIS、IBM WebSphere、等。任何標準Linux或Windows應用程式都可以在Matrix Server叢集運作。連標準系統程式都可以用到Matrix Server的硬碟共享功能;舉例來說,為了比較方便的security audit,多種伺服器可以把應用程式記錄檔案(/var/log/httpd/access_log)寫入SAN硬碟。

Matrix Server硬體需求包含(任何品牌)SAN存儲設備和Qlogic SANbox2/Brocade/McData光纖交換器、 Qlogic/Emulex 光纖卡。Matrix Server支援Linux (Red Hat Linux 7.3、Red Hat Linux Advanced Server 2.1、United Linux 1.0 Enterprise Server (SuSE/Turbolinux Enterprise Server 8))和Microsoft Windows (2000和2000 Advanced Server;2003(Q1/2004))。

 

PolyServe

    PolyServe產品介紹
    技術應用概覽