Sun Cluster 概念指南 (適用於 Solaris 作業系統)

第 4 章 常見問題

本章包含有關 Sun Cluster 系統最常見問題的解答。問題是依照主題來排列。

高度可用性常見問題

問題:

到底什麼是高可用性系統?

答案:

Sun Cluster 系統將高度可用性 (HA) 定義為叢集保持應用程式執行的能力。甚至發生一般會導致伺服器系統不可用的故障時,應用程式仍可執行。

問題:

叢集是利用何種處理程序來提供高可用性?

答案:

藉由故障轉移的處理程序,叢集框架提供高可用性的環境。故障轉移是叢集所執行的一系列步驟,可將應用程式從故障節點移轉至叢集中的另一個可作業節點上。

問題:

故障轉移與可延伸的資料服務之間的差異為何?

答案:

高度可用的資料服務共有兩種類型︰

故障轉移資料服務表示應用程式一次僅在叢集中的一個主要節點上執行。其他的節點可能執行其他的應用程式,但是每個應用程式僅執行於單一節點上。如果主要節點發生故障,則在此發生故障的節點上執行的應用程式會容錯移轉至其他節點並繼續執行。

可延伸服務將應用程式分散在多個節點,以建立單一、邏輯的服務。可延伸服務會利用其執行所在的整個叢集中的節點與處理器數目。

對於各個應用程式,一個節點擁有叢集的實體介面。此節點稱為「整體介面 (GIF) 節點」。叢集中可以存在多個 GIF 節點。每個 GIF 節點都擁有一個或多個可延伸服務可以使用的邏輯介面。這些邏輯介面稱為整體介面。一個 GIF 節點擁有用於處理針對特定應用程式之所有要求的整體介面,並可將這些要求派送至應用程式伺服器正在執行的多重節點上。如果 GIF 節點發生故障,則整體介面將故障轉移至存活節點。

如果應用程式在其上執行的任何節點發生故障,則應用程式會繼續在其他節點上執行,同時效能會有所降低。此過程會繼續,直至發生故障的節點返回到叢集中。

檔案系統常見問題

問題:

是否將執行一個或多個叢集節點作為高度可用的 NFS 伺服器可以並其將他叢集節點作為用戶端?

答案:

不,不要做回送裝載。

問題:

是否可以將叢集檔案系統用於不在 資源群組管理員 控制下的應用程式?

答案:

可以。然而,沒有 RGM 的控制,應用程式其上執行的節點發生故障後需要手動將其重新啟動。

問題:

是否所有節點檔案系統均必須在 /global 目錄下具有掛載點?

答案:

不是。然而,將叢集檔案系統放在相同的裝載點之下 (如 /global/),會使這些檔案系統的組織和管理有所改善。

問題:

使用叢集檔案系統和匯出 NFS 檔案系統之間的差異是什麼?

答案:

存在數處差異︰

  1. 叢集檔案系統支援整體裝置。NFS 不支援遠端存取裝置。

  2. 叢集檔案系統擁有全域名稱空間。只需要一個裝載指令。至於 NFS,您必須在每一個節點載設檔案系統。

  3. 叢集檔案系統快取檔案的機會多於 NFS。例如,當從多個節點對檔案進行讀取、寫入、檔案鎖定或非同步 I/O 存取時,叢集檔案系統會快取檔案。

  4. 建置叢集檔案系統,是為了利用提供遠程 DMA 和零複製功能的未來快速叢集交互連接。

  5. 如果您變更叢集檔案系統中某個檔案的特性 (例如,使用 chmod(1M)),此變更會立即反映到所有節點。使用匯出的 NFS 檔案系統,則此變更會花費更長的時間。

問題:

檔案系統 /global/.devices/node@nodeID 會顯示在我的叢集節點上。我可使用此系統檔,以儲存我想要讓其為高可用及整體的資料嗎?

答案:

這些系統檔會儲存整體裝置的名稱空間。這些檔案系統不是用於一般用途的。其為全域時,絕不會以全域方式存取 — 每個節點僅存取其自己的全域裝置名稱空間。假如節點當機了,其他節點就無法存取當機節點的名稱空間。這些檔案系統不具高可用性。它們不應用來儲存需為整體或高可用的資料

容體管理常見問題

問題:

是否需要鏡像所有的磁碟裝置?

答案:

對於要作為高可用性的磁碟裝置,必須要進行鏡像,或使用 RAID-5 硬體。所有的資料服務應該使用高可用性磁碟裝置,或裝載於高可用性磁碟裝置上的叢集檔案系統。這樣的配置可以容忍單一磁碟故障。

問題:

我可對本機磁碟 (開機磁碟) 使用一個容體管理程式,而對多重主機磁碟使用不同的容體管理程式嗎?

答案:

SPARC:此配置受 Solaris Volume Manager 軟體 (管理本機磁碟) 和 VERITAS Volume Manager (管理多重主機磁碟) 支援。但並不支援其他組合。

x86: 不,不支援此配置,因為在基於 x86 的叢集中僅支援 Solaris Volume Manager。

資料服務常見問題

問題:

哪些 Sun Cluster 資料服務是可用的?

答案:

「Sun Cluster 3.1 8/05 版本說明 (適用於 Solaris 作業系統)」中的「支援的產品」中提供了所支援的資料服務之清單。

問題:

Sun Cluster 資料服務支援哪些版本的應用程式?

答案:

「Sun Cluster 3.1 8/05 版本說明 (適用於 Solaris 作業系統)」中的「支援的產品」中提供了所支援的應用程式版本之清單。

問題:

我是否可寫入自己的資料服務?

答案:

可以。請參閱「Sun Cluster 資料服務開發者指南 (適用於 Solaris 作業系統)」中的第 11 章「DSDL API 函數」,以取得更多資訊。

問題:

在建立網路資源時,我是否該指定數字型的 IP 位址或主機名稱?

答案:

指定網路資源,最好是使用 UNIX 主機名稱,而非數字型 IP 位址。

問題:

在建立網路資源時,使用邏輯主機名稱 (LogicalHostname 資源) 或共用的位址 (SharedAddress 資源) 之間的差異是什麼?

答案:

除 Sun Cluster HA for NFS 的情況之外,文件建議在 Failover 模式資源群組中使用 LogicalHostname 資源時,便會交替使用 SharedAddress 資源或 LogicalHostname 資源。使用 SharedAddress 資源會導致一些額外的經常性耗用時間因為叢集網路軟體是針對 SharedAddress 而非 LogicalHostname 進行配置的。

當您配置了可延伸和容錯移轉兩種資料服務,並希望用戶端能夠透過使用同一主機名稱存取這兩種服務時,使用 SharedAddress 資源的優勢將得到證明。在這種情況下,SharedAddress 資源連同容錯移轉應用程式資源包含在一個資源群組中。可延伸服務資源包含在單獨的資源群組中,並配置為使用 SharedAddress 資源。然後可延伸和容錯移轉服務便均可使用配置在 SharedAddress 資源中的同一組主機名稱/位址。

公用網路常見問題

問題:

Sun Cluster 系統支援哪些公用網路配接卡?

答案:

目前,Sun Cluster 系統支援乙太網路 (10/100BASE-T 和 1000BASE-SX Gb) 公用網路配接卡。因為未來可能會支援新的介面,請洽詢您的 Sun 業務代表,以取得最新的資訊。

問題:

在故障轉移中 MAC 位址扮演的角色是什麼?

答案:

發生故障轉移時,會產生新的「位址解析度通訊協定 (Address Resolution Protocol,ARP)」封包並廣播到網路上。這些 ARP 封包包含新的 MAC 位址 (節點移轉後的新實體配接卡的位址) 和舊的 IP 位址。當網路上的其他機器接收到上述封包中的一個封包之後,該封包會從其 ARP 快取中清除舊的 MAC-IP 對映,而使用新對映。

問題:

Sun Cluster 系統是否支援設定 local-mac-address?=true

答案:

可以。實際上,IP 網路多重路徑要求 local-mac-address? 必須設定為 true

您可以在以 SPARC 為基礎的叢集中的 OpenBoot PROM ok 提示符號中,使用 eeprom(1M) 來設定local-mac-address?。您還可以在基於 x86 的叢集中,使用 BIOS 啟動後選擇性執行的 SCSI 公用程式來設定 MAC 位址。

問題:

Internet Protocol (IP) 網路多重路徑 在配接卡之間執行切換時要延遲多久?

答案:

延遲可以達數分鐘。因為當 Internet Protocol (IP) 網路多重路徑 執行切換備用時,此作業會傳送免費的 ARP。然而,您無法確保用戶端和叢集間的路由器將使用免費的 ARP。因此,直到在此路由器上 IP 位址的 ARP 快取項目逾時,項目才會使用無效的 MAC 位址。

問題:

偵測到網路配接卡故障的速度有多快?

答案:

預設的故障偵測時間為 10 秒。演算法嘗試符合此故障偵測時間,但實際時間取決於網路負載。

叢集成員常見問題

問題:

所有的叢集成員是否需要相同的 root 密碼?

答案:

每個叢集成員不需要有相同的 root 密碼。然而,所有的節點使用相同的 root 密碼可以簡化您的節點管理工作。

問題:

節點啟動的順序是否相當重要?

答案:

在大多數情況下,啟動順序並不重要。但對於防止 amnesia 是很重要的。例如,如果節點 2 是法定裝置的所有者,而且節點 1 關機,接著您又將節點 2 關機,則您必須先啟動節點 2 再啟動節點 1。此順序可以防止您意外啟動含有過期的叢集配置資訊的節點。請參閱關於故障隔離,以取得有關 amnesia 的詳細資訊。

問題:

我是否需要在叢集節點中鏡像本機磁碟?

答案:

可以。雖然並不要求鏡像,但是鏡像叢集節點的磁碟可以防止非鏡像的磁碟故障使節點當機。鏡像叢集節點的區域磁碟的缺點,是需要較多的系統管理負擔。

問題:

叢集成員備份的問題有哪些?

答案:

您可以對叢集使用多種備份方法。一種方法是將連結有磁帶機或程式庫的節點作為備份節點。然後使用叢集檔案系統來備份資料。請勿連接此節點至共用磁碟。

請參閱「Sun Cluster 系統管理指南(適用於 Solaris 作業系統)」中的第 9 章「備份與復原叢集」,以取得關於如何備份和修復資料的更多資訊。

問題:

節點何時正常到足以作為次要節點?

答案:

Solaris 8 和 Solaris 9︰

在重新啟動後,當節點顯示登入提示時,此節點正常,足以成為次要節點。

Solaris 10:

如果 multi-user-server 里程碑正在執行,則節點正常,完全可以成為次要節點。


# svcs -a | grep multi-user-server:default

叢集儲存體常見問題

問題:

什麼原因讓多重主機儲存體具備高可用性?

答案:

多重主機儲存體具有高度可用性,因為由於鏡像 (或由於硬體式 RAID-5 控制器) 而可以在單一磁碟遺失的情況下繼續運作。因為多重主機儲存裝置具有一個以上的主機連接,也可以承受失去它所連接的單一節點。另外,從每個節點到貼附儲存體的冗餘路徑可提供主機匯流排配接卡、電纜或磁碟控制器故障的公差。

叢集互連常見問題

問題:

Sun Cluster 系統支援哪些叢集互連?

答案:

目前,Sun Cluster 系統支援以下叢集互連︰

問題:

「電纜」和傳輸「路徑」之間有何差異?

答案:

叢集傳輸電纜是透過使用傳輸配接器和交換器進行配置的。電纜是以元件對元件方式連接配接卡和切換器。叢集拓樸管理者使用可用的電纜來建立節點之間的點對點傳輸路徑。電纜並不會直接對應至傳輸路徑。

電纜是由管理者做靜態的“啟用”和“停用”。電纜有「狀況」(啟用或停用),但非「狀態」。如果電纜是啟用的,其就如同尚未配置。停用的電纜無法用作傳輸路徑。這些電纜是未經測試的,因此其狀況不明。您可以使用 scconf -p 指令獲取電纜狀況。

傳輸路徑並非由叢集拓樸管理者動態建立的。傳輸路徑的“狀態”是由拓樸管理者決定。路徑可以的狀態可以為「上線」或「離線」。您可以使用 scstat(1M) 指令獲取傳輸路徑的狀態。

請考慮下述具四條電纜的兩個節點叢集範例。


node1:adapter0      to switch1, port0
node1:adapter1      to switch2, port0
node2:adapter0      to switch1, port1
node2:adapter1      to switch2, port1

透過這四條電纜可以形成兩條可能的路徑。


node1:adapter0    to node2:adapter0
node2:adapter1    to node2:adapter1

用戶端系統常見問題

問題:

與叢集配合使用是否需要考慮任何特殊的用戶端需求或限制?

答案:

用戶端系統連接至叢集的方式與連線至其他伺服器的方式相同。在某些情況下,視資料服務應用程式而定,您可能需要安裝用戶端軟體或執行其它配置變更,使得用戶端可以連接至資料服務應用程式。請參閱「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的第 1 章「Planning for Sun Cluster Data Services」,以取得有關用戶端配置需求的更多資訊。

管理主控台常見問題

問題:

Sun Cluster 系統是否需要管理主控台?

答案:

可以。

問題:

管理主控台必須專屬於叢集,或者可以用於其他作業嗎?

答案:

Sun Cluster 系統不需要專屬的管理主控台,但使用專屬的主控台會有以下優點︰

問題:

管理主控台的位置需要「靠近」叢集嗎,例如在同一房間中?

答案:

請洽詢您的硬體服務供應商。供應商可能會要求主控台的位置要儘量靠近叢集。將主控台置於同一房間中,並無技術上的原因。

問題:

管理主控台是否可以服務多個叢集,是否要首先滿足距離要求?

答案:

可以。您可以從單一管理主控台來控制多個叢集。您也可以在叢集之間共用單一的終端機集線器。

終端機集訊機和系統服務處理器常見問題

問題:

Sun Cluster 系統是否需要終端機集訊機?

答案:

所有以 Sun Cluster 3.0 開始的軟體發行版本均不需要終端機集訊機便可執行。與需要終端機集訊機來作為故障隔離之用的 Sun Cluster 2.2 產品不同,之後的產品不依靠終端機集訊機。

問題:

我發現大部分 Sun Cluster 伺服器均使用終端機集訊機,而 Sun Enterprise E1000 伺服器卻不用。為什麼?

答案:

終端機集線器對大部分的伺服器而言,實際上是一個串列對 Ethernet 轉換器。終端機集訊機的主控台連接埠是串列埠。Sun Enterprise E1000 伺服器沒有串列主控台。「系統服務處理器」(SSP) 是主控台,是透過 Ethernet 或 jtag 通訊埠。對於 Sun Enterprise E1000 伺服器,始終將 SSP 用於主控台。

問題:

使用終端機集線器有些什麼樣的好處?

答案:

使用終端機集訊機可以從網路上任何地方的遠端工作站對每個節點進行主控台層級的存取。即使節點位於基與 SPARC 的節點上的 OpenBoot PROM (OBP) 中或基於 x86 的節點上的啟動子系統中,仍然會提供此存取權。

問題:

如果使用 Sun 不支援的終端機集訊機,則需要瞭解些什麼才能證明要使用終端機集訊機符合要求?

答案:

Sun 支援的終端機集訊機與其他主控台裝置之間的主要差異是 Sun 終端機集訊機具有特殊的韌體。此韌體會防止終端機集訊機在主控台啟動時向其傳送中斷。如果您有可以傳送中斷或可解譯為主控台中斷的訊號至主控台的主控台裝置,則中斷將關閉節點。

問題:

是否可以在不重新啟動的情況下釋放 Sun 支援的終端機集訊機上鎖定的連接埠?

答案:

可以。請注意需要重設的通訊埠編號並鍵入下列指令:


telnet tc
輸入 Annex 通訊埠名稱或編號:cli
annex: su -
annex# admin
admin : reset port_number
admin : quit
annex# hangup
#

請參閱以下手冊,以取得有關如何配置和管理 Sun 支援的終端機集訊機的更多資訊。

問題:

萬一終端機集線器本身故障,要怎麼辦?我必須要有另一個備用的嗎?

答案:

不需要。如果終端機集線器故障,您並不會失去任何叢集可用性。但是您會失去連接節點主控台的能力,直到集線器回復服務為止。

問題:

如果我真的使用終端機集線器,其安全性如何?

答案:

通常,終端機集訊機連結到系統管理員使用的小型網路上,而非用於供其他客戶端存取的網路上。您可以藉由限制該特定網路的存取權來控制安全性。

問題:

SPARC:如何藉由磁帶機或磁碟機使用動態重新配置?

答案:

執行下列步驟:


注意 – 注意 –

如果您在次要節點上執行 DR 作業時,現行的主要節點發生故障,叢集可用性將會受到影響。除非提供新的次要節點,否則主要節點沒有地方可以進行故障轉移。