位址opensuse

opensuse  时间:2021-04-01  阅读:()
SUSELinuxEnterpriseHighAvailabilityExtensionHighAvailability指南版權所有2006-2009Novell,Inc.
根據自由軟體基金會(FreeSoftwareFoundation)所發佈的GNU自由文件授權(GNUFreeDocumentationLicense)1.
2版或更新版本,使用者可以複製、散佈與/或修改本文件;「恆常章節」為此著作權聲明與授權.
本節中包含授權「GNU自由文件授權」的一份副本.
SUSE、openSUSE、openSUSE標幟、Novell、Novell標幟、N標幟是Novell,Inc.
在美國和其他國家/地區的註冊商標.
Linux*是LinusTorvalds的註冊商標.
所有其他協力廠商商標,為各所有人所有之財產.
商標符號(、等)代表Novell的商標;星號(*)代表協力廠商的商標.
本手冊中所有資訊在編輯時,都已全力注意各項細節.
但這不保證百分之百的正確性.
因此,Novell,Inc.
、SUSELINUXProductsGMBH、作者或譯者都不需對任何錯誤或造成的結果負責.
目錄關於本指南viiI安裝與設定11概念綜覽31.
1產品功能31.
2產品利益51.
3叢集組態81.
4結構111.
5最新功能142開始使用172.
1硬體要求172.
2軟體需求182.
3共享磁碟系統需求182.
4準備182.
5綜覽:安裝及設定叢集193使用YaST進行安裝及基本設定213.
1安裝HighAvailabilityExtension213.
2初始叢集設定223.
3連線叢集24II組態與管理274使用GUI設定叢集資源294.
1LinuxHAManagementClient294.
2建立叢集資源314.
3建立STONITH資源354.
4設定資源限制364.
5指定資源容錯移轉節點414.
6指定資源錯誤回復節點(資源相粘性)424.
7設定資源監控434.
8啟動新的叢集資源454.
9移除叢集資源454.
10設定叢集資源群組464.
11設定複製品資源514.
12移轉叢集資源524.
13如需更多資訊535從指令行設定叢集資源555.
1指令行工具555.
2組態變更除錯555.
3建立叢集資源565.
4建立STONITH資源605.
5設定資源限制615.
6指定資源容錯移轉節點635.
7指定資源錯誤回復節點(資源相粘性)645.
8設定資源監控645.
9啟動新的叢集資源645.
10移除叢集資源655.
11設定叢集資源群組655.
12設定複製品資源665.
13移轉叢集資源675.
14使用陰影組態進行測試675.
15如需更多資訊686設定簡易測試資源696.
1使用GUI設定資源696.
2資源的手動組態設定717新增或修改資源代辦737.
1STONITH代辦737.
2撰寫OCF資源代辦748圍籬區隔與STONITH758.
1圍籬區隔的類別758.
2節點層級圍籬區隔768.
3STONITH組態788.
4監控圍籬區隔設備828.
5特殊圍籬區隔設備828.
6如需更多資訊839LinuxVirtualServer的負載平衡859.
1概念綜覽859.
2HighAvailability869.
3如需更多資訊8710網路設備Bonding8911將叢集更新至SUSELinuxEnterprise119311.
1準備與備份9411.
2更新/安裝9511.
3資料轉換9511.
4如需更多資訊97III儲存與資料複製9912OracleClusterFileSystem210112.
1特點及優勢10112.
2管理公用程式與指令10212.
3OCFS2套件10312.
4建立OCFS2卷冊10312.
5裝載OCFS2卷冊10712.
6其他資訊10913叢集LVM11113.
1cLVM的組態11113.
2明確設定適合的LVM2設備11313.
3如需更多資訊11414分散式複製區塊設備(DRBD)11514.
1安裝DRBD服務11614.
2設定DRBD服務11614.
3測試DRBD服務11814.
4DRBD疑難排解12014.
5其他資訊122IV疑難排解與參考12315疑難排解12515.
1安裝問題12515.
2HA叢集除錯12615.
3常見問題集12715.
4獲取詳細資訊12916叢集管理工具13117叢集資源18317.
1受支援的資源代辦類別18317.
2OCF傳回代碼18417.
3資源選項18617.
4資源作業18717.
5例項屬性18818HAOCF代辦191V附錄263AGNU授權265A.
1GNUGeneralPublicLicense265A.
2GNUFreeDocumentationLicense268術語273關於本指南SUSELinuxEnterpriseHighAvailabilityExtension是一個採用開放原始碼叢集技術的整合式套裝軟體,它可讓您實作高可用性的實體和虛擬Linux叢集.
為進行快速有效的組態設定和管理,HighAvailabilityExtension中提供有圖形使用者介面(GUI)和指令行介面(CLI).
本指南適用於需要安裝、設定及維護HighAvailability(HA)叢集的管理員.
文中對兩種方法(GUI與CLI)均有詳細說明,以幫助管理員選擇滿足其執行主要任務需求的適當工具.
本指南分為以下幾個部分:安裝與設定在開始安裝及設定叢集之前,請先熟悉叢集基礎知識與結構,取得主要功能與優點的綜覽,以及自上一版本以來的變更.
瞭解須滿足的硬體與軟體要求,及在執行下一步操作之前的準備工作.
使用YaST執行HA叢集的安裝與基本設定.
組態與管理使用GUI或crm指令行介面新增、設定並管理資源.
瞭解如何利用負載平衡與圍籬區隔如果您要撰寫自己的資源代辦或修改現存資源代辦,請取得有關如何建立不同類型資源代辦的背景資訊.
儲存與資料複製SUSELinuxEnterpriseHighAvailabilityExtension內建有支援叢集檔案系統(Oracle叢集檔案系統,OCFS2)與磁碟區管理員(叢集化邏輯磁碟區管理員,cLVM).
為了複製資料,HighAvailabilityExtension還提供了DRBD(分散式複製區塊設備),使用它您可以將高可用性服務的資料從叢集的使用中節點鏡像複製到待機節點.
疑難排解與參考若要管理自己的叢集,您需要執行一定的疑難排解作業.
瞭解最常見的問題及其修復方法.
請尋找HighAvailabilityExtension提供之指令行工具的完整參考,管理自己的叢集.
還列出了有關叢集資源及資源代辦之最重要的資料與統計數字.
本手冊的許多章節包含連到其他文件資源的連結.
這包括系統和網際網路上所提供的其他文件.
如需適用於產品的文件與最新文件更新的綜覽,請參閱http://www.
novell.
com/documentation.
1意見反應以下為可供使用的數種意見回應管道:若要報告產品元件的錯誤,或提交增強功能要求,請使用https://bugzilla.
novell.
com/.
如果您不熟悉Bugzilla,NovellBugzilla首頁中的BugWritingFAQs或許會有幫助.
我們希望得到您對本手冊以及本產品隨附之其他文件的意見和建議.
請使用線上文件每頁下方的使用備註功能,並在其中輸入您的意見.
2文件慣例本手冊使用下列印刷慣例:/etc/passwd:目錄名稱與檔名placeholder:以實際的值來取代placeholderPATH:環境變數PATHls,--help:指令、選項和參數user:使用者或群組Alt,Alt+F1:供人按下的按鍵或案件組合;顯示的按鍵與鍵盤上一樣為大寫「檔案」,「檔案」>「另存新檔」:功能表項目、按鈕本段僅與指定的結構有關.
箭頭標示了文字區塊的開頭與結尾.
本段僅與指定的架構有關.
箭頭標示了文字區塊的開頭與結尾.
DancingPenguins(章節Penguins,↑其他手冊):這是對其他手冊某章節的參考.
viiiHighAvailability指南I.
安裝與設定1概念綜覽SUSELinuxEnterpriseHighAvailabilityExtension是一個採用開放原始碼叢集技術的整合式套裝軟體,它可讓您實作高可用性的實體和虛擬Linux叢集,並可避免單一故障點.
該套裝軟體可確保資料、應用程式和服務等重要網路資源的高可用性及可管理性.
因此,可協助您保持業務持續運作,保護資料完整性,並可降低關鍵任務Linux工作負載的意外停機時間.
它內建有基本的監控、訊息傳送和叢集資源管理功能,支援個別受管理叢集資源的容錯移轉、錯誤回復和移轉(負載平衡).
HighAvailabilityExtension做為SUSELinuxEnterpriseServer11的附加產品提供.
1.
1產品功能SUSELinuxEnterpriseHighAvailabilityExtension可協助您確保和管理網路資源的可用性.
以下清單反白顯示部分主要功能:支援眾多叢集案例包括主動/主動和主動/被動(N+1、N+M、N到1、N到M)案例以及混合式實體和虛擬叢集(允許將虛擬伺服器與實體伺服器叢集在一起,以提高服務可用性與資源使用率).
多節點主動叢集,最多可包含16台Linux伺服器.
可以使用叢集內的任一伺服器重新啟動同一叢集中之失敗伺服器中的資源(應用程式、服務、IP位址和檔案系統).
概念綜覽3彈性解決方案HighAvailabilityExtension內建OpenAIS訊息傳送與成員層及Pacemaker叢集資源管理員.
使用Pacemaker,管理員可以持續監控其資源的狀態、管理相依性,並能根據高度可組態規則(Rule和Police)自動停止和啟動服務.
HighAvailabilityExtension可讓您對叢集進行特定應用程式和硬體架構的調整以符合貴組織的需求.
時間相關組態可讓服務在指定時間自動移轉回已修復節點.
儲存與資料複製使用HighAvailabilityExtension,您可以視需要動態指定和重新指定伺服器儲存.
它支援光纖通道或iSCSI儲存區域網路(SAN).
還支援共享磁碟系統,但這些系統並非必要系統.
SUSELinuxEnterpriseHighAvailabilityExtension還隨附了支援叢集檔案系統(Oracle叢集檔案系統,OCFS2)和磁碟區管理員(叢集化邏輯磁碟區管理員,cLVM).
為了複製資料,HighAvailabilityExtension還提供了DRBD(分散式複製區塊設備),使用它您可以將高可用性服務的資料從叢集的使用中節點鏡像複製到待機節點.
支援虛擬化環境SUSELinuxEnterpriseHighAvailabilityExtension支援包含實體與虛擬Linux伺服器的混合叢集.
SUSELinuxEnterpriseServer11內建有Xen(一個開放原始碼虛擬化監管程式).
HighAvailabilityExtension中的叢集資源管理員可辨識、監控和管理在使用Xen建立之虛擬伺服器中執行的服務,以及在實體伺服器中執行的服務.
叢集可以將訪客系統做為服務進行管理.
資源代辦SUSELinuxEnterpriseHighAvailabilityExtension含有大量資源代辦用以管理Apache、IPv4、IPv6等眾多資源.
它還內建有適用於IBMWebSphereApplicationServer等廣受歡迎的協力廠商應用程式的資源代辦.
如需產品隨附的開放叢集架構(OCF)資源代辦的清單,請參閱第18章「HAOCF代辦」[191頁].
最新的清單可從www.
novell.
com/products/highavailability線上取得.
簡單易用的管理為了能輕鬆地進行組態設定與管理,HighAvailabilityExtension內建有圖形使用者介面(如YaST與LinuxHAManagementClient)和功能強大的整合式指令行介面.
這兩種方法皆提供有單一管理點,可有效地監控與管理叢集.
後面的章節中將介紹如何執行此作業.
4HighAvailability指南1.
2產品利益HighAvailabilityExtension可讓您最多將16台Linux伺服器設定成一個HighAvailability叢集(HA叢集),其中的資源可以動態切換或移動至叢集中的任一伺服器.
資源可以設成在遇到伺服器故障時自動進行移轉,也可以選擇手動移動以對硬體進行疑難排解或平衡工作負載.
HighAvailabilityExtension利用商用元件提供高可用性.
透過將應用程式和作業整合到一個叢集可降低成本.
HighAvailabilityExtension還可讓您集中管理整個叢集並調整資源以滿足不斷變化的工作負載要求(從而手動使叢集達到「負載平衡」).
允許具有兩個以上節點的叢集還可透過允許幾個節點共享一個「熱備用」來節省成本.
它還具有另一個同等重要的優點,就是可以潛在地縮短計畫外服務的中斷運作時間,以及為了執行軟體和硬體的維護與升級所需的計劃內中斷運作時間.
您希望實作叢集的理由包括:增加可用性改善效能降低作業成本可調適性災害復原資料保護伺服器整合儲存整合藉由在共享磁碟子系統上建置RAID,可以達到磁碟容錯共享.
以下案例說明HighAvailabilityExtension具備的一些優點.
概念綜覽5範例叢集案例假設您己經設定一個含有三台伺服器的叢集,而這三台伺服器上都已安裝了Web伺服器.
叢集中的每個伺服器都代管兩個網站.
每個網站上的所有資料、圖形以及網頁內容都儲存在與叢集中的每一個伺服器相連接的共享磁碟子系統上.
以下的圖解可以描繪這個設定的可能外觀.
圖形1.
1由三台伺服器所構成的叢集正常的叢集作業期間,每一伺服器都會和叢集中的其他伺服器保持通訊,並且定期檢查所有已登錄的資源以偵測是否有故障發生.
假設Web伺服器1發生硬體或軟體問題,且利用Web伺服器1進行網際網路存取、收發電子郵件和資訊的使用者失去連線.
下圖說明當Web伺服器1故障時,資源移動的情形.
6HighAvailability指南圖形1.
2一台伺服器故障後,由三台伺服器所構成的叢集網站A將移至Web伺服器2,而網站B將移至Web伺服器3.
IP位址和證書也會移至Web伺服器2和Web伺服器3.
當您進行叢集設定時,可以決定發生故障時每一台Web伺服器上代管之網站的移動目的地.
在前面的範例中,將網站A設定為移至Web伺服器2,而將網站B設定為移至Web伺服器3.
這樣,之前由Web伺服器1處理的工作負載仍可用,並且會在所有正常運行的叢集成員之間平均分散.
Web伺服器1失敗時,HighAvailabilityExtension軟體將偵測故障並向STONITH確認Web伺服器1確實已停止運行將先前裝載於Web伺服器1上的共享資料目錄重新裝載於Web伺服器2和Web伺服器3.
在Web伺服器2和Web伺服器3上重新啟動先前於Web伺服器1上執行的應用程式將IP位址傳送至Web伺服器2和Web伺服器3在此範例中,容錯移轉程序會快速完成,而使用者也將在數秒內重新恢復存取網站資訊.
大部份的情況下,無需再次登入.
現在假設Web伺服器1所發生的問題已經解決,並且它已恢復到正常的作業狀態.
此時,網站A和網站B可以自動錯誤回復(移回)到Web伺服器1,也可以保留在現有伺服器上.
這取決於您為它們設定資源的方式.
將服務移轉回Web概念綜覽7伺服器1會導致一定的停機時間,因此,HighAvailabilityExtension也可讓您將移轉延遲一段時間,等到不會使服務運行中斷或只會讓服務短時間中斷時再進行移轉.
兩種備選方法各有優缺點.
HighAvailabilityExtension還提供了資源移轉功能.
您可以根據系統管理需要,將應用程式、網站等移轉至叢集中的其他伺服器.
例如,您可以手動將網站A或網站B從Web伺服器1移至叢集中的任一其他伺服器.
您也許希望藉此對WebServer1進行升級或執行排程維護的工作,或僅為了增加網站效能或連線能力.
1.
3叢集組態具有HighAvailabilityExtension的叢集組態可能包含,也可能不包含共享磁碟子系統.
共享磁碟子系統可以透過高速光纖通道卡、纜線和交換器進行連接,也可設定為使用iSCSI.
如果有一台伺服器失敗,叢集中的另一台指定伺服器就會自動裝載先前裝載於失敗伺服器上的共享磁碟目錄.
這使得網路使用者得以繼續存取共享磁碟子系統上的目錄.
重要:具有cLVM的共享磁碟子系統使用具有cLVM的共享磁碟子系統時,必須將該子系統連接至叢集中需要從中存取它的所有伺服器.
一般資源包括資料、應用程式和服務.
下圖顯示一般光纖通道叢集組態的可能外觀.
8HighAvailability指南圖形1.
3一般光纖通道叢集組態雖然光纖通道提供的效能最佳,但您仍可以將叢集設定為使用iSCSI.
iSCSI是光纖通道的替代方案,可用於建立低成本的儲存區域網路(SAN).
下圖顯示一般iSCSI叢集組態的可能外觀.
概念綜覽9圖形1.
4一般iSCSI叢集組態雖然大部分叢集都包含共享磁碟子系統,但也可以建立不含共享磁碟子系統的叢集.
下圖顯示不含共享磁碟子系統之叢集的可能外觀.
圖形1.
5不含共享儲存的一般叢集組態10HighAvailability指南1.
4結構本節提供HighAvailabilityExtension結構的簡要綜覽.
它識別並提供有關結構元件的資訊,並說明這些元件如何相互操作.
1.
4.
1結構層HighAvailabilityExtension採用分層結構.
圖形1.
6「結構」[11頁]說明不同的層及其相關的元件.
圖形1.
6結構概念綜覽11訊息傳送與基礎架構層主要層或第一層為訊息傳送/基礎架構層,也稱為OpenAIS層.
此層包含送出含有「I'malive」(我存在)訊號及其他資訊之訊息的元件.
HighAvailabilityExtension的程式存放在訊息傳送/基礎架構層.
資源配置層下一層為資源配置層.
此層最為複雜,由下列元件組成:叢集資源管理員(CRM)在資源配置層中執行的每個動作均透過叢集資源管理員進行傳遞.
如果資源配置層的其他元件(或更高一層中的元件)需要進行通訊,通訊將透過本地CRM完成.
在每個節點上,CRM維護叢集資訊庫(CIB)[12頁],它包含所有叢集選項、節點、資源、它們的關係和目前狀態的定義.
將會選出叢集中的一個CRM做為指定協調者(DC),這意味著它擁有主要CIB.
叢集中的所有其他CIB則擁有主要CIB的複製本.
CIB上的一般讀寫作業透過主要CIB序列化.
DC是叢集中可以決定是否需要執行全叢集變更(例如圍籬區隔節點或移動資源)的唯一實體.
叢集資訊庫(CIB)叢集資訊庫是整個叢集組態和目前狀態的記憶體內部XML表示.
它包含所有叢集選項、節點、資源、限制及相互關係的定義.
CIB還可同步更新至所有叢集節點.
叢集中有一個主要CIB,由DC負責維護.
其他所有節點均包含一個CIB複製本.
規則引擎(PE)指定協調者需要進行全叢集變更(對新的CIB做出反應)時,規則引擎會根據目前狀態和組態計算出叢集的下一個狀態.
PE還可產生轉換圖表,該圖表包含(資源)動作和相依性清單,用以取得下一個叢集狀態.
PE將在每個節點上執行,以提高DC容錯移轉速度.
本地資源管理員(LRM)LRM代表CRM呼叫本地資源代辦(請參閱章節「資源層」[13頁]).
因此,它可以執行啟動/停止/監控作業,並將結果報告給CRM.
它還可以隱藏資源代辦的受支援程序檔標準(OCF、LSB、Heartbeat版本1)之間的差異.
LRM是其本地節點上之所有資源相關資訊的管理來源.
12HighAvailability指南資源層最高層為資源層.
資源層包含一或多個資源代辦(RA).
資源代辦是一些程式,通常是外圍程序檔,撰寫這些程式是為了啟動、停止和監控特定種類的服務(資源).
資源代辦僅可由LRM呼叫.
協力廠商可以將他們自己的代辦包含在檔案系統中的已定義位置,從而為他們自己的軟體提供即裝即用的叢集整合功能.
1.
4.
2程序流程SUSELinuxEnterpriseHighAvailabilityExtension使用Pacemaker做為CRM.
CRM被當做精靈(crmd)來實作,即在每個叢集節點上都有一個例項.
Pacemaker集中了所有透過選出一個crmd例項做為主要例項做出的叢集決策.
如果所選的crmd程序(或它所在的節點)失敗,則會建立一個新的crmd程序.
可反映出叢集組態及叢集中所有資源的目前狀態的CIB會保留在每個節點上.
CIB的內容將在整個叢集中自動保持同步.
在叢集中執行的許多動作都會導致全叢集發生變更.
這些動作包括新增或移除叢集資源,或變更資源限制等.
執行此類動作時,必須瞭解叢集中會發生什麼狀況.
例如,假設您要新增叢集IP位址資源.
為此,您可以使用指令行工具或GUI其中之一來修改CIB.
不必在DC上執行動作,您可以使用叢集中的任何節點上的其中一種工具,動作即會轉送至DC.
然後,DC會將CIB變更複製到所有叢集節點.
接著,PE將根據CIB中的資訊計算出叢集的理想狀態,以及達到該狀態的方式,並會將一系列指示饋送至DC.
DC透過訊息傳送/基礎架構層送出指令,而這些指令將由其他節點上的crmd對等接收.
每個crmd皆使用其LRM(當做lrmd實作)執行資源修改.
lrmd為非支援叢集,它可直接與資源代辦(程序檔)互動.
對等節點都會將其作業結果回報給DC.
一旦DC確定已在叢集中成功執行了所有必要的作業,叢集就會轉回閒置狀態,等待接下來的事件.
如果有任何作業未按計畫執行,則會用CIB中記錄的新資訊再次呼叫PE.
在某些情況下,可能需要關閉節點以保護共享資料或完成資源復原.
為執行此操作,Pacemaker提供了圍籬區隔子系統stonithd.
STONITH是「ShootTheOtherNodeInTheHead」的縮寫,通常使用遠端電源交換器實作.
在Pacemaker中,概念綜覽13將STONITH設備模式化為資源(並在CIB中進行設定),以便可以輕鬆地對它們進行故障監控.
不過,stonithd負責瞭解STONITH拓樸,因此,其用戶端只需要圍籬區隔一個節點,stonithd將完成剩餘的操作.
1.
5最新功能借助SUSELinuxEnterpriseServer11,叢集堆疊已從Heartbeat變更為OpenAIS.
OpenAIS實作工業標準API,即ServiceAvailabilityForum(服務可用性論壇)所發佈的應用程式介面規範(ApplicationInterfaceSpecification,AIS).
SUSELinuxEnterpriseServer10中的叢集資源管理員被保留下來,但功能獲得顯著提升,且已移植到OpenAIS,現在稱為Pacemaker.
如需從SUSELinuxEnterpriseServer10SP2到SUSELinuxEnterpriseHighAvailabilityExtension11以來,HighAvailability元件發生了哪些變更的詳細資料,請參閱後面各節.
1.
5.
1新特性和新功能移轉限定值與故障逾時現在,HighAvailabilityExtension提出了移轉限定值與故障逾時的概念.
您可定義大量資源故障,發生這些故障後會將資源移轉至新節點.
預設情況下,在管理員手動重設資源的故障計數前,將不再允許節點執行失敗資源.
不過,還可以透過設定資源的failure-timeout選項,讓資源過期.
資源和作業預設值現在,您可為資源選項和作業設定全域預設值.
支援離線組態變更通常,在以原子方式更新組態前,需要先預覽一系列變更的效果.
現在,您可以建立組態的「陰影」副本,在提交並以原子方式變更使用中的叢集組態之前,可以使用指令行介面編輯該副本.
重複使用作業的規則、選項和設定只需定義作業的規則、instance_attributes、meta_attributes和設定一次,便可在多個地方進行參考.
14HighAvailability指南將XPath運算式用於CIB中的特定作業現在,CIB·接受XPath式·create、modify和delete作業.
如需詳細資訊,請參閱cibadmin說明文字.
多維並存和順序限制若要建立一組並存資源,以前可以定義一個資源群組(但它並不總能準確反映出設計目地),或將每個關係定義為個別限制,但隨著資源和組合數目的增長,此方法會導致限制爆炸.
現在,您還可以透過定義resource_sets使用並存限制的替代形式.
從非叢集機器連接至CIB只要機器上安裝了Pacemaker,即使機器本身不屬於叢集,也可能會連接該叢集.
在已知時間觸發週期性動作預設會相對於資源啟動時間排定週期性動作,但並非所有情況都適合如此操作.
若要指定作業應相對於的日期/時間,請設定作業的interval-origin(間隔起始點).
叢集使用此時間點計算正確的start-delay(啟動延遲時間),即作業將在「起時點+(間隔*N)」時發生.
1.
5.
2變更的特性與功能資源和叢集選項的命名慣例現在,所有資源和叢集選項皆使用破折號(-)取代底線(_).
例如,master_max中繼選項已重新命名為master-max.
重新命名master_slave資源master_slave資源已重新命名為master.
主要資源是一種特殊類型的複製資源,可以兩種模式之一進行操作.
屬性的容器標籤已移除attributes容器標籤.
先決條件的作業欄位pre-req作業欄位已重新命名為requires.
作業間隔所有作業都必須設定有間隔.
對於啟動/停止動作,必須將間隔設定為0(零).
概念綜覽15並存和順序限制的屬性為了清楚起見,重新命名了並存和順序限制的屬性.
因發生故障而進行移轉的叢集選項resource-failure-stickiness叢集選項已由migration-threshold叢集選項取代.
並請參閱移轉限定值與故障逾時[14頁].
指令行工具的引數指令行工具的引數已經過一致化處理.
並請參閱資源和叢集選項的命名慣例[15頁].
驗證和剖析XML叢集組態以XML格式撰寫.
現在已使用功能更為強大的RELAXNG綱要取代了「文件類型定義」(DTD),用來定義結構和內容的模式.
libxml2用做剖析程式.
id欄位id欄位現在為XMLID,它們有以下限制:ID不能含有冒號.
ID不能以數字開頭.
ID必須是全域唯一的(而不僅僅對於標籤唯一).
參考其他物件有些欄位(例如參考資源之限制中的那些欄位)是IDREF.
這表示它們必須參考現有資源或物件才能使組態生效.
因此,移除在其他地方參考之物件的動作將會失敗.
1.
5.
3已移除的特性與功能設定資源中繼選項資源中繼選項將不再能夠設定為頂層屬性.
請轉為使用中繼屬性.
設定全域預設值資源和作業預設值將不再從crm_config讀取.
16HighAvailability指南2開始使用在下文中,您將瞭解到有關系統要求的資訊以及在安裝HighAvailabilityExtension之前需要進行的準備工作,並可檢視安裝和設定叢集的基本步驟的簡要綜覽.
2.
1硬體要求以下清單指定以SUSELinuxEnterpriseHighAvailabilityExtension為基礎之叢集的硬體要求.
這些要求代表最低硬體組態.
依您打算如何使用叢集而定,您可能還需要其他硬體.
1至16部安裝了第2.
2節「軟體需求」[18頁]中所指定之軟體的Linux伺服器.
伺服器不需要配備完全一樣的硬體(記憶體、磁碟空間等).
至少兩個TCP/IP通訊媒體.
叢集節點使用多路廣播進行通訊,因此,網路設備必須支援多路廣播.
通訊媒體應支援100Mbit/s或更高的資料速率.
最好結合乙太網路通道.
選擇性:連接至叢集(需要從該叢集存取磁碟子系統)內所有伺服器的共享磁碟子系統.
STONITH機制.
STONITH是「Shoottheothernodeinthehead」的縮略字.
STONITH設備是一種電源交換器,叢集可使用它重設被視為已停止動作或行為錯誤的節點.
重設無活動訊號的節點是確保掛起節點或只是呈現為已停止動作的節點不會損毀資料的唯一可靠方法.
若需更多資訊,請參閱第8章「圍籬區隔與STONITH」[75頁].
開始使用172.
2軟體需求確定下列軟體需求都已符合:在將要屬於叢集的所有節點上安裝了SUSELinuxEnterpriseServer11及所有可用的線上更新.
在將要屬於叢集的所有節點上安裝了SUSELinuxEnterpriseHighAvailabilityExtension11,包括所有可用的線上更新.
2.
3共享磁碟系統需求如果您希望資料具有高度可用性,建議您使用共享磁碟系統(儲存區域網路,即SAN).
如果使用共享磁碟子系統,請注意下列事項:已根據製造商的指示正確設定共用磁碟系統,而且可以正常運作.
共享磁碟系統中包含的磁碟應設定為使用鏡像複製或RAID,以增強共享磁碟系統的容錯能力.
建議使用硬體型RAID.
系統並不是對所有組態都支援主機型軟體RAID.
如果使用iSCSI存取共用磁碟系統,必須確定已正確設定iSCSI啟動程式和目標.
當您使用DRBD來實作在兩部機器之間配送資料的鏡像複製RAID系統時,請確認僅存取複製的設備.
請與叢集的其餘部分使用相同(繫結)的NIC,以利用該處所提供的備援.
2.
4準備在安裝之前,請執行下列準備步驟:透過在叢集中的每部伺服器上編輯/etc/hosts檔案,設定主機名稱解析並使用靜態主機資訊.
如需詳細資訊,請參閱《SUSELinuxEnterpriseServer管理指南》之「基本網路」一章中的「設定主機名稱和DNS」一節,該文件可從http://www.
novell.
com/documentation取得.
18HighAvailability指南叢集的成員必須能夠籍由名稱相互找到對方,這是一項基本要求.
如果名稱不可用,內部叢集通訊將會失敗.
透過將叢集節點與叢集外部的時間伺服器同步,設定時間同步.
如需詳細資訊,請參閱《SUSELinuxEnterpriseServer管理指南》中的「與NTP同步時間」一章,該文件可從http://www.
novell.
com/documentation取得.
叢集節點將使用時間伺服器做為其時間同步來源.
2.
5綜覽:安裝及設定叢集完成準備工作後,需要執行下列步驟來安裝並設定使用SUSELinuxEnterpriseHighAvailabilityExtension的叢集:1.
在SUSELinuxEnterpriseServer的基礎上將SUSELinuxEnterpriseServer11及SUSELinuxEnterpriseHighAvailabilityExtension11做為附加產品進行安裝.
如需詳細資訊,請參閱第3.
1節「安裝HighAvailabilityExtension」[21頁].
2.
設定OpenAIS.
如需詳細資訊,請參閱第3.
2節「初始叢集設定」[22頁].
3.
啟動OpenAIS並監控叢集狀態.
如需詳細資訊,請參閱第3.
3節「連線叢集」[24頁].
4.
透過圖形使用者介面(GUI)或指令行新增並設定叢集資源.
如需詳細資訊,請參閱第4章「使用GUI設定叢集資源」[29頁]或第5章「從指令行設定叢集資源」[55頁].
若要透過圍籬區隔和STONITH保護資料,以避免可能的損毀,請確認將STONITH設備設定為資源.
如需詳細資訊,請參閱第8章「圍籬區隔與STONITH」[75頁].
如果共享磁碟(儲存區域網路,即SAN)上尚不存在檔案系統,您可能還需要在其上建立檔案系統,並視需要將這些檔案系統設定為叢集資源.
叢集感知檔案系統(OCFS2)與非叢集感知檔案系統皆可透過HighAvailabilityExtension來設定.
必要時,您也可以透過DRBD使用資料複製.
如需詳細資訊,請參閱第III部分「儲存與資料複製」[99頁].
開始使用193使用YaST進行安裝及基本設定安裝HighAvailability叢集所需軟體的方法有多種︰使用zypper從指令行進行安裝,或使用提供圖形使用者介面的YaST進行安裝.
在所有將成為叢集組成部分的節點上安裝軟體後,下一步就是對叢集進行初始設定,這樣節點之間就可以相互通訊.
可以透過編輯組態檔案來手動完成該操作,或是使用YaST叢集模組完成操作.
注:安裝軟體套件HighAvailability叢集所需的軟體套件不會自動複製到叢集節點.
在所有將成為叢集組成部分的節點上安裝SUSELinuxEnterpriseServer11與SUSELinuxEnterpriseHighAvailabilityExtension11.
3.
1安裝HighAvailabilityExtensionHighAvailability安裝模式中包含了使用HighAvailabilityExtension設定與管理叢集所需的套件.
僅當SUSELinuxEnterpriseHighAvailabilityExtension做為附加產品安裝後才能使用此模式.
如需有關如何安裝附加產品的資訊,請參閱SUSELinuxEnterprise11部署指南中的「安裝附加產品」一章.
1啟動YaST,然後選取「軟體」>「軟體管理」,即會開啟YaST套件管理員.
2從「過濾器」清單中選取「模式」,然後啟用模式清單中的「HighAvailability」模式.
使用YaST進行安裝及基本設定213按一下「接受」開始安裝這些套件.
3.
2初始叢集設定安裝HA套件後,您可以使用YaST設定初始叢集設定.
此設定包括節點間的通訊通道,以及使用加密通訊和將OpenAIS當做服務啟動等安全方面的設定.
對於通訊通道,需要定義結合網路位址(bindnetaddr)、多路廣播位址(mcastaddr)以及多路廣播埠(mcastport).
bindnetaddr為要結合到的網路位址.
為方便在整個叢集共享組態檔案,OpenAIS使用網路介面網路遮罩來僅遮罩用於路由網路的地址位元.
mcastaddr可以是IPv4或IPv6多路廣播位址.
mcastport是為mcastaddr指定的UDP埠.
叢集中的節點可透過使用相同的多路廣播位址及相同的埠號互相瞭解.
對於不同的叢集,請使用不同的多路廣播位址.
過程3.
1設定叢集1啟動YaST,然後選取「其他」>「叢集」或在指令行上執行yast2cluster,以啟動「初始叢集設定」對話方塊.
2在「通訊通道」類別中,設定用於在叢集節點間通訊的通道.
此資訊將寫入到/etc/ais/openais.
conf組態檔案中.
22HighAvailability指南定義「結合網路位址」、「多路廣播位址」及「多路廣播埠」,以供所有叢集節點使用.
3為每個叢集節點指定唯一的「節點ID」.
建議您從1開始指定.
4在「安全性」類別中,定義叢集的驗證設定.
如果啟用了「啟用安全性驗證」,則HMAC/SHA1驗證將用於叢集節點間的通訊.
此驗證方法需要共享秘密,用於保護和驗證訊息.
您指定的驗證金鑰(密碼)將用於叢集中的所有節點.
對於新建立的叢集,請按一下「產生驗證金鑰檔案」,建立將寫入到/etc/ais/authkey的驗證金鑰.
5在「服務」類別中,選擇每次開機這台叢集伺服器時,是否啟動其上的OpenAIS.
使用YaST進行安裝及基本設定23如果選取「關閉」,則每次開機這台叢集伺服器時,必須手動啟動OpenAIS.
若要手動啟動OpenAIS,請使用rcopenaisstart指令.
若要立即啟動OpenAIS,請按一下「立即啟動OpenAIS」.
6視需要設定所有選項之後,按一下「完成」.
YaST隨後還將自動調整防火牆設定,並開啟用於多路廣播的UDP埠.
7完成初始組態設定後,您需要將該組態傳送到叢集中的其他節點.
最簡便的方法是將/etc/ais/openais.
conf檔案複製到叢集中的其他節點.
由於每個節點需要一個唯一的節點ID,因此請確保在複製檔案後相應調整節點ID.
8若要使用加密通訊,請同時將/etc/ais/authkey複製到叢集中的其他節點.
3.
3連線叢集完成基本組態設定後,您可以將堆疊連線並檢查其狀態.
1在每個叢集節點上執行以下指令,以啟動OpenAIS︰rcopenaisstart2在其中一個節點上,使用以下指令檢查叢集的狀態︰24HighAvailability指南crm_mon如果所有節點都已上線,則輸出應如下所示︰Lastupdated:ThuFeb518:30:332009CurrentDC:d42(d42)Version:1.
0.
1-node:b7ffe2729e3003ac8ff740bebc003cf237dfa8543Nodesconfigured.
0Resourcesconfigured.
Node:d230(d230):onlineNode:d42(d42):onlineNode:e246(e246):online完成基本組態設定並將節點連線之後,您便可立即開始使用crm指令行工具或圖形使用者介面設定叢集資源.
如需更多資訊,請參閱第4章「使用GUI設定叢集資源」[29頁]或第5章「從指令行設定叢集資源」[55頁].
使用YaST進行安裝及基本設定25II.
組態與管理4使用GUI設定叢集資源HA叢集的主要目的是管理使用者服務.
使用者服務的典型範例就是ApacheWeb伺服器或資料庫.
從使用者的角度來看,命令這些服務執某些特定作業,它們就會按要求執行.
不過,對於叢集而言,它們只是可以啟動或停止的資源—服務的性質與叢集無關.
做為叢集管理員,您需要為您叢集中的伺服器上執行的所有資源或應用程式建立叢集資源.
叢集資源可包括網站、電子郵件伺服器、資料庫、檔案系統、虛擬機器,以及其他您希望使用者隨時都可以存取的伺服器型應用程式或服務.
若要建立叢集資源,請使用圖形使用者介面(LinuxHAManagementClient)或crm指令行公用程式.
有關指令行這種方式,請參閱第5章「從指令行設定叢集資源」[55頁].
本章對LinuxHAManagementClient做了介紹,並且涵蓋了設定叢集時所需瞭解的幾個主題:建立資源、設定限制、指定容錯移轉節點與錯誤回復節點、設定資源監控、啟動或移除資源、設定資源群組或複製資源,以及手動移轉資源.
pacemaker-pygui套件中包含用於設定叢集資源的圖形使用者介面.
4.
1LinuxHAManagementClient當您啟動LinuxHAManagementClient時,需要連接至一個叢集.
使用GUI設定叢集資源29注:hacluster使用者的密碼安裝會建立名為hacluster的Linux使用者.
在使用LinuxHAManagementClient之前,必須設定hacluster使用者的密碼.
若要執行此操作,請以root的身份在指令行中輸入passwdhacluster,並輸入hacluster使用者的密碼.
在需要使用LinuxHAManagementClient連接的所有節點上執行此操作.
若要啟動LinuxHAManagementClient,請在指令行中輸入crm_gui.
若要連接至叢集,請選取「連線」>「登入」.
依預設,「伺服器」欄位會顯示localhost的IP位址,以及做為「使用者名稱」的hacluster.
輸入使用者密碼以繼續.
圖形4.
1連接至叢集若要從遠端執行LinuxHAManagementClient,請輸入做為「伺服器」之叢集節點的IP位址.
對於「使用者名稱」,您也可以使用屬於haclient群組的任何其他使用者來連接叢集.
連接之後,主視窗即會開啟:30HighAvailability指南圖形4.
2LinuxHAManagementClient-主視窗LinuxHAManagementClient可讓您新增及修改資源、限制、組態等.
它還提供了管理叢集元件的功能,如啟動、停止或移轉資源、清理資源或將節點設定為待機模式.
此外,您只需選取任意「組態」子項目並選取「顯示」>「XML模式」,即可輕鬆檢視、編輯、輸入和輸出CIB的XML結構.
下文中提供了一些如何使用LinuxHAManagementClient建立和管理叢集資源的範例.
4.
2建立叢集資源您可以建立以下類型的資源:原始原始資源,是最基本的資源類型.
群組群組包含一組資源,它們需放置在一起,依順序啟動並以相反順序停止.
若需更多資訊,請參閱第4.
10節「設定叢集資源群組」[46頁].
使用GUI設定叢集資源31複製品複製品是可在多個主機上處於使用中狀態的資源.
任何資源都可複製,只要相應的資源代辦支援複製功能.
若需更多資訊,請參閱第4.
11節「設定複製品資源」[51頁].
主複製本主複製本是複製品資源的一種特殊類型,它可以擁有多個模式.
主複製本只能包含一個群組或一個一般資源.
過程4.
1新增原始資源1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2在左側窗格中,選取「資源」並按一下「新增」>「原始」.
3在下一個對話方塊中,設定資源的以下參數:3a輸入資源的唯一ID.
3b在「類別」清單中,選取您要針對該資源使用的資源代辦類別:「heartbeat」、「lsb」、「ocf」或「stonith」.
如需詳細資訊,請參閱第17.
1節「受支援的資源代辦類別」[183頁].
3c若選取了「ocf」類別,請另外指定OCF資源代辦的「提供者」.
OCF規格允許多個廠商提供相同的資源代辦.
3d在「類型」清單中,選取要使用的資源代辦(例如「IPaddr」或「Filesystem」).
此資源代辦的簡要描述會顯示在下方.
「類型」清單中顯示的選項取決於您所選的「類別」(對於OCF資源,還取決於「提供者」).
3e在「選項」下方,設定「資源的初始狀態」.
3f若要讓叢集監控資源是否正常,請啟用「新增監控作業」.
32HighAvailability指南4按「下一步」.
下一個視窗會顯示您已為該資源定義的參數摘要.
其中會列出該資源所需的所有「例項屬性」.
您需要對它們進行編輯,以將其設定為適當的值.
依您的部署與設定而定,您可能還需要新增其他屬性.
如需如何執行此操作的詳細資料,請參閱新增或修改中繼屬性與例項屬性[34頁].
5按需要設定了所有參數後,請按一下「套用」以完成該資源的組態設定.
組態對話方塊會關閉,同時主視窗會顯示新增的資源.
您可以隨時新增或修改原始資源的以下參數:中繼屬性中繼屬性是可為資源新增的選項.
它們會告訴CRM如何處理特定資源.
如需可用中繼屬性、中繼屬性值及預設值的綜覽,請參閱第17.
3節「資源選項」[186頁].
例項屬性例項屬性是特定資源類別的參數,可決定資源的行為方式以及資源所控制的服務例項.
若需更多資訊,請參閱第17.
5節「例項屬性」[188頁].
使用GUI設定叢集資源33作業為資源新增的監控作業.
它們會指示叢集來確定資源是否仍處於正常狀態.
您可為所有類別的資源代辦新增監控作業.
您還可以設定特定參數,例如為start或stop作業設定Timeout.
若需更多資訊,請參閱第4.
7節「設定資源監控」[43頁].
過程4.
2新增或修改中繼屬性與例項屬性1在LinuxHAManagementClient主視窗中,按一下左側窗格中的「資源」,以檢視已為叢集設定的資源.
2在右側窗格中,選取要修改的資源,然後按一下「編輯」(或在該資源上連按兩下).
下一個視窗會顯示基本的資源參數,以及已為該資源定義的「中繼屬性」、「例項屬性」或「作業」.
3若要新增新的中繼屬性或例項屬性,請選取相應的索引標籤並按一下「新增」.
4選取要新增之屬性的「名稱」.
一個簡要「描述」即會顯示.
5視需要指定屬性「值」.
若不指定,系統將使用該屬性的預設值.
34HighAvailability指南6按一下「確定」以確認所做的變更.
索引標籤上隨即會顯示新增的或修改的屬性.
7按需要設定了所有參數後,請按一下「確定」以完成該資源的組態設定.
組態對話方塊會關閉,同時主視窗會顯示修改的資源.
提示:XML原始程式碼LinuxHAManagementClient可讓您檢視透過您為特定資源或所有資源定義的參數產生的XML.
在資源組態對話方塊的右上角或主視窗的「資源」檢視窗中,選取「顯示」>「XML模式」.
顯示XML程式碼的編輯器可讓您「輸入」或「輸出」XML元素,或手動編輯XML程式碼.
4.
3建立STONITH資源若要設定圍籬區隔,您需要設定一或多個STONITH資源.
過程4.
3新增STONITH資源1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2在左側窗格中,選取「資源」並按一下「新增」>「原始」.
3在下一個對話方塊中,設定資源的以下參數:3a輸入資源的唯一ID.
3b在「類別」清單中,選取資源代辦類別「stonith」.
3c從「類型」清單中,選取用於控制STONITH設備的STONITH外掛程式.
此外掛程式的簡要描述會顯示在下方.
3d在「選項」下方,設定「資源的初始狀態」.
3e若要讓叢集監控圍籬區隔設備,請啟用「新增監控作業」.
若需更多資訊,請參閱第8.
4節「監控圍籬區隔設備」[82頁].
使用GUI設定叢集資源354按「下一步」.
下一個視窗會顯示您已為該資源定義的參數摘要.
其中會列出所選STONITH外掛程式需要的所有「例項屬性」.
您需要對它們進行編輯,以將其設定為適當的值.
依您的部署與設定而定,您可能還需要新增其他屬性或監控作業.
如需如何執行此操作的詳細資料,請參閱新增或修改中繼屬性與例項屬性[34頁]與第4.
7節「設定資源監控」[43頁].
5按需要設定了所有參數後,請按一下「套用」以完成該資源的組態設定.
組態對話方塊會關閉,同時主視窗會顯示新增的資源.
若要完成圍籬區隔組態,請新增限制或使用複製品,或同時使用這兩種方式.
如需詳細資訊,請參閱第8章「圍籬區隔與STONITH」[75頁].
4.
4設定資源限制設定所有資源只是工作的一部分.
即使叢集瞭解所有必需的資源,可能仍然無法正確地對其進行處理.
資源限制可讓您指定資源可在哪些叢集節點上執行,載入資源的順序以及特定資源所依賴的其他資源.
系統中的限制分為三種類型:「資源位置」位置限制,定義資源可在、不可在或偏好在哪些節點上執行.
「資源並存」並存限制,告訴叢集哪些資源可以或不可以同時在節點上執行.
「資源順序」順序限制,定義動作執行的順序.
定義限制時,還需要處理分數.
所有類型的分數對於叢集的工作方式而言都是不可或缺的.
實際上,從移轉資源到決定要將降級叢集中哪個資源停止的所有作業,都是透過某種方式對分數進行操作來實現.
系統會對每個資源都計算分數,針對某個資源分數為負數的所有節點都不能執行該資源.
計算完針對資源的分數之後,叢集會選擇分數最高的節點.
INFINITY目前定義為1,000,000.
與其相關的加法或減法計算遵循以下3項基本規則:任何值+INFINITY=INFINITY任何值-INFINITY=-INFINITY36HighAvailability指南INFINITY-INFINITY=-INFINITY定義資源限制時,您還要指定每個限制的分數.
分數表示您要指定給此資源限制的值.
系統會先套用分數較高的限制,然後再套用分數較低的限制.
透過為指定資源建立不同分數的其他位置限制,即可指定資源將容錯移轉至之目標節點的順序.
過程4.
4新增或修改位置限制1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2在LinuxHAManagementClient主視窗中,按一下左側窗格中的「限制」,檢視已為叢集設定的限制.
3在左側窗格中,選取「限制」,然後按一下「新增」.
4選取「資源位置」,然後按一下「確定」.
5輸入限制的唯一「ID」.
在您修改現有的限制時,其ID已定義好,會顯示在組態對話方塊中.
6選取要對其定義限制的「資源」.
清單會顯示已為叢集設定之所有資源的ID.
7為限制設定「分數」.
正值表示資源可以在您於下方指定的「節點」上執行.
負值表示資源不能在此節點上執行.
+/-INFINITY值則表示將「可以」變更為「必須」.
8為限制選取「節點」.
使用GUI設定叢集資源379若將「節點」與「分數」欄位留為空白,您也可以透過按一下「新增」>「規則」來新增規則.
若要新增生命期間,只需按一下「新增」>「生命期間」.
10按需要設定了所有參數後,請按一下「確定」以完成該限制的組態設定.
組態對話方塊會關閉,同時主視窗會顯示新增的或修改的限制.
過程4.
5新增或修改並存限制1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2在LinuxHAManagementClient主視窗中,按一下左側窗格中的「限制」,檢視已為叢集設定的限制.
3在左側窗格中,選取「限制」,然後按一下「新增」.
4選取「資源並存」,然後按一下「確定」.
5輸入限制的唯一「ID」.
在您修改現有的限制時,其ID已定義好,會顯示在組態對話方塊中.
6選取做為並存來源的「資源」.
清單會顯示已為叢集設定之所有資源的ID.
若無法符合限制的要求,叢集可能會決定不允許執行該資源.
38HighAvailability指南7若將「資源」及「與資源」欄位留為空白,您也可以透過按一下「新增」>「資源集」來新增資源集.
若要新增生命期間,只需按一下「新增」>「生命期間」.
8在「與資源」中,定義並存目標.
叢集會先決定放置此資源的位置,然後決定放置「資源」欄位中之資源的位置.
9定義「分數」以決定兩個資源間的位置關係.
正值表示資源應該在同一個節點上執行.
負值表示資源不應該在同一個節點上執行.
+/-INFINITY值則表示將「應該」變更為「必須」.
該分數會結合其他因素來決定放置節點的位置.
10如有需要,請指定其他參數,例如「資源角色」.
根據所選的參數與選項,系統會顯示一條簡要「描述」,說明要設定之並存限制的效果.
11按需要設定了所有參數後,請按一下「確定」以完成該限制的組態設定.
組態對話方塊會關閉,同時主視窗會顯示新增的或修改的限制.
過程4.
6新增或修改順序限制1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2在LinuxHAManagementClient主視窗中,按一下左側窗格中的「限制」,檢視已為叢集設定的限制.
3在左側窗格中,選取「限制」,然後按一下「新增」.
4選取「資源順序」,然後按一下「確定」.
5輸入限制的唯一「ID」.
在您修改現有的限制時,其ID已定義好,會顯示在組態對話方塊中.
6使用「首先」,定義在「接著」資源允許啟動之前必須先啟動的資源.
7使用「接著」,定義在「首先」資源啟動之後將要啟動的資源.
8視需要定義其他參數,例如「分數」(若大於零,則限制為強制性;否則僅做為建議),或「對稱」(若為true,則以相反順序停止資源).
使用GUI設定叢集資源39根據所選的參數與選項,系統會顯示一條簡要「描述」,說明要設定之順序限制的效果.
9按需要設定了所有參數後,請按一下「確定」以完成該限制的組態設定.
組態對話方塊會關閉,同時主視窗會顯示新增的或修改的限制.
您可在LinuxHAManagementClient的「限制」檢視窗中存取和修改已設定的所有限制.
圖形4.
3LinuxHAManagementClient-限制如需設定限制的詳細資訊,以及有關順序與並存基本概念的詳細背景資訊,請參閱http://clusterlabs.
org/wiki/Documentation中提供的以下文件:《Configuration1.
0Explained》(Configuration1.
0說明)中的「ResourceConstraints」(資源限制)一章CollocationExplained(並存說明)OrderingExplained(順序說明)40HighAvailability指南4.
5指定資源容錯移轉節點若資源失敗,系統會自動將其重新啟動.
若在目前節點上無法將其重新啟動,或資源已在目前節點上失敗N次,則資源會嘗試容錯移轉至其他節點.
您可以定義一個數值,讓資源在失敗該次數(migration-threshold)之後移轉至新節點.
若叢集中有兩個以上的節點,則特定資源容錯移轉所至的節點由HighAvailability軟體來選擇.
若您要選擇資源將容錯移轉所至的節點,則必須執行以下動作:1依新增或修改位置限制[37頁]中所述為該資源設定位置限制.
2依新增或修改中繼屬性與例項屬性[34頁]中所述將migration-threshold中繼屬性新增至該資源,並為該migration-threshold輸入「值」.
該值應該為小於INFINITY的正數.
3若要讓資源的failcount自動過期,請依新增或修改中繼屬性與例項屬性[34頁]中所述將failure-timeout中繼屬性新增至該資源,並為該failure-timeout輸入「值」.
4若要指定具有資源優先設定的其他容錯移轉節點,請建立其他位置限制.
例如,假設您已為資源r1設定位置限制,讓其偏向於在node1上執行.
若資源在該節點上失敗,系統會檢查migration-threshold,並將其與failcount進行比較.
若failcount>=migration-threshold,則將資源移轉至優先設定次佳的節點.
依預設,一旦達到限定值,則不再允許該節點執行失敗的資源,除非管理員手動重設資源的failcount(在修復失敗原因之後).
不過,透過設定資源的failure-timeout選項可以使失敗計數過期.
因此,設定migration-threshold=2及failure-timeout=60s會導致資源在兩次失敗後將移轉至新節點,並且可能允許其在一分鐘後移回原節點(具體視相粘性與限制分數而定).
移轉限定值概念有兩種例外情況,發生於資源無法啟動或無法停止時:啟動失敗將failcount設定為INFINITY,因此始終導致資源立即移轉.
停止失敗會導致圍籬區隔(當stonith-enabled設定為預設值true時).
若未定義任何使用GUI設定叢集資源41STONITH資源(或將stonith-enabled設定為false),則資源一律不會移轉.
若要使用LinuxHAManagementClient清理資源的failcount,請在左側窗格中選取「管理」,並在右側窗格中選取相應的資源,然後按一下工具列中的「清理資源」.
如此會在指定節點上針對指定資源執行指令crm_resource-C與crm_failcount-D.
如需詳細資訊,另請參閱crm_resource(8)[157頁]和crm_failcount(8)[148頁].
4.
6指定資源錯誤回復節點(資源相粘性)當原始節點恢復連線且位於叢集中時,資源可以錯誤回復至該節點.
若不想讓資源錯誤回復至資源在容錯移轉之前所處的節點,或要為資源指定另一個要錯誤回復至的節點,您必須變更其資源相粘性的值.
您可以在建立資源時或建立之後指定資源相粘性.
指定資源粘性的值時,請考慮以下事項:值為0:此為預設值.
資源處於系統中的最佳位置.
這表示當有「更佳」的或負載更低的節點可用時,則移動資源.
此選項幾乎等同於自動錯誤回復,除了資源可能會移至原先節點(資源之前於其上處於使用中狀態)之外的節點這種情況.
值大於0:資源偏向於保留在其目前的位置,但當有更合適的節點時,則可能會移動.
值越高表示越偏向於將資源保留在目前的位置.
值小於0:資源偏向於從其目前位置移開.
絕對值越高表示越偏向於移動資源.
值為INFINITY:資源始終保留在其目前的位置,除非由於此節點不再符合執行該資源的條件(節點關機、節點待機、達到migration-threshold,或組態變更)而強制關閉此選項.
此選項幾乎等同於完全停用自動錯誤回復.
42HighAvailability指南值為-INFINITY:資源始終從其目前位置移開.
過程4.
7指定資源相粘性1依新增或修改中繼屬性與例項屬性[34頁]中所述將resource-stickiness中繼屬性新增至資源.
2對於resource-stickiness的「值」,請指定介於-INFINITY與INFINITY之間的值.
4.
7設定資源監控HighAvailabilityExtension不僅可以偵測節點失敗,而且還可以偵測節點上個別資源失敗的時間.
若要確定資源是否正在執行,您必須針對該資源設定資源監控.
資源監控包括指定逾時與/或啟動延遲值以及間隔.
該間隔會告知CRM應檢查資源狀態的頻率.
過程4.
8新增或修改監控作業1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2在LinuxHAManagementClient主視窗中,按一下左側窗格中的「資源」,以檢視已為叢集設定的資源.
使用GUI設定叢集資源433在右側窗格中,選取要修改的資源,然後按一下「編輯」.
下一個視窗會顯示基本的資源參數,以及已為該資源定義的中繼屬性、例項屬性及作業.
4若要新增新的監控作業,請選取相應的索引標籤,然後按一下「新增」.
若要修改現有作業,請選取相應的項目,然後按一下「編輯」.
5輸入監控作業的唯一「ID」.
在您修改現有的監控作業時,其ID已定義好,會顯示在組態對話方塊中.
6在「名稱」中,選取要執行的動作,例如「監控」、「啟動」,或「停止」.
7在「間隔」欄位中輸入值(以秒計).
8在「逾時」欄位中輸入值(以秒計).
作業在經過指定的逾時期間之後會被視為failed.
PE將會決定需要採取的措施,或執行您在監控作業的「失敗時」欄位中指定的動作.
9視需要設定選擇性參數,例如「失敗時」(若此動作失敗時應採取何措施)或「必要」(執行此動作之前需要符合哪些條件).
10按需要設定了所有參數後,請按一下「確定」以完成該資源的組態設定.
組態對話方塊會關閉,同時主視窗會顯示修改的資源.
44HighAvailability指南若不設定資源監控,則不會向您通知資源成功啟動後發生的失敗,並且叢集會始終將資源顯示為處於正常狀態.
若資源監控偵測到失敗,系統將會執行以下動作:根據/etc/ais/openais.
conf的logging區段中指定的組態產生記錄檔案訊息(預設會寫入syslog,通常為/var/log/messages).
在LinuxHAManagementClient、crm_mon工具及CIB狀態區段中會反應出失敗.
若要在LinuxHAManagementClient中檢視失敗,請在左側窗格中按一下「管理」,然後在右側窗格中選取要檢視其詳細資料的資源.
叢集會啟動重要的復原動作,其中可能包括停止資源以修複失敗狀態,以及在本地或在其他節點上重新啟動資源.
也可能根本不重新啟動資源,具體視組態及叢集狀態而定.
4.
8啟動新的叢集資源注:啟動資源使用HighAvailabilityExtension設定資源時,不應手動啟動或停止相同的資源(在叢集外部).
HighAvailabilityExtension軟體負責所有服務的啟動或停止動作.
建立資源期間,若將其初始狀態設定為stopped(target-role中繼屬性的值設定為stopped),則建立資源後其將不會自動啟動.
若要使用LinuxHAManagementClient來啟動新的叢集資源,請在左側窗格中選取「管理」.
在右側窗格中,在資源上按一下滑鼠右鍵,然後選取「啟動」(或從工具列中將資源啟動).
4.
9移除叢集資源若要使用LinuxHAManagementClient移除叢集資源,請切換至左側窗格中的「資源」檢視窗,然後選取相應的資源並按一下「移除」.
使用GUI設定叢集資源45注:移除參考資源若有限制正在參考叢集資源的ID,則不能移除叢集資源.
若無法刪除某個資源,請檢查參考該資源ID的位置,先從限制中移除該資源.
4.
10設定叢集資源群組某些叢集資源依賴於其他元件或資源,要求每個元件或資源以特定順序啟動,並在同一個伺服器上執行.
若要簡化此組態,您可以使用群組.
群組具有以下內容:啟動和停止資源系統是以資源顯示的順序來啟動資源,並以其顯示的相反順序停止資源.
相依性若群組中的某個資源在任何地方都無法執行,則群組中位於該資源之後的所有資源均不允許執行.
群組內容群組僅會包含原始叢集資源的集合.
若要參閱群組資源的子代,請使用子代ID,而不是群組的ID.
限制儘管您可以在限制中參考群組的子代,但一般最好使用群組的名稱.
相粘性相粘性在群組中屬於加法類內容.
群組中每個使用中成員的粘性值都會影響群組的總值.
因此,若resource-stickiness預設值為100,並且群組有7個成員,其中5個處於使用中狀態,則整個群組偏向於其目前位置的分數為500.
資源監控若要對群組啟用資源監控,您必須為要監控的群組中的每個資源分別設定監控.
46HighAvailability指南注:空群組群組至少須包含一個資源,否則組態視為無效.
過程4.
9新增資源群組1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2在左側窗格中,選取「資源」並按一下「新增」>「群組」.
3輸入群組的唯一「ID」.
4在「選項」下方,設定「資源的初始狀態」,然後按「下一步」.
5在下一步中,您可以將原始資源新增為群組的子資源.
建立這些資源的方式與新增原始資源[32頁]中所述方式類似.
6按需要設定了所有參數後,請按一下「套用」以完成該原始資源的組態設定.
7在下一個視窗中,您可以再次選擇「原始」並按一下「確定」,繼續為群組新增子資源.
如果不想為群組新增更多原始資源,請按一下「取消」.
下一個視窗會顯示已為該群組定義的參數摘要.
其中會列出群組的「中繼屬性」與「原始資源」.
「原始」索引標籤中資源的位置表示該資源在叢集中的啟動順序.
8由於群組中資源的順序很重要,因此請使用「向上」與「向下」按鈕,對群組中的「原始資源」進行排序或重新排序.
9按需要設定了所有參數後,請按一下「確定」以完成該群組的組態設定.
組態對話方塊會關閉,同時主視窗會顯示新建的或修改的群組.
使用GUI設定叢集資源47圖形4.
4LinuxHAManagementClient-群組範例4.
1Web伺服器的資源群組資源群組的其中一個範例就是需要IP位址與檔案系統的Web伺服器.
在此案例中,每個元件都是組合到叢集資源群組中的獨立的叢集資源.
資源群組會在一或多個伺服器上執行,若軟體或硬體出現異常,資源群組會容錯移轉至叢集中的其他伺服器,這一點與個別叢集資源相同.
48HighAvailability指南圖形4.
5群組資源在新增資源群組[47頁]中,您會瞭解如何建立資源群組.
假設您已依照上文中的說明建立資源群組.
將資源新增至現有群組[49頁]會向您說明如何修改群組以符合範例4.
1「Web伺服器的資源群組」[48頁].
過程4.
10將資源新增至現有群組1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2在左側窗格中,切換至「資源」檢視窗,然後在右側窗格中選取要修改的群組,並按一下「編輯」.
下一個視窗會顯示基本的群組參數,以及已為該資源定義的中繼屬性與原始資源.
3按一下「原始資源」索引標籤,然後按一下「新增」.
4在下一個對話方塊中,設定以下參數以將IP位址新增為群組的子資源:4a輸入唯一的「ID」,例如my_ipaddress.
4b在「類別」清單中,選取「ocf」做為資源代辦類別.
4c對於OCF資源代辦的「提供者」,選取「heartbeat」.
使用GUI設定叢集資源494d在「類型」清單中,選取「IPaddr」做為資源代辦.
4e按「下一步」.
4f在「例項屬性」索引標籤中,選取「IP」項目並按一下「編輯」(或在「IP」項目上連按兩下).
4g對於「值」,輸入所需的IP位址,例如192.
168.
1.
1.
4h按一下「確定」與「套用」.
群組組態對話方塊會顯示新增的原始資源.
5再按一下「新增」以新增下一個子資源(檔案系統與Web伺服器).
6為每個子資源設定相應的參數(類似於步驟步驟4a[49頁]至步驟4h[50頁]),直到您已設定此群組的所有子資源.
由於我們是依照子資源在叢集中的啟動順序對其進行設定,因此「原始資源」索引標籤中的順序已經是正確的.
7若需要變更群組的資源順序,請使用「向上」與「向下」按鈕對「原始」索引標籤中的資源重新排序.
50HighAvailability指南8若要從群組中移除某個資源,請在「原始資源」索引標籤中選取該資源,然後按一下「移除」.
9按一下「確定」以完成該群組的組態設定.
組態對話方塊會關閉,同時主視窗會顯示修改的群組.
4.
11設定複製品資源您可能要讓某些資源同時在叢集的多個節點上執行.
若要實現此目的,您必須將資源設定為複製品.
可以設定為複製品的資源範例包括STONITH以及叢集檔案系統,如OCFS2.
只要資源的資源代辦支援複製功能,您就可複製任何資源.
您甚至可以對複製品資源進行不同的設定,具體視代管它們的節點而定.
資源複製品分為三種類型:匿名複製品這是最簡單的一種複製品.
無論在何處執行,它們的行為都相同.
因此,每部機器上只能有一個匿名複製品例項處於使用中狀態.
全域唯一複製品這些資源是不同的實體.
在一個節點上執行的複製品例項與在另一個節點上執行的另一個例項不同;在相同節點上的任何兩個例項也不相同.
狀態複製品這些資源的使用中例項分為兩種狀態:主動與被動.
這兩種狀態有時也稱為主要與次要,或主要與從屬.
狀態複製品可以是匿名複製品,也可以是全域唯一複製品.
過程4.
11新增或修改複製品1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2在左側窗格中,選取「資源」並按一下「新增」>「複製品」.
3輸入複製品的唯一「ID」.
4在「選項」下方,設定「資源的初始狀態」.
5啟用要為複製品設定的相應選項,然後按「下一步」.
使用GUI設定叢集資源516在下一步中,您可以新增「原始」或「群組」做為複製品的子資源.
建立這些資源的方式與新增原始資源[32頁]或新增資源群組[47頁]中所述方式類似.
7按需要在複製品組態對話方塊中設定了所有參數後,請按一下「套用」以完成該複製品的組態設定.
4.
12移轉叢集資源如第4.
5節「指定資源容錯移轉節點」[41頁]中所述,當軟體或硬體發生失敗時,叢集會自動對資源進行容錯移轉(移轉)—具體情況視您可以定義的某些參數(例如移轉限定值或資源相粘性).
除此之外,您還可以手動將資源移轉至叢集資源中的其他節點.
過程4.
12手動移轉資源1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2切換至左側窗格中的「管理」檢視窗,然後在右側窗格中的相應資源上按一下滑鼠右鍵,並選取「移轉資源」.
52HighAvailability指南3在新視窗中,在「至節點」中選取要將資源移至的節點.
如此會建立一個位置限制,其目的節點的分數為INFINITY.
4若只想暫時移轉資源,請啟用「持續時間」,並輸入資源移轉至新節點後應保留的時間.
經過這段持續時間之後,資源可以移回其原始位置,也可以保留在目前的位置(具體取決於資源相粘性).
5如果資源無法移轉(若資源相粘性及限制總分大於目前節點上的INFINITY),請啟用「強制」選項.
如此會為目前位置建立規則以及一個-INFINITY分數,以強制資源移動.
注這樣將會防止資源在此節點上執行,直到使用「清除移轉限制」移除限制,或持續時間過期.
6按一下「確定」以確認移轉.
若要允許資源移回原始位置,請切換至「管理讓」,在資源檢視窗上按一下滑鼠右鍵,然後選取「清除移轉限制」.
此程序會使用crm_resource-U指令.
資源可以移回其原始位置,也可以保留在目前的位置(具體取決於資源相粘性).
如需詳細資訊,請參閱crm_resource(8)[157頁]或《Configuration1.
0Explained》(Configuration1.
0說明)中的「ResourceMigration」(資源移轉)一章,該文件可從http://clusterlabs.
org/wiki/Documentation取得.
4.
13如需更多資訊http://clusterlabs.
org/Pacemaker首頁,HighAvailabilityExtension隨附的叢集資源管理員.
http://linux-ha.
orgTheHighAvailabilityLinuxProject首頁.
http://clusterlabs.
org/wiki/DocumentationCRM指令行介面:crm指令行工具的簡介.
使用GUI設定叢集資源53http://clusterlabs.
org/wiki/Documentation《Configuration1.
0Explained》(Configuration1.
0說明):說明用於設定Pacemaker的概念.
包含全面詳盡的資訊,以供參考.
54HighAvailability指南5從指令行設定叢集資源如第4章[29頁]中所述,必須為在叢集中的伺服器上執行的每個資源或應用程式建立叢集資源.
叢集資源可包括網站、電子郵件伺服器、資料庫、檔案系統、虛擬機器,以及其他您希望使用者隨時都可以存取的伺服器型應用程式或服務.
您可以使用圖形HAManagementClient公用程式或crm指令行公用程式建立資源.
本章介紹了幾個crm公用程式.
5.
1指令行工具安裝後,就會出現幾個工具可用於管理叢集.
通常只需要crm指令.
此指令有幾個子指令.
執行crmhelp可取得所有可用指令的綜覽.
該綜覽是包含內嵌式範例的完整說明系統.
crm工具具有管理功能(子指令為resources和node),用於進行組態設定(cib、configure).
管理子指令可「立即」生效,但組態最後還需要執行commit.
5.
2組態變更除錯在將變更載入回叢集之前,建議先使用ptest檢視變更.
ptest可顯示要提交的變更將導致之動作的圖表.
需要graphiz套件才能顯示圖表.
以下範例是一份記錄,新增了監控作業:從指令行設定叢集資源55#crmcrm(live)#configurecrm(live)configure#showfence-node2primitivefence-node2stonith:apcsmart\paramshostlist="node2"crm(live)configure#monitorfence-node2120m:60scrm(live)configure#showchangedprimitivefence-node2stonith:apcsmart\paramshostlist="node2"\opmonitorinterval="120m"timeout="60s"crm(live)configure#ptestcrm(live)configure#commit5.
3建立叢集資源叢集可以使用以下三種類型的RA(資源代辦).
首先,有舊版Heartbeat1程序檔.
HighAvailability可以使用LSB啟始化程序檔.
最後,叢集有它自己的一組OCF(開放叢集架構)代辦.
此文件重點說明LSB程序檔和OCF代辦.
若要建立叢集資源,請使用crm工具.
若要將新資源新增至叢集,一般程序如下:1開啟外圍程序,切換為root身份.
2執行crm開啟crm的內部外圍程序.
提示變更為crm(live)#.
3設定原始IP位址:crm(live)#configurecrm(live)configure#primitivemyIPocf:heartbeat:IPaddr\paramsip=127.
0.
0.
99opmonitorintervall=60s以上指令設定名為myIP的「原始」IP位址.
您需要提供類別(此處為ocf)、提供者(heartbeat)和類型(IPaddr).
此外,此原始資源還需要某些參數,例如IP位址.
必須將位址變更為您的設定.
4顯示並檢閱已進行的變更:crm(live)configure#show若要查看XML結構,請使用下列指令:crm(live)configure#showxml56HighAvailability指南5提交變更,使之生效:crm(live)configure#commit5.
3.
1LSB啟始化程序檔所有LSB程序檔通常均位於/etc/init.
d目錄中.
它們必須執行幾個動作,這些動作至少包含start、stop、restart、reload、force-reload和status,如http://www.
linux-foundation.
org/spec/refspecs/LSB_1.
3.
0/gLSB/gLSB/iniscrptact.
html中所述.
這些服務的組態尚未標準化.
如果要將LSB程序檔與HighAvailability搭配使用,請確定您瞭解如何設定各程序檔.
您通常可以在/usr/share/doc/packages/套件名稱中它們各自的套件文件中找到相關文件.
注:不要接觸HighAvailability所使用的服務當服務由HighAvailability使用時,不要籍由其他方式接觸該服務.
這表示不應在開機、重新開機時啟動或停止該服務,或進行手動啟動或停止.
不過,如果您要檢查服務是否正確設定,請手動將其啟動,但請確保在HighAvailability接管之前將它再次停止.
在使用LSB資源之前,請確定此資源的組態存在且在所有叢集節點上均相同.
該組態不受HighAvailability管理.
您必須自行管理.
5.
3.
2OCF資源代辦所有OCF代辦皆位於/usr/lib/ocf/resource.
d/heartbeat/中.
它們是一些小程式,其功能類似於LSB程序檔.
不過,始終使用環境變數進行組態設定.
所有OCF資源代辦都必須至少含有動作start、stop、status、monitor和meta-data.
meta-data動作可取回有關如何設定代辦的資訊.
例如,如果您要詳細瞭解IPaddr代辦,請使用以下指令:OCF_ROOT=/usr/lib/ocf/usr/lib/ocf/resource.
d/heartbeat/IPaddrmeta-data輸出為採用簡單XML格式的冗長資訊.
您可以使用ra-api-1.
dtdDTD驗證輸出.
此XML格式基本上有三個區段︰第一個區段為若干通用描述,第二個區段為所有可用的參數,最後一個區段為此代辦的可用動作.
從指令行設定叢集資源57此輸出用於機器閱讀,可讀性不高.
因此,crm工具包含ra指令以取得有關資源代辦的不同資訊:#crmcrm(live)#racrm(live)ra#指令classes可提供所有類別和提供者的清單:crm(live)ra#classesstonithlsbocf/lvm2ocfs2heartbeatpacemakerheartbeat若要取得類別(和提供者)的所有可用資源代辦的綜覽,請使用list:crm(live)ra#listocfAudibleAlarmClusterMonDelayDummyFilesystemICPIPaddrIPaddr2IPsrcaddrIPv6addrLVMLinuxSCSIMailToManageRAIDManageVEPure-FTPdRaid1RouteSAPDatabaseSAPInstanceSendArpServeRAIDSphinxSearchDaemonSquid.
.
.
如需有關資源代辦的詳細資訊,可透過meta檢視:crm(live)ra#metaFilesystemocfheartbeatFilesystemresourceagent(ocf:heartbeat:Filesystem)ResourcescriptforFilesystem.
ItmanagesaFilesystemonasharedstoragemedium.
Parameters(*denotesrequired,[]thedefault):.
.
.
您可以透過按Q鍵離開檢視器.
組態範例可在第6章「設定簡易測試資源」[69頁]中找到.
5.
3.
3NFS伺服器的範例組態若要設定NFS伺服器,需要三種資源:檔案系統資源、drbd資源和一組NFS伺服器及IP位址.
以下各目顯示如何執行此操作.
58HighAvailability指南設定檔案系統資源filesystem資源設定為OCF原始資源.
需要完成根據啟動和停止要求在目錄中裝載和卸載設備這一任務.
在本範例中,設備為/dev/drbd0,要用做裝載點的目錄為/srv/failover.
所使用的檔案系統為xfs.
在crm外圍程序中使用以下指令設定filesystem資源:crm(live)#configurecrm(live)configure#primitivefilesystem_resource\ocf:heartbeat:Filesystem\paramsdevice=/dev/drbd0directory=/srv/failoverfstype=xfs設定drbd在開始drbdHighAvailability組態設定之前,請先手動設定drbd設備.
基本上,此操作為在/etc/drbd.
conf中設定drbd並使其同步.
設定drbd的確切程序將在儲存管理指南中加以說明.
現在,假設您已設定資源r0,可於兩個叢集節點上的設備/dev/drbd0存取該資源.
drbd資源為OCF主要從屬資源.
此資訊可在drbdRA中繼資料的描述中找到.
不過,更重要的是在中繼資料的actions區段中含有promote和demote動作.
它們是主要從屬資源的必要動作,通常不可用於其他資源.
對於HighAvailability,主要從屬資源可在不同節點上擁有多個主要資源.
甚至可能在同一個節點上既有主要資源又有從屬資源.
因此,將使用特定方式設定此資源,使得恰有一個主要資源和一個從屬資源分別在不同的節點上執行.
要實現此目的,可使用主要資源的meta屬性.
主要從屬資源是HighAvailability中的一種特殊類型的複製資源.
每個主要資源和每個從屬資源皆計數為一個複製資源.
在crm外圍程序中使用以下指令設定主要從屬資源:crm(live)#configurecrm(live)configure#primitivedrbd_r0ocf:heartbeat:drbdparamscrm(live)configure#msdrbd_resourcedrbd_r0\metaclone_max=2clone_node_max=1master_max=1master_node_max=1notify=truecrm(live)configure#commit從指令行設定叢集資源59NFS伺服器與IP位址若要使NFS伺服器始終在同一個IP位址上可用,請使用其他IP位址及機器用於其一般操作的IP位址.
然後,除系統的IP位址之外,還會將此IP位址指定給使用中的NFS伺服器.
NFS伺服器與NFS伺服器的IP位址在同一台機器上應始終處於使用中狀態.
在此情況下,啟動順序並不十分重要.
甚至可以同時啟動它們.
這些是群組資源的一般要求.
在開始HighAvailabilityRA組態設定之前,請使用YaST設定NFS伺服器.
不要讓系統啟動NFS伺服器.
只需設定組態檔案.
如果要手動執行此操作,請參閱手冊頁exports(5)(man5exports).
組態檔案為/etc/exports.
NFS伺服器設定為LSB資源.
使用HighAvailabilityRA組態完整設定IP位址.
不需要在系統中進行其他修改.
IP位址RA為OCFRA.
crm(live)#configurecrm(live)configure#primitivenfs_resourcelsb:nfsservercrm(live)configure#primitiveip_resourceocf:heartbeat:IPaddr\paramsip=10.
10.
0.
1crm(live)configure#groupnfs_groupnfs_resourceip_resourcecrm(live)configure#commitcrm(live)configure#endcrm(live)#quit5.
4建立STONITH資源從crm角度看,STONITH設備只是另一個資源.
若要建立STONITH資源,請執行下列步驟:1以系統管理員身份執行crm指令.
提示變更為crm(live).
2使用以下指令取得所有STONITH類型清單:crm(live)#raliststonithapcmasterapcsmartbaytechcycladesdrac3external/drac5external/hmchttpexternal/ibmrsaexternal/ibmrsa-telnetexternal/ipmiexternal/kdumpcheckexternal/rackpduexternal/riloeexternal/sbdexternal/sshexternal/vmwareexternal/xen0external/xen0-ha60HighAvailability指南ibmhmcipmilanmeatwarenullnw_rpc100srcd_serialrps10sshsuicide3從上述清單中選擇一種STONITH類型並檢視可能的選項清單.
使用以下指令(按Q鍵可關閉檢視器):crm(live)#rametaexternal/ipmistonithIPMISTONITHexternaldevice(stonith:external/ipmi)IPMI-basedhostresetParameters(*denotesrequired,[]thedefault):.
.
.
4使用類別stonith、您在步驟3中選擇的類型,並視需要使用相應參數建立STONITH資源,例如:crm(live)#configurecrm(live)configure#primitivemy-stonithstonith:external/ipmi\metatarget-role=Stopped\operationsmy_stonith-operations\opmonitorstart-delay=15timeout=15hostlist=''\pduip=''community=''5.
5設定資源限制設定所有資源只是工作的一部分.
即使叢集瞭解所有必需的資源,可能仍然無法正確地對其進行處理.
例如,嘗試在drbd從屬節點上裝載檔案系統沒有任何意義(實際上,此操作將失敗,出現drbd錯誤).
若要通知叢集有關這些事項,請定義限制.
在HighAvailability中,有三種不同類型的限制可供使用:位置限制,定義可在哪些節點上執行資源(在crm外圍程序中可使用location指令實現).
並存限制,告知叢集哪些資源可以或不可以一併在節點上執行(colocation).
順序限制,定義動作順序(order).
從指令行設定叢集資源615.
5.
1位置限制可以為每個資源多次新增此類限制.
將針對提供的資源評估所有rsc_location限制.
下面是一個簡單的範例,可將在名為earth的節點上執行ID為fs1-loc的資源的可能性提高到100:crm(live)configure#locationfs1-locfs1100:earth5.
5.
2並存限制colocation指令用於定義應在相同或不同主機上執行的資源.
它通常總使用下列順序:crm(live)configure#orderrsc1rsc2crm(live)configure#colocationrsc2rsc1只能設定許多+INFINITY或-INFINITY,定義必須始終或永不在同一個節點上執行的資源.
例如,若要始終在同一個主機上執行ID分別為filesystem_resource和nfs_group的兩個資源,請使用以下限制:crm(live)configure#colocationnfs_on_filesysteminf:nfs_groupfilesystem_resource對於主要從屬組態,除本地執行資源之外,還必須瞭解目前節點是否為主要節點.
這可使用其他to_role或from_role屬性進行檢查.
5.
5.
3順序限制有時需要提供服務必須採用的啟動順序.
例如,在設備可用於系統之前,不能裝載檔案系統.
順序限制可用於在另一個資源符合特定條件(例如啟動、停止或升級為主要資源)的前後啟動或停止服務.
在crm外圍程序中使用以下指令設定順序限制:crm(live)configure#ordernfs_after_filesystemmandatory:group_nfsfilesystem_resource5.
5.
4範例組態的限制如果沒有其他限制,本章中所用的範例可能無法如預期般作用.
所有資源皆必須與drbd資源的主要資源在同一機器上執行,這是基本要求.
另一重要事項62HighAvailability指南是,在任何其他資源啟動之前,drbd資源必須是主要資源.
若drbd不是主要資源,嘗試裝載drbd設備必定失敗.
必須滿足的限制如下所示:檔案系統必須始終與drbd資源的主要資源位於同一個節點上.
crm(live)configure#colocationfilesystem_on_masterinf:\filesystem_resourcedrbd_resource:MasterNFS伺服器與IP位址必須與檔案系統位於同一個節點上.
crm(live)configure#colocationnfs_with_fsinf:\nfs_groupfilesystem_resourceNFS伺服器與IP位址將在檔案系統完成裝載之後啟動︰crm(live)configure#ordernfs_secondmandatory:\filesystem_resourcenfs_group必須在將drbd資源升級為節點上的主要資源之後,才能在此節點上裝載檔案系統.
crm(live)configure#orderdrbd_firstinf:\drbd_resource:promotefilesystem_resource5.
6指定資源容錯移轉節點若要判斷資源容錯移轉,請使用meta屬性migration-threshold.
例如:crm(live)configure#locationr1-node1r1100:node1通常,r1首選在節點node1上執行.
如果失敗,則會檢查migration-threshold並與failcount進行比較.
若failcount>=migration-threshold,則將資源移轉至優先設定次佳的節點.
根據start-failure-is-fatal選項,啟動失敗會將failcount設定為INFINITY.
停止失敗將導致圍籬區隔.
如果未定義STONITH,則根本不會移轉資源.
從指令行設定叢集資源635.
7指定資源錯誤回復節點(資源相粘性)僅當管理員重設failcount或失敗過期時,rsc才會在由於達到失敗次數而產生移轉後進行錯誤回復(請參閱failure-timeoutmeta屬性).
crmresourcefailcountRSCdeleteNODE5.
8設定資源監控若要監控資源,有兩種可行方法:使用op關鍵字定義監控操作或使用monitor指令.
以下範例設定Apache資源並每隔30分鐘就使用op關鍵字監控它一次:crm(live)configure#primitiveapacheapache\params.
.
.
\opmonitorinterval=60stimeout=30s下列指令可達到相同目的:crm(live)configure#primitiveapacheapache\params.
.
.
crm(live)configure#monitorapache60s:30s5.
9啟動新的叢集資源若要啟動新的叢集資源,您需要相應的識別碼.
請執行下列步驟:1以系統管理員身份執行crm指令.
提示變更為crm(live).
2使用status指令搜尋各資源.
3使用下列指令啟動資源:crm(live)#resourcestartID64HighAvailability指南5.
10移除叢集資源若要移除叢集資源,您需要相應的識別碼.
請執行下列步驟:1以系統管理員身份執行crm指令.
提示變更為crm(live).
2執行下列指令以取得資源清單:crm(live)#resourcestatus例如,輸出可能如下所示(myIP為資源的相應識別碼):myIP(ocf::IPaddr:heartbeat).
.
.
3刪除具有相應識別碼的資源(此操作還隱含commit指令):crm(live)#configuredeleteYOUR_ID4提交變更:crm(live)#configurecommit5.
11設定叢集資源群組叢集其中一個最常見的元素是需要存放在一起、循序地啟動並以相反順序停止的一組資源.
若要簡化此組態,您可以使用群組.
以下範例將建立兩個原始資源(一個IP位址和一個電子郵件資源):1以系統管理員身份執行crm指令.
提示變更為crm(live).
2設定原始資源:crm(live)#configurecrm(live)configure#primitivePublic-IPocf:IPaddr:heartbeat\paramsip=1.
2.
3.
4crm(live)configure#primitiveEmaillsb:exim3以正確的順序對原始資源及其各自的識別碼進行分組:crm(live)configure#groupshortcutPublic-IPEmail從指令行設定叢集資源655.
12設定複製品資源複製最初被認為是啟動IP資源的N個例項並在整個叢集進行分配以達到負載平衡的一種便利方法.
經證明,複製用途多種多樣,包括與DLM整合、圍籬區隔子系統和OCFS2.
只要資源代辦支援,就可以複製任何資源.
存在以下幾種複製資源:匿名資源匿名複製是最簡單的類型.
這些資源無論在何處執行,其行為方式均完全相同.
因此,每台機器上只能有匿名複製的一個副本處於使用中狀態.
多狀態資源多狀態資源是一種特殊的複製資源.
它們允許例項處於兩種作業模式之一.
這兩種模式稱為「主要」和「從屬」,但它們的含義可由您隨意指定.
唯一的限制是在啟動例項時,必須以從屬狀態出現.
5.
12.
1建立匿名複製資源若要建立匿名複製資源,首先要建立原始資源,然後使用clone指令參考它.
請進行下列幾項操作:1以系統管理員身份執行crm指令.
提示變更為crm(live).
2設定原始資源,例如:crm(live)#configurecrm(live)configure#primitiveApachelsb:apache3複製原始資源:crm(live)configure#cloneapache-cloneApache\metaglobally-unique=false5.
12.
2建立可設定狀態的/多狀態的複製資源若要建立可設定狀態的複製資源,首先要建立原始資源,然後建立主要-從屬資源.
66HighAvailability指南1以系統管理員身份執行crm指令.
提示變更為crm(live).
2設定原始資源.
視需要變更間隔:crm(live)#configurecrm(live)configure#primitivemyRSCocf:myCorp:myAppl\operationsfoo\opmonitorinterval=60\opmonitorinterval=61role=Master3建立主要從屬資源:crm(live)configure#cloneapache-cloneApache\metaglobally-unique=false5.
13移轉叢集資源雖然資源設定為在遇到硬體或軟體故障時自動容錯移轉(或移轉)至叢集中的其他節點,您也可以使用LinuxHAManagementClient或指令行將資源手動移轉至叢集中的另一個節點.
1以系統管理員身份執行crm指令.
提示變更為crm(live).
2若要將名為ipaddress1的資源移轉至名為node2的叢集節點,請輸入以下指令:crm(live)#resourcecrm(live)resource#migrateipaddress1node25.
14使用陰影組態進行測試注:僅限經驗豐富的管理員雖然概念很簡單,但是仍然建議您在真正需要,並透過HighAvailability取得一定的經驗時,才使用陰影組態.
陰影組態用於測試不同的組態案例.
如果您已建立幾個陰影組態,則可以逐個進行測試以瞭解變更的效果.
從指令行設定叢集資源67一般程序如下:1.
使用者啟動crm工具.
2.
您切換至configure子指令:crm(live)#configurecrm(live)configure#3.
現在即可進行變更.
不過,如果您知道這些變更存在風險或者想稍後再套用它們,則可以將它們儲存至新的陰影組態:crm(live)configure#cibnewmyNewConfigINFO:myNewConfigshadowCIBcreatedcrm(myNewConfig)configure#commit4.
建立完陰影組態之後,即可進行變更.
5.
若要切換回使用中的叢集組態,請使用以下指令:crm(myNewConfig)configure#cibusecrm(live)configure#5.
15如需更多資訊http://linux-ha.
orgHighAvailabilityLinux的首頁http://www.
clusterlabs.
org/mediawiki/images/8/8d/Crm_cli.
pdf為您提供CRMCLI工具簡介http://www.
clusterlabs.
org/mediawiki/images/f/fb/Configuration_Explained.
pdf說明Pacemaker組態68HighAvailability指南6設定簡易測試資源在按照第3章「使用YaST進行安裝及基本設定」[21頁]中所述安裝和設定叢集,並在瞭解如何使用GUI或指令行設定資源之後,本章接下來提供了設定簡易資源(IP位址)的基本範例.
本文示範了使用LinuxHAManagementClient或crm指令行工具兩種方法來執行此作業.
對於以下範例,我們假設您的叢集至少包含兩個節點.
6.
1使用GUI設定資源建立範例叢集資源並將其移轉至其他伺服器,可協助您進行測試以確保叢集正常運作.
設定和移轉的簡易資源為IP位址.
過程6.
1建立IP位址叢集資源1啟動LinuxHAManagementClient,並依第4.
1節「LinuxHAManagementClient」[29頁]中所述登入叢集.
2在左側窗格中,切換至「資源」檢視窗,然後在右側窗格中選取要修改的群組,並按一下「編輯」.
下一個視窗會顯示基本的群組參數,以及已為該資源定義的中繼屬性與原始資源.
3按一下「原始資源」索引標籤,然後按一下「新增」.
4在下一個對話方塊中,設定以下參數以將IP位址新增為群組的子資源:4a輸入唯一的ID,例如myIP.
設定簡易測試資源694b在「類別」清單中,選取「ocf」做為資源代辦類別.
4c對於OCF資源代辦的「提供者」,選取「heartbeat」.
4d在「類型」清單中,選取「IPaddr」做為資源代辦.
4e按「下一步」.
4f在「例項屬性」索引標籤中,選取「IP」項目並按一下「編輯」(或在「IP」項目上連按兩下).
4g對於「值」,請輸入所需的IP位址(例如10.
10.
0.
1),然後按一下「確定」.
4h「新增」一個新的例項屬性,並將nic指定為「名稱」,將eth0指定為「值」,然後按一下「確定」.
名稱與值具體取決於您的硬體組態以及安裝HighAvailabilityExtension軟體期間為媒體組態所選選項.
5按需要設定了所有參數後,請按一下「確定」以完成該資源的組態設定.
組態對話方塊會關閉,同時主視窗會顯示修改的資源.
若要使用LinuxHAManagementClient啟動資源,請選取左側窗格中的「管理」.
在右側窗格中,在資源上按一下滑鼠右鍵,然後選取「啟動」(或從工具列中將資源啟動).
若要將IP位址資源移轉至其他節點(saturn),請繼續執行以下步驟:過程6.
2將資源移轉至其他節點1切換至左側窗格中的「管理」檢視窗,然後在右側窗格中的IP位址資源上按一下滑鼠右鍵,並選取「移轉資源」.
2在新視窗中,從「至節點」下拉式清單中選取saturn,以將所選資源移至節點saturn.
3若只想暫時移轉資源,請啟用「持續時間」,並輸入資源移轉至新節點後應保留的時間.
70HighAvailability指南4按一下「確定」以確認移轉.
6.
2資源的手動組態設定資源是電腦提供之任何類型的服務.
當由LSB程序檔、OCF程序檔或舊版Heartbeat1資源等RA(資源代辦)控制資源時,HighAvailability才會識別這些資源.
可以使用crm指令或以resources區段的CIB(叢集資訊庫)中的XML設定所有資源.
如需可用資源的綜覽,請參閱第18章「HAOCF代辦」[191頁].
若要新增IP位址10.
10.
0.
1做為目前組態的資源,請使用crm指令:過程6.
3建立IP位址叢集資源1以系統管理員身份執行crm指令.
提示變更為crm(live).
2切換至configure子指令:crm(live)#configure3建立IP位址資源:crm(live)configure#resourceprimitivemyIPocf:heartbeat:IPaddrparamsip=10.
10.
0.
1注使用HighAvailability設定資源時,相同的資源不應由init啟始化.
HighAvailability負責所有服務的啟動或停止動作.
若組態設定成功,crm_mon中會顯示一個新的資源,該資源將在叢集的一個隨機節點上啟動.
若要將資源移轉至其他節點,請執行以下步驟:過程6.
4將資源移轉至其他節點1啟動外圍程序,並成為使用者root.
設定簡易測試資源712將資源myip移轉至節點saturn:crmresourcemigratemyIPsaturn72HighAvailability指南7新增或修改資源代辦應由叢集管理的所有任務皆必須做為資源來使用.
有兩個主要群組應加以區別:資源代辦與STONITH代辦.
對於這兩種類別,您都可以新增自己的代辦,以延伸叢集的功能來滿足自己的需要.
7.
1STONITH代辦叢集有時會偵測到其中一個節點的行為不正常,需要將其移除.
這稱為「圍籬區隔」,通常透過STONITH資源來執行.
所有STONITH資源皆存放在每個節點的/usr/lib/stonith/plugins中.
警告:不支援SSH和STONITH我們無法得知SSH對其他系統問題會做出什麼反應.
因此,不支援將SSH和STONITH代辦用於生產環境.
若要取得目前所有可用STONITH設備的清單(從軟體角度),請使用stonith-L指令.
遺憾的是,目前還沒有關於撰寫STONITH代辦的文件.
若要撰寫新的STONITH代辦,請參閱heartbeat-common套件原始碼中提供的範例.
新增或修改資源代辦737.
2撰寫OCF資源代辦所有OCF資源代辦皆存放於/usr/lib/ocf/resource.
d/中;如需詳細資訊,請參閱第17.
1節「受支援的資源代辦類別」[183頁].
若要避免名稱衝突,請在建立新的資源代辦時建立不同的子目錄.
例如,若您擁有資源群組kitchen(內含資源coffee_machine),請將此資源新增至/usr/lib/ocf/resource.
d/kitchen/目錄.
若要存取此資源代辦,請執行crm指令:configureprimitivecoffee_1ocf:coffee_machine:kitchen.
.
.
實作自己的OCF資源代辦時,請提供針對此代辦的幾個動作.
如需關於撰寫OCF資源代辦的更多詳細資料,請造訪http://www.
linux-ha.
org/OCFResourceAgent.
有關HighAvailability2的幾個概念的特殊資訊,請參閱第1章「概念綜覽」[3頁].
74HighAvailability指南8圍籬區隔與STONITH在HA(HighAvailability)的電腦叢集中,圍籬區隔是一個極其重要的概念.
叢集有時會偵測到其中一個節點的行為不正常,需要將其移除.
這稱為「圍籬區隔」,通常透過STONITH資源來執行.
可將圍籬區隔定義為讓HA叢集處於已知狀態一種方法.
叢集中的每個資源都附加有狀態,例如:「資源r1已在節點1上啟動」.
在HA叢集中,這樣的狀態隱含「資源r1已在除節點1之外的所有節點上停止」的含義,因為HA叢集必須確保每個資源最多只能在一個節點上啟動.
每個節點都必須報告資源發生的每一項變更.
因此,叢集狀態是資源狀態和節點狀態的集合.
如果無法明確確定某些節點或資源的狀態(不論出於何種原因),就會出現圍籬區隔.
即使在叢集不瞭解某些節點上發生什麼狀況的情況下,圍籬區隔也可以確保該節點不會執行任何重要資源.
8.
1圍籬區隔的類別有兩類圍籬區隔:資源層級圍籬區隔和節點層級圍籬區隔.
後者為本章的主要主題.
資源層級圍籬區隔如果使用資源層級圍籬區隔,叢集可以確保節點無法存取一或多個資源.
一個典型範例為SAN,在此範例中,圍籬區隔作業會變更SAN交換器上的規則,以拒絕從節點進行存取.
圍籬區隔與STONITH75資源層級圍籬區隔可利用要保護之資源所依賴的一般資源來實現.
只需拒絕在此節點上啟動此資源,所依賴的資源亦不會在相同節點上執行.
節點層級圍籬區隔節點層級圍籬區隔確保節點根本不會執行任何資源.
這通常以一種極其簡單但卻野蠻的方式實現:只需使用電源交換器重設節點.
最終可能也必須這麼做,因為節點可能根本沒有回應.
8.
2節點層級圍籬區隔在SUSELinuxEnterpriseHighAvailabilityExtension中,圍籬區隔實作為STONITH(ShootTheOtherNodeintheHead).
它提供節點層級圍籬區隔.
HighAvailabilityExtension包含stonith指令行工具,此為一個可擴充介面,用於從遠端關閉叢集中的節點.
如需可用選項的綜覽,請執行stonith--help,如需詳細資訊,請參閱stonith的man頁面.
8.
2.
1STONITH設備若要使用節點層級圍籬區隔,首先需要擁有一個圍籬區隔設備.
若要取得HighAvailabilityExtension支援的STONITH設備清單,請在任何節點上以root身分執行以下指令:stonith-L可將STONITH設備分成以下類別:配電裝置(PDU)在管理重要網路、伺服器和資料中心設備的電源容量和功能方面,配電裝置扮演著至關重要的角色.
它們可以提供已連接設備的遠端負載監控功能,並可進行個別插座電源控制以實現遠端電能回收.
不斷電供電系統(UPS)市電電源中斷時,透過獨立來源供電的不斷電供電系統可為連接的設備提供應急電能.
刀鋒電源控制設備如果您在一組刀鋒上執行叢集,則刀鋒機箱中的電源控制設備是圍籬區隔唯一的候選設備.
當然,此設備必須能夠管理單一刀鋒電腦.
76HighAvailability指南無人職守設備無人職守設備(IBMRSA、HPiLO、DellDRAC)越來越受歡迎,將來它們甚至會成為現貨電腦的標準設備.
不過,它們略遜於UPS設備,因為它們與其主機(叢集節點)共享電源.
如果節點仍保持斷電狀態,讓設備進行控制亦無用.
此時,若CRM嘗試圍籬區隔該節點將徒勞無功,且這種狀況將永遠持續,因為所有其他資源作業都要等待該圍籬區隔/STONITH作業成功完成.
測試設備測試設備專用於測試用途.
在硬體上,對測試設備的要求通常比較寬松.
一旦叢集進入實際生產環境,它們必須由真正的圍籬區隔設備取代.
是否選擇STONITH設備主要取決於您的預算及所使用的硬體類型.
8.
2.
2STONITH實作SUSELinuxEnterpriseHighAvailabilityExtension的STONITH實作由兩個元件組成:stonithdstonithd是一個精靈,可由本地程序或透過網路進行存取.
它接受圍籬區隔作業的相應指令:重設、關機和開機.
它還可以檢查圍籬區隔設備的狀態.
stonithd精靈在CRMHA叢集中的每個節點上執行.
在DC節點上執行的stonithd例項接收來自CRM的圍籬區隔要求.
須由此程式及其他stonithd程式決定是否執行所需的圍籬區隔作業.
STONITH外掛程式對於每個受支援的圍籬區隔設備,都有一個可控制該設備的STONITH外掛程式.
STONITH外掛程式是圍籬區隔設備的介面.
所有STONITH外掛程式皆存放在每個節點上的/usr/lib/stonith/plugins中.
所有STONITH外掛程式對於stonithd而言看起來都是一樣的,但在反映圍籬區隔設備性質的其他方面則大不相同.
某些外掛程式支援多個設備.
典型範例為ipmilan(或external/ipmi),它實作IPMI通訊協定並可控制支援此通訊協定的任何設備.
圍籬區隔與STONITH778.
3STONITH組態若要設定圍籬區隔,您需要設定一或多個STONITH資源—stonithd精靈不需要任何組態設定.
所有組態皆儲存在CIB中.
STONITH資源即類別為stonith的資源(請參閱第17.
1節「受支援的資源代辦類別」[183頁]).
STONITH資源是STONITH外掛程式在CIB中的表示.
除圍籬區隔作業之外,還可對STONITH資源執行啟動、停止和監控作業,就如同任何其他資源一樣.
在這種情況下,啟動和停止STONITH資源就表示啟用和停用STONITH.
因此,啟動和停止只是管理作業,不能轉換為圍籬區隔設備本身的任何作業.
不過,監控會轉換為設備狀態.
可以對STONITH資源進行設定,就如同任何其他資源一樣.
如需有關設定資源的詳細資訊,請參閱第4.
3節「建立STONITH資源」[35頁]或第5.
4節「建立STONITH資源」[60頁].
參數(屬性)清單取決於各STONITH類型.
若要檢視特定設備的參數清單,請使用stonith指令︰stonith-tstonith-device-type-n例如,若要檢視ibmhmc設備類型的參數,請輸入以下指令:stonith-tibmhmc-n若要取得設備的簡短說明文字,請使用-h選項:stonith-tstonith-device-type-h8.
3.
1範例STONITH資源組態下面提供了使用crm指令行工具的語法撰寫的一些範例組態.
若要套用它們態,請將範例放入文字檔中(例如,sample.
txt),然後執行以下指令:crm=Smart-UPS700).
Seehttp://www.
networkupstools.
org/protocols/apcsmart.
htmlforprotocolcompatibilitydetails.
Formoreinformationseehttp://www.
apc.
com/ListofvalidparameternamesforapcsmartSTONITHdevice:ttydevhostlist第一個外掛程式支援具有網路埠和Telnet通訊協定的APCUPS.
第二個外掛程式透過眾多APCUPS產品線皆支援的序列線使用APCSMART通訊協定.
圍籬區隔與STONITH818.
3.
2限制與複製在第8.
3.
1節「範例STONITH資源組態」[78頁]中,您瞭解到設定STONITH資源有幾種方法:使用限制或複製,或同時使用兩者.
選擇使用何種建構進行組態設定取決於幾項因素(圍籬區隔設備的性質、設備管理的主機數目、叢集節點數目),最後(但並非最不重要)還還取決於個人優先設定.
簡言之:如果可以放心地將複製與組態搭配使用,且如果它們確實可以減少組態設定工作,則使用複製的STONITH資源.
8.
4監控圍籬區隔設備就如同任何其他資源一樣,STONITH類別代辦也支援用於檢查狀態的監控作業.
注:監控STONITH資源強烈建議您監控STONITH資源.
應定期且謹慎地對它們進行監控.
圍籬區隔設備是HA叢集必不可少的一部分,但需要對它們執行的操作卻是越少越好.
眾所周知,電源管理設備在通訊端尤為脆弱.
如果線路上的廣播流量過多,某些設備就會停止工作.
有些設備無法處理每分鐘十個左右的連線.
如果兩個用戶端同時嘗試連接,有些設備就會發生混淆或效能下降.
大部分設備不能同時處理多個工作階段.
因此,在大多數情況下,每隔幾個小時檢查一次圍籬區隔設備就已足夠.
在這幾個小時內需要執行圍籬區隔作業以及電源交換器失效的可能性通常很低.
如需如何設定監控操作的詳細資訊,請參閱新增或修改中繼屬性與例項屬性[34頁](適用於GUI方法),或參閱第5.
8節「設定資源監控」[64頁](適用於指令行方法).
8.
5特殊圍籬區隔設備除處理實際設備的外掛程式之外,某些STONITH外掛程式有點與眾不同,需特別留意.
82HighAvailability指南external/kdumpcheck有時,必須取得核心磁心傾印.
可以使用此外掛程式檢查傾印是否正在進行.
如果傾印正在進行,則此外掛程式將傳回true,表示已圍籬區隔節點,只要該節點此時無法執行任何資源,就表示此狀況.
kdumpcheck通常與另一個實際的圍籬區隔設備搭配使用.
如需詳細資料,請參閱/usr/share/doc/packages/heartbeat/stonith/README_kdumpcheck.
txt.
external/sbd這是一個自我圍籬區隔設備.
它會對可插入到共享磁碟中的所謂「毒藥丸」做出反應.
在共享儲存連線中斷時,它還會使節點提交自行中止.
請參閱http://www.
linux-ha.
org/SBD_Fencing,以取得詳細資料.
meatwaremeatware需要人員協助才能操作.
呼叫meatware時,它會記錄CRIT嚴重程度訊息,該訊息會在節點的主控台上顯示.
然後,操作員需要確保該節點已關閉,並發出meatclient(8)指令.
這將告訴meatware,它可以通知叢集可以將節點視為已關閉.
如需詳細資訊,請參閱/usr/share/doc/packages/heartbeat/stonith/README.
meatware.
null這是一個虛構的設備,用於各種測試案例.
它總是表現為且聲稱自己關閉了一個節點,但從來不會執行任何動作.
除非您完全瞭解所執行的操作,否則切勿使用它.
suicide這是一個僅限軟體的設備,它可以使用reboot指令重新開機執行它所在的節點.
這需要由節點的作業系統執行動作,在某些情況下可能會失敗.
因此,應盡可能避免使用此設備(但可以在單個節點的叢集上使用).
suicide和null是「donotshootmyhost」(不要關閉我的主機)規則唯一的例外.
8.
6如需更多資訊/usr/share/doc/packages/heartbeat/stonith/在已安裝的系統中,此目錄存放眾多STONITH外掛程式和設備的讀我檔案.
圍籬區隔與STONITH83http://linux-ha.
org/STONITH關於STONITH的資訊位於TheHighAvailabilityLinuxProject的首頁上.
http://linux-ha.
org/fencing關於圍籬區隔的資訊位於TheHighAvailabilityLinuxProject的首頁上.
http://linux-ha.
org/ConfiguringStonithPlugins關於STONITH外掛程式的資訊位於TheHighAvailabilityLinuxProject的首頁上.
http://linux-ha.
org/CIB/Idioms關於STONITH的資訊位於TheHighAvailabilityLinuxProject的首頁上.
http://clusterlabs.
org/wiki/Documentation,Configuration1.
0Explained說明用於設定Pacemaker的概念.
包含全面詳盡的資訊,以供參考.
http://techthoughts.
typepad.
com/managing_computers/2007/10/split-brain-quo.
html說明HA叢集中的電腦分裂、法定數目和圍籬區隔之概念的文章.
84HighAvailability指南9LinuxVirtualServer的負載平衡LinuxVirtualServer(LVS)的目標是提供一個基本架構,將網路連線導向至共享工作負載的多部伺服器.
LinuxVirtualServer是一組伺服器叢集(一或多個負載平衡器與幾部執行服務的實際伺服器),對外部用戶端而言則是一個大型的高速伺服器.
這種表面上的單個伺服器稱為虛擬伺服器.
做為進階的負載平衡解決方案,LinuxVirtualServer可用於構建高度可擴充性和可用性的網路服務,例如Web、快取、郵件、FTP、媒體和VoIP等服務.
實際的伺服器與負載平衡器之間可透過高速LAN或地理位置分散的WAN來連接.
負載平衡器可以向不同的伺服器發送要求,使叢集的多個平行服務顯示為單一IP位址上的一個虛擬服務,這樣發送請求作業便可使用IP負載平衡技術或應用程式層級負載平衡技術.
以透明方式在叢集中新增或移除節點可以實現系統的延展性.
透過偵測節點或精靈故障,然後重新正確地設定系統可以提供高可用性.
9.
1概念綜覽LVS包含兩個主要元件:核心代碼:ip_vs(或IPVS)執行已修補為包含IPVS代碼之Linux核心的節點稱為Director.
在Director上執行的IPVS代碼是LVS的必要特性.
用戶端會連接到用於將封包轉遞至實際伺服器的Director.
Director是一個四層路由器,包含一組修改過、可使LVS運作的路由規則(例如,連線不在LinuxVirtualServer的負載平衡85Director上產生或終止,Director不傳送通知).
Director加上實際的伺服器就組成了虛擬伺服器,其對用戶端而言則是一部機器.
轉遞的方式有多種,不同的方式決定了Director將用戶端的封包傳送至實際伺服器的方式.
決定要使用哪一部實際的伺服器來處理用戶端要求的新連線,可透過不同的演算法來實作,這些演算法是以模組的方式提供,可根據特定需求進行調整.
從用戶端接收到連線請求後,Director會依據排程為該用戶端指定實際的伺服器.
排程器是IPVS核心代碼的一部分,用於決定將獲取下一個新連線的實際伺服器.
使用者空間控制器:ipvsadmipvsadm套件提供的ipvsadm是一個使用者介面,可用於管理LinuxVirtualServer.
例如,您可以設定用來處理服務的規則、處理容錯移轉或設定排程器類型.
可以在指令行中(或在rc檔案中)使用ipvsadm設定以下項目:Director導向的服務/伺服器(例如,http導向至所有實際伺服器,而ftp僅導向至其中一部實際伺服器)各實際伺服器所占的權重(在某些伺服器比其他伺服器速度更快的情況下使用)排程演算法還可以使用ipvsadm執行以下任務:新增服務關閉服務刪除服務9.
2HighAvailability若要建構高可用性的LinuxVirtualServer叢集,可以使用本軟體的幾項內建功能.
一般情況下,在負載平衡器上會執行服務監控精靈,定期檢查伺服器的狀態.
如果在指定時間內,某部伺服器對服務存取要求或ICMPECHO_REQUEST沒有回應,則服務監控器就會認為該伺服器已停止執行,將其從負載平衡器中的可用伺服器清單中移除.
如此,新的要求將不再傳送至此停止的伺服器.
當86HighAvailability指南服務監控器偵測到該停止的伺服器已恢復正常並可重新工作時,會重新將該伺服器新增到可用伺服器清單中.
因此,負載平衡器可以自動對服務精靈或伺服器的故障進行遮罩.
此外,管理員也可以使用系統工具新增新的伺服器以提高系統輸送量,或移除伺服器以維護系統,而不需要關閉整個系統服務.
為了防止負載平衡器成為整個系統的單一故障點,須設定一或多個負載平衡器的備份.
兩個活動訊號精靈分別在主要負載平衡器和備份負載平衡器上執行.
這兩個精靈會透過序列線和/或網路介面定期相互傳送「I'malive」(我存在)的活動訊號訊息.
如果在指定時間內,備份負載平衡器的活動訊號精靈無法監聽到主要負載平衡器的活動訊號訊息,便會接管虛擬IP位址以提供負載平衡服務.
如果發生故障的負載平衡器恢復正常,則可能會產生兩種結果:其自動成為備份負載平衡器,另一種結果是使用中的負載平衡器會釋放VIP位址,以便讓恢復正常的負載平衡器接管VIP位址,重新成為主要負載平衡器.
主要負載平衡器瞭解各連線的狀態,也就是說它知道連線應轉遞至哪部伺服器.
若備份負載平衡器接管了工作卻不知道該連線資訊,則用戶端必須重新傳送其要求才能存取服務.
為了使負載平衡器的容錯移轉對用戶端應用程式透明化,IPVS中提供了連線同步功能:主要IPVS負載平衡器可透過UDP多路廣播將連線資訊同步到備份負載平衡器中.
如果備份負載平衡器在主要負載平衡器失敗後接管了工作,備份負載平衡器將會瞭解大多數連線的狀態,這樣基本上所有連線便可繼續透過備份負載平衡器存取服務.
9.
3如需更多資訊如需有關LinuxVirtualServer的詳細資訊,請參閱專案首頁http://www.
linuxvirtualserver.
org/.
LinuxVirtualServer的負載平衡8710網路設備Bonding對於許多系統而言,實作的網路連線除了需要符合一般乙太網路設備的標準資料安全性或可用性要求之外,還需要符合其他要求.
在這些情況下,數個乙太網路設備可以結集成單一的bonding設備.
bonding設備的組態是透過bonding模組選項來設定,而其行為由bonding設備的模式決定.
該模式預設為mode=active-backup,這表示如果使用中的從屬設備失敗,另一個從屬設備將變成使用中狀態.
使用OpenAIS時,bonding設備不受叢集軟體的管理.
因此,必須在可能需要存取bonding設備的每個叢集節點上設定該設備.
若要設定bonding設備,請執行以下程序︰1執行「YaST」>「網路設備」>「網路設定」.
2使用「新增」,然後將「設備類型」變更為「Bond」.
按「下一步」繼續.
網路設備Bonding893選取為bonding設備指定IP位址的方法.
有三種方法可供您選擇︰無IP位址動態位址(透過DHCP或Zeroconf)靜態指定的IP位址請使用適合您環境的方法.
若OpenAIS管理虛擬IP位址,請選取「靜態指定的IP位址」,然後在介面上指定一個基本IP位址.
4透過啟用相關「Bond從屬」前面的核取方塊,選取需要加入bond的乙太網路設備.
5編輯「Bond驅動程式選項」.
可用模式如下︰balance-rr提供負載平衡和容錯.
active-backup提供容錯balance-xor提供負載平衡和容錯.
broadcast提供容錯90HighAvailability指南802.
3ad提供動態連結聚總(若連接的交換器支援).
balance-tlb提供外送流量的負載平衡.
balance-alb提供內送和外送流量的負載平衡(若所用的網路設備允許修改使用中網路設備的硬體位址).
6確認參數miimon=100已新增至「Bond驅動程式選項」.
若沒有此參數,就無法定期檢查資料的完整性.
7按「下一步」,然後按一下「確定」離開YaST以建立設備.
「LinuxEthernetBondingDriverHOWTO」(Linux乙太網路Bonding驅動程式HOWTO)對所有模式以及許多其他選項做了詳細說明,若您安裝了kernel-source套件,便可在/usr/src/linux/Documentation/networking/bonding.
txt中找到該資訊.
網路設備Bonding9111將叢集更新至SUSELinuxEnterprise11若您現有的叢集是基於SUSELinuxEnterpriseServer10SP2,則可以將其更新,以便透過HighAvailabilityExtension在SUSELinuxEnterpriseServer11上執行.
出於移轉目的,所有叢集節點都必須處於離線狀態,且叢集必須做為一個整體移轉—系統不支援混合使用SUSELinuxEnterpriseServer10/SUSELinuxEnterpriseServer11叢集.
為了方便起見,SUSELinuxEnterpriseHighAvailabilityExtension中提供了一個hb2openais.
sh程序檔,當您將資料從Heartbeat移至OpenAIS叢集堆疊期間,可用它來轉換資料.
此程序檔可剖析儲存在/etc/ha.
d/ha.
cf中的組態,並產生適用於OpenAIS叢集堆疊的新組態檔案.
此外,它還能調整CIB以符合OpenAIS慣例、轉換OCFS2檔案系統,以及用cLVM取代EVMS.
若要將叢集從SUSELinuxEnterpriseServer10SP2成功移轉至SUSELinuxEnterpriseServer11,您需要執行以下步驟︰1.
準備SUSELinuxEnterpriseServer10SP2叢集[94頁]2.
更新至SUSELinuxEnterprise11[95頁]3.
測試轉換[95頁]4.
轉換資料[96頁]成功完成轉換後,可以讓更新後的叢集重新恢復線上狀態.
將叢集更新至SUSELinuxEnterprise93注:更新後回復在更新至SUSELinuxEnterpriseServer11後,就不能重新回復到SUSELinuxEnterpriseServer10.
11.
1準備與備份將叢集更新至產品的最新版本並轉換相應資料之前,您需要準備目前的叢集.
過程11.
1準備SUSELinuxEnterpriseServer10SP2叢集1登入叢集.
2檢閱Heartbeat組態檔案/etc/ha.
d/ha.
cf,並檢查所有通訊媒體是否支援多路廣播.
3確認以下檔案在所有節點上都相同︰/etc/ha.
d/ha.
cf和/var/lib/heartbeat/crm/cib.
xml.
4對每個節點執行rcheartbeatstop,使所有節點都處於離線狀態.
5在更新至最新版本之前,除了需要依建議備份一般系統之外,還需備份以下檔案,因為在更新至SUSELinuxEnterpriseServer11後需要它們來執行轉換程序檔︰/var/lib/heartbeat/crm/cib.
xml/var/lib/heartbeat/hostcache/etc/ha.
d/ha.
cf/etc/logd.
cf94HighAvailability指南11.
2更新/安裝準備好叢集並備份了檔案之後,可以開始將叢集節點更新至產品的最新版本.
您也可以不執行更新,而是在叢集節點上安裝SUSELinuxEnterprise11.
過程11.
2更新至SUSELinuxEnterprise111在所有叢集節點上執行從SUSELinuxEnterpriseServer10SP2至SUSELinuxEnterpriseServer11的更新.
如需如何更新產品的相關資訊,請參閱《SUSELinuxEnterpriseServer11部署指南》中的「更新SUSELinuxEnterprise」一章.
反過來,您也可以在所有叢集節點上安裝SUSELinuxEnterpriseServer11.
2在所有叢集節點上,於SUSELinuxEnterpriseServer的基礎上將SUSELinuxEnterpriseHighAvailabilityExtension11做為附加產品進行安裝.
如需詳細資訊,請參閱第3.
1節「安裝HighAvailabilityExtension」[21頁].
11.
3資料轉換安裝SUSELinuxEnterpriseServer11和HighAvailabilityExtension之後,便可開始轉換資料.
HighAvailabilityExtension隨附的轉換程序檔已經過周密設定,但它並不能在完全自動的模式下完成所有設定.
它會警告您它所進行的變更,但仍需要您的互動和決定.
您需要瞭解叢集的詳細情況,因為最終是由您來確認這些變更是否有意義.
轉換程序檔位於/usr/lib/heartbeat中(若您使用的是64位元系統,則位於/usr/lib64/heartbeat中).
注:執行測試回合為了讓您熟悉轉換程序,我們強烈建議您先進行轉換測試(不做任何變更).
您可以使用相同的測試目錄來執行重複的測試回合,但只需複製一次檔案.
過程11.
3測試轉換1在其中一個節點上,建立測試目錄並將備份檔案複製到測試目錄中︰$mkdir/tmp/hb2openais-testdir$cp/etc/ha.
d/ha.
cf/tmp/hb2openais-testdir將叢集更新至SUSELinuxEnterprise95$cp/var/lib/heartbeat/hostcache/tmp/hb2openais-testdir$cp/etc/logd.
cf/tmp/hb2openais-testdir$sudocp/var/lib/heartbeat/crm/cib.
xml/tmp/hb2openais-testdir2使用以下指令開始進行測試回合$/usr/lib/heartbeat/hb2openais.
sh-T/tmp/hb2openais-testdir-U若您使用的是64位元系統,請使用以下指令執行測試︰$/usr/lib64/heartbeat/hb2openais.
sh-T/tmp/hb2openais-testdir-U3讀取並驗證產生的openais.
conf和cib-out.
xml檔案︰$cd/tmp/hb2openais-testdir$lessopenais.
conf$crm_verify-V-xcib-out.
xml如需轉換階段的詳細資訊,請參閱所安裝之HighAvailabilityExtension中的/usr/share/doc/packages/pacemaker/README.
hb2openais.
過程11.
4轉換資料執行測試回合並檢查輸出之後,便可以開始轉換資料.
您只需在一個節點上執行轉換.
主叢集組態(CIB)會自動複寫到其他節點中.
轉換程序檔會自動複製需要複寫的所有其他檔案.
1確認sshd在所有具備對root開放之存取權限的節點上執行,以便轉換程序檔能成功將檔案複製到其他叢集節點.
2HighAvailabilityExtension隨附了預設的OpenAIS組態檔案.
若在執行以下步驟時,不希望預設的組態被覆寫,請複製一份/etc/ais/openais.
conf組態檔案.
3以root身分啟動轉換程序檔.
若正在使用sudo,請使用-u選項指定有特權的使用者︰$/usr/lib/heartbeat/hb2openais.
sh-uroot程序檔會依據/etc/ha.
d/ha.
cf中儲存的組態,產生適用於OpenAIS叢集堆疊的新組態檔案/etc/ais/openais.
conf.
程序檔還會分析CIB組態,並讓您知道您的叢集組態是否需要因從Heartbeat變為OpenAIS96HighAvailability指南而變更.
所有檔案處理都是在執行轉換的節點上完成,然後再複寫到其他節點.
4按照螢幕上的指示執行操作.
成功完成轉換後,依第3.
3節「連線叢集」[24頁]中所述啟動新的叢集堆疊.
完成升級後,就不能重新回復到SUSELinuxEnterpriseServer10.
11.
4如需更多資訊如需轉換程序檔和轉換階段的更多詳細資料,請參閱所安裝之HighAvailabilityExtension中的/usr/share/doc/packages/pacemaker/README.
hb2openais.
將叢集更新至SUSELinuxEnterprise97III.
儲存與資料複製12OracleClusterFileSystem2OracleClusterFileSystem2(OCFS2)是一般用途的日誌式檔案系統,與Linux2.
6和更新版本的核心完全整合.
OCFS2可讓您將應用程式二進位檔案、資料檔案和資料庫儲存於設備上的共享儲存中.
業集中所有節點均同時具有檔案系統的讀取與寫入權限.
透過複製資源管理的使用者空間控制精靈可提供與HA堆疊(特別是OpenAIS和DLM)的整合.
12.
1特點及優勢在SUSELinuxEnterpriseServer10及更新版本中,可使用OCFS2做為以下儲存解決方案的範例:一般應用程式與負荷叢集中的XEN影像儲存XEN虛擬機器與虛擬伺服器可儲存於由叢集伺服器裝載的OCFS2卷冊,以在伺服器間提供快速而便捷的可攜式XEN虛擬機器.
LAMP(Linux、Apache、MySQL和PHP|PERL|Python)堆疊此外,其亦與OpenAIS完全整合.
OCFS2身為高效能、對稱、平行叢集檔案系統,支援下列功能:業集上的所有節點都可使用應用程式的檔案.
使用者只需在叢集上的OCFS2卷冊安裝一次即可.
OracleClusterFileSystem2101所有節點可直接透過標準檔案系統介面同時讀取與寫入儲存區,讓執行於叢集上的應用程式易於管理.
「分散式鎖定管理員(DLM)」會協調檔案存取權.
DLM控制對於大部分狀況都非常實用,但應用程式的設計與DLM競爭檔案存取權協調能力的話,其擴充性可能會受限.
所有後端儲存區均可使用儲存區備份功能.
您可輕鬆建立共享應用程式檔案的複本,以利於提供有效的災難復原.
OCFS2亦提供下列功能:中繼資料快取.
中繼資料日誌.
跨節點資料檔案一致性.
支援高達4KB的多區塊大小(各卷冊可具有不同的區塊大小),卷冊的最大大小為16TB.
支援高達16個叢集節點.
對資料庫檔案提供非同步且直接I/O支援,以加強資料庫效能.
12.
2管理公用程式與指令下表說明OCFS2公用程式.
如需關於這些指令的語法資訊,請參閱其線上文件.
表格12.
1OCFS2共用程式描述OCFS2共用程式以偵錯為目的,檢驗OCFS檔案系統.
debugfs.
ocfs2檢查檔案系統是否有錯誤,並選擇性修復錯誤.
fsck.
ocfs2102HighAvailability指南描述OCFS2共用程式在裝置上建立OCFS2檔案系統,該裝置通常是共享實體或邏輯磁碟上的分割區.
mkfs.
ocfs2偵測並列出業集系統上的所有OCFS2卷冊.
偵測並列出裝載OCFS2裝置的系統上之所有節點,或列出所有OCFS2裝置.
mounted.
ocfs2變更OCFS2檔案系統參數,包括卷冊標籤、節點插槽數目、所有節點插槽的日至大小,以及卷冊大小.
tunefs.
ocfs212.
3OCFS2套件SUSELinuxEnterpriseServer11HAE中會自動安裝OCFS2核心模組(ocfs2).
若要使用OCFS2,請使用YaST(或指令行)在叢集內各節點上安裝ocfs2-tools和相符的ocfs2-kmp-*套件.
1以根使用者或同等地位登入,再開啟「YaST控制中心」.
2選取「軟體」>「附加產品」.
3選取「新增」以讓SUSELinuxEnterpriseHighAvailabilityExtension可用.
4選取「執行軟體管理員」並選擇「過濾」>「模式」.
5選取「HighAvailability」模式進行安裝.
6按一下「接受」並依照畫面上的指示操作.
12.
4建立OCFS2卷冊遵循本節中的程序,設定您的系統使用OCFS2並建立OCFS2卷冊.
OracleClusterFileSystem210312.
4.
1先決條件開始之前,請執行下列步驟:準備OCFS2磁碟區要使用的區塊設備.
將裝置留為可用空間.
建議您將應用程式檔案與資料檔案儲存於不同的OCFS2卷冊,但唯有您的應用程式卷冊與資料卷冊具有不同的裝載需求,才需強制執行此動作.
請確定已安裝ocfs2-tools套件.
若尚未安裝的話,請使用YaST或指令行方法進行安裝.
如需YaST說明,請參閱第12.
3節「OCFS2套件」[103頁].
12.
4.
2設定OCFS2服務建立OCFS2磁碟區之前,必須先設定OCFS2服務.
請遵循此節程序設定叢集中的一節點.
1開啟終端機視窗,並以根使用者或同等身分登入.
2新增分散式鎖定管理員組態.
2a啟動crm外圍程序,並重新建立新的組態:crmcibnewstack-glue2b建立DLM服務,並在叢集中的所有機器上執行該服務:configureprimitivedlmocf:pacemaker:controldopmonitorinterval=120sclonedlm-clonedlmmetaglobally-unique=falseinterleave=trueend2c確認對叢集所做的變更,然後提交:cibdiffconfigureverify104HighAvailability指南2d將組態上載至叢集,並結束外圍程序:cibcommitstack-gluequit3使用「crm」新增O2CB組態.
3a啟動crm外圍程序,並重新建立新的組態:crmcibneworacle-glue3b設定Pacemaker以在叢集內各節點上啟動o2cb服務.
configureprimitiveo2cbocf:ocfs2:o2cbopmonitorinterval=120scloneo2cb-cloneo2cbmetaglobally-unique=falseinterleave=true3c請確定Pacemaker僅在同樣已執行dlm服務之副本的節點上啟動o2cb服務:colocationo2cb-with-dlmINFINITY:o2cb-clonedlm-cloneorderstart-o2cb-after-dlmmandatory:dlm-cloneo2cb-cloneend3d將組態上載至叢集,並結束外圍程序:cibcommitstack-gluequit12.
4.
3建立OCFS2卷冊建立OCFS2檔案系統並將新節點增加至叢集,只能在叢集中的一節點執行.
1開啟終端機視窗,並以根使用者或同等身分登入.
2請使用指令crm_mon檢查叢集是否上線.
OracleClusterFileSystem21053使用下列方法之一建立並格式化卷冊:使用mkfs.
ocfs2公用程式.
如需此指令的語法資訊,請參閱mkfs.
ocfs2線上文件.
若要在最多支援16個叢集節點的/dev/sdb1上建立新的OCFS2檔案系統,請使用mkfs.
ocfs2-N16/dev/sdb1請參閱下列表格以得知建議設定.
描述與建議OCFS2參數卷冊的描述性名稱可讓其裝載於不同節點時易於辨識.
卷冊標籤使用tunefs.
ocfs2公用程式依需要修改標籤.
叢集大小是配置給持有資料的檔案之空間最小單位.
叢集大小選項有4、8、16、32、64、128、256、512和1024KB.
格式化卷冊之後就無法修改叢集大小.
Oracle建議資料庫卷冊使用128KB或更大的業集.
Oracle亦建議OracleHome使用32或64KB的叢集大小.
可同時裝載卷冊的最大節點數目.
對於每個節點,OCFS2會分別為其建立系統檔案,例如日誌.
存取卷冊的節點節點插槽名稱可以是小endian架構(如x86、x86-64和ia64)和大endian架構(如ppc64和s390x)的組合.
節點特定的檔案會被視為本機檔案.
節點插槽號碼會附加至本機檔案.
例如︰journal:0000隸屬於指派至插槽0的任一節點.
建立時請根據您希望同時裝載卷冊的節點數量,設定節點插槽的最大數目.
使用tunefs.
ocfs2公用程式依需要增加節點插槽數目;該數值無法減少.
106HighAvailability指南描述與建議OCFS2參數檔案系統可定址的空間最小單位.
請在建立卷冊時指定區塊大小.
區塊大小選項有512位元(不建議)、1KB、2KB或4KB(建議大部分卷冊使用).
格式化卷冊之後就無法修改區塊大小.
12.
5裝載OCFS2卷冊1開啟終端機視窗,並以根使用者或同等身分登入.
2請使用指令crm_mon檢查叢集是否上線.
3使用下列方法之一裝載卷冊.
警告:手動裝載OCFS2設備若手動裝載ocfs2檔案系統以供測試使用,則需要在透過OpenAIS開始使用之前,再次卸載該檔案系統.
在ocfs2console中,於「可用裝置」清單中選擇一裝置,按一下「裝載」指定目錄裝載點與裝載選項(選用),再按一下「確定」.
從指令行裝載卷冊,請使用mount指令.
使用叢集管理員裝載檔案系統.
ocf資源Filesystem可用於此任務.
如需詳細資訊,請參閱使用叢集管理員裝載檔案系統[108頁].
成功裝載後,ocfs2console中的裝置清單會顯示裝載點與裝置.
描述選項確認Oracle程序以o_direct旗標開啟檔案.
datavolumeOracleClusterFileSystem2107描述選項無岔斷.
確認IO未被訊號岔斷.
nointr若要設定檔案系統資源,請使用以下程序:過程12.
1使用叢集管理員裝載檔案系統1啟動crm外圍程序,並重新建立新的組態:crmcibnewfilesystem2設定Pacemaker以在叢集內各節點上裝載檔案系統.
configureprimitivefsocf:heartbeat:Filesystem\paramsdevice="/dev/sdb1"directory="/mnt/shared"fstype="ocfs2"\opmonitorinterval=120sclonefs-clonefsmetainterleave="true"ordered="true"3請確定Pacemaker僅在同樣已執行o2cb資源之複製品的節點上啟動o2cb複製資源:colocationfs-with-o2cbINFINITY:fs-cloneo2cb-cloneorderstart-fs-after-o2cbmandatory:o2cb-clonefs-cloneend4將組態上載至叢集,並結束外圍程序:cibcommitfilesystemquit108HighAvailability指南12.
6其他資訊如需使用OCFS2的更多資訊,請參閱「Oracle的OCFS2專案[http://oss.
oracle.
com/projects/ocfs2/]」上的《OCFS2使用者指南[http://oss.
oracle.
com/projects/ocfs2/documentation/]》.
OracleClusterFileSystem210913叢集LVM管理叢集上的共享儲存時,當儲存子系統發生變更時必須通知每個節點.
廣泛用於管理本地儲存的LinuxVolumeManager2(LVM2)經過延伸,可支援在整個叢集中對磁碟區群組進行透明管理.
可使用與本地儲存相同的指令來管理叢集化磁碟區群組.
若要實作cLVM,必須有可用的共享儲存設定(例如,由FibreChannel、FCoE、SCSI或iSCSISAN或DRBD提供的共享儲存設定).
在內部,cLVM使用叢集堆疊的分散式鎖定管理員(DLM)元件協調對LVM2中繼資料的存取.
由於DLM會依次與堆疊的其他元件(例如圍籬區隔)整合,所以共享儲存的完整性將隨時受到保護.
cLVM不會協調對共享資料本身的存取;若要執行此操作,必須在受cLVM管理之儲存的頂層設定OCFS2或其他支援叢集應用程式.
13.
1cLVM的組態若要設定支援叢集磁碟區群組,必須成功完成以下幾項任務:1變更要成為支援叢集的LVM2的鎖定類型.
編輯/etc/lvm/lvm.
conf檔案並找到下面一行:locking_type=1將鎖定類型變更為3,並將組態寫入磁碟.
將此組態複製到所有節點.
叢集LVM1112將clvmd資源做為複製品包括在Pacemaker組態中,並使之依賴於DLM複製資源.
crm組態外圍程序中的典型片段如下所示:primitivedlmocf:pacemaker:controldprimitiveclvmocf:lvm2:clvmd\paramsdaemon_timeout="30"clonedlm-clonedlm\metatarget-role="Started"interleave="true"ordered="true"cloneclvm-cloneclvm\metatarget-role="Started"interleave="true"ordered="true"colocationcolo-clvminf:clvm-clonedlm-cloneorderorder-clvminf:dlm-cloneclvm-clone.
.
.
繼續之前,請確定已在叢集中成功啟動這些資源.
可以使用crm_mon或GUI來檢查執行中的服務.
3使用下列指令準備LVM的實體磁碟區:pvcreate4建立支援叢集磁碟區群組:vgcreate--clusteredy5視需要建立邏輯磁碟區,例如:lvcreate--nametestlv-L4G6為了確保在整個叢集範圍啟動磁碟區群組,請按如下方式設定LVM資源:primitivevg1ocf:heartbeat:LVM\paramsvolgrpname=""clonevg1-clonevg1\metainterleave="true"ordered="true"colocationcolo-vg1inf:vg1-cloneclvm-cloneorderorder-vg1inf:clvm-clonevg1-clone7若要僅在一個節點上獨占啟動磁碟區群組,請使用下面的範例;在此範例中,由於針對非叢集化應用程式採用其他保護措施,cLVM可避免在多個節點上啟動VG中的所有邏輯磁碟區:112HighAvailability指南primitivevg1ocf:heartbeat:LVM\paramsvolgrpname=""exclusive="yes"colocationcolo-vg1inf:vg1clvm-cloneorderorder-vg1inf:clvm-clonevg18現在,VG中的邏輯磁碟區可做為檔案系統裝載或RAW使用量使用.
請確定使用它們的服務務必具有正確的相依性,這樣才能在啟動VG後對它們進行並存和排序處理.
完成這些組態設定步驟後,即可像在任何獨立工作站上一樣進行LVM2組態設定.
13.
2明確設定適合的LVM2設備若有多個設備似乎共享同一個實體磁碟區簽名時(多重路徑設備或drbd就有可能發生這種情況),建議明確設定LVM2掃描PV的設備.
例如,如果vgcreate指令使用實體設備而非使用鏡像複製區塊設備,將使DRBD感到困惑,從而導致DRBD處於電腦分裂狀態.
若要停用LVM2的單一設備,請執行以下操作:1編輯/etc/lvm/lvm.
conf檔案並搜尋以filter開頭的行.
2該處的模式將被視為正規表示式進行處理.
前置「a」表示接受要掃描的設備模式,前置「r」表示拒絕依照該設備模式的設備.
3若要移除名為/dev/sdb1的設備,請將下列表示式新增至過濾器規則:"r|^/dev/sdb1$|"完整的過濾器行如下所示:filter=["r|^/dev/sdb1$|","r|/dev/.
*/by-path/.
*|","r|/dev/.
*/by-id/.
*|","a/.
*/"]接受DRBD和MPIO設備但拒絕所有其他設備的過濾器行如下所示:叢集LVM113filter=["a|/dev/drbd.
*|","a|/dev/.
*/by-id/dm-uuid-mpath-.
*|","r/.
*/"]4寫入組態檔案並將其複製到所有叢集節點.
13.
3如需更多資訊更多資訊可於Pacemaker郵寄清單中取得(位於http://www.
clusterlabs.
org/wiki/Help:Contents).
官方cLVMFAQ可在http://sources.
redhat.
com/cluster/wiki/FAQ/CLVM中找到.
114HighAvailability指南14分散式複製區塊設備(DRBD)DRBD可讓您跨IP網路為位於兩個不同站台的兩個區塊設備建立鏡像複製.
與OpenAIS搭配使用時,DRBD支援分散式的HighAvailabilityLinux叢集.
重要鏡像複製間的資料流量不會加密.
為了保證資料交換的安全,您應該為連線部署虛擬私人網路(VPN)解決方案.
將資料從主要設備複製到次要設備的過程中,會使用特定方式保證兩份資料始終一致.
使用ocfs2等支援叢集檔案系統時,也可以將兩個節點做為主要設備執行.
依預設,DRBD使用TCP埠7788在DRBD節點間進行通訊.
請確定您的防火牆不會阻止此埠上的通訊.
您必須先對DRBD設備進行設定,然後才能在其上建立檔案系統.
所有與使用者資料相關的操作都必須透過/dev/drbd設備來獨立執行,而不是在Raw設備上完成,因為DRBD會將Raw設備剩下的128MB容量用於儲存中繼資料.
請務必僅在/dev/drbd設備上而不要在Raw設備上建立檔案系統.
例如,如果Raw設備的大小為1024MB,則DRBD設備只能使用896MB來儲存資料,另有128MB隱藏留作儲存中繼資料之用.
任何存取大小為896MB至1024MB之間的空間的嘗試都會失敗,因為這樣的空間不適用於使用者資料.
分散式複製區塊設備(DRBD)11514.
1安裝DRBD服務若要為drbd安裝所需套件,請在網路叢集中的兩台SUSELinuxEnterpriseServer機器上安裝HighAvailabilityExtension附加產品,如第I部分「安裝與設定」[1頁]中所述.
安裝HighAvailabilityExtension的同時也會安裝drbd程式檔案.
如果不需要完整的叢集堆疊,而只要使用drbd,也可以新增HighAvailabilityExtension附加產品,然後繼續安裝drbd.
此安裝過程中還會安裝所需的核心模組.
14.
2設定DRBD服務注下列程序使用伺服器名稱node1與node2,以及叢集資源名稱r0.
將node1設定為主要節點.
請務必修改指示,以使用您自己的節點與檔案名稱.
1啟動YaST並選取組態模組「其他」>「drbd」.
2在「啟動組態」>「開機」中,選取「開啟」以在開機時始終啟動drbd.
3如果需要設定多個複製資源,請選取「全域組態」.
在輸入欄位「次要計數」中,選取在不重新啟動電腦的情況下可以設定的不同drbd資源的數量.
4實際的資源組態在「資源組態」中設定.
按「新增」可建立新資源.
必須設定以下參數︰資源的名稱,通常稱為r0.
「資源名稱」各節點的主機名稱.
「名稱」各節點的IP位址與埠號.
「位址:埠」116HighAvailability指南存放各節點上的複製資料的設備.
使用此設備可建立檔案系統並裝載作業.
「設備」在兩個節點間複製的設備.
「磁碟」「中繼磁碟」可設定為internal值,或指定由索引延伸的明確設備,以存放drbd所需的中繼資料.
「中繼磁碟」使用internal時,複製設備剩下的128MB容量將用於儲存中繼資料.
也可為多重drbd資源使用一個真實設備.
例如,如果第一個資源使用的「中繼磁碟」為/dev/sda6[0],您可以將/dev/sda6[1]用於第二個資源.
不過,此磁碟上必須為每個資源至少預留128MB的空間.
上述所有選項在/usr/share/doc/packages/drbd/drbd.
conf檔案與drbd.
conf(5)線上文件中都以範例進行了說明.
5將/etc/drbd.
conf檔案複製到次要伺服器(node2)上的/etc/drbd.
conf位置.
scp/etc/drbd.
conf:/etc6在每個節點上輸入以下指令,以在兩個系統上啟始化並啟動DRBD服務︰drbdadmcreate-mdr0rcdrbdstart7在node1上輸入以下指令,將node1設定為主要節點.
drbdsetup/dev/drbd0primary--overwrite-data-of-peer8在每個節點上輸入以下指令,檢查DRBD服務狀態︰rcdrbdstatus分散式複製區塊設備(DRBD)117等到兩個節點上的區塊設備完全同步後再繼續操作.
重複rcdrbdstatus指令瞭解同步化進度.
9兩個節點上的區塊設備完全同步後,以reiserfs等檔案系統格式化主要節點上的DRBD設備.
可以使用任何Linux檔案系統.
例如,輸入mkfs.
reiserfs-f/dev/drbd0重要務必在指令中使用/dev/drbd名稱,而不是實際的/dev/disk設備名稱.
14.
3測試DRBD服務如果安裝與組態程序按預期執行,您現在就可以執行基本的DRBD功能測試.
此測試也有助於瞭解軟體的工作原理.
1測試node1上的DRBD服務.
1a開啟終端機主控台,以root使用者或同等身份登入.
1b輸入以下指令,在節點1上建立裝載點,如/srv/r0mountmkdir-p/srv/r0mount1c輸入以下指令,裝載drbd設備mount-orw/dev/drbd0/srv/r0mount1d輸入以下指令,以從主要節點建立檔案touch/srv/r0mount/from_node12測試node2上的DRBD服務.
118HighAvailability指南2a開啟終端機主控台,以root使用者或同等身份登入.
2b在node1上輸入以下指令,卸下node1上的磁碟︰umount/srv/r0mount2c在node1上輸入以下指令,將node1上的DRBD服務降級︰drbdadmsecondaryr02d在node2上輸入以下指令,將DRBD服務升級drbdadmprimaryr02e在node2上輸入以下指令,檢查node2是否為主要節點rcdrbdstatus2f輸入以下指令,在節點2上建立裝載點,如/srv/r0mountmkdir/srv/r0mount2g在node2上輸入以下指令,裝載DRBD設備mount-orw/dev/drbd0/srv/r0mount2h輸入以下指令,驗證在節點1上建立的檔案是否可以檢視ls/srv/r0mount此時應列出/srv/r0mount/from_node1檔案.
3如果服務在兩個節點上都可執行,即表示DRBD設定已完成.
4再次將node1設為主要節點.
4a在node2上輸入以下指令,卸下node2上的磁碟︰分散式複製區塊設備(DRBD)119umount/srv/r0mount4b在node2上輸入以下指令,將node2上的DRBD服務降級︰drbdadmsecondaryr04c在node1上輸入以下指令,將DRBD服務升級為主要服務drbdadmprimaryr04d在node1上輸入以下指令,檢查node1是否為主要節點rcdrbdstatus5若要讓服務自動啟動並在伺服器出現問題時自動進行容錯移轉,您可以使用OpenAIS將DRBD設定為高可用性服務.
如需安裝和設定適用於SUSELinuxEnterprise的OpenAIS的資訊,請參閱第II部分「組態與管理」[27頁].
14.
4DRBD疑難排解drbd設定涉及眾多不同元件以及產生原因不同的各種問題.
以下幾節介紹了一些常見問題,並提供了解決這些問題的提示.
14.
4.
1組態如果初始的drbd設定未按預期工作,則可能是組態有問題.
若要獲取有關組態的資訊,請執行下列步驟︰1開啟終端機主控台,然後以root使用者身份登入.
2執行drbdadm(含-d選項),測試組態檔案.
輸入drbdadm-dadjustr0120HighAvailability指南在adjust選項的試執行(dryrun)期間,drbdadm會將DRBD資源的實際組態與DRBD組態檔案進行比較,但不會執行呼叫.
檢閱輸出,以確定您瞭解所有錯誤的來源及原因.
3如果drbd.
conf檔案中存在錯誤,請先校正這些錯誤再繼續.
4如果分割區與設定均正確,請再次執行drbdadm(不含-d選項).
輸入drbdadmadjustr0此指令會將組態檔案套用於DRBD資源.
14.
4.
2主機名稱對於DRBD而言,主機名稱是區分大小寫的,因此Node0與node0是不同的主機名稱.
如果您擁有多個網路設備,並希望使用專屬的網路設備,主機名稱可能不會解析成所使用的IP位址.
在這種情況下,請使用參數disable-ip-verification讓DRBD忽略此現象.
14.
4.
3TCP埠7788如果您的系統無法連接至點,這可能是因為本地防火牆出現了問題.
依預設,DRBD使用TCP埠7788存取其他節點.
請確定在兩個節點上均可存取此連接埠.
14.
4.
4DRBD設備在重新開機後損毀如果DRBD不知道存放最新資料的真實設備,就會導致電腦分裂狀態.
在這種情況下,各個DRBD子系統將會做為次要項目出現,並且不會相互連接.
在這種情況下,會將以下訊息寫入到/var/log/messages︰Split-Braindetected,droppingconnection!
若要解決此情況,您必須選取一個應丟棄修改的節點.
登入該節點,然後執行以下指令︰分散式複製區塊設備(DRBD)121drbdadmsecondaryr0drbdadm----discard-my-dataconnectr0在其他節點上,執行指令︰drbdadmconnectr014.
5其他資訊下列開放原始碼資源適用於DRBD︰可在套裝軟體中獲取DRBD的下列線上文件︰drbd(8)drbddisk(8)drbdsetup(8)drbdadm(8)drbd.
conf(5)/usr/share/doc/packages/drbd/drbd.
conf中可找到含備註的DRBD範例組態.
專案首頁http://www.
drbd.
org.
http://clusterlabs.
org/wiki/DRBD_HowTo_1.
0,由LinuxPacemakerClusterStackProject提供.
122HighAvailability指南IV.
疑難排解與參考15疑難排解尤其在剛剛開始使用Heartbeat時,可能會出現一些難以理解的棘手問題.
但您可借助幾個公用程式更為仔細地瞭解Heartbeat內部程序.
使用本章可取得如何解決問題的一些方法.
15.
1安裝問題若在安裝套件或連線叢集時遇到困難,請依照以下清單繼續執行.
是否已安裝HA套件設定和管理叢集所需的套件包含於HighAvailability安裝模式中,由HighAvailabilityExtension提供.
請檢查HighAvailabilityExtension是否在各叢集節點上安裝為SUSELinuxEnterpriseServer11的附加產品,以及「HighAvailability」模式是否依第3.
1節「安裝HighAvailabilityExtension」[21頁]中所述安裝於各機器上.
所有叢集節點的初始組態是否都相同若要在彼此之間進行通訊,則屬於相同叢集的所有節點均需依第3.
2節「初始叢集設定」[22頁]中所述使用相同的bindnetaddr、mcastaddr與mcastport.
請檢查/etc/ais/openais.
conf中為所有叢集節點所設定的通訊通道與選項是否都相同.
疑難排解125若使用加密通訊,請檢查是否所有叢集節點上的/etc/ais/authkey檔案都可使用.
防火牆允許透過mcastport進行通訊嗎若用於在各叢集節點間通訊的mcastport被防火牆阻擋,這些節點將無法相互查看.
依第3.
1節「安裝HighAvailabilityExtension」[21頁]中所述使用YaST設定初始設定時,通常會自動調整防火牆設定.
若要確保mcastport不被防火牆阻擋,請檢查各節點上/etc/sysconfig/SuSEfirewall2中的設定.
或者,啟動各叢集節點上的YaST防火牆模組.
按一下「允許的服務」>「進階」之後,將mcastport新增至允許的「UDP埠」清單,然後確認變更.
在各叢集節點上啟動了OpenAIS嗎使用/etc/init.
d/openaisstatus檢查各叢集節點上的OpenAIS狀態.
若OpenAIS沒有執行,則透過執行/etc/init.
d/openaisstart將其啟動.
15.
2HA叢集除錯若某些項對於您的叢集不起作用,請先嘗試以下動作.
它會顯示資源作業歷程(選項-o)和非使用中資源(-r):crm_mon-o-r顯示內容每10秒重新整理一次(您可以透過按Ctrl+C取消該操作).
範例顯示如下:126HighAvailability指南範例15.
1停止的資源Refreshin10s.
.
.
Lastupdated:MonJan1908:56:142009CurrentDC:d42(d42)3Nodesconfigured.
3Resourcesconfigured.
Online:[d230d42]OFFLINE:[clusternode-1]Fulllistofresources:CloneSet:o2cb-cloneStopped:[o2cb:0o2cb:1o2cb:2]CloneSet:dlm-cloneStopped[dlm:0dlm:1dlm:2]mySecondIP(ocf::heartbeat:IPaddr):StoppedOperations:*Noded230:aa:migration-threshold=1000000+(5)probe:rc=0(ok)+(37)stop:rc=0(ok)+(38)start:rc=0(ok)+(39)monitor:interval=15000msrc=0(ok)*Noded42:aa:migration-threshold=1000000+(3)probe:rc=0(ok)+(12)stop:rc=0(ok)首先連線節點(請參閱節15.
3[127頁]).
然後檢查資源與作業.
http://clusterlabs.
org/wiki/Documentation下的ConfigurationExplainedPDF會在HowDoestheClusterInterprettheOCFReturnCodes(叢集如何解譯OCF傳回代碼)一節中說明三種不同的復原類型:15.
3常見問題集我的叢集狀態為何若要檢查您叢集的目前狀態,請使用程式crm_mon.
這會顯示目前DC,以及目前節點已知的所有節點與資源.
疑難排解127我叢集的一些節點相互間看不到.
導致的原因有多種:請先查看組態檔案/etc/ais/openais.
conf,然後檢查叢集內各節點的多路傳播位址是否相同(使用鍵mcastaddr在interface區段中搜尋).
檢查防火牆設定.
檢查交換器是否支援多路傳播位址還可能是因為您節點間的連線中斷.
最常見的原因是防火牆設定不正確.
這還可能是導致電腦分裂狀況的原因,其中的叢集被分區.
我要列出目前已知的資源.
使用指令crm_resource-L瞭解目前資源.
我已設定某個資源,但它總是失敗.
請嘗試手動執行資源代辦.
使用LSB,只需執行程序檔名稱start與程序檔名稱stop.
若要檢查OCF程序檔,請先設定所需的環境變數.
例如,測試IPaddrOCF程序檔時,必須設定變數ip的值,方法是設定使用OCF_RESKEY_做為變數名稱字首的環境變數.
對於此範例,執行以下指令:exportOCF_RESKEY_ip=/usr/lib/ocf/resource.
d/heartbeat/IPaddrvalidate-all/usr/lib/ocf/resource.
d/heartbeat/IPaddrstart/usr/lib/ocf/resource.
d/heartbeat/IPaddrstop若此指令失敗,很有可能是缺少了某些必要變數,或是參數拼寫錯誤.
我剛收到一條失敗訊息.
能取得詳細資訊嗎您可以始終將-V參數新增至指令.
若多次執行此操作,將產生冗長的除錯輸出.
如何清理我的資源若知道您資源的ID(可透過使用crm_resource-L取得),即可使用crm_resource-C-r資源ID-H主機移除特定資源.
無法裝載ocfs2設備.
檢查/var/log/message是否有以下行:128HighAvailability指南Jan1209:58:55clusternode2lrmd:[3487]:info:RAoutput:(o2cb:1:start:stderr)2009/01/12_09:58:55ERROR:Couldnotloadocfs2_stackglueJan1216:04:22clusternode2modprobe:FATAL:Moduleocfs2_stackgluenotfound.
此範例中,缺少了核心模組ocfs2_stackglue.
ko.
安裝套件ocfs2-kmp-default、ocfs2-kmp-pae或ocfs2-kmp-xen,具體視所安裝的核心而定.
15.
4獲取詳細資訊如需Linux和Heartbeat上有關高可用性的其他資訊,包括設定叢集資源及管理和自定Heartbeat叢集,請參閱http://clusterlabs.
org/wiki/Documentation.
疑難排解12916叢集管理工具HighAvailabilityExtension內建有可協助您利用指令行管理叢集的全面工具組.
本章介紹管理CIB中的叢集組態與叢集資源所需的工具.
第15章「疑難排解」[125頁]中介紹了管理資源代辦的其他指令行工具或用於對設定進行除錯和疑難排解的工具.
以下清單提供了多項與叢集管理相關的任務,並簡要介紹了用於完成這些任務的工具:監控叢集狀態crm_mon指令可讓您監控叢集狀態與組態.
其輸出包括節點數、uname、uuid、狀態、叢集中設定的資源及其各自的目前狀態.
crm_mon的輸出可顯示在主控台中或列印成HTML檔案.
如果提供無狀態區段的叢集組態檔案,crm_mon就會建立節點及資源的綜覽(如檔案中所指定).
如需此工具的使用與指令語法的詳細介紹,請參閱crm_mon(8)[153頁].
管理CIBcibadmin指令為低階管理指令,用於操作HeartbeatCIB.
它可用來傾印、更新及修改所有或部分CIB,刪除整個CIB,或執行其他CIB管理作業.
如需此工具的使用與指令語法的詳細介紹,請參閱cibadmin(8)[133頁].
管理組態變更crm_diff指令可協助您建立並套用XML修補程式.
此作業有助於視覺化兩個叢集組態版本之間的變更,或儲存變更以便稍後使用cibadmin(8)[133頁]套用變更.
如需此工具的使用與指令語法的詳細介紹,請參閱crm_diff(8)[145頁].
叢集管理工具131操作CIB屬性crm_attribute指令可讓您查詢並操作節點屬性和要在CIB中使用的叢集組態選項.
如需此工具的使用與指令語法的詳細介紹,請參閱crm_attribute(8)[142頁].
驗證叢集組態crm_verify指令可檢查組態資料庫(CIB)的一致性及其他問題.
它可檢查檔案是否包含組態或連接正在執行的叢集.
它可報告兩類問題.
必須先修復錯誤,Heartbeat才能正常工作,管理員負責解決警告問題.
crm_verify可協助建立新組態或修改的組態.
您可在執行中的叢集中建立CIB的本地副本、對其進行編輯,並使用crm_verify進行驗證,然後使用cibadmin使新組態生效.
如需此工具的使用與指令語法的詳細介紹,請參閱crm_verify(8)[180頁].
管理資源組態crm_resource指令可在叢集上執行各種與資源相關的動作.
它可讓您修改已設定資源的定義,啟動和停止資源,或在節點間刪除和移轉資源.
如需此工具的使用與指令語法的詳細介紹,請參閱crm_resource(8)[157頁].
管理資源失敗計數crm_failcount指令會查詢指定節點上每個資源的失敗次數.
此工具還可用來重設失敗計數,允許資源在失敗次數過多的節點上重新執行.
如需此工具的使用與指令語法的詳細介紹,請參閱crm_failcount(8)[148頁].
管理節點的待機狀態crm_standby指令可操作節點的待機屬性.
待機模式下的任何節點都無法再代管資源,且其中的所有資源也都必須移出.
對於執行核心更新等維護任務,待機模式十分有用.
當節點再次成為叢集的完全使用中成員時,請從節點移除待機屬性.
如需此工具的使用與指令語法的詳細介紹,請參閱crm_standby(8)[177頁].
132HighAvailability指南cibadmin(8)cibadmin—提供對叢集組態的直接存取概要可讓您查詢、修改、取代和刪除整個或部分組態.
cibadmin(--query|-Q)-[Vrwlsmfbp][-ixml-object-id|-oxml-object-type][-tt-flag-whatever][-hhostname]cibadmin(--create|-C)-[Vrwlsmfbp][-Xxml-string][-xxml-filename][-tt-flag-whatever][-hhostname]cibadmin(--replace-R)-[Vrwlsmfbp][-ixml-object-id|-oxml-object-type][-Xxml-string][-xxml-filename][-tt-flag-whatever][-hhostname]cibadmin(--update|-U)-[Vrwlsmfbp][-ixml-object-id|-oxml-object-type][-Xxml-string][-xxml-filename][-tt-flag-whatever][-hhostname]cibadmin(--modify|-M)-[Vrwlsmfbp][-ixml-object-id|-oxml-object-type][-Xxml-string][-xxml-filename][-tt-flag-whatever][-hhostname]cibadmin(--delete|-D)-[Vrwlsmfbp][-ixml-object-id|-oxml-object-type][-tt-flag-whatever][-hhostname]cibadmin(--delete_alt|-d)-[Vrwlsmfbp]-oxml-object-type[-Xxml-string|-xxml-filename][-tt-flag-whatever][-hhostname]cibadmin--erase(-E)cibadmin--bump(-B)cibadmin--ismaster(-m)cibadmin--master(-w)cibadmin--slave(-r)cibadmin--sync(-S)cibadmin--help(-)叢集管理工具133描述cibadmin指令為低階管理指令,用於操作HeartbeatCIB.
它可用於傾印整個或部分CIB、修改整個或部分CIB、刪除整個CIB,或執行其他CIB管理作業.
cibadmin對CIB的XML樹狀結構執行操作時,通常並不瞭解所執行的更新或查詢的意義.
這表示對瞭解XML樹狀結構中各元素意義的使用者而言,那些習以為常的捷徑無法與cibadmin搭配使用.
該指令要求完全不使用模糊語意,且只能處理輸入與輸出的有效XML子樹狀結構(標籤與元素).
注使用者應一律優先選擇使用cibadmin,而不是手動編輯cib.
xml檔案—特別是在叢集為使用中狀態時更應如此.
叢集會盡力偵測並防止這種做法,以免資料遺失或損毀.
選項--obj_type物件類型、-o物件類型指定要對其執行操作的物件類型.
有效值包括nodes、resources、constraints、crm_status及status.
--verbose、-V開啟除錯模式.
另外的-V選項可增加輸出的詳細度.
--help、-從cibadmin獲得說明訊息.
--xpathPATHSPEC、-APATHSPEC提供有效的XPath以取代obj_type.
134HighAvailability指南指令--bump、-B增加CIB中epoch的版本計數器.
此值通常在選舉新領袖時由叢集自動增加.
若要讓較舊的組態過時(例如儲存在非使用中叢集節點上的組態),則手動增加此值會很有用.
--create、-C使用引數的XML內容建立新的CIB.
--delete、-D刪除與提供的準則相符的第一個物件,例如,.
標籤名稱及所有屬性皆必須相符才能刪除元素--erase、-E去除整個CIB的內容.
--ismaster、-m列印一則訊息,指出CIB軟體的本地例項是否為主例項.
如果本地例項為主例項,則結束時會傳回代碼0,否則會傳回代碼35.
--modify、-M在CIB的XML樹狀結構中找到物件並將其更新.
--query、-Q查詢CIB的一部分.
--replace、-R以遞迴方式取代CIB中的XML物件.
--sync、-S強制將所有節點與指定主機上的CIB重新同步(若使用-h選項),或強制將所有節點與DC重新同步(若未使用-h選項).
叢集管理工具135XML資料--xml-text字串、-X字串指定應對其執行crmadmin的XML標籤或片段.
它必須是完整的標籤或XML片段.
--xml-file檔名、-x檔名指定應對其執行crmadmin的檔案中的XML.
它必須是完整的標籤或XML片段.
--xml_pipe、-p指定應對其執行cibadmin的XML來自於標準輸入.
它必須是完整的標籤或XML片段.
進階選項--host主機名稱、-h主機名稱將指令傳送至指定主機.
僅適用於query及sync指令.
--local、-l讓指令在本地生效(極少使用,為進階選項).
--no-bcast、-b不廣播指令,即使已變更CIB亦如此.
重要使用此選項時請謹慎,以免導致叢集分歧.
--sync-call、-s等待呼叫完成後再返回.
範例若要取得傳遞至stdout的整個使用中CIB的副本(包括狀態區段等),請發出以下指令:cibadmin-Q136HighAvailability指南若要將IPaddr2資源新增至resources區段,請先建立含有下列內容的foo檔案:然後發出以下指令:cibadmin--obj_typeresources-U-xfoo若要變更先前新增之IPaddr2資源的IP位址,請發出以下指令:cibadmin-M-X''注此操作不會將資源名稱變更為與新的IP位址相符.
若要如此,請刪除資源,然後使用新的ID標籤重新新增資源.
若要停止(停用)先前新增的IP位址資源而不將其移除,請建立含有下列內容的檔案bar:然後發出以下指令:cibadmin--obj_typeresources-U-xbar若要重新啟動上一步所停止的IP位址資源,請發出以下指令:cibadmin-D-X''若要從CIB徹底移除IP位址資源,請發出以下指令:cibadmin-D-X''叢集管理工具137若要用手動編輯的新CIB版本取代CIB,請使用以下指令:cibadmin-R-x$HOME/cib.
xml檔案/var/lib/heartbeat/crm/cib.
xml—磁碟上的CIB(不含status區段).
並請參閱crm_resource(8)[157頁]、crmadmin(8)[139頁]、lrmadmin(8)、heartbeat(8)原著者cibadmin由AndrewBeekhof撰寫.
本手冊頁最初由AlanRobertson撰寫.
警告請避免在本地磁碟上自動維護的CIB複本上工作.
叢集中的任何內容一變更,系統就會更新CIB.
因此,使用CIB的過時備份傳播您的組態變更可能會導致叢集不一致.
138HighAvailability指南crmadmin(8)crmadmin—控制叢集資源管理員概要crmadmin[-V|-q][-i|-d|-K|-S|-E]nodecrmadmin[-V|-q]-N-Bcrmadmin[-V|-q]-Dcrmadmin-vcrmadmin-描述crmadmin最初是為了控制CRM精靈的大部分動作而設計.
不過,由於有了其他工具(如crm_attribute和crm_resource),它的大部分功能都已過時.
剩餘的功能多數都與crmd程序的測試和狀態有關.
警告有些crmadmin選項適用於測試,若使用不當,將會產生問題.
尤其重要的是,不要使用--kill或--election選項,除非您清楚瞭解自己在做什麼.
選項--help、-列印說明文字.
--version、-v列印HA、CRM和CIB功能集的版本詳細資料.
--verbose、-V開啟指令除錯資訊.
叢集管理工具139注透過提供其他例項來增加詳細層級.
--quiet、-q不提供任何除錯資訊,並將輸出縮減至最少.
--bash-export、-B建立格式為exportuname=uuid的bash輸出項目.
這僅適用於crmadmin-N節點指令.
注-B功能極少使用,在以後的版本中可能會移除.
指令--debug_inc節點、-i節點在指定的節點上增加CRM精靈的除錯層級.
將USR1訊號傳送至crmd程序也可以實現此目的.
--debug_dec節點、-d節點在指定的節點上減少CRM精靈的除錯層級.
將USR2訊號傳送至crmd程序也可以實現此目的.
--kill節點、-K節點關閉指定節點上的CRM精靈.
警告使用此指令時必須格外小心.
此動作通常僅應由Heartbeat發出,並且可能會產生非預期的副作用.
--status節點、-S節點查詢指定節點上CRM精靈的狀態.
輸出包含一般狀態指示器和crmd程序的內部FSM狀態.
此資訊可以幫助您判斷叢集正在執行何動作.
140HighAvailability指南--election節點、-E節點從指定的節點啟始化選舉.
警告使用此指令時必須格外小心.
此動作通常從內部啟始化,並且可能會產生非預期的副作用.
--dc_lookup、-D查詢目前DC的uname.
DC的位置僅在內部對crmd有意義,除非要決定在哪個節點上檢查記錄,否則管理員極少使用.
--nodes、-N查詢所有成員節點的uname.
查詢的結果可能包含處於「離線」模式的節點.
注-i、-d、-K和-E選項極少使用,在以後的版本中可能會移除.
並請參閱crm_attribute(8)[142頁]、crm_resource(8)[157頁]原著者crmadmin由AndrewBeekhof撰寫.
叢集管理工具141crm_attribute(8)crm_attribute—允許查詢、修改和刪除節點屬性和叢集選項概要crm_attribute[options]描述crm_attribute指令可查詢和操作在CIB中使用的節點屬性和叢集組態選項.
選項--help、-列印說明訊息.
--verbose、-V開啟除錯資訊.
注透過提供其他例項來增加詳細層級.
--quiet、-Q使用-G執行屬性查詢時,僅會將值列印至stdout.
請將此選項與-G搭配使用.
--get-value、-G取回而非設定優先設定.
--delete-attr、-D刪除而非設定屬性.
--attr-id字串、-i字串僅供進階使用者使用.
識別ID屬性.
142HighAvailability指南--attr-value字串、-v字串要設定的值.
與-G搭配使用時,將忽略此選項.
--node節點名稱、-N節點名稱要變更的節點uname--set-name字串、-s字串指定屬性集合,即讀取或寫入屬性的所在.
--attr-name字串、-n字串指定要設定或查詢的屬性.
--type字串、-t類型決定應將屬性設定到CIB的哪個區段,或者所查詢的屬性屬於CIB的哪個區段.
可能值有nodes、status或crm_config.
範例在CIB中之主機myhost的nodes區段中查詢location屬性的值:crm_attribute-G-tnodes-Umyhost-nlocation在CIB的crm_config區段中查詢cluster-delay屬性的值:crm_attribute-G-tcrm_config-ncluster-delay在CIB的crm_config區段中查詢cluster-delay屬性的值.
僅列印值:crm_attribute-G-Q-tcrm_config-ncluster-delay從CIB的nodes區段中刪除主機myhost的location屬性:crm_attribute-D-tnodes-Umyhost-nlocation將名為location、值為office的新屬性新增至CIB的nodes區段的set子區段中(設定已套用到主機myhost):crm_attribute-tnodes-Umyhost-sset-nlocation-voffice變更myhost主機的nodes區段中之location屬性的值:crm_attribute-tnodes-Umyhost-nlocation-vbackoffice叢集管理工具143檔案/var/lib/heartbeat/crm/cib.
xml—磁碟上的CIB(不含status區段).
強烈建議不要直接編輯此檔案.
並請參閱cibadmin(8)[133頁]原著者crm_attribute由AndrewBeekhof撰寫.
144HighAvailability指南crm_diff(8)crm_diff—識別對叢集組態的變更並將修補程式套用至組態檔案概要crm_diff[-|-V][-ofilename][-Ostring][-pfilename][-nfilename][-Nstring]描述crm_diff指令可協助您建立和套用XML修補程式.
此指令可用於視覺化兩個叢集組態版本之間的變更,或者儲存變更以便在以後使用cibadmin進行套用.
選項--help、-列印說明訊息.
--original檔名、-o檔名指定要針對其將找出差異或套用修補程式的原始檔案.
--new檔名、-n檔名指定新檔案的名稱.
--original-string字串、-O字串指定要針對其將找出差異或套用修補程式的原始字串.
--new-string字串、-N字串指定新字串.
--patch檔名、-p檔名將修補程式套用至原始XML.
始終與-o搭配使用.
叢集管理工具145--cib、-c將輸入做為CIB進行比較或修補.
始終使用-o指定基礎版本,並使用-p或-n分別提供修補程式檔案或第二個版本.
--stdin、-s從stdin讀取輸入.
範例使用crm_diff可判斷各CIB組態檔案之間的差異並建立修補程式.
透過修補程式,您可以輕鬆地重複使用組態的各個部分,而不必對每個單一部分使用cibadmin指令.
1對要比較的兩個叢集設定執行cibadmin,以獲得兩個不同的組態檔案:cibadmin-Q>cib1.
xmlcibadmin-Q>cib2.
xml2決定是相互進行比較以找出整個檔案的差異,還是僅比較組態的某一部分.
3若要將檔案之間的差異列印至stdout,請使用以下指令:crm_diff-ocib1.
xml-ncib2.
xml4若要將檔案之間的差異列印至檔案並建立修補程式,請使用以下指令:crm_diff-ocib1.
xml-ncib2.
xml>patch.
xml5將修補程式套用至原始檔案:crm_diff-ocib1.
xml-ppatch.
xml檔案/var/lib/heartbeat/crm/cib.
xml—磁碟上的CIB(不含status區段).
強烈建議不要直接編輯此檔案.
146HighAvailability指南並請參閱cibadmin(8)[133頁]原著者crm_diff由AndrewBeekhof撰寫.
叢集管理工具147crm_failcount(8)crm_failcount—管理用於記錄每個資源失敗次數的計數器概要crm_failcount[-|-V]-D-u|-Unode-rresourcecrm_failcount[-|-V]-G-u|-Unode-rresourcecrm_failcount[-|-V]-vstring-u|-Unode-rresource描述如果某個資源有可能會在目前節點上失敗,Heartbeat會實作複雜的方法進行計算,並強制將該資源容錯移轉至其他節點.
資源的屬性resource-stickiness可以決定其要在特定節點上執行的偏好程度.
它的另一個屬性migration-threshold可以決定當達到何限定值時資源應容錯移轉至其他節點.
系統中為資源新增了failcount屬性,加強了對資源失敗的監控.
failcount的值與migration-threshold的值相乘的結果用來決定此資源的容錯移轉分數.
若此數值超過為此資源設定的優先設定值,則資源會移至其他節點,並且在失敗計數重設之前都不會繼續在原始節點上執行.
crm_failcount指令會查詢指定節點上每個資源的失敗次數.
此工具也可用於重設失敗計數,以讓資源在之前失敗多次的節點上繼續執行.
選項--help、-列印說明訊息.
--verbose、-V開啟除錯資訊.
148HighAvailability指南注透過提供其他例項來增加詳細層級.
--quiet、-Q使用-G執行屬性查詢時,僅會將值列印至stdout.
請將此選項與-G搭配使用.
--get-value、-G取回而非設定優先設定.
--delete-attr、-D指定要刪除的屬性.
--attr-id字串、-i字串僅供進階使用者使用.
識別ID屬性.
--attr-value字串、-v字串指定要使用的值.
與-G一起使用時會忽略此選項.
--node節點uname、-U節點uname指定要變更的節點uname.
--resource-id資源名稱、-r資源名稱指定要對其執行作業之資源的名稱.
範例重設節點node1上資源myrsc的失敗計數:crm_failcount-D-Unode1-rmy_rsc查詢節點node1上資源myrsc的目前失敗計數:crm_failcount-G-Unode1-rmy_rsc叢集管理工具149檔案/var/lib/heartbeat/crm/cib.
xml—磁碟上的CIB(不含status區段).
強烈建議不要直接編輯此檔案.
並請參閱crm_attribute(8)[142頁]、cibadmin(8)[133頁]與LinuxHighAvailabilityFAQ網站[http://www.
linux-ha.
org/v2/faq/forced_failover]原著者crm_failcount由AndrewBeekhof撰寫.
150HighAvailability指南crm_master(8)crm_master—管理主要/從屬資源的優先設定,以將其在指定節點上加以提升概要crm_master[-V|-Q]-D[-llifetime]crm_master[-V|-Q]-G[-llifetime]crm_master[-V|-Q]-vstring[-lstring]描述crm_master是從資源代辦程序檔內部進行呼叫,用來決定應提升為主要模式的資源例項.
請勿從指令行中使用該指令,它只是資源代辦的一個輔助公用程式.
資源代辦使用crm_master將特定例項提示為主要模式,或從中移除此優先設定.
透過指定生命期間,可以決定此設定是應持續到節點重新開機(將生命期間設定為forever),或是不應持續到重新開機(將生命期間設定為reboot).
資源代辦需要決定crm_master應該對其操作的資源.
這些查詢都必須在資源代辦程序檔內部處理.
實際呼叫crm_master時使用的語法類似於crm_attribute指令的語法.
選項--help、-列印說明訊息.
--verbose、-V開啟除錯資訊.
注透過提供其他例項來增加詳細層級.
叢集管理工具151--quiet、-Q使用-G執行屬性查詢時,僅會將值列印至stdout.
請將此選項與-G搭配使用.
--get-value、-G取回要提升的優先設定,而不是對其進行設定.
--delete-attr、-D刪除而非設定屬性.
--attr-id字串、-i字串僅供進階使用者使用.
識別ID屬性.
--attr-value字串、-v字串要設定的值.
與-G搭配使用時,將忽略此選項.
--lifetime字串、-l字串指定優先設定持續的時間.
可能的值有reboot或forever.
環境變數OCF_RESOURCE_INSTANCE—資源例項的名稱檔案/var/lib/heartbeat/crm/cib.
xml—磁碟上的CIB(不含status區段).
並請參閱cibadmin(8)[133頁]、crm_attribute(8)[142頁]原著者crm_master由AndrewBeekhof撰寫.
152HighAvailability指南crm_mon(8)crm_mon—監控叢集狀態概要crm_mon[-V]-d-pfilename-hfilenamecrm_mon[-V][-1|-n|-r]-hfilenamecrm_mon[-V][-n|-r]-Xfilenamecrm_mon[-V][-n|-r]-c|-1crm_mon[-V]-iintervalcrm_mon-描述crm_mon指令可讓您監控叢集狀態與組態.
其輸出包括節點數、uname、uuid、狀態、叢集中設定的資源及其各自的目前狀態.
crm_mon的輸出可顯示在主控台中或列印成HTML檔案.
如果提供無狀態區段的叢集組態檔案,crm_mon就會建立節點及資源的綜覽(如檔案中所指定).
選項--help、-提供說明.
--verbose、-V增加除錯輸出.
--interval秒、-i秒決定更新頻率.
如果未指定-i,則假定為預設值15秒.
--group-by-node、-n根據節點分組資源.
叢集管理工具153--inactive、-r顯示非使用中的資源.
--simple-status、-s將叢集狀態做為簡單的單行輸出(適用於Nagios)顯示一次.
--one-shot、-1在主控台上顯示叢集狀態一次,然後離開(不要使用ncurses).
--as-html檔案名、-h檔案名將叢集狀態寫入指定的檔案.
--web-cgi、-w其輸出適用於CGI的Web模式.
--daemonize、-d做為精靈在背景中執行.
--pid-file檔案名、-p檔案名指定精靈的pid檔案.
範例顯示叢集狀態並每隔15秒獲取一次更新的清單:crm_mon顯示叢集狀態並在-i指定的間隔之後獲取更新的清單.
如果未指定-i,則假定採用15秒的預設重新整理間隔︰crm_mon-iinterval[s]在主控台上顯示叢集狀態:crm_mon-c在主控台上顯示叢集狀態一次,然後離開:crm_mon-1顯示叢集狀態並按節點分組資源:crm_mon-n154HighAvailability指南顯示叢集狀態、按節點分組資源,並將非使用中的資源併入清單中:crm_mon-n-r將叢集狀態寫入HTML檔案:crm_mon-hfilename在背景中將crm_mon做為精靈執行,指定精靈的pid檔案以便更輕鬆地控制精靈程序,然後建立HTML輸出.
此選項可讓您不斷建立可透過其他監控應用程式輕鬆處理的HTML輸出︰crm_mon-d-pfilename-hfilename顯示現存叢集組態檔案(檔案名稱)中配置的叢集組態、按節點分組資源,並包含非使用中的資源.
此指令可用於在將叢集組態捲出到使用中的叢集前對其進行預演.
crm_mon-r-n-Xfilename檔案/var/lib/heartbeat/crm/cib.
xml—磁碟上的CIB(不含status區段).
強烈建議不要直接編輯此檔案.
原著者crm_mon由AndrewBeekhof撰寫.
叢集管理工具155crm_node(8)crm_node—列出叢集的成員概要crm_node[-V][-p|-e|-q]描述列出叢集的成員.
選項-V詳細說明--partition、-p列印此分割區的成員--epoch、-e列印此節點加入分割區的紀元--quorum、-q如果分割區具有法定數目則列印1156HighAvailability指南crm_resource(8)crm_resource—執行與叢集資源相關的任務概要crm_resource[-|-V|-S]-L|-Q|-W|-D|-C|-P|-p[options]描述crm_resource指令可在叢集上執行各種與資源相關的動作.
它可修改已設定資源的定義,啟動和停止資源以及以及在節點間刪除和移轉資源.
--help、-列印說明訊息.
--verbose、-V開啟除錯資訊.
注透過提供其他例項來增加詳細層級.
--quiet、-Q僅將值列印在stdout上(以搭配-W使用).
指令--list、-L列出所有資源.
--query-xml、-x查詢資源.
必要:-r叢集管理工具157--locate、-W尋找資源.
必要:-r--migrate、-M從目前位置移轉資源.
使用-N指定目的地.
如果未指定-N,則系統會透過建立針對目前位置的規則與-INFINITY分數來強制移動資源.
注如此會阻止資源在此節點上執行,直到使用-U移除限制.
必要:-r,選擇性:-N、-f--un-migrate、-U移除透過-M建立的所有限制必要:-r--delete、-D刪除CIB中的資源.
必要:-r、-t--cleanup、-C從LRM刪除資源.
必要:-r.
選擇性:-H--reprobe、-P重新檢查CRM外啟動的資源.
選擇性:-H--refresh、-R從LRM重新整理CIB.
158HighAvailability指南選擇性:-H--set-parameter字串、-p字串為資源設定具名參數.
必要:-r、-v.
選擇性:-i、-s和--meta--get-parameter字串、-g字串獲取資源的具名參數.
必要:-r.
選擇性:-i、-s和--meta--delete-parameter字串、-d字串刪除資源的具名參數.
必要:-r.
選擇性:-i和--meta--list-operations字串、-O字串列出作用中的資源作業.
按資源、節點或按兩者進行選擇性地過濾.
選擇性:-N、-r--list-all-operations字串、-o字串列出所有資源作業.
按資源、節點或按兩者進行選擇性地過濾.
選擇性:-N、-r選項--resource字串、-r字串指定資源ID.
--resource-type字串、-t字串指定資源類型(primitive、clone、group等).
--property-value字串、-v字串指定內容值.
--node字串、-N字串指定主機名稱.
叢集管理工具159--meta修改資源的組態選項,而非使用傳遞至資源代辦程序檔的選項.
用於與-p、-g及-d配合使用.
--lifetime字串、-u字串移轉限制的存留期.
--force、-f透過建立針對目前位置的規則與-INFINITY分數來強制移動資源如果資源的黏著率與限制總分超過INFINITY(目前為100,000),則應使用此選項.
注如此會阻止資源在此節點上執行,直到使用-U移除限制.
-s字串(僅供進階使用)指定要變更的instance_attributes物件ID.
-i字串(僅供進階使用)指定要變更或刪除的nvpair物件ID.
範例列出所有資源:crm_resource-L檢查資源的執行位置(及其是否在執行):crm_resource-W-rmy_first_ip如果my_first_ip資源正在執行,則此指令的輸出會顯示執行該資源所在的節點.
如果該資源未執行,則輸出如此顯示.
啟動或停止資源:crm_resource-rmy_first_ip-ptarget_role-vstartedcrm_resource-rmy_first_ip-ptarget_role-vstopped160HighAvailability指南查詢資源的定義:crm_resource-Q-rmy_first_ip將資源從其目前位置移轉出來︰crm_resource-M-rmy_first_ip將資源移轉至指定位置:crm_resource-M-rmy_first_ip-Hc001n02允許資源返回其正常位置:crm_resource-U-rmy_first_ip注resource_stickiness與default_resource_stickiness的值表示資源不會移回.
在此情況下,您應使用-M將資源移回,然後再執行此指令.
刪除CRM中的資源︰crm_resource-D-rmy_first_ip-tprimitive刪除CRM中的資源群組:crm_resource-D-rmy_first_group-tgroup在CRM中停用資源的資源管理:crm_resource-pis-managed-rmy_first_ip-tprimitive-voff在CRM中啟用資源的資源管理:crm_resource-pis-managed-rmy_first_ip-tprimitive-von手動清理失敗資源後,重設該資源:crm_resource-C-Hc001n02-rmy_first_ip重新檢查於CRM外啟動之資源的所有節點.
crm_resource-P重新檢查於CRM外啟動之資源的一個節點.
crm_resource-P-Hc001n02叢集管理工具161檔案/var/lib/heartbeat/crm/cib.
xml—磁碟上的CIB(不含status區段).
強烈建議不要直接編輯此檔案.
並請參閱cibadmin(8)[133頁]、crmadmin(8)[139頁]、lrmadmin(8)、heartbeat(8)原著者crm_resource由AndrewBeekhof撰寫.
162HighAvailability指南crm_shadow(8)crm_shadow—在更新使用中的叢集之前,在沙箱中執行組態變更概要crm_shadow[-V][-p|-e|-q]描述設定讓組態工具(cibadmin、crm_resource等)在其中離線工作而不是針對使用中叢集工作的環境,並允許預覽及測試變更是否有副作用.
選項--verbose、-V開啟除錯資訊其他例項以增加詳細度--which、-w指定使用中的投影副本--display、-p顯示投影副本的內容--diff、-d顯示投影副本中的變更--create-empty、-e名稱建立叢集組態為空白的具名投影副本--create、-c名稱建立使用中叢集組態的具名投影副本--reset、-r名稱從使用中的叢集組態重新建立具名投影副本叢集管理工具163--commit、-c名稱將具名投影副本的內容上載至叢集--delete、-d名稱刪除具名投影副本的內容--edit、-e名稱使用您最愛的編輯器編輯具名投影副本的內容--batch、-b不啟動新的外圍程序--force、-f不啟動新的外圍程序--switch、-s切換至具名投影副本內部指令若要使用投影組態,必須先建立一個投影組態:crm_shadow--create-emptyYOUR_NAME它提供一個與crm工具中的外圍程序類似的內部外圍程序.
使用help取得所有內部指令的綜覽,或者使用help子指令取得特定指令的資訊.
表格16.
1內部指令綜覽語法/描述指令alias[-p][name[=value].
.
.
]aliasalias不搭配引數或與-p選項搭配將在標準輸出上以別名名稱=值的格式列印別名清單.
否則,將為提供了「值」的每個「名稱」定義別名.
如果「值」的末尾有空格,會導致系統在展開別名時檢查下一個單字是否為別名替代項.
除非未為提供的「名稱」定義任何別名,否則alias將傳回真.
164HighAvailability指南語法/描述指令bg[JOB_SPEC.
.
.
]bg將每個工作規格放在背景中,就如它是透過&啟動一樣.
若工作規格不存在,則會使用目前工作的外圍程序概念.
bind[-lpvsPVS][-mkeymap][-ffilename][-qname][-uname][-rkeyseq]bind[-xkeyseq:shell-command][keyseq:readline-functionorreadline-command]將關鍵序列與Readline函數或某個巨集關聯,或者設定Readline變數.
無選項的引數語法與~/.
inputrc中的語法效果相同,但其必須做為單一引數傳送:bind"\C-x\C-r":re-read-init-file.
break[N]break從某個for、while或until迴圈中跳離.
若指定了N,則跳離N個層級.
builtin[shell-builtin[arg.
.
.
]]builtin執行外圍程序builtin.
若要重新命名外圍程序builtin,使之成為函數,但在函數本身中需要builtin的功能,此指令就很有幫助.
caller[EXPR]caller傳回目前副程式呼叫的網路位置.
若不提供運算式,則會傳回$line$filename.
若提供了運算式,則會傳回$line$subroutine$filename;可以使用此額外資訊提供堆疊追蹤.
caseWORDin[PATTERN[|PATTERN][COMMANDS;;].
.
.
esaccase依據符合模式的單字,選擇性執行指令.
「|」用於分隔多個模式.
cd[-L|-P][dir]cd將目前目錄切換至DIR.
叢集管理工具165語法/描述指令command[-pVv]command[arg.
.
.
]command搭配忽略外圍程序函數的引數執行指令.
若您擁有名為「ls」的外圍程序函數,且要呼叫指令「ls」,則可以輸入「commandls」.
若提供了-p選項,則會使用PATH的預設值,以確保找到所有標準公用程式.
若提供了-V或-v選項,則會列印描述指令的字串.
-V選項可產生更詳細的描述.
compgen[-abcdefgjksuv][-ooption][-Aaction][-Gglobpat][-Wwordlist][-Pprefix]compgen[-Ssuffix][-Xfilterpat][-Ffunction][-Ccommand][WORD]依選項而定顯示可能的補齊內容.
專供從產生可能的補齊內容的外圍程序函數中使用.
若提供選用的單字引數,將會產生與單字相符的項目.
complete[-abcdefgjksuv][-pr][-ooption][-Aaction][-Gglobpat][-Wwordlist][-Pprefix]complete[-Ssuffix][-Xfilterpat][-Ffunction][-Ccommand][name.
.
.
]對於每個名稱,指定補齊引數的方式.
若提供了-p選項,或未提供任何選項,將會列印現有補齊規格,且所採用的列印方式可讓其做為輸入重複使用.
-r選項將移除每個名稱的補齊規格;或者,若未提供名稱,將移除所有補齊規格.
continue[N]continue繼續封閉式FOR、WHILE或UNTIL迴圈的下一個反覆項目.
若指定了N,則會在第N層封閉式迴圈繼續.
declare[-afFirtx][-p][name[=value].
.
.
]declare宣告變數及/或為變數提供屬性.
若未提供名稱,則改為顯示變數的值.
-p選項將顯示每個名稱的屬性和值.
dirs[-clpv][+N][-N]dirs166HighAvailability指南語法/描述指令顯示目前記住的目錄清單.
使用pushd指令可以將目錄列出在清單上;使用popd指令可以返回到清單的上一層.
disown[-h][-ar][JOBSPEC.
.
.
]disown預設會從使用中的工作表格移除每個工作規格引數.
若提供了-h選項,則不會從表格移除工作,而是標示工作,以便外圍程序接收到SIGHUP時不會將SIGHUP傳送給該工作.
若不提供工作規格,-a選項表示從工作表格移除所有工作;-r選項表示僅移除執行中的工作.
echo[-neE][arg.
.
.
]echo輸出引數.
若指定了-n,則會隱藏末尾新行字元.
若提供了-e選項,將會開啟下列以反斜線逸出之字元的解譯:\a(警示,鈴聲)\b(退格)\c(隱藏末尾新行)\E(逸出字元)\f(換頁)\n(新行)\r(回行)\t(水平定位字元)\v(垂直定位字元)\\(反斜線)\0nnn(ASCII碼為NNN(八進位)的字元.
NNN可以是0至3個八進位數字)可以使用-E選項明確關閉上述字元的解譯.
enable[-pnds][-a][-ffilename][name.
.
.
]enable啟用和停用builtin外圍程序指令.
這可讓您使用與外圍程序builtin同名的磁碟指令,而不必指定完整的路徑名稱.
若使用了-n,則會停用名稱;否則會啟用名稱.
例如,若要使用$PATH叢集管理工具167語法/描述指令中提供的test而非外圍程序builtin版本,請輸入enable-ntest.
在支援動態載入的系統上,可使用-f選項從共享物件檔名載入新的builtin.
-d選項將刪除之前使用-f載入的builtin.
若未提供任何非選項名稱,或者提供了-p選項,將會列印builtin清單.
-a選項表示列印每個builtin,並會指出其是否已啟用.
-s選項將輸出限制為POSIX.
2的「特殊」builtin.
-n選項將顯示所有已停用builtin的清單.
eval[ARG.
.
.
]eval將引數讀取為外圍程序的輸入並執行產生的指令.
exec[-cl][-aname]file[redirection.
.
.
]exec執行檔案,並以指定的程式取代此外圍程序.
若未指定檔案,則會在此外圍程序中進行重新導向.
如果第一個引數為-l,則在傳送到檔案的第零個引數中加一個破折號,就如登入一樣.
若提供了-c選項,將會使用空環境執行檔案.
-a選項表示將已執行程序的argv[0]設定為名稱.
若檔案無法執行,且外圍程序為非互動型,則除非已設定外圍程序選項execfail,否則外圍程序將會結束.
exit[N]exit結束外圍程序並傳回狀態N.
若省略N,則結束狀態為上次執行之指令的狀態.
export[-nf][NAME[=value].
.
.
]export-pexport將會標示名稱以自動輸出到後續執行的指令的環境.
若提供了-f選項,則名稱指的是函數.
若未提供名稱,或者提供了-p,將會列印在此外圍程序中輸出的所有名稱清單.
引數-n表示從後續名稱移除輸出內容.
引數--將會停用進一步的選項處理.
falsefalse168HighAvailability指南語法/描述指令傳回失敗結果.
fc[-eename][-nlr][FIRST][LAST]fc-s[pat=rep][cmd]fcfc用於列出或編輯並重新執行歷程清單中的指令.
第一個和最後一個可以是指定範圍的數字,或者第一個可以是字串,表示最近使用的以該字串開頭的指令.
fg[JOB_SPEC]fg將工作規格放在前景中,並使其成為目前的工作.
若工作規格不存在,將會使用目前工作的外圍程序概念.
forNAME[inWORDS.
.
.
;]doCOMMANDS;doneforfor迴圈會針對項目清單中的每個成員執行一系列指令.
若in單字.
.
.
;不存在,則會假設in"$@".
對於單字中的每個元素,會將名稱設定為該元素,然後執行指令.
functionNAME{COMMANDS;}functionNAME(){COMMANDS;}function建立一個簡單指令,該指令透過執行指令的名稱呼叫.
指令行上的引數和名稱會做為$0.
.
$n傳送給該函數.
getoptsOPTSTRINGNAME[arg]getopts外圍程序使用Getopts剖析位置參數.
hash[-lr][-pPATHNAME][-dt][NAME.
.
.
]hash對於每個名稱,將會判斷並記住指令的完整路徑名稱.
若提供了-p選項,則會將路徑名稱當成名稱的完整路徑名稱,且不會執行路徑搜尋操作.
-r選項會使外圍程序忘記所有記住的位置.
-d選項會使外圍程序忘記記住的每個名稱的位置.
若提供了-t選項,將會列印每個名稱所對應的完整路徑名稱.
若與-t一起提供多個名稱引數,將會在雜湊的完整路徑名稱前面列印名稱.
叢集管理工具169語法/描述指令-l選項會以可做為輸入重複使用的格式顯示輸出.
若未提供任何引數,將會顯示有關所記住之指令的資訊.
history[-c][-dOFFSET][n]history-psarg[arg.
.
.
]history-awrm[filename]history顯示歷程清單與行號.
列出的帶*的行均已修改.
引數N表示僅列出最後N行.
-c選項會透過刪除所有項目來清除歷程清單.
-d選項將刪除偏移處的歷程項目.
-w選項會將目前歷程寫出到歷程檔案;-r表示讀取檔案並將內容附加至歷程清單.
-a表示將此工作階段的歷程行附加至歷程檔案.
引數-n表示讀取歷程檔案中尚未讀取的所有歷程行,並將這些行附加至歷程清單.
jobs[-lnprs][JOBSPEC.
.
.
]job-xCOMMAND[ARGS]jobs列出使用中的工作.
-l選項將列出程序ID和一般資訊;-p選項僅列出程序ID.
若提供了-n,將僅列印自從上次通知以來已變更狀態的程序.
工作規格將輸出限制為該工作.
-r和-s選項分別將輸出限制為執行中的工作和已停止的工作.
若不提供任何選項,將會列印所有使用中的工作的狀態.
若提供了-x,則會在將引數中出現的所有工作規格取代為該工作之程序群組領袖的程序ID後,執行指令.
kill[-ssigspec|-nsignum|-sigspec]pid|JOBSPEC.
.
.
kill-l[sigspec]kill將訊號SIGSPEC傳送至由PID(或工作規格)指定的程序.
如果SIGSPEC不存在,則會假設SIGTERM.
引數-l將列出訊號名稱;若多個引數後面跟著-l,則假設這些引數為應列出名稱之訊號的編號.
Kill是一個外圍程序builtin,撰寫它有兩個原因:它允許使用工作ID取代程序ID,並且若您已達到可以建立之程序的限制,您不必啟動一個程序來停止另一個程序.
letARG[ARG.
.
.
]let170HighAvailability指南語法/描述指令每個引數都是需要求值的算術運算式.
求值是採用固定寬度的整數來完成,雖然除以0會被設陷並標誌為錯誤,但是不會檢查溢位.
以下運算子清單已根據運算子的優先順序分為不同的幾個層級.
各層級以優先順序遞減的順序列出.
localNAME[=VALUE].
.
.
local建立名為名稱的本地變數,並為其提供相應的值.
local僅可在函數中使用;它將變數名稱的可見範圍限制為該函數及其子項.
logoutlogout從登入外圍程序登出.
popd[+N|-N][-n]popd從目錄堆疊移除項目.
若不提供任何引數,則會從堆疊移除頂層目錄,並切換至新的頂層目錄.
printf[-vvar]format[ARGUMENTS]printfprintf將使用格式來格式化並列印引數.
格式是一個字元字串,它包含三種類型的物件:簡單複製到標準輸出的純字元、會被轉換並複製到標準輸出的字元逸出序列,以及格式規格,每個格式規格都會導致列印下一個後續引數.
除標準printf(1)格式之外,%b表示展開對應引數中的反斜線逸出序列,而%q表示以可做為外圍程序輸入重複使用的形式來引用引數.
若提供了-v選項,則會將輸出放置於外圍程序變數VAR的值中,而不是將其傳送至標準輸出.
pushd[dir|+N|-N][-n]pushd將目錄新增至目錄堆疊的頂部,或者旋轉堆疊,使堆疊的新頂部成為目前的工作目錄.
若不提供任何引數,將會交換最上面的兩個目錄.
pwd[-LP]pwd叢集管理工具171語法/描述指令列印目前的工作目錄.
若提供了-P選項,pwd將會列印實體目錄,不列印任何符號連結;-L選項將在符號連結後面跟著pwd.
read[-ers][-ufd][-ttimeout][-pprompt][-aarray][-nnchars][-ddelim][NAME.
.
.
]read所提供的名稱將標示為唯讀,且後續指定無法變更這些名稱的值.
若提供了-f選項,則會標示名稱所對應的函數.
若未提供任何引數,或者提供了-p,將會列印所有唯讀名稱的清單.
-a選項表示將每個名稱視為陣列變數.
引數--將停用進一步的選項處理.
readonly[-af][NAME[=VALUE].
.
.
]readonly-preadonly所提供的名稱將標示為唯讀,且後續指定無法變更這些名稱的值.
若提供了-f選項,則會標示名稱所對應的函數.
若未提供任何引數,或者提供了-p,將會列印所有唯讀名稱的清單.
-a選項表示將每個名稱視為陣列變數.
引數--將停用進一步的選項處理.
return[N]return導致函數結束,並傳回由N指定的傳回值.
若省略N,則傳回上次執行之指令的狀態.
selectNAME[inWORDS.
.
.
;]doCOMMANDS;doneselect將展開單字,並產生單字清單.
將在標準錯誤上列印展開的單字集,且每個單字前面都有一個數字.
若in單字不存在,則會假設in"$@".
然後顯示PS3提示,並從標準輸入讀取一行.
若該行由其中一個顯示的單字所對應的數字組成,則會將名稱設定為該單字.
若該行為空,將會重新顯示單字和提示.
若讀取到EOF,指令即會完成.
讀取到任何其他值均會導致將名稱設定為空值.
所讀取的行會儲存在變數回覆中.
每次選取後即會執行指令,直到執行跳離指令為止.
172HighAvailability指南語法/描述指令set[--abefhkmnptuvxBCHP][-oOPTION][ARG.
.
.
]set設定內部外圍程序選項.
shift[n]shift將$N+1.
.
.
中的位置參數重新命名為$1.
.
.
.
若未提供N,則將其假設為1.
shopt[-pqsu][-olong-option]OPTNAME[OPTNAME.
.
.
]shopt切換控制選擇性行為的變數的值.
-s旗標表示啟用(設定)每個選項名稱;-u旗標將取消設定每個選項名稱.
-q旗標將隱藏輸出;離開狀態指出是否已設定或取消設定每個選項名稱.
-o選項將選項名稱限制為定義為與set-o搭配使用的那些選項名稱.
若不提供任何選項,或者提供了-p選項,將會顯示所有可設定選項的清單,並會指出是否已設定每個選項.
sourceFILENAME[ARGS]source讀取並執行檔名中的指令,然後返回.
$PATH中的路徑名稱用於尋找含有檔名的目錄.
若提供了引數,則在執行檔名時,引數將做為位置參數.
suspend[-f]suspend暫停執行此外圍程序,直到它接收到SIGCONT訊號為止.
若指定了-f,則表示如果此外圍程序為登入外圍程序也不發出警告;只是將其暫停.
test[expr]test根據運算式的求值結果結束,並傳回狀態0(真)或1(偽).
運算式可為一元運算式或二元運算式.
一元運算式通常用於檢查檔案的狀態.
系統提供了字串運算子和數字比較運算子.
time[-p]PIPELINEtime叢集管理工具173語法/描述指令執行管線,並在它終止時列印執行管線所花的實際時間、使用者CPU時間和系統CPU時間的摘要.
傳回狀態為「管線」的傳回狀態.
-p選項將以略微不同的格式列印所花時間的摘要.
此選項使用TIMEFORMAT變數的值做為輸出格式.
timestimes列印從外圍程序執行之程序的累計使用者和系統時間.
trap[-lp][ARGSIGNAL_SPEC.
.
.
]trap外圍程序接收到訊號訊號規格時,將讀取並執行指令引數.
若引數不存在(提供了單一訊號規格)或-,則會將每個指定的訊號重設為其原始值.
若引數為空字串,則外圍程序以及它呼叫的指令將會忽略每個訊號規格.
若訊號規格為EXIT(0),則會在結束外圍程序時執行指令「引數」.
若訊號規格為DEBUG,則會在每個簡單指令之後執行引數.
若提供了-p選項,則會顯示與每個訊號規格相關的設陷指令.
若未提供任何引數,或者僅提供了-p,設陷將會列印與每個訊號相關的指令清單.
每個訊號規格都是signal.
h中的一個訊號名稱或訊號編號.
訊號名稱不區分大小寫,且SIG字首為選用項目.
trap-l將列印訊號名稱及其對應編號的清單.
請注意,您可以使用kill-signal$$將訊號傳送至外圍程序.
truetrue傳回成功結果.
type[-afptP]NAME[NAME.
.
.
]type過時,請參閱declare.
typeset[-afFirtx][-p]name[=value]typeset過時,請參閱declare.
ulimit[-SHacdfilmnpqstuvx][limitulimit174HighAvailability指南語法/描述指令ulimit可讓您對由外圍程序啟動的程序可以使用的資源進行控制(在允許此類控制的系統上).
umask[-p][-S][MODE]umask將使用者的檔案建立遮罩設定為模式.
若省略了模式,或提供了-S,將會列印遮罩的目前值.
若提供了-S選項,則會輸出符號;否則會輸出八進位數字.
若提供了-p且省略了模式,則輸出時採用可以用做輸入的形式.
若模式以數字開頭,則會將其解譯為八進位數字,否則將其解譯為chmod(1)所接受的符號模式字串.
unalias[-a]NAME[NAME.
.
.
]unalias從定義的別名清單移除名稱.
若提供了-a選項,將會移除所有的別名定義.
unset[-f][-v][NAME.
.
.
]unset對於每個名稱,移除對應的變數或函數.
若提供了-v,則取消設定僅對變數起作用.
若提供了-f旗標,則取消設定僅對函數起作用.
若未提供任何旗標,則取消設定將先嘗試取消設定變數;如果嘗試失敗,則會嘗試取消設定函數.
某些變數無法取消設定,也視為唯讀.
untilCOMMANDS;doCOMMANDS;doneuntil只要until指令中的最後一個指令的離開狀態不是零,就展開並執行指令.
wait[N]wait等待指定的程序並報告其終止狀態.
若未提供N,將會等待目前使用中的所有子程序,且傳回碼為零.
N可以是程序ID或工作規格;若提供了工作規格,將會等待工作管線中的所有程序.
whileCOMMANDS;doCOMMANDS;donewhile叢集管理工具175語法/描述指令只要while指令中最後一個指令的離開狀態為零,就展開並執行指令.
176HighAvailability指南crm_standby(8)crm_standby—操作節點的待機屬性,以判斷資源是否可以在此節點上執行.
概要crm_standby[-|-V]-D-u|-Unode-rresourcecrm_standby[-|-V]-G-u|-Unode-rresourcecrm_standby[-|-V]-vstring-u|-Unode-rresource[-lstring]描述crm_standby指令可操作節點的待機屬性.
待機模式下的任何節點都無法再代管資源,且其中的所有資源也都必須移出.
對於執行核心更新等維護任務,待機模式十分有用.
當節點再次成為叢集的完全使用中成員時,請從節點移除待機屬性.
為standby屬性指定存留期,即可決定待機設定在節點重新開機後應繼續存在(將存留期設定為forever)還是應經重新開機進行重設(將存留期設定為reboot).
也可以移除standby屬性,然後手動將節點從待機模式返回到使用中模式.
選項--help、-列印說明訊息.
--verbose、-V開啟除錯資訊.
注透過提供其他例項來增加詳細層級.
叢集管理工具177--quiet、-Q使用-G執行屬性查詢時,僅會將值列印至stdout.
請將此選項與-G搭配使用.
--get-value、-G取回而非設定優先設定.
--delete-attr、-D指定要刪除的屬性.
--attr-value字串、-v字串指定要使用的值.
與-G一起使用時會忽略此選項.
--attr-id字串、-i字串僅供進階使用者使用.
識別ID屬性.
--node節點uname、-u節點uname指定要變更的節點uname.
--lifetime字串、-l字串判斷此優先設定的持續時間.
可能的值有reboot或forever.
注如果存在forever值,CRM會一直使用該值取代任何reboot值.
範例讓本地節點進入待機模式︰crm_standby-vtrue讓節點(node1)進入待機模式︰crm_standby-vtrue-Unode1查詢節點的待機狀態︰crm_standby-G-Unode1178HighAvailability指南從節點移除待機內容︰crm_standby-D-Unode1讓節點無限期進入待機模式︰crm_standby-vtrue-lforever-Unode1讓節點進入待機模式,直到此節點下次重新開機為止︰crm_standby-vtrue-lreboot-Unode1檔案/var/lib/heartbeat/crm/cib.
xml—磁碟上的CIB(不含status區段).
強烈建議不要直接編輯此檔案.
並請參閱cibadmin(8)[133頁],crm_attribute(8)[142頁]原著者crm_standby由AndrewBeekhof撰寫.
叢集管理工具179crm_verify(8)crm_verify—檢查CIB的一致性概要crm_verify[-V]-xfilecrm_verify[-V]-Xstringcrm_verify[-V]-L|-pcrm_verify[-]描述crm_verify可檢查組態資料庫(CIB)的一致性及其他問題.
該指令可用於檢查包含組態的檔案,或者它是否可以連接到執行中的叢集.
它將報告兩類問題︰錯誤和警告.
必須先修復錯誤才能讓Heartbeat正常工作.
不過,可由管理員決定是否應修復警告.
crm_verify可協助建立新組態或修改的組態.
您可在執行中的叢集中建立CIB的本地副本、對其進行編輯,並使用crm_verify進行驗證,然後使用cibadmin使新組態生效.
選項--help、-h列印說明訊息.
--verbose、-V開啟除錯資訊.
注透過提供其他例項來增加詳細層級.
180HighAvailability指南--live-check、-L連接到執行中的叢集並檢查CIB.
--crm_xml字串、-X字串檢查提供的字串中的組態.
僅會傳遞完整的CIB.
--xml-file檔案、-x檔案檢查具名檔案中的組態.
--xml-pipe、-p使用透過stdin傳送的組態.
僅會傳遞完整的CIB.
範例檢查執行中叢集中組態的一致性並產生詳細的輸出︰crm_verify-VL檢查指定檔案中組態的一致性並產生詳細的輸出︰crm_verify-Vxfile1將組態傳送至crm_verify並產生詳細的輸出︰catfile1.
xml|crm_verify-Vp檔案/var/lib/heartbeat/crm/cib.
xml—磁碟上的CIB(不含status區段).
強烈建議不要直接編輯此檔案.
並請參閱cibadmin(8)[133頁]原著者crm_verify由AndrewBeekhof撰寫.
叢集管理工具18117叢集資源本章概述了與叢集資源相關的最重要的資料與統計數字:HighAvailabilityExtension支援的資源代辦類別、OCF資源代辦的錯誤碼及叢集對錯誤碼的反應方式、可用的資源選項、資源作業及例項屬性.
設定資源時(可使用crm指令行工具或LinuxHAManagementClient進行手動設定),可參考本綜覽.
17.
1受支援的資源代辦類別對於每個新增的叢集資源,您都需要定義資源代辦所遵循的標準.
資源代辦會提取提供的服務並向叢集提供準確的狀態,這樣叢集便可不用知道其所管理的資源.
當接收到start、stop或monitor指令時,叢集依賴於資源代辦來執行恰當的操作.
通常資源代辦的形式為外圍程序檔.
HighAvailabilityExtension支援以下類別的資源代辦:舊版Heartbeat1資源代辦Heartbeat版本1具有自己的資源代辦樣式.
由於很多人已基於其慣例撰寫了自己的代辦,所以這些資源代辦仍受支援.
但是,仍建議您在可能的情況下將您的組態移轉至HighAvailabilityOCFRA.
如需詳細資訊,請參閱http://wiki.
linux-ha.
org/HeartbeatResourceAgent.
LinuxStandardsBase(LSB)程序檔LSB資源代辦通常由作業系統/套裝作業系統提供,位於/etc/init.
d.
若要與叢集一起使用,他們必須符合LSB規格.
例如,它們必須執行幾個動作,這些動作至少包含start、stop、restart、reload、叢集資源183force-reload和status,如http://www.
linuxbase.
org/spec/refspecs/LSB_3.
0.
0/LSB-Core-generic/LSB-Core-generic/iniscrptact.
html中所述.
開放叢集架構(OCF)資源代辦OCFRA代辦最適合與HighAvailability搭配使用,特別是在您需要主要資源或特殊監控功能的情況下.
代辦通常位於/usr/lib/ocf/resource.
d/heartbeat/.
它們的功能類似於LSB程序檔.
但是,組態始終使用環境變數來進行設定,這樣可讓其輕鬆接受並處理參數.
OCF規格(與資源代辦相關時)位於http://www.
opencf.
org/cgi-bin/viewcvs.
cgi/specs/ra/resource-agent-api.
txtrev=HEAD4.
OCF規格對於動作必須返回的離開碼有著嚴格的定義.
叢集完全遵循這些規格.
如需詳細資訊,請參閱http://wiki.
linux-ha.
org/OCFResourceAgent.
如需所有可用OCFRA的詳細清單,請參閱第18章「HAOCF代辦」[191頁].
STONITH資源代辦此類別專用於圍籬區隔相關資源.
如需詳細資訊,請參閱第8章「圍籬區隔與STONITH」[75頁].
提供給HighAvailabilityExtension的代辦將寫入OCF規格.
17.
2OCF傳回代碼根據OCF規格,對於動作必須返回的離開碼有著嚴格的定義.
叢集會始終根據預期結果檢查傳回代碼.
如果結果不符合預期值,則該作業將被視為失敗,並啟動復原動作.
失敗復原有三種類型:表格17.
1失敗復原類型叢集採取的動作描述復原類型重新啟動資源或將其移到新的位置.
發生暫時錯誤.
軟式將資源移到別處並阻止其在目前節點上被重試.
發生非暫時錯誤.
該錯誤為目前節點所特有.
硬式184HighAvailability指南叢集採取的動作描述復原類型停止資源並阻止其在任何叢集節點上啟動.
發生對於所有叢集節點均相同的非暫時錯誤.
這表示指定了錯誤組態.
嚴重錯誤假設一個動作被視為已失敗,下表概述了不同的OCF傳回代碼以及接收到相應的錯誤碼時將啟動的叢集復原類型.
表格17.
2OCF傳回代碼復原類型描述OCF別名OCF傳回代碼軟式成功.
指令成功完成.
這是所有start、stop、OCF_SUCCESS0promote和demote指令的預期結果.
軟式一般「發生問題」錯誤碼.
OCF_ERR_GENERIC1硬式此機器上的資源組態無效(例如,它參考節點上找不到的位置/工具).
OCF_ERR_ARGS2硬式未執行所需動作.
OCF_ERR_UNIMPLEMENTED3硬式資源代辦沒有足夠的權限完成任務.
OCF_ERR_PERM4硬式此機器上未安裝資源所需的工具.
OCF_ERR_INSTALLED5嚴重錯誤資源的組態無效(例如,所需參數遺失).
OCF_ERR_CONFIGURED6叢集資源185復原類型描述OCF別名OCF傳回代碼無資源未執行.
叢集不會嘗試停止對任何動作返回此代碼的資源.
OCF_NOT_RUNNING7此OCF傳回代碼可能需要也可能不需要資源復原—具體取決於預期的資源狀態.
如果不是預期情況,則進行軟式復原.
軟式資源正以主要模式執行.
OCF_RUNNING_MASTER8軟式資源在主要模式下執行,但已失敗.
資源將被降OCF_FAILED_MASTER9級、停止,然後再次啟動(還可能升級).
軟式自定錯誤碼.
無其他17.
3資源選項對於新增的每個資源,您都可以定義選項.
叢集使用選項來決定資源的行為方式—它們會告知CRM如何處理特定資源.
可透過crm_resource--meta指令或文中提及的GUI來設定資源選項.
表格17.
3原始資源選項描述選項如果並非所有資源都可啟動,則叢集將停止優先程度較低的資源,以便讓優先程度較高的資源啟動.
priority186HighAvailability指南描述選項叢集應嘗試將此資源保持什麼狀態允許的值:Stopped、Started.
target-role叢集是否允許啟動及停止資源允許的值:true、false.
is-managed資源希望留在原處的程度如何預設值為default-resource-stickiness.
resource-stickiness此資源在節點上的失敗次數達到多少次才會取消該節點代管此資源的資格預設值:none.
migration-threshold如果叢集發現資源在多個節點上處於使用中狀態,叢集應如何處理允許的值:block(將資multiple-active源標示為不受管理)、stop_only、stop_start.
等待多少秒之後才會當做失敗未發生(潛在含義為允許資源回到其失敗的節點上)預設值:never.
failure-timeout17.
4資源作業預設叢集不會確保資源仍正常.
若要指示叢集執行此操作,您需要將監控作業新增至資源定義.
可為所有類別或資源代辦新增監控作業.
表格17.
4資源作業描述操作動作執行人名稱.
必須唯一.
ID執行的動作.
通用值:monitor、start、stop.
name叢集資源187描述操作執行作業的頻率.
單位:秒.
interval宣告動作失敗之前等待多長時間timeout需滿足什麼條件才會發生此動作.
允許的值:nothing、quorum、fencing.
預設值取決於圍籬區隔是否啟用及requires資源類別是否為stonith.
對於STONITH資源,預設值為nothing.
此動作失敗時所採取的動作.
允許的值:on-failignore:當做資源未失敗.
block:在資源上不執行任何進一步作業.
stop:停止資源且不在其他任何地方啟動.
restart:停止資源並再次啟動(可能在其他節點上).
fence:將發生資源失敗的節點關閉(STONITH).
standby:將發生資源失敗之節點上的所有資源移出.
如果為false,則會將作業視做不存在.
允許的值:true、false.
enabled17.
5例項屬性所有資源類別的程序檔均可接收參數,參數決定了資源的行為方式及其控制的服務例項.
如果您的資源代辦支援參數,則可使用文中提及的crm_resource指令新增參數.
在crm指令行公用程式中,例項屬性稱為params.
您可以root身份執行以下指令來獲取受OCF程序檔支援的例項屬性清單:crmrametaresource_agentclass188HighAvailability指南例如crmrametaIpaddrocfheartbeat顯示叢集資源18918HAOCF代辦所有OCF代辦都要求一些參數在其啟動時已經設定好.
以下綜覽顯示如何手動操作這些代辦.
此附錄中可用的資料是透過調用相應資源代辦的meta-data直接取得.
/usr/lib/ocf/resource.
d/heartbeat/中提供了以下所有代辦.
在設定資源代辦時,請忽略參數名稱的字首OCF_RESKEY_.
進行組態設定時可以忽略方括號中的參數.
HAOCF代辦191ocf:anything_ra(7)ocf:anything_ra—一切物件概要OCF_RESKEY_binfile=string[OCF_RESKEY_cmdline_options=string][OCF_RESKEY_pidfile=string][OCF_RESKEY_logfile=string][OCF_RESKEY_errlogfile=string][OCF_RESKEY_user=string][OCF_RESKEY_monitor_hook=string]anything_ra[start|stop|monitor|meta-data|validate-all]描述此為用於管理幾乎一切物件的一般OCF資源代辦.
支援的參數OCF_RESKEY_binfile=要執行之二進位的完整路徑名稱要執行之二進位的完整名稱.
對其的預期是持續使用同一個pid執行,而不是在完成某項任務後就結束.
OCF_RESKEY_cmdline_options=指令行選項要傳遞至二進位的指令行選項OCF_RESKEY_pidfile=要將STDOUT寫入其中的檔案要從中讀取PID或將PID寫入其中的檔案.
OCF_RESKEY_logfile=要將STDOUT寫入其中的檔案要將STDOUT寫入其中的檔案OCF_RESKEY_errlogfile=要將STDERR寫入其中的檔案要將STDERR寫入其中的檔案192HighAvailability指南OCF_RESKEY_user=用於執行指令的使用者身份用於執行指令的使用者身份OCF_RESKEY_monitor_hook=在監控作業中執行的指令在監控作業中執行的指令HAOCF代辦193ocf:apache(7)ocf:apache—ApacheWeb伺服器概要OCF_RESKEY_configfile=string[OCF_RESKEY_httpd=string][OCF_RESKEY_port=integer][OCF_RESKEY_statusurl=string][OCF_RESKEY_testregex=string][OCF_RESKEY_options=string][OCF_RESKEY_envfiles=string]apache[start|stop|status|monitor|meta-data|validate-all]描述此為ApacheWeb伺服器的資源代辦.
此資源代辦可操作1.
x與2.
x兩種版本的Apache伺服器.
啟動作業以迴路結束,在該迴路中會反覆呼叫監控作業,以確認伺服器已啟動且可正常運作.
因此,若監控作業在啟動作業逾時之前未成功執行,則apache資源將以錯誤狀態結束.
監控作業預設會載入伺服器狀態頁,此頁面依mod_status模組與對應的組態檔案(通常為/etc/apache2/mod_status.
conf)而定.
請確認伺服器狀態頁能正常工作,且*僅*允許從localhost(位址127.
0.
0.
1)存取該頁.
如需詳細資料,請參閱statusurl與testregex屬性,並請參閱http://httpd.
apache.
org/支援的參數OCF_RESKEY_configfile=組態檔案路徑Apache組態檔案的完整路徑名稱.
系統會剖析此檔案以便為其他各資源代辦參數提供預設值.
OCF_RESKEY_httpd=httpd二進位路徑httpd二進位的完整路徑名稱(選擇性).
OCF_RESKEY_port=httpd埠可對其進行查探以透過statusurl獲取狀態資訊的埠號.
其預設值為在組態檔案中找到的埠號,若組態檔案中沒有埠號,則為80.
194HighAvailability指南OCF_RESKEY_statusurl=url名稱要監控的URL(預設為apache伺服器狀態頁).
若未指定,則從apache組態檔案推斷該值.
若設定此URL,請確認*僅*可從localhost(127.
0.
0.
1)存取該URL.
否則,叢集可能會發出多個節點上正在使用該資源的警告.
OCF_RESKEY_testregex=監控正規表示式用來在statusurl的輸出中進行比對的正規表示式,不區分大小寫.
OCF_RESKEY_options=指令行選項啟動apache時要套用的額外選項.
請參閱manhttpd(8).
OCF_RESKEY_envfiles=環境設定檔案內含其他環境變數的(一或多個)檔案,如/etc/apache2/envvars.
HAOCF代辦195ocf:AudibleAlarm(7)ocf:AudibleAlarm—AudibleAlarm資源代辦概要[OCF_RESKEY_nodelist=string]AudibleAlarm[start|stop|restart|status|monitor|meta-data|validate-all]描述AudibleAlarm的資源程序檔.
它會將聲訊鬧鐘設定為在設定的間隔發出嗶聲.
支援的參數OCF_RESKEY_nodelist=節點清單永遠不應發出警示的節點清單.
196HighAvailability指南ocf:ClusterMon(7)ocf:ClusterMon—ClusterMon資源代辦概要[OCF_RESKEY_user=string][OCF_RESKEY_update=integer][OCF_RESKEY_extra_options=string]OCF_RESKEY_pidfile=stringOCF_RESKEY_htmlfile=stringClusterMon[start|stop|monitor|meta-data|validate-all]描述此為ClusterMon資源代辦.
它會將目前的叢集狀態輸出至html.
支援的參數OCF_RESKEY_user=希望用於執行crm_mon的使用者身份希望用於執行crm_mon的使用者份OCF_RESKEY_update=更新間隔更新叢集狀態的頻率OCF_RESKEY_extra_options=其他選項傳遞至crm_mon的其他選項.
例如,-n-rOCF_RESKEY_pidfile=PID檔案確保僅有一個例項在執行的PID檔案位置OCF_RESKEY_htmlfile=HTML輸出將HTML輸出寫入到其中的位置.
HAOCF代辦197ocf:db2(7)ocf:db2—db2資源代辦概要[OCF_RESKEY_instance=string][OCF_RESKEY_admin=string]db2[start|stop|status|monitor|validate-all|meta-data|methods]描述db2的資源程序檔.
它會將DB2UniversalDatabase例項做為HA資源進行管理.
支援的參數OCF_RESKEY_instance=例項資料庫的例項.
OCF_RESKEY_admin=管理員例項的管理員使用者.
198HighAvailability指南ocf:Delay(7)ocf:Delay—延遲資源代辦概要[OCF_RESKEY_startdelay=integer][OCF_RESKEY_stopdelay=integer][OCF_RESKEY_mondelay=integer]Delay[start|stop|status|monitor|meta-data|validate-all]描述此程序檔是用於引入延遲的測試資源.
支援的參數OCF_RESKEY_startdelay=啟動延遲啟動作業延遲的時間(以秒計).
OCF_RESKEY_stopdelay=停止延遲停止作業延遲的時間(以秒計).
若未指定,則預設為「startdelay」.
OCF_RESKEY_mondelay=監控延遲監控作業延遲的時間(以秒計).
若未指定,則預設為「startdelay」.
HAOCF代辦199ocf:drbd(7)ocf:drbd—此資源代辦會將分散式複製設備區塊(DRBD)物件做為主要/從屬資源進行管理.
DRBD是用於複製儲存的一種機制;如需設定的詳細資料,請參閱相關文件.
概要OCF_RESKEY_drbd_resource=string[OCF_RESKEY_drbdconf=string][OCF_RESKEY_clone_overrides_hostname=boolean][OCF_RESKEY_clone_max=integer][OCF_RESKEY_clone_node_max=integer][OCF_RESKEY_master_max=integer][OCF_RESKEY_master_node_max=integer]drbd[start|promote|demote|notify|stop|monitor|monitor|meta-data|validate-all]描述DRBD的主要/從屬OCF資源代辦支援的參數OCF_RESKEY_drbd_resource=drbd資源名稱drbd.
conf檔案中之drbd資源的名稱.
OCF_RESKEY_drbdconf=drbd.
conf的路徑drbd.
conf檔案的完整路徑.
OCF_RESKEY_clone_overrides_hostname=覆寫drbd主機名稱是否以複製品編號覆寫主機名稱.
此參數可用於建立浮動對等組態;系統會要求drbd使用node_而非實際名稱做為主機名稱,然後再將其用於drbd.
conf中.
OCF_RESKEY_clone_max=複製品數此drbd資源的複製品數.
請勿隨意修改預設值.
200HighAvailability指南OCF_RESKEY_clone_node_max=節點數每個節點的複製品數.
請勿隨意修改預設值.
OCF_RESKEY_master_max=主複製品數使用中主複製品的最大數目.
請勿隨意修改預設值.
OCF_RESKEY_master_node_max=每個節點的主複製品數每個節點上主複製品的最大數目.
請勿隨意修改預設值.
HAOCF代辦201ocf:Dummy(7)ocf:Dummy—虛構資源代辦概要OCF_RESKEY_state=stringDummy[start|stop|monitor|reload|migrate_to|migrate_from|meta-data|validate-all]描述此為虛構資源代辦.
它只會追蹤自己是否在執行,除此之外完全不執行其他作業.
它的使命就是用於測試或做為資源代辦撰寫器的範本.
支援的參數OCF_RESKEY_state=狀態檔案儲存資源狀態的位置.
202HighAvailability指南ocf:eDir88(7)ocf:eDir88—eDirectory資源代辦概要OCF_RESKEY_eDir_config_file=string[OCF_RESKEY_eDir_monitor_ldap=boolean][OCF_RESKEY_eDir_monitor_idm=boolean][OCF_RESKEY_eDir_jvm_initial_heap=integer][OCF_RESKEY_eDir_jvm_max_heap=integer][OCF_RESKEY_eDir_jvm_options=string]eDir88[start|stop|monitor|meta-data|validate-all]描述用於管理eDirectory例項的資源程序檔,它會將eDirectory的單一例項做為HA資源進行管理.
eDirectory的「多個例項」功能已新增至8.
8版.
此程序檔不適用於任何8.
8版之前的eDirectory版本.
此資源代辦可用於在同一部主機上載入多個eDirectory例項.
強烈建議您將eDir組態檔案(依據eDir_config_file參數)放置於每個節點上的本地儲存中.
這是此資源代辦處理共享儲存不可用的情況時所必需的.
若eDir組態檔案不可用,則此資源代辦將失敗,並且Heartbeat將無法管理資源.
其副作用包括STONITH動作、無法管理的資源等.
強烈建議您設定較高的動作逾時值.
含有IDM的eDir啟動時需要10多分鐘的時間.
若Heartbeat在eDir尚未正常啟動之前就逾時,則mayhem_WILLENSUE_.
LDAP模組會是最後啟動的一個.
因此,若啟用了對IDM和/或LDAP的監控,而安裝中含有IDM與LDAP時,程序檔需要更長的時間才能啟動,因為啟動指令將等候IDM和LDAP變為可用狀態.
支援的參數OCF_RESKEY_eDir_config_file=eDir組態檔案eDirectory例項的組態檔案路徑.
HAOCF代辦203OCF_RESKEY_eDir_monitor_ldap=eDir監控ldap系統應該監控LDAP是否在為eDirectory例項執行嗎OCF_RESKEY_eDir_monitor_idm=eDir監控IDM系統應該監控IDM是否在為eDirectory例項執行嗎OCF_RESKEY_eDir_jvm_initial_heap=DHOST_INITIAL_HEAP值java環境變數DHOST_INITIAL_HEAP的值.
若未設定,將使用java預設值.
OCF_RESKEY_eDir_jvm_max_heap=DHOST_MAX_HEAP值java環境變數DHOST_MAX_HEAP的值.
若未設定,將使用java預設值.
OCF_RESKEY_eDir_jvm_options=DHOST_OPTIONS值java環境變數DHOST_OPTIONS的值.
若未設定,將使用原始值.
204HighAvailability指南ocf:Filesystem(7)ocf:Filesystem—檔案系統資源代辦概要[OCF_RESKEY_device=string][OCF_RESKEY_directory=string][OCF_RESKEY_fstype=string][OCF_RESKEY_options=string]Filesystem[start|stop|notify|monitor|validate-all|meta-data]描述檔案系統的資源程序檔.
它會管理共享儲存媒體上的檔案系統.
支援的參數OCF_RESKEY_device=區塊設備檔案系統的區塊設備名稱、用於裝載的-U、-L選項,或NFS裝載規格.
OCF_RESKEY_directory=裝載點檔案系統的裝載點.
OCF_RESKEY_fstype=檔案系統類型要裝載之檔案系統的選擇性類型.
OCF_RESKEY_options=選項將指定為-o選項的任何其他要裝載的選項.
對於結合裝載,請在此處新增「bind」,並將fstype設定為「none」.
系統將會對「bind,ro」這類選項執行相應作業.
HAOCF代辦205ocf:ICP(7)ocf:ICP—ICP資源代辦概要[OCF_RESKEY_driveid=string][OCF_RESKEY_device=string]ICP[start|stop|status|monitor|validate-all|meta-data]描述ICP的資源程序檔.
它會將ICPVortex叢集化的主機磁碟機做為HA資源進行管理.
支援的參數OCF_RESKEY_driveid=ICP叢集磁碟機IDICP叢集磁碟機ID.
OCF_RESKEY_device=設備設備名稱.
206HighAvailability指南ocf:ids(7)ocf:ids—稱為InformixDynamicServer(IDS)之IBM資料庫伺服器的OCF資源代辦概要[OCF_RESKEY_informixdir=string][OCF_RESKEY_informixserver=string][OCF_RESKEY_onconfig=string][OCF_RESKEY_dbname=string][OCF_RESKEY_sqltestquery=string]ids[start|stop|status|monitor|validate-all|meta-data|methods|usage]描述將IBMInformixDynamicServer(IDS)例項做為HighAvailability資源進行管理的OCF資源代辦.
支援的參數OCF_RESKEY_informixdir=INFORMIXDIR環境變數當您進行IDS一般安裝後,環境變數INFORMIXDIR所獲得的值.
也就是IDS的安裝路徑(不含末尾斜線「/」).
若未指定此參數,則程序檔將嘗試從外圍程序環境獲取該值.
OCF_RESKEY_informixserver=INFORMIXSERVER環境變數當您進行IDS一般安裝後,環境變數INFORMIXSERVER所獲得的值.
也就是要管理之IDS伺服器例項的名稱.
若未指定此參數,則程序檔將嘗試從外圍程序環境獲取該值.
OCF_RESKEY_onconfig=ONCONFIG環境變數當您進行IDS一般安裝後,環境變數ONCONFIG所獲得的值.
也就是INFORMIXSERVER中指定之IDS例項的組態檔案名稱.
系統將在「/etc/」處搜尋指定的組態檔案.
若未指定此參數,則程序檔將嘗試從外圍程序環境獲取該值.
HAOCF代辦207OCF_RESKEY_dbname=用於監控的資料庫,預設為「sysmaster」此參數定義使用哪一個資料庫來監控IDS例項.
若未指定此參數,程序檔將使用預設的「sysmaster」資料庫.
OCF_RESKEY_sqltestquery=用於監控的SQL測試查詢,預設為「SELECTCOUNT(*)FROMsystables;」在參數「dbname」指定的資料庫中執行,以便監控IDS例項並判斷其是否正常運作的SQL測試查詢.
若未指定此參數,程序檔將使用預設的「SELECTCOUNT(*)FROMsystables;」.
208HighAvailability指南ocf:IPaddr2(7)ocf:IPaddr2—管理虛擬IPv4位址概要OCF_RESKEY_ip=string[OCF_RESKEY_nic=string][OCF_RESKEY_cidr_netmask=string][OCF_RESKEY_broadcast=string][OCF_RESKEY_iflabel=string][OCF_RESKEY_lvs_support=boolean][OCF_RESKEY_mac=string][OCF_RESKEY_clusterip_hash=string][OCF_RESKEY_unique_clone_address=boolean][OCF_RESKEY_arp_interval=integer][OCF_RESKEY_arp_count=integer][OCF_RESKEY_arp_bg=string][OCF_RESKEY_arp_mac=string]IPaddr2[start|stop|status|monitor|meta-data|validate-all]描述這個Linux特定的資源會管理IP別名IP位址.
它可新增或移除IP別名.
此外,若將其做為複製品資源叫用,則其可實作叢集別名IP功能.
支援的參數OCF_RESKEY_ip=IPv4位址要以點分四組數字表示法設定的IPv4位址,例如「192.
168.
1.
1」.
OCF_RESKEY_nic=網路介面可讓IP位址處於線上的基礎網路介面.
若留為空白,程序檔將嘗試透過路由表確定此介面.
請勿以eth0:1的格式指定別名介面或任何其他值;請僅指定基礎介面.
OCF_RESKEY_cidr_netmask=CIDR網路遮罩CIDR格式的介面網路遮罩(例如24,而不是255.
255.
255.
0).
若未指定,程序檔也將嘗試透過路由表確定此介面.
HAOCF代辦209OCF_RESKEY_broadcast=廣播位址與IP關聯的廣播位址.
若留為空白,程序檔將透過網路遮罩確定此位址.
OCF_RESKEY_iflabel=介面標籤您可在此為IP位址指定其他標籤.
此標籤會附加至您的介面名稱.
若是在NIC名稱中指定標籤,則此參數即無效.
OCF_RESKEY_lvs_support=啟用LVSDR支援啟用LVS直接路由組態支援.
若IP位址被停止,只會將其移至迴路設備,以允許本地節點繼續申請服務,但不會在網路上對其進行通告.
OCF_RESKEY_mac=叢集IPMAC位址明確設定介面MAC位址.
目前僅用於叢集IP別名.
請留為空白以自動選擇.
OCF_RESKEY_clusterip_hash=叢集IP雜湊功能指定叢集IP功能所用的雜湊演算法.
OCF_RESKEY_unique_clone_address=為複製例項建立唯一的位址若為true,則將複製品ID新增至提供的IP值,以建立將要管理的唯一位址OCF_RESKEY_arp_interval=ARP封包間隔(以毫秒計)指定不明ARP封包之間的間隔(以毫秒計).
OCF_RESKEY_arp_count=ARP封包計數要傳送的不明ARP封包數.
OCF_RESKEY_arp_bg=背景中的ARP是否要傳送背景中的ARP封包.
OCF_RESKEY_arp_mac=ARPMAC要將ARP封包傳送至的MAC位址.
請勿變更此值.
210HighAvailability指南ocf:IPaddr(7)ocf:IPaddr—管理虛擬IPv4位址概要OCF_RESKEY_ip=string[OCF_RESKEY_nic=string][OCF_RESKEY_cidr_netmask=string][OCF_RESKEY_broadcast=string][OCF_RESKEY_iflabel=string][OCF_RESKEY_lvs_support=boolean][OCF_RESKEY_local_stop_script=string][OCF_RESKEY_local_start_script=string][OCF_RESKEY_ARP_INTERVAL_MS=integer][OCF_RESKEY_ARP_REPEAT=integer][OCF_RESKEY_ARP_BACKGROUND=boolean][OCF_RESKEY_ARP_NETMASK=string]IPaddr[start|stop|monitor|validate-all|meta-data]描述此程序檔會管理IP別名IP位址.
它可新增或移除IP別名.
支援的參數OCF_RESKEY_ip=IPv4位址要以點分四組數字表示法設定的IPv4位址,例如「192.
168.
1.
1」.
OCF_RESKEY_nic=網路介面可讓IP位址處於線上的基礎網路介面.
若留為空白,程序檔將嘗試透過路由表確定此介面.
請勿以eth0:1的格式指定別名介面或任何其他值;請僅指定基礎介面.
OCF_RESKEY_cidr_netmask=網路遮罩CIDR格式的介面網路遮罩.
(例如24),或使用點分四組數字表示法(255.
255.
255.
0).
若未指定,程序檔也將嘗試透過路由表確定此遮罩.
HAOCF代辦211OCF_RESKEY_broadcast=廣播位址與IP關聯的廣播位址.
若留為空白,程序檔將透過網路遮罩確定此位址.
OCF_RESKEY_iflabel=介面標籤您可在此為IP位址指定其他標籤.
OCF_RESKEY_lvs_support=啟用LVSDR支援啟用LVS直接路由組態支援.
若IP位址被停止,只會將其移至迴路設備,以允許本地節點繼續申請服務,但不會在網路上對其進行通告.
OCF_RESKEY_local_stop_script=釋放IP時呼叫的程序檔釋放IP時呼叫的程序檔.
OCF_RESKEY_local_start_script=新增IP時呼叫的程序檔新增IP時呼叫的程序檔.
OCF_RESKEY_ARP_INTERVAL_MS=免費ARP之間的間隔(以毫秒計)ARP之間的間隔(以毫秒計).
OCF_RESKEY_ARP_REPEAT=重複計數產生新位址時要傳送的免費ARP數目.
OCF_RESKEY_ARP_BACKGROUND=在背景中執行在背景中執行(無需任何理由).
OCF_RESKEY_ARP_NETMASK=ARP的網路遮罩非標準十六進位格式的ARP網路遮罩.
212HighAvailability指南ocf:IPsrcaddr(7)ocf:IPsrcaddr—IPsrcaddr資源代辦概要[OCF_RESKEY_ipaddress=string]IPsrcaddr[start|stop|stop|monitor|validate-all|meta-data]描述IPsrcaddr的資源程序檔.
它會管理偏好的來源位址修改.
支援的參數OCF_RESKEY_ipaddress=IP位址IP位址.
HAOCF代辦213ocf:IPv6addr(7)ocf:IPv6addr—管理IPv6別名概要[OCF_RESKEY_ipv6addr=string]IPv6addr[start|stop|status|monitor|validate-all|meta-data]描述此程序檔會管理IPv6別名IPv6位址.
它可新增或移除IPv6別名.
支援的參數OCF_RESKEY_ipv6addr=IPv6位址此資源代辦將要管理的IPv6位址.
214HighAvailability指南ocf:iscsi(7)ocf:iscsi—iscsi資源代辦概要[OCF_RESKEY_portal=string]OCF_RESKEY_target=string[OCF_RESKEY_discovery_type=string][OCF_RESKEY_iscsiadm=string][OCF_RESKEY_udev=string]iscsi[start|stop|status|monitor|validate-all|methods|meta-data]描述iSCSI的OCF資源代辦.
新增(start)或移除(stop)iSCSI目標.
支援的參數OCF_RESKEY_portal=入口網站格式為{ip_address|hostname}[":"port]的iSCSI入口網站位址.
OCF_RESKEY_target=目標iSCSI目標.
OCF_RESKEY_discovery_type=discovery_type探查類型.
目前open-iscsi僅支援sendtargets類型.
OCF_RESKEY_iscsiadm=iscsiadmiscsiadm程式路徑.
OCF_RESKEY_udev=udev若下一個資源視建立設備的udev而定,則系統將等待其完成作業.
在負載正常的主機上,此過程完成得應該較快,但也有例外.
若您未在使用udev,請將此參數設定為「no」,否則系統將一直在迴路中重複,直到發生逾時.
HAOCF代辦215ocf:Ldirectord(7)ocf:Ldirectord—ldirectord的包裝程式OCF資源代辦概要OCF_RESKEY_configfile=string[OCF_RESKEY_ldirectord=string]Ldirectord[start|stop|monitor|meta-data|validate-all]描述這是ldirectord的簡單OCF資源代辦包裝程式,它會使用ldirectord介面建立與OCF相容的介面,而您則可以對ldirectord進行監控.
警告︰查詢ldirectord狀態是非常耗時的動作.
支援的參數OCF_RESKEY_configfile=組態檔案路徑ldirectord組態檔案的完整路徑名稱.
OCF_RESKEY_ldirectord=ldirectord二進位路徑ldirectord的完整路徑名稱.
216HighAvailability指南ocf:LinuxSCSI(7)ocf:LinuxSCSI—LinuxSCSI資源代辦概要[OCF_RESKEY_scsi=string]LinuxSCSI[start|stop|methods|status|monitor|meta-data|validate-all]描述此為LinuxSCSI的資源代辦.
它會從linux核心的角度來管理SCSI設備的可用性.
它可將設備對Linux隱藏起來,也可將其重新對Linux可見.
支援的參數OCF_RESKEY_scsi=SCSI例項要管理的SCSI例項.
HAOCF代辦217ocf:LVM(7)ocf:LVM—LVM資源代辦概要[OCF_RESKEY_volgrpname=string]LVM[start|stop|status|monitor|methods|meta-data|validate-all]描述LVM的資源程序檔.
它會將LinuxVolumeManager(LVM)磁碟區做為HA資源進行管理.
支援的參數OCF_RESKEY_volgrpname=磁碟區群組名稱磁碟區群組的名稱.
218HighAvailability指南ocf:MailTo(7)ocf:MailTo—MailTo資源代辦概要[OCF_RESKEY_email=string][OCF_RESKEY_subject=string]MailTo[start|stop|status|monitor|meta-data|validate-all]描述此為MailTo的資源代辦.
每當有接管動作發生時,它都會向系統管理員傳送電子郵件.
支援的參數OCF_RESKEY_email=電子郵件地址系統管理員的電子郵件地址.
OCF_RESKEY_subject=主旨電子郵件的主旨.
HAOCF代辦219ocf:ManageRAID(7)ocf:ManageRAID—管理RAID設備概要[OCF_RESKEY_raidname=string]ManageRAID[start|stop|status|monitor|validate-all|meta-data]描述管理RAID設備的啟動、停止與監控,這些已在/etc/conf.
d/HB-ManageRAID中預先設定.
支援的參數OCF_RESKEY_raidname=RAID名稱要管理之RAID的名稱(區分大小寫).
(已在/etc/conf.
d/HB-ManageRAID中預先設定).
220HighAvailability指南ocf:ManageVE(7)ocf:ManageVE—OpenVZVE資源代辦概要[OCF_RESKEY_veid=integer]ManageVE[start|stop|status|monitor|validate-all|meta-data]描述與OCF相容的此資源代辦會管理OpenVZVE,因此需要安裝適當的OpenVZ,其中要包含最新的vzctlutil.
支援的參數OCF_RESKEY_veid=VE的OpenVZID虛擬環境的OpenVZID(請檢視所有指定ID的vzlist-a輸出).
HAOCF代辦221ocf:mysql(7)ocf:mysql—MySQL資源代辦概要[OCF_RESKEY_binary=string][OCF_RESKEY_config=string][OCF_RESKEY_datadir=string][OCF_RESKEY_user=string][OCF_RESKEY_group=string][OCF_RESKEY_log=string][OCF_RESKEY_pid=string][OCF_RESKEY_socket=string][OCF_RESKEY_test_table=string][OCF_RESKEY_test_user=string][OCF_RESKEY_test_passwd=string][OCF_RESKEY_enable_creation=integer][OCF_RESKEY_additional_parameters=integer]mysql[start|stop|status|monitor|validate-all|meta-data]描述MySQL的資源程序檔.
它會將MySQL資料庫例項做為HA資源進行管理.
支援的參數OCF_RESKEY_binary=MySQL二進位MySQL二進位的位置.
OCF_RESKEY_config=MySQL組態組態檔案.
OCF_RESKEY_datadir=MySQL資料目錄包含資料庫的目錄.
OCF_RESKEY_user=MySQL使用者執行MySQL精靈的使用者.
222HighAvailability指南OCF_RESKEY_group=MySQL群組執行MySQL精靈的群組(針對記錄檔案與目錄許可權限).
OCF_RESKEY_log=MySQL記錄檔案用於mysqld的記錄檔案.
OCF_RESKEY_pid=MySQLpid檔案用於mysqld的pid檔案.
OCF_RESKEY_socket=MySQL插槽用於mysqld的插槽.
OCF_RESKEY_test_table=MySQL測試表監控陳述式中要測試的表(以資料庫.
表來表示).
OCF_RESKEY_test_user=MySQL測試使用者MySQL測試使用者.
OCF_RESKEY_test_passwd=MySQL測試使用者密碼MySQL測試使用者密碼.
OCF_RESKEY_enable_creation=若資料庫不存在,則建立若MySQL資料庫不存在,將建立該資料庫.
OCF_RESKEY_additional_parameters=要傳遞至mysqld的其他參數在啟動時要傳遞給mysqld的其他參數.
(例如--skip-external-locking或--skip-grant-tables).
HAOCF代辦223ocf:nfsserver(7)ocf:nfsserver—nfsserver概要[OCF_RESKEY_nfs_init_script=string][OCF_RESKEY_nfs_notify_cmd=string][OCF_RESKEY_nfs_shared_infodir=string][OCF_RESKEY_nfs_ip=string]nfsserver[start|stop|monitor|meta-data|validate-all]描述Nfsserver可協助您將Linuxnfs伺服器做為Linux-HA中的可容錯移轉資源進行管理.
它依賴於Linux特定的NFS實作詳細資料,因此尚未考慮在其他平台上對其進行支援.
支援的參數OCF_RESKEY_nfs_init_script=nfsserver的Init程序檔Linux發行套件隨附的預設init程序檔.
nfsserver資源代辦會將啟動/停止/監控工作分流至init程序檔,因為啟動/停止/監控nfsserver的程序會因Linux發行套件的不同而不同.
OCF_RESKEY_nfs_notify_cmd=用於傳送通知的工具.
用於傳送NSM重新開機通知的工具.
可以將nfsserver的容錯移轉視為重新開機到其他機器.
當發生容錯移轉時,nfsserver資源代辦會使用此指令來通知所有用戶端.
OCF_RESKEY_nfs_shared_infodir=儲存nfs伺服器相關資訊的目錄.
nfsserver資源代辦將nfs相關資訊儲存在這個特定的目錄中.
此目錄必須可在nfsserver之前進行容錯移轉.
OCF_RESKEY_nfs_ip=IP位址.
可用於存取nfs服務的浮動IP位址.
224HighAvailability指南ocf:oracle(7)ocf:oracle—oracle資源代辦概要OCF_RESKEY_sid=string[OCF_RESKEY_home=string][OCF_RESKEY_user=string][OCF_RESKEY_ipcrm=string][OCF_RESKEY_clear_backupmode=boolean][OCF_RESKEY_shutdown_method=string]oracle[start|stop|status|monitor|validate-all|methods|meta-data]描述oracle的資源程序檔,它會將Oracle資料庫例項做為HA資源進行管理.
支援的參數OCF_RESKEY_sid=sidOracleSID(akaORACLE_SID).
OCF_RESKEY_home=主目錄Oracle主目錄(也稱為ORACLE_HOME).
若未指定,則SID及其主目錄應列於/etc/oratab中.
OCF_RESKEY_user=使用者Oracle擁有者(也稱為ORACLE_OWNER).
若未指定,則會將其設定為檔案$ORACLE_HOME/dbs/*${ORACLE_SID}.
ora的擁有者.
若系統未將其設定為該值,只需明確設定該值即可.
OCF_RESKEY_ipcrm=ipcrm有時,屬於Oracle例項的IPC物件(共享記憶體節區與信號)可能會滯後,這將妨礙例項的啟動.
要判斷哪些共享節區屬於哪個例項並不容易,當多個例項以同一個使用者身份執行時尤其如此.
為此,系統中使用了「oradebug」功能及其「ipc」追蹤公用程式.
剖析除錯資訊並不是最佳方式,但目前沒HAOCF代辦225有其他更佳的方法來獲取有關IPC的資訊.
當追蹤報告的格式或文字發生變更時,剖析可能便會失敗.
但有一些預防措施可以避免出錯.
另外還有一個dumpinstipc選項,可讓系統列印屬於該例項的IPC物件.
可以使用它來判斷系統是否正確剖析了追蹤檔案.
它的設定值有三種︰-none︰不與IPC相關,結果好壞全憑運氣(請注意︰您遲早會有運氣不佳的時候)-instance︰嘗試判斷屬於例項的IPC物件,並僅移除這些物件(預設值;應該安全)-orauser︰移除屬於執行該例項之使用者的所有IPC(若您以同一個使用者身份執行多個例項,或以這個使用者身份執行的其他應用程式使用了IPC,則請勿使用此設定值).
使用預設設定值「instance」應該是安全的,但我們不能保證在該情況下例項一定會啟動.
若因為(例如)有人惡意停止Oracle程序而導致IPC物件被丟棄,那麼將沒有任何其他的方法可以判斷應該移除哪些IPC物件.
在該情況下,有必要進行人為干預,可能還必須停止以同一個使用者身份執行的所有例項.
第三個設定值「orauser」可保證將IPC物件移除,但這必須是以IPC物件擁有權為基礎,因此您只能在每個例項都以不同的使用者身份執行時才可使用該設定值.
如有任何問題,請向我們報告.
歡迎您提供建議或解決方案.
OCF_RESKEY_clear_backupmode=clear_backupmode清除ORACLE的備份模式.
OCF_RESKEY_shutdown_method=shutdown_method如何停止Oracle似乎是一個習慣問題.
預設方法(「checkpoint/abort」)為︰變更系統檢查點;關閉中止;這是關閉例項最為快捷、安全的方法.
如果您發現「shutdownabort」效果不佳,請將此屬性設定為「immediate」,這樣就可以立即關閉Oracle;如果您仍然認為可以有更好的方法來關閉Oracle例項,我們很樂意傾聽您的意見.
226HighAvailability指南ocf:oralsnr(7)ocf:oralsnr—oralsnr資源代辦概要OCF_RESKEY_sid=string[OCF_RESKEY_home=string][OCF_RESKEY_user=string]OCF_RESKEY_listener=stringoralsnr[start|stop|status|monitor|validate-all|meta-data|methods]描述Oracle監聽程式的資源程序檔.
它會將Oracle監聽程式例項做為HA資源進行管理.
支援的參數OCF_RESKEY_sid=sidOracleSID(akaORACLE_SID).
監控作業需要此SID,即在執行tnspingSID時需要此SID.
OCF_RESKEY_home=主目錄Oracle主目錄(也稱為ORACLE_HOME).
若未指定,則應在/etc/oratab中列出該SID.
OCF_RESKEY_user=使用者以此使用者身份執行監聽程式.
OCF_RESKEY_listener=監聽程式要啟動的監聽程式例項(如listener.
ora中所定義).
預設值為LISTENER.
HAOCF代辦227ocf:pgsql(7)ocf:pgsql—pgsql資源代辦概要[OCF_RESKEY_pgctl=string][OCF_RESKEY_start_opt=string][OCF_RESKEY_ctl_opt=string][OCF_RESKEY_psql=string][OCF_RESKEY_pgdata=string][OCF_RESKEY_pgdba=string][OCF_RESKEY_pghost=string][OCF_RESKEY_pgport=string][OCF_RESKEY_pgdb=string][OCF_RESKEY_logfile=string][OCF_RESKEY_stop_escalate=string]pgsql[start|stop|status|monitor|meta-data|validate-all|methods]描述PostgreSQL的資源程序檔.
它會將PostgreSQL做為HA資源進行管理.
支援的參數OCF_RESKEY_pgctl=pgctlpg_ctl指令的路徑.
OCF_RESKEY_start_opt=start_opt啟動選項(pgi_ctl中的-ostart_opt).
例如「-i-p5432」.
OCF_RESKEY_ctl_opt=ctl_opt其他pg_ctl選項(-w、-W等).
預設為""OCF_RESKEY_psql=psqlpsql指令的路徑.
OCF_RESKEY_pgdata=pgdataPostgreSQL資料目錄的路徑.
228HighAvailability指南OCF_RESKEY_pgdba=pgdba擁有PostgreSQL的使用者.
OCF_RESKEY_pghost=pghostPosrgeSQL在其上進行監聽的主機名稱/IP位址OCF_RESKEY_pgport=pgportPosrgeSQL在其上進行監聽的埠OCF_RESKEY_pgdb=pgdb將用於監控的資料庫.
OCF_RESKEY_logfile=logfilePostgreSQL伺服器記錄輸出檔案的路徑.
OCF_RESKEY_stop_escalate=停止升級求助於-mimmediate之前的重試次數(使用-mfast)HAOCF代辦229ocf:pingd(7)ocf:pingd—pingd資源代辦概要[OCF_RESKEY_pidfile=string][OCF_RESKEY_user=string][OCF_RESKEY_dampen=integer][OCF_RESKEY_set=integer][OCF_RESKEY_name=integer][OCF_RESKEY_section=integer][OCF_RESKEY_multiplier=integer][OCF_RESKEY_host_list=integer]pingd[start|stop|monitor|meta-data|validate-all]描述此為pingd資源代辦.
它會記錄(在CIB中)某個節點目前可連接的ping節點數.
支援的參數OCF_RESKEY_pidfile=PID檔案PID檔案OCF_RESKEY_user=用於執行pingd的使用者身份用於執行pingd的使用者身份.
OCF_RESKEY_dampen=抑制間隔等待(抑制)進一步變更發生的時間.
OCF_RESKEY_set=集名稱用於放置值之例項屬性集的名稱,很少需要指定.
OCF_RESKEY_name=屬性名稱要設定之屬性的名稱.
此為限制中要使用的名稱.
230HighAvailability指南OCF_RESKEY_section=區段名稱放置值的區段.
很少需要指定.
OCF_RESKEY_multiplier=值的倍數要用連接的ping節點數與其相乘的數值.
OCF_RESKEY_host_list=主機清單要計數之ping節點的清單.
預設為所有設定的ping節點.
很少需要指定.
HAOCF代辦231ocf:portblock(7)ocf:portblock—portblock資源代辦概要[OCF_RESKEY_protocol=string][OCF_RESKEY_portno=integer][OCF_RESKEY_action=string]portblock[start|stop|status|monitor|meta-data|validate-all]描述portblock的資源程序檔,可透過使用iptable來暫時封鎖連接埠.
支援的參數OCF_RESKEY_protocol=通訊協定曾被封鎖/解除封鎖的通訊協定.
OCF_RESKEY_portno=埠號碼曾被封鎖/解除封鎖的埠號碼.
OCF_RESKEY_action=動作要對通訊協定::埠號碼執行的動作(封鎖/解除封鎖).
232HighAvailability指南ocf:Pure-FTPd(7)ocf:Pure-FTPd—與OCF資源代辦相容的FTP程序檔.
概要OCF_RESKEY_script=stringOCF_RESKEY_conffile=stringOCF_RESKEY_daemon_type=string[OCF_RESKEY_pidfile=string]Pure-FTPd[start|stop|monitor|validate-all|meta-data]描述此程序檔會管理主動-被動設定中的Pure-FTPd.
支援的參數OCF_5RESKEY_script=包含完整路徑的程序檔名稱Pure-FTPd啟動程序檔的完整路徑.
例如「/sbin/pure-config.
pl」.
OCF_RESKEY_conffile=包含完整路徑的組態檔案名稱包含完整路徑的Pure-FTPd組態檔案名稱.
例如「/etc/pure-ftpd/pure-ftpd.
conf」.
OCF_RESKEY_daemon_type=包含完整路徑的組態檔案名稱Pure-ftpd-wrapper將要呼叫的Pure-FTPd精靈.
有效選項為︰用於Pure-ftpd、「mysql」用於pure-ftpd-mysql、「postgresql」用於pure-ftpd-postgresql、「ldap」用於pure-ftpd-ldap.
OCF_RESKEY_pidfile=PID檔案PID檔案HAOCF代辦233ocf:Raid1(7)ocf:Raid1—RAID1資源代辦概要[OCF_RESKEY_raidconf=string][OCF_RESKEY_raiddev=string][OCF_RESKEY_homehost=string]Raid1[start|stop|status|monitor|validate-all|meta-data]描述RAID1的資源程序檔.
它會管理共享儲存媒體上的軟體Raid1設備.
支援的參數OCF_RESKEY_raidconf=RAID組態檔案RAID組態檔案.
例如/etc/raidtabor/etc/mdadm.
conf.
OCF_RESKEY_raiddev=區塊設備要使用的區塊設備.
OCF_RESKEY_homehost=mdadm的主機名稱主機指示詞的值;這是一個mdadm功能,可保護RAID不會被意外啟動.
建議您建立透過叢集管理的RAID,並將「homehost」設定為特殊值,以免不擁有或不支援這些RAID的節點意外將RAID自動組合.
234HighAvailability指南ocf:Route(7)ocf:Route—管理網路路由概要OCF_RESKEY_destination=stringOCF_RESKEY_device=stringOCF_RESKEY_gateway=stringOCF_RESKEY_source=stringRoute[start|stop|monitor|reload|meta-data|validate-all]描述啟用和停用網路路由.
支援主機及網路路由、透過閘道位址的路由,以及使用特定來源位址的路由.
如果需要根據節點的角色指定來操作節點的路由表格,該資源代辦將非常有用.
考慮以下範例使用案例︰-將一個叢集節點做為IPsec通道端點.
-所有其他的節點均使用IPsec通道連接特定遠端網路中的主機.
接下來是您應如何利用Route資源代辦實作此規劃的說明︰-設定ipsecLSB資源.
-設定複製的RouteOCF資源.
-建立順序限制,以確保在Route之前啟動ipsec.
-建立ipsec與Route資源之間的並存限制,以確保沒有任何複製的Route資源例項會在通道端點上自行啟動.
支援的參數OCF_RESKEY_destination=目的網路要為路由設定的目的網路(或主機).
以CIDR表示法指定網路遮罩字尾(例如「/24」).
若未指定字尾,系統將會建立主機路由.
若要將此資源設定為系統預設路由,請指定「0.
0.
0.
0/0」或「default」.
OCF_RESKEY_device=外送網路設備要為此路由使用的外送網路設備.
OCF_RESKEY_gateway=閘道IP位址要為此路由使用的閘道IP位址.
HAOCF代辦235OCF_RESKEY_source=來源IP位址要為此路由設定的來源IP位址.
236HighAvailability指南ocf:rsyncd(7)ocf:rsyncd—與OCF資源代辦相容的rsync精靈程序檔.
概要[OCF_RESKEY_binpath=string][OCF_RESKEY_conffile=string][OCF_RESKEY_bwlimit=string]rsyncd[start|stop|monitor|validate-all|meta-data]描述此程序檔會管理rsync精靈支援的參數OCF_RESKEY_binpath=rsync二進位的完整路徑rsync二進位路徑.
例如「/usr/bin/rsync」OCF_RESKEY_conffile=包含完整路徑的組態檔案名稱包含完整路徑的rsync精靈組態檔案名稱.
例如「/etc/rsyncd.
conf」OCF_RESKEY_bwlimit=限制I/O頻寬(KB/s)此選項可讓您指定最大傳輸速率(KB/s).
對大型檔案(多兆位元組及以上)使用rsync時,此選項最有效.
由於rsync傳輸的本質是傳送資料區塊,因此如果rsync判斷傳輸速率過快,將會在傳送下一個資料區塊之前等待一段時間.
如此,平均傳輸速率就會與指定限制相同.
值為零表示不指定限制.
HAOCF代辦237ocf:SAPDatabase(7)ocf:SAPDatabase—SAP資料庫資源代辦概要OCF_RESKEY_SID=stringOCF_RESKEY_DIR_EXECUTABLE=stringOCF_RESKEY_DBTYPE=stringOCF_RESKEY_NETSERVICENAME=stringOCF_RESKEY_DBJ2EE_ONLY=booleanOCF_RESKEY_JAVA_HOME=stringOCF_RESKEY_STRICT_MONITORING=booleanOCF_RESKEY_AUTOMATIC_RECOVER=booleanOCF_RESKEY_DIR_BOOTSTRAP=stringOCF_RESKEY_DIR_SECSTORE=stringOCF_RESKEY_DB_JARS=stringOCF_RESKEY_PRE_START_USEREXIT=stringOCF_RESKEY_POST_START_USEREXIT=stringOCF_RESKEY_PRE_STOP_USEREXIT=stringOCF_RESKEY_POST_STOP_USEREXIT=stringSAPDatabase[start|stop|status|monitor|validate-all|meta-data|methods]描述SAP資料庫的資源程序檔.
它會將所有類型的SAP資料庫都做為HA資源進行管理.
支援的參數OCF_RESKEY_SID=SAP系統ID唯一的SAP系統識別碼.
例如P01OCF_RESKEY_DIR_EXECUTABLE=sapstartsrv與sapcontrol的路徑儲存sapstartsrv與sapcontrol的完全合法路徑.
OCF_RESKEY_DBTYPE=資料庫廠商您使用的資料庫廠商的名稱.
設定為︰ORA、DB6或ADA238HighAvailability指南OCF_RESKEY_NETSERVICENAME=監聽程式名稱OracleTNS監聽程式名稱.
OCF_RESKEY_DBJ2EE_ONLY=僅安裝JAVA堆疊若您的SAP資料庫中未安裝ABAP堆疊,請將此參數設定為TRUE.
OCF_RESKEY_JAVA_HOME=JavaSDK的路徑僅當DBJ2EE_ONLY參數設定為true時才需要設定此參數.
輸入SAPWebASJava使用的JavaSDK的路徑.
OCF_RESKEY_STRICT_MONITORING=啟用應用程式層級監控此參數可控制資源代辦監控資料庫的方式.
若設定為true,則會使用SAP工具來測試與資料庫的連接.
請勿將其與Oracle搭配使用,因為如果歸檔程式出現問題,將會導致非預期的容錯移轉.
OCF_RESKEY_AUTOMATIC_RECOVER=啟用或停用自動啟動復原SAPDatabase資源代辦會嘗試一次自動復原一個失敗的啟動嘗試.
可透過執行RDBMS的強制中止和/或復原指令來完成該操作.
OCF_RESKEY_DIR_BOOTSTRAP=j2ee開機目錄的路徑J2EE例項開機目錄的完全合法路徑.
例如/usr/sap/P01/J00/j2ee/cluster/bootstrapOCF_RESKEY_DIR_SECSTORE=j2ee安全儲存目錄的路徑J2EE安全儲存目錄的完全合法路徑.
例如/usr/sap/P01/SYS/global/security/lib/toolsOCF_RESKEY_DB_JARS=jdbc驅動程式的檔案名稱用於資料庫連線測試之jdbc驅動程式的完全合法檔名.
系統將會從Java引擎6.
40與7.
00中的bootstrap.
properties檔案自動讀取此參數.
對於Java引擎7.
10,此為強制參數.
OCF_RESKEY_PRE_START_USEREXIT=啟動前程序檔的路徑儲存應在此資源啟動前執行之程序檔或程式的完全合法路徑.
OCF_RESKEY_POST_START_USEREXIT=啟動後程序檔的路徑儲存應在此資源啟動後執行之程序檔或程式的完全合法路徑.
OCF_RESKEY_PRE_STOP_USEREXIT=停止前程序檔的路徑儲存應在此資源停止前執行之程序檔或程式的完全合法路徑.
HAOCF代辦239OCF_RESKEY_POST_STOP_USEREXIT=停止後程序檔的路徑儲存應在此資源停止後執行之程序檔或程式的完全合法路徑.
240HighAvailability指南ocf:SAPInstance(7)ocf:SAPInstance—SAP例項資源代辦概要OCF_RESKEY_InstanceName=stringOCF_RESKEY_DIR_EXECUTABLE=stringOCF_RESKEY_DIR_PROFILE=stringOCF_RESKEY_START_PROFILE=stringOCF_RESKEY_START_WAITTIME=stringOCF_RESKEY_AUTOMATIC_RECOVER=booleanOCF_RESKEY_PRE_START_USEREXIT=stringOCF_RESKEY_POST_START_USEREXIT=stringOCF_RESKEY_PRE_STOP_USEREXIT=stringOCF_RESKEY_POST_STOP_USEREXIT=stringSAPInstance[start|recover|stop|status|monitor|validate-all|meta-data|methods]描述SAP的資源程序檔.
它會將SAP例項做為HA資源進行管理.
支援的參數OCF_RESKEY_InstanceName=例項名稱︰SID_INSTANCE_VIR-HOSTNAME完全合法的SAP例項名稱.
例如P01_DVEBMGS00_sapp01ciOCF_RESKEY_DIR_EXECUTABLE=sapstartsrv與sapcontrol的路徑儲存sapstartsrv與sapcontrol的完全合法路徑.
OCF_RESKEY_DIR_PROFILE=啟動設定檔的路徑儲存SAPSTART設定檔的完全合法路徑.
OCF_RESKEY_START_PROFILE=啟動設定檔名稱SAPSTART設定檔的名稱.
HAOCF代辦241OCF_RESKEY_START_WAITTIME=在指定時間之後檢查成功的啟動(不等待J2EE-Addin)在經過指定時間(秒)之後,資源代辦會執行監控作業.
如果監控作業傳回SUCCESS,則會將啟動視為SUCCESS.
這對於解決與J2EE-Addin例項等有關的時間問題很有幫助.
OCF_RESKEY_AUTOMATIC_RECOVER=啟用或停用自動啟動復原SAPInstance資源代辦會嘗試一次自動復原一個失敗的啟動嘗試.
透過停止執行中的例項程序並執行cleanipc可以完成該操作.
OCF_RESKEY_PRE_START_USEREXIT=啟動前程序檔的路徑儲存應在此資源啟動前執行之程序檔或程式的完全合法路徑.
OCF_RESKEY_POST_START_USEREXIT=啟動後程序檔的路徑儲存應在此資源啟動後執行之程序檔或程式的完全合法路徑.
OCF_RESKEY_PRE_STOP_USEREXIT=停止前程序檔的路徑儲存應在此資源停止前執行之程序檔或程式的完全合法路徑.
OCF_RESKEY_POST_STOP_USEREXIT=停止後程序檔的路徑儲存應在此資源停止後執行之程序檔或程式的完全合法路徑.
242HighAvailability指南ocf:scsi2reserve(7)ocf:scsi2reserve—scsi-2reservation概要[OCF_RESKEY_scsi_reserve=string][OCF_RESKEY_sharedisk=string][OCF_RESKEY_start_loop=string]scsi2reserve[start|stop|monitor|meta-data|validate-all]描述scsi-2-reserve資源代辦是SCSI-2reservation的預留位置.
scsi-2-reserve資源的正常例項,指出指定SCSI設備的擁有情況.
此資源代辦依賴於Linux特定scsires套件中的scsi_reserve.
支援的參數OCF_RESKEY_scsi_reserve=scsi_reserve指令scsi_reserve是scsires套件中的一個指令.
它可協助您在SCSI設備上進行SCSI-2reservation.
OCF_RESKEY_sharedisk=共享磁碟.
可以保留的共享磁碟.
OCF_RESKEY_start_loop=放棄前的重試次數.
系統在放棄前將會做數次嘗試.
Start_loop表示系統將要嘗試的次數.
HAOCF代辦243ocf:SendArp(7)ocf:SendArp—SendArp資源代辦概要[OCF_RESKEY_ip=string][OCF_RESKEY_nic=string]SendArp[start|stop|monitor|meta-data|validate-all]描述此程序檔會為IP位址傳送免費ARP.
支援的參數OCF_RESKEY_ip=IP位址要傳送arp套件的IP位址.
OCF_RESKEY_nic=NIC要傳送arp套件的nic.
244HighAvailability指南ocf:ServeRAID(7)ocf:ServeRAID—ServeRAID資源代辦概要[OCF_RESKEY_serveraid=integer][OCF_RESKEY_mergegroup=integer]ServeRAID[start|stop|status|monitor|validate-all|meta-data|methods]描述ServeRAID的資源程序檔.
它會啟用/停用共享的ServeRAID合併群組.
支援的參數OCF_RESKEY_serveraid=serveraidServeRAID介面卡的介面卡號碼.
OCF_RESKEY_mergegroup=mergegroup考慮中的邏輯磁碟機.
HAOCF代辦245ocf:sfex(7)ocf:sfex—SF-EX資源代辦概要[OCF_RESKEY_device=string][OCF_RESKEY_index=integer][OCF_RESKEY_collision_timeout=integer][OCF_RESKEY_monitor_interval=integer][OCF_RESKEY_lock_timeout=integer]sfex[start|stop|monitor|meta-data]描述SF-EX的資源程序檔.
它會以獨占模式管理共享儲存媒體.
支援的參數OCF_RESKEY_device=區塊設備儲存獨占控制資料的區塊設備路徑.
OCF_RESKEY_index=索引區塊設備中儲存獨占控制資料的位置.
可以指定1或大於1的值.
預設值為1.
OCF_RESKEY_collision_timeout=鎖定擷取的等待時間偵測到鎖定擷取衝突時等待的時間.
預設值為1秒.
OCF_RESKEY_monitor_interval=監控間隔監控間隔(秒).
預設值為10秒OCF_RESKEY_lock_timeout=有效鎖定期間有效鎖定期間(秒).
預設值為20秒.
246HighAvailability指南ocf:SphinxSearchDaemon(7)ocf:SphinxSearchDaemon—searchd資源代辦概要OCF_RESKEY_config=string[OCF_RESKEY_searchd=string][OCF_RESKEY_search=string][OCF_RESKEY_testQuery=string]SphinxSearchDaemon[start|stop|monitor|meta-data|validate-all]描述此為searchd資源代辦.
它會管理Sphinx搜尋精靈.
支援的參數OCF_RESKEY_config=組態檔案searchd組態檔案OCF_RESKEY_searchd=searchd二進位searchd二進位OCF_RESKEY_search=搜尋二進位用於監控動作中功能測試的搜尋二進位.
OCF_RESKEY_testQuery=測試查詢用於監控動作中功能測試的測試查詢.
查詢不需要與索引中的任何文件比對.
其目的僅僅是為了測試搜尋精靈是否能夠查詢其索引並做出適當回應.
HAOCF代辦247ocf:Squid(7)ocf:Squid—Squid的資源代辦概要[OCF_RESKEY_squid_exe=string]OCF_RESKEY_squid_conf=stringOCF_RESKEY_squid_pidfile=stringOCF_RESKEY_squid_port=integer[OCF_RESKEY_squid_stop_timeout=integer][OCF_RESKEY_debug_mode=string][OCF_RESKEY_debug_log=string]Squid[start|stop|status|monitor|meta-data|validate-all]描述Squid的資源代辦.
它會將Squid例項做為HA資源進行管理.
支援的參數OCF_RESKEY_squid_exe=可執行檔此為必要參數.
此參數指定squid的可執行檔.
OCF_RESKEY_squid_conf=組態檔案此為必要參數.
此參數為此資源代辦所管理的squid例項指定組態檔案.
OCF_RESKEY_squid_pidfile=Pid檔案此為必要參數.
此參數為此資源代辦所管理的squid例項指定程序id檔案.
OCF_RESKEY_squid_port=連接埠號碼此為必要參數.
此參數為此資源代辦所管理的squid例項指定連接埠號碼.
如果使用多個連接埠,則只能指定其中的一個.
OCF_RESKEY_squid_stop_timeout=確認一般停止方法要等待的秒數此為可省略的參數.
發生停止動作時,系統會先使用一般停止方法,然後等待動作的完成確認,持續時間為此參數所指定的秒數.
預設值為10.
248HighAvailability指南OCF_RESKEY_debug_mode=除錯模式這是一個選擇性的參數.
若此參數包含「x」或「v」,則此資源代辦會在除錯模式下執行.
若包含「x」,STDOUT與STDERR均會重新導向至「debug_log」指定的記錄檔案,然後會開啟內建外圍程序選項「x」.
「v」選項與此類似.
OCF_RESKEY_debug_log=除錯記錄的目的地此為可以省略的選擇性參數.
此參數指定除錯記錄的目的檔案,並且僅當此資源代辦在除錯模式下執行時才起作用.
有關除錯模式的資訊,請參閱「debug_mode」.
如果需要指定一個值卻未指定,則系統會遵循以下規則︰將「/var/log/」做為目錄部分,將「syslog_ng_conf」所指定的組態檔案的主檔名做為主檔名部分,將「.
log」做為字尾.
HAOCF代辦249ocf:Stateful(7)ocf:Stateful—狀態資源代辦範例概要OCF_RESKEY_state=stringStateful[start|stop|monitor|meta-data|validate-all]描述此為可實作兩種狀態的資源代辦範例支援的參數OCF_RESKEY_state=狀態檔案儲存資源狀態的位置.
250HighAvailability指南ocf:SysInfo(7)ocf:SysInfo—SysInfo資源代辦概要[OCF_RESKEY_pidfile=string][OCF_RESKEY_delay=string]SysInfo[start|stop|monitor|meta-data|validate-all]描述此為SysInfo資源代辦.
它會在CIB中記錄節點範例Linux輸出的各種屬性︰arch:i686os:Linux-2.
4.
26-gentoo-r14free_swap:1999cpu_info:Intel(R)Celeron(R)CPU2.
40GHzcpu_speed:4771.
02cpu_cores:1cpu_load:0.
00ram_total:513ram_free:117root_free:2.
4SampleDarwinoutput:arch:i386os:Darwin-8.
6.
2cpu_info:IntelCoreDuocpu_speed:2.
16cpu_cores:2cpu_load:0.
18ram_total:2016ram_free:787root_free:13Units:free_swap:Mbram_*:Mbroot_free:Gbcpu_speed(Linux):bogomipscpu_speed(Darwin):Ghz支援的參數OCF_RESKEY_pidfile=PID檔案PID檔案.
OCF_RESKEY_delay=抑制延遲讓值保持穩定的間隔.
HAOCF代辦251ocf:tomcat(7)ocf:tomcat—tomcat資源代辦概要OCF_RESKEY_tomcat_name=stringOCF_RESKEY_script_log=string[OCF_RESKEY_tomcat_stop_timeout=integer][OCF_RESKEY_tomcat_suspend_trialcount=integer][OCF_RESKEY_tomcat_user=string][OCF_RESKEY_statusurl=string][OCF_RESKEY_java_home=string]OCF_RESKEY_catalina_home=stringOCF_RESKEY_catalina_pid=string[OCF_RESKEY_tomcat_start_opts=string][OCF_RESKEY_catalina_opts=string][OCF_RESKEY_catalina_rotate_log=string][OCF_RESKEY_catalina_rotatetime=integer]tomcat[start|stop|status|monitor|meta-data|validate-all]描述Tomcat的資源程序檔.
它會將Tomcat例項做為HA資源進行管理.
支援的參數OCF_RESKEY_tomcat_name=資源名稱資源名稱.
OCF_RESKEY_script_log=此程序檔記錄的目的地此程序檔記錄的目的地.
OCF_RESKEY_tomcat_stop_timeout=停止時的逾時停止時的逾時.
OCF_RESKEY_tomcat_suspend_trialcount=等待停止時的重試次數等待停止時的重試次數.
252HighAvailability指南OCF_RESKEY_tomcat_user=啟動資源的使用者名稱啟動資源的使用者名稱.
OCF_RESKEY_statusurl=狀態確認的URL狀態確認的URL.
OCF_RESKEY_java_home=Java的主目錄Java的主目錄.
OCF_RESKEY_catalina_home=Tomcat的主目錄Tomcat的主目錄.
OCF_RESKEY_catalina_pid=Tomcat的PID檔案名稱Tomcat的PID檔案名稱.
OCF_RESKEY_tomcat_start_opts=Tomcat啟動選項Tomcat啟動選項.
OCF_RESKEY_catalina_opts=Catalina選項Catalina選項.
OCF_RESKEY_catalina_rotate_log=旋轉catalina.
out旗標旋轉catalina.
out旗標.
OCF_RESKEY_catalina_rotatetime=旋轉catalina.
out的時間範圍旋轉catalina.
out的時間範圍.
HAOCF代辦253ocf:VIPArip(7)ocf:VIPArip—RIP2通訊協定支援的虛擬IP位址概要OCF_RESKEY_ip=string[OCF_RESKEY_nic=string]VIPArip[start|stop|monitor|validate-all|meta-data]描述RIP2通訊協定支援的虛擬IP位址.
此程序檔會透過quagga/ripd管理其他子網路中的IP別名.
它可新增或移除IP別名.
支援的參數OCF_RESKEY_ip=其他子網路中的IP位址其他子網路中的IPv4位址,例如「192.
168.
1.
1」.
OCF_RESKEY_nic=用於廣播路由資訊的nic用於廣播路由資訊的nic.
ripd會使用此nic將路由資訊廣播至其他節點.
254HighAvailability指南ocf:VirtualDomain(7)ocf:VirtualDomain—管理虛擬網域概要OCF_RESKEY_config=string[OCF_RESKEY_hypervisor=string][OCF_RESKEY_force_stop=boolean][OCF_RESKEY_migration_transport=string][OCF_RESKEY_monitor_scripts=string]VirtualDomain[start|stop|status|monitor|migrate_from|migrate_to|meta-data|validate-all]描述libvirtd所管理之虛擬網域(也稱為domU、虛擬機器、虛擬環境等,依具體情況而定)的資源代辦.
支援的參數OCF_RESKEY_config=虛擬網域組態檔案此虛擬網域之libvirt組態檔案的絕對路徑.
OCF_RESKEY_hypervisor=監管程式URI要連接的監管程式URI.
如需支援的URI格式的詳細資料,請參閱libvirt文件.
預設格式依系統而定.
OCF_RESKEY_force_stop=停止時強制關閉停止時強制關閉(「destroy」)網域.
僅當虛擬網域(或虛擬化後端)不支援正常關閉時才啟用此選項.
OCF_RESKEY_migration_transport=遠端監管程式傳輸在移轉時用於連接遠端監管程式的傳輸.
如需可用傳輸的詳細資料,請參閱libvirt文件.
若省略此參數,資源將使用libvirt的預設傳輸來連接遠端監管程式.
HAOCF代辦255OCF_RESKEY_monitor_scripts=監控程序檔的空格分隔清單若要另外監控虛擬網域中的服務,請新增此參數以及要監控的程序檔清單.
注意︰使用監控程序檔時,僅當所有監控程序檔成功完成後,啟動與移轉自作業才會完成.
請務必將這些作業的逾時設定為適合此延遲的值.
256HighAvailability指南ocf:WAS6(7)ocf:WAS6—WAS6資源代辦概要[OCF_RESKEY_profile=string]WAS6[start|stop|status|monitor|validate-all|meta-data|methods]描述WAS6的資源程序檔.
它會將WebSphereApplicationServer(WAS6)做為HA資源進行管理.
支援的參數OCF_RESKEY_profile=設定檔名稱WAS設定檔名稱.
HAOCF代辦257ocf:WAS(7)ocf:WAS—WAS資源代辦概要[OCF_RESKEY_config=string][OCF_RESKEY_port=integer]WAS[start|stop|status|monitor|validate-all|meta-data|methods]描述WAS的資源程序檔.
它會將WebsphereApplicationServer(WAS)做為HA資源進行管理.
支援的參數OCF_RESKEY_config=組態檔案WAS組態檔案.
OCF_RESKEY_port=連接埠WAS(snoop)連接埠號碼.
258HighAvailability指南ocf:WinPopup(7)ocf:WinPopup—WinPopup資源代辦概要[OCF_RESKEY_hostfile=string]WinPopup[start|stop|status|monitor|validate-all|meta-data]描述WinPopup的資源程序檔.
每當有接管動作發生時,它都會向系統管理員的工作站傳送WinPopup訊息.
支援的參數OCF_RESKEY_hostfile=主機檔案包含要將WinPopup訊息要傳送至的目標主機的檔案.
HAOCF代辦259ocf:Xen(7)ocf:Xen—管理XenDomU概要[OCF_RESKEY_xmfile=string][OCF_RESKEY_name=string][OCF_RESKEY_allow_migrate=boolean][OCF_RESKEY_shutdown_timeout=boolean][OCF_RESKEY_allow_mem_management=boolean][OCF_RESKEY_reserved_Dom0_memory=string][OCF_RESKEY_monitor_scripts=string]Xen[start|stop|migrate_from|migrate_to|monitor|meta-data|validate-all]描述Xen監管程式的資源代辦.
它會透過將叢集資源的啟動與停止分別映射至Xen的建立與關閉來管理Xen虛擬機器例項.
請注意︰對於名稱,系統將嘗試從組態檔案擷取名稱(xmfile屬性).
如果使用簡單的指定陳述式,則情況應該較好.
否則,如果涉及某些特殊情況,例如依其他變數而定的動態指定名稱,則系統將嘗試偵測該情況,然後要求您設定名稱屬性.
只要有可能會發生不合理的情況,您就應該設定名稱屬性.
例如,某個組態檔案位於共享儲存上,因此有可能會遺失的情況下,您就應該如此.
如果所有措施均失敗,系統最終會後退到例項id,以保留反向相容性.
您也可透過啟用meta_attributeallow_migrate來移轉準虛擬化訪客.
支援的參數OCF_RESKEY_xmfile=Xen控制檔案此虛擬機器Xen控制檔案的絕對路徑.
OCF_RESKEY_name=XenDomU名稱虛擬機器的名稱.
260HighAvailability指南OCF_RESKEY_allow_migrate=使用即時移轉此布林參數可讓您對準虛擬化機器使用即時移轉.
OCF_RESKEY_shutdown_timeout=關閉升級逾時Xen代辦會先嘗試使用xmshutdown來進行順序關閉.
如果在逾時之前尚未成功完成該操作,代辦會升級至xmdestroy,強制停止節點.
若未設定此參數,會將其預設為停止動作逾時值的2/3.
將此值設定為0會強制立即執行destroy.
OCF_RESKEY_allow_mem_management=使用動態記憶體管理此參數可啟用對Dom0和DomU啟動和停止動作所需使用的記憶體進行動態調整的功能.
預設為不動態調整記憶體.
OCF_RESKEY_reserved_Dom0_memory=最小Dom0記憶體若使用記憶體管理,此參數可定義要為dom0保留的最少記憶體容量.
預設的最小記憶體容量為512MB.
OCF_RESKEY_monitor_scripts=監控程序檔的空格分隔清單若要另外監控非特權網域中的服務,請新增此參數以及要監控的程序檔清單.
注意︰在這種情況下,請確認將監控作業的啟動延遲時間至少設定為DomU啟動所有服務所需的時間.
HAOCF代辦261ocf:Xinetd(7)ocf:Xinetd—Xinetd資源代辦概要[OCF_RESKEY_service=string]Xinetd[start|stop|restart|status|monitor|validate-all|meta-data]描述Xinetd的資源程序檔.
它會啟動/停止xinetd管理的服務.
請注意,xinetd精靈自身必須處於執行狀態︰系統不會自行啟動或停止該精靈.
重要事項︰如果叢集所管理的服務是僅有的已啟用的服務,您應該為xinetd指定-stayalive選項,否則該指令將會在Heartbeat停止時結束.
此為,您還可以啟用某些內部服務,例如echo.
支援的參數OCF_RESKEY_service=服務名稱xinetd管理的服務名稱.
262HighAvailability指南V.
附錄AGNU授權本附錄包含GNU通用公共授權(GeneralPublicLicense)和GNU自由文件授權(FreeDocumentationLicense).
GNUGeneralPublicLicenseVersion2,June1991Copyright(C)1989,1991FreeSoftwareFoundation,Inc.
59TemplePlace-Suite330,Boston,MA02111-1307,USAEveryoneispermittedtocopyanddistributeverbatimcopiesofthislicensedocument,butchangingitisnotallowed.
PreambleThelicensesformostsoftwarearedesignedtotakeawayyourfreedomtoshareandchangeit.
Bycontrast,theGNUGeneralPublicLicenseisintendedtoguaranteeyourfreedomtoshareandchangefreesoftware--tomakesurethesoftwareisfreeforallitsusers.
ThisGeneralPublicLicenseappliestomostoftheFreeSoftwareFoundation'ssoftwareandtoanyotherprogramwhoseauthorscommittousingit.
(SomeotherFreeSoftwareFoundationsoftwareiscoveredbytheGNULibraryGeneralPublicLicenseinstead.
)Youcanapplyittoyourprograms,too.
Whenwespeakoffreesoftware,wearereferringtofreedom,notprice.
OurGeneralPublicLicensesaredesignedtomakesurethatyouhavethefreedomtodistributecopiesoffreesoftware(andchargeforthisserviceifyouwish),thatyoureceivesourcecodeorcangetitifyouwantit,thatyoucanchangethesoftwareorusepiecesofitinnewfreeprograms;andthatyouknowyoucandothesethings.
Toprotectyourrights,weneedtomakerestrictionsthatforbidanyonetodenyyoutheserightsortoaskyoutosurrendertherights.
Theserestrictionstranslatetocertainresponsibilitiesforyouifyoudistributecopiesofthesoftware,orifyoumodifyit.
Forexample,ifyoudistributecopiesofsuchaprogram,whethergratisorforafee,youmustgivetherecipientsalltherightsthatyouhave.
Youmustmakesurethatthey,too,receiveorcangetthesourcecode.
Andyoumustshowthemthesetermssotheyknowtheirrights.
Weprotectyourrightswithtwosteps:(1)copyrightthesoftware,and(2)offeryouthislicensewhichgivesyoulegalpermissiontocopy,distributeand/ormodifythesoftware.
Also,foreachauthor'sprotectionandours,wewanttomakecertainthateveryoneunderstandsthatthereisnowarrantyforthisfreesoftware.
Ifthesoftwareismodifiedbysomeoneelseandpassedon,wewantitsrecipientstoknowthatwhattheyhaveisnottheoriginal,sothatanyproblemsintroducedbyotherswillnotreflectontheoriginalauthors'reputations.
Finally,anyfreeprogramisthreatenedconstantlybysoftwarepatents.
Wewishtoavoidthedangerthatredistributorsofafreeprogramwillindividuallyobtainpatentlicenses,ineffectmakingtheprogramproprietary.
Topreventthis,wehavemadeitclearthatanypatentmustbelicensedforeveryone'sfreeuseornotlicensedatall.
Theprecisetermsandconditionsforcopying,distributionandmodificationfollow.
GNUGENERALPUBLICLICENSETERMSANDCONDITIONSFORCOPYING,DISTRIBUTIONANDMODIFICATION0.
ThisLicenseappliestoanyprogramorotherworkwhichcontainsanoticeplacedbythecopyrightholdersayingitmaybedistributedunderthetermsofthisGeneralPublicLicense.
The「Program」,below,referstoanysuchprogramorwork,anda「workbasedontheProgram」meanseithertheProgramoranyderivativeworkundercopyrightlaw:thatistosay,aworkcontainingtheProgramoraportionofit,eitherverbatimorwithmodificationsand/ortranslatedintoanotherlanguage.
(Hereinafter,translationisincludedwithoutlimitationintheterm「modification」.
)Eachlicenseeisaddressedas「you」.
Activitiesotherthancopying,distributionandmodificationarenotcoveredbythisLicense;theyareoutsideitsscope.
TheactofrunningtheProgramisnotrestricted,andtheoutputfromtheProgramiscoveredonlyifitscontentsconstituteaworkbasedontheProgram(independentofhavingbeenmadebyrunningtheProgram).
WhetherthatistruedependsonwhattheProgramdoes.
1.
YoumaycopyanddistributeverbatimcopiesoftheProgram'ssourcecodeasyoureceiveit,inanymedium,providedthatyouconspicuouslyandappropriatelypublishoneachcopyanappropriatecopyrightnoticeanddisclaimerofwarranty;keepintactallthenoticesthatrefertothisLicenseandtotheabsenceofanywarranty;andgiveanyotherrecipientsoftheProgramacopyofthisLicensealongwiththeProgram.
Youmaychargeafeeforthephysicalactoftransferringacopy,andyoumayatyouroptionofferwarrantyprotectioninexchangeforafee.
2.
YoumaymodifyyourcopyorcopiesoftheProgramoranyportionofit,thusformingaworkbasedontheProgram,andcopyanddistributesuchmodificationsorworkunderthetermsofSection1above,providedthatyoualsomeetalloftheseconditions:a)Youmustcausethemodifiedfilestocarryprominentnoticesstatingthatyouchangedthefilesandthedateofanychange.
b)Youmustcauseanyworkthatyoudistributeorpublish,thatinwholeorinpartcontainsorisderivedfromtheProgramoranypartthereof,tobelicensedasawholeatnochargetoallthirdpartiesunderthetermsofthisLicense.
c)Ifthemodifiedprogramnormallyreadscommandsinteractivelywhenrun,youmustcauseit,whenstartedrunningforsuchinteractiveuseinthemostordinaryway,toprintordisplayanannouncementincludinganappropriatecopyrightnoticeandanoticethatthereisnowarranty(orelse,sayingthatyouprovideawarranty)andthatusersmayredistributetheprogramundertheseconditions,andtellingtheuserhowtoviewacopyofthisLicense.
(Exception:iftheProgramitselfisinteractivebutdoesnotnormallyprintsuchanannouncement,yourworkbasedontheProgramisnotrequiredtoprintanannouncement.
)Theserequirementsapplytothemodifiedworkasawhole.
IfidentifiablesectionsofthatworkarenotderivedfromtheProgram,andcanbereasonablyconsideredindependentandseparateworksinthemselves,thenthisLicense,anditsterms,donotapplytothosesectionswhenyoudistributethemasseparateworks.
ButwhenyoudistributethesamesectionsaspartofawholewhichisaworkbasedontheProgram,thedistributionofthewholemustbeonthetermsofthisLicense,whosepermissionsforotherlicenseesextendtotheentirewhole,andthustoeachandeverypartregardlessofwhowroteit.
Thus,itisnottheintentofthissectiontoclaimrightsorcontestyourrightstoworkwrittenentirelybyyou;rather,theintentistoexercisetherighttocontrolthedistributionofderivativeorcollectiveworksbasedontheProgram.
Inaddition,mereaggregationofanotherworknotbasedontheProgramwiththeProgram(orwithaworkbasedontheProgram)onavolumeofastorageordistributionmediumdoesnotbringtheotherworkunderthescopeofthisLicense.
3.
YoumaycopyanddistributetheProgram(oraworkbasedonit,underSection2)inobjectcodeorexecutableformunderthetermsofSections1and2aboveprovidedthatyoualsodooneofthefollowing:a)Accompanyitwiththecompletecorrespondingmachine-readablesourcecode,whichmustbedistributedunderthetermsofSections1and2aboveonamediumcustomarilyusedforsoftwareinterchange;or,b)Accompanyitwithawrittenoffer,validforatleastthreeyears,togiveanythirdparty,forachargenomorethanyourcostofphysicallyperformingsourcedistribution,acompletemachine-readablecopyofthecorrespondingsourcecode,tobedistributedunderthetermsofSections1and2aboveonamediumcustomarilyusedforsoftwareinterchange;or,c)Accompanyitwiththeinformationyoureceivedastotheoffertodistributecorrespondingsourcecode.
(Thisalternativeisallowedonlyfornoncommercialdistributionandonlyifyoureceivedtheprograminobjectcodeorexecutableformwithsuchanoffer,inaccordwithSubsectionbabove.
)Thesourcecodeforaworkmeansthepreferredformoftheworkformakingmodificationstoit.
Foranexecutablework,completesourcecodemeansallthesourcecodeforallmodulesitcontains,plusanyassociatedinterfacedefinitionfiles,plusthescriptsusedtocontrolcompilationandinstallationoftheexecutable.
However,asaspecialexception,thesourcecodedistributedneednotincludeanythingthatisnormallydistributed(ineithersourceorbinaryform)withthemajorcomponents(compiler,kernel,andsoon)oftheoperatingsystemonwhichtheexecutableruns,unlessthatcomponentitselfaccompaniestheexecutable.
Ifdistributionofexecutableorobjectcodeismadebyofferingaccesstocopyfromadesignatedplace,thenofferingequivalentaccesstocopythesourcecodefromthesameplacecountsasdistributionofthesourcecode,eventhoughthirdpartiesarenotcompelledtocopythesourcealongwiththeobjectcode.
4.
Youmaynotcopy,modify,sublicense,ordistributetheProgramexceptasexpresslyprovidedunderthisLicense.
Anyattemptotherwisetocopy,modify,sublicenseordistributetheProgramisvoid,andwillautomaticallyterminateyourrightsunderthisLicense.
However,partieswhohavereceivedcopies,orrights,fromyouunderthisLicensewillnothavetheirlicensesterminatedsolongassuchpartiesremaininfullcompliance.
266HighAvailability指南5.
YouarenotrequiredtoacceptthisLicense,sinceyouhavenotsignedit.
However,nothingelsegrantsyoupermissiontomodifyordistributetheProgramoritsderivativeworks.
TheseactionsareprohibitedbylawifyoudonotacceptthisLicense.
Therefore,bymodifyingordistributingtheProgram(oranyworkbasedontheProgram),youindicateyouracceptanceofthisLicensetodoso,andallitstermsandconditionsforcopying,distributingormodifyingtheProgramorworksbasedonit.
6.
EachtimeyouredistributetheProgram(oranyworkbasedontheProgram),therecipientautomaticallyreceivesalicensefromtheoriginallicensortocopy,distributeormodifytheProgramsubjecttothesetermsandconditions.
Youmaynotimposeanyfurtherrestrictionsontherecipients'exerciseoftherightsgrantedherein.
YouarenotresponsibleforenforcingcompliancebythirdpartiestothisLicense.
7.
If,asaconsequenceofacourtjudgmentorallegationofpatentinfringementorforanyotherreason(notlimitedtopatentissues),conditionsareimposedonyou(whetherbycourtorder,agreementorotherwise)thatcontradicttheconditionsofthisLicense,theydonotexcuseyoufromtheconditionsofthisLicense.
IfyoucannotdistributesoastosatisfysimultaneouslyyourobligationsunderthisLicenseandanyotherpertinentobligations,thenasaconsequenceyoumaynotdistributetheProgramatall.
Forexample,ifapatentlicensewouldnotpermitroyalty-freeredistributionoftheProgrambyallthosewhoreceivecopiesdirectlyorindirectlythroughyou,thentheonlywayyoucouldsatisfybothitandthisLicensewouldbetorefrainentirelyfromdistributionoftheProgram.
Ifanyportionofthissectionisheldinvalidorunenforceableunderanyparticularcircumstance,thebalanceofthesectionisintendedtoapplyandthesectionasawholeisintendedtoapplyinothercircumstances.
Itisnotthepurposeofthissectiontoinduceyoutoinfringeanypatentsorotherpropertyrightclaimsortocontestvalidityofanysuchclaims;thissectionhasthesolepurposeofprotectingtheintegrityofthefreesoftwaredistributionsystem,whichisimplementedbypubliclicensepractices.
Manypeoplehavemadegenerouscontributionstothewiderangeofsoftwaredistributedthroughthatsysteminrelianceonconsistentapplicationofthatsystem;itisuptotheauthor/donortodecideifheorsheiswillingtodistributesoftwarethroughanyothersystemandalicenseecannotimposethatchoice.
ThissectionisintendedtomakethoroughlyclearwhatisbelievedtobeaconsequenceoftherestofthisLicense.
8.
Ifthedistributionand/oruseoftheProgramisrestrictedincertaincountrieseitherbypatentsorbycopyrightedinterfaces,theoriginalcopyrightholderwhoplacestheProgramunderthisLicensemayaddanexplicitgeographicaldistributionlimitationexcludingthosecountries,sothatdistributionispermittedonlyinoramongcountriesnotthusexcluded.
Insuchcase,thisLicenseincorporatesthelimitationasifwritteninthebodyofthisLicense.
9.
TheFreeSoftwareFoundationmaypublishrevisedand/ornewversionsoftheGeneralPublicLicensefromtimetotime.
Suchnewversionswillbesimilarinspirittothepresentversion,butmaydifferindetailtoaddressnewproblemsorconcerns.
Eachversionisgivenadistinguishingversionnumber.
IftheProgramspecifiesaversionnumberofthisLicensewhichappliestoitand「anylaterversion」,youhavetheoptionoffollowingthetermsandconditionseitherofthatversionorofanylaterversionpublishedbytheFreeSoftwareFoundation.
IftheProgramdoesnotspecifyaversionnumberofthisLicense,youmaychooseanyversioneverpublishedbytheFreeSoftwareFoundation.
10.
IfyouwishtoincorporatepartsoftheProgramintootherfreeprogramswhosedistributionconditionsaredifferent,writetotheauthortoaskforpermission.
ForsoftwarewhichiscopyrightedbytheFreeSoftwareFoundation,writetotheFreeSoftwareFoundation;wesometimesmakeexceptionsforthis.
Ourdecisionwillbeguidedbythetwogoalsofpreservingthefreestatusofallderivativesofourfreesoftwareandofpromotingthesharingandreuseofsoftwaregenerally.
NOWARRANTY11.
BECAUSETHEPROGRAMISLICENSEDFREEOFCHARGE,THEREISNOWARRANTYFORTHEPROGRAM,TOTHEEXTENTPERMITTEDBYAPPLICABLELAW.
EXCEPTWHENOTHERWISESTATEDINWRITINGTHECOPYRIGHTHOLDERSAND/OROTHERPARTIESPROVIDETHEPROGRAM"ASIS"WITHOUTWARRANTYOFANYKIND,EITHEREXPRESSEDORIMPLIED,INCLUDING,BUTNOTLIMITEDTO,THEIMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSE.
THEENTIRERISKASTOTHEQUALITYANDPERFORMANCEOFTHEPROGRAMISWITHYOU.
SHOULDTHEPROGRAMPROVEDEFECTIVE,YOUASSUMETHECOSTOFALLNECESSARYSERVICING,REPAIRORCORRECTION.
12.
INNOEVENTUNLESSREQUIREDBYAPPLICABLELAWORAGREEDTOINWRITINGWILLANYCOPYRIGHTHOLDER,ORANYOTHERPARTYWHOMAYMODIFYAND/ORREDISTRIBUTETHEPROGRAMASPERMITTEDABOVE,BELIABLETOYOUFORDAMAGES,INCLUDINGANYGENERAL,SPECIAL,INCIDENTALORCONSEQUENTIALDAMAGESARISINGOUTOFTHEUSEORINABILITYTOUSETHEPROGRAM(INCLUDINGBUTNOTLIMITEDTOLOSSOFDATAORDATABEINGRENDEREDINACCURATEORLOSSESSUSTAINEDBYYOUORTHIRDPARTIESORAFAILUREOFTHEPROGRAMTOOPERATEWITHANYOTHERPROGRAMS),EVENIFSUCHHOLDEROROTHERPARTYHASBEENADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGES.
ENDOFTERMSANDCONDITIONSHowtoApplyTheseTermstoYourNewProgramsIfyoudevelopanewprogram,andyouwantittobeofthegreatestpossibleusetothepublic,thebestwaytoachievethisistomakeitfreesoftwarewhicheveryonecanredistributeandchangeundertheseterms.
Todoso,attachthefollowingnoticestotheprogram.
Itissafesttoattachthemtothestartofeachsourcefiletomosteffectivelyconveytheexclusionofwarranty;andeachfileshouldhaveatleastthe「copyright」lineandapointertowherethefullnoticeisfound.
onelinetogivetheprogram'snameandanideaofwhatitdoes.
Copyright(C)yyyynameofauthorGNU授權267Thisprogramisfreesoftware;youcanredistributeitand/ormodifyitunderthetermsoftheGNUGeneralPublicLicenseaspublishedbytheFreeSoftwareFoundation;eitherversion2oftheLicense,or(atyouroption)anylaterversion.
Thisprogramisdistributedinthehopethatitwillbeuseful,butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyofMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.
SeetheGNUGeneralPublicLicenseformoredetails.
YoushouldhavereceivedacopyoftheGNUGeneralPublicLicensealongwiththisprogram;ifnot,writetotheFreeSoftwareFoundation,Inc.
,59TemplePlace-Suite330,Boston,MA02111-1307,USA.
Alsoaddinformationonhowtocontactyoubyelectronicandpapermail.
Iftheprogramisinteractive,makeitoutputashortnoticelikethiswhenitstartsinaninteractivemode:Gnomovisionversion69,Copyright(C)yearnameofauthorGnomovisioncomeswithABSOLUTELYNOWARRANTY;fordetailstype`showw'.
Thisisfreesoftware,andyouarewelcometoredistributeitundercertainconditions;type`showc'fordetails.
Thehypotheticalcommands`showw'and`showc'shouldshowtheappropriatepartsoftheGeneralPublicLicense.
Ofcourse,thecommandsyouusemaybecalledsomethingotherthan`showw'and`showc';theycouldevenbemouse-clicksormenuitems--whateversuitsyourprogram.
Youshouldalsogetyouremployer(ifyouworkasaprogrammer)oryourschool,ifany,tosigna「copyrightdisclaimer」fortheprogram,ifnecessary.
Hereisasample;alterthenames:Yoyodyne,Inc.
,herebydisclaimsallcopyrightinterestintheprogram`Gnomovision'(whichmakespassesatcompilers)writtenbyJamesHacker.
signatureofTyCoon,1April1989TyCoon,PresidentofViceThisGeneralPublicLicensedoesnotpermitincorporatingyourprogramintoproprietaryprograms.
Ifyourprogramisasubroutinelibrary,youmayconsideritmoreusefultopermitlinkingproprietaryapplicationswiththelibrary.
Ifthisiswhatyouwanttodo,usetheGNULesserGeneralPublicLicense[http://www.
fsf.
org/licenses/lgpl.
html]insteadofthisLicense.
GNUFreeDocumentationLicenseVersion1.
2,November2002Copyright(C)2000,2001,2002FreeSoftwareFoundation,Inc.
59TemplePlace,Suite330,Boston,MA02111-1307USAEveryoneispermittedtocopyanddistributeverbatimcopiesofthislicensedocument,butchangingitisnotallowed.
PREAMBLEThepurposeofthisLicenseistomakeamanual,textbook,orotherfunctionalandusefuldocument"free"inthesenseoffreedom:toassureeveryonetheeffectivefreedomtocopyandredistributeit,withorwithoutmodifyingit,eithercommerciallyornoncommercially.
Secondarily,thisLicensepreservesfortheauthorandpublisherawaytogetcreditfortheirwork,whilenotbeingconsideredresponsibleformodificationsmadebyothers.
ThisLicenseisakindof「copyleft」,whichmeansthatderivativeworksofthedocumentmustthemselvesbefreeinthesamesense.
ItcomplementstheGNUGeneralPublicLicense,whichisacopyleftlicensedesignedforfreesoftware.
268HighAvailability指南WehavedesignedthisLicenseinordertouseitformanualsforfreesoftware,becausefreesoftwareneedsfreedocumentation:afreeprogramshouldcomewithmanualsprovidingthesamefreedomsthatthesoftwaredoes.
ButthisLicenseisnotlimitedtosoftwaremanuals;itcanbeusedforanytextualwork,regardlessofsubjectmatterorwhetheritispublishedasaprintedbook.
WerecommendthisLicenseprincipallyforworkswhosepurposeisinstructionorreference.
APPLICABILITYANDDEFINITIONSThisLicenseappliestoanymanualorotherwork,inanymedium,thatcontainsanoticeplacedbythecopyrightholdersayingitcanbedistributedunderthetermsofthisLicense.
Suchanoticegrantsaworld-wide,royalty-freelicense,unlimitedinduration,tousethatworkundertheconditionsstatedherein.
The「Document」,below,referstoanysuchmanualorwork.
Anymemberofthepublicisalicensee,andisaddressedas「you」.
Youacceptthelicenseifyoucopy,modifyordistributetheworkinawayrequiringpermissionundercopyrightlaw.
A「ModifiedVersion」oftheDocumentmeansanyworkcontainingtheDocumentoraportionofit,eithercopiedverbatim,orwithmodificationsand/ortranslatedintoanotherlanguage.
A「SecondarySection」isanamedappendixorafront-mattersectionoftheDocumentthatdealsexclusivelywiththerelationshipofthepublishersorauthorsoftheDocumenttotheDocument'soverallsubject(ortorelatedmatters)andcontainsnothingthatcouldfalldirectlywithinthatoverallsubject.
(Thus,iftheDocumentisinpartatextbookofmathematics,aSecondarySectionmaynotexplainanymathematics.
)Therelationshipcouldbeamatterofhistoricalconnectionwiththesubjectorwithrelatedmatters,oroflegal,commercial,philosophical,ethicalorpoliticalpositionregardingthem.
The「InvariantSections」arecertainSecondarySectionswhosetitlesaredesignated,asbeingthoseofInvariantSections,inthenoticethatsaysthattheDocumentisreleasedunderthisLicense.
IfasectiondoesnotfittheabovedefinitionofSecondarythenitisnotallowedtobedesignatedasInvariant.
TheDocumentmaycontainzeroInvariantSections.
IftheDocumentdoesnotidentifyanyInvariantSectionsthentherearenone.
The「CoverTexts」arecertainshortpassagesoftextthatarelisted,asFront-CoverTextsorBack-CoverTexts,inthenoticethatsaysthattheDocumentisreleasedunderthisLicense.
AFront-CoverTextmaybeatmost5words,andaBack-CoverTextmaybeatmost25words.
A「Transparent」copyoftheDocumentmeansamachine-readablecopy,representedinaformatwhosespecificationisavailabletothegeneralpublic,thatissuitableforrevisingthedocumentstraightforwardlywithgenerictexteditorsor(forimagescomposedofpixels)genericpaintprogramsor(fordrawings)somewidelyavailabledrawingeditor,andthatissuitableforinputtotextformattersorforautomatictranslationtoavarietyofformatssuitableforinputtotextformatters.
AcopymadeinanotherwiseTransparentfileformatwhosemarkup,orabsenceofmarkup,hasbeenarrangedtothwartordiscouragesubsequentmodificationbyreadersisnotTransparent.
AnimageformatisnotTransparentifusedforanysubstantialamountoftext.
Acopythatisnot「Transparent」iscalled「Opaque」.
ExamplesofsuitableformatsforTransparentcopiesincludeplainASCIIwithoutmarkup,Texinfoinputformat,LaTeXinputformat,SGMLorXMLusingapubliclyavailableDTD,andstandard-conformingsimpleHTML,PostScriptorPDFdesignedforhumanmodification.
ExamplesoftransparentimageformatsincludePNG,XCFandJPG.
Opaqueformatsincludeproprietaryformatsthatcanbereadandeditedonlybyproprietarywordprocessors,SGMLorXMLforwhichtheDTDand/orprocessingtoolsarenotgenerallyavailable,andthemachine-generatedHTML,PostScriptorPDFproducedbysomewordprocessorsforoutputpurposesonly.
The「TitlePage」means,foraprintedbook,thetitlepageitself,plussuchfollowingpagesasareneededtohold,legibly,thematerialthisLicenserequirestoappearinthetitlepage.
Forworksinformatswhichdonothaveanytitlepageassuch,「TitlePage」meansthetextnearthemostprominentappearanceofthework'stitle,precedingthebeginningofthebodyofthetext.
Asection「EntitledXYZ」meansanamedsubunitoftheDocumentwhosetitleeitherispreciselyXYZorcontainsXYZinparenthesesfollowingtextthattranslatesXYZinanotherlanguage.
(HereXYZstandsforaspecificsectionnamementionedbelow,suchas「Acknowledgements」,「Dedications」,「Endorsements」,or「History」.
)To「PreservetheTitle」ofsuchasectionwhenyoumodifytheDocumentmeansthatitremainsasection「EntitledXYZ」accordingtothisdefinition.
TheDocumentmayincludeWarrantyDisclaimersnexttothenoticewhichstatesthatthisLicenseappliestotheDocument.
TheseWarrantyDisclaimersareconsideredtobeincludedbyreferenceinthisLicense,butonlyasregardsdisclaimingwarranties:anyotherimplicationthattheseWarrantyDisclaimersmayhaveisvoidandhasnoeffectonthemeaningofthisLicense.
VERBATIMCOPYINGYoumaycopyanddistributetheDocumentinanymedium,eithercommerciallyornoncommercially,providedthatthisLicense,thecopyrightnotices,andthelicensenoticesayingthisLicenseappliestotheDocumentarereproducedinallcopies,andthatyouaddnootherconditionswhatsoevertothoseofthisLicense.
Youmaynotusetechnicalmeasurestoobstructorcontrolthereadingorfurthercopyingofthecopiesyoumakeordistribute.
However,youmayacceptcompensationinexchangeforcopies.
Ifyoudistributealargeenoughnumberofcopiesyoumustalsofollowtheconditionsinsection3.
Youmayalsolendcopies,underthesameconditionsstatedabove,andyoumaypubliclydisplaycopies.
COPYINGINQUANTITYIfyoupublishprintedcopies(orcopiesinmediathatcommonlyhaveprintedcovers)oftheDocument,numberingmorethan100,andtheDocument'slicensenoticerequiresCoverTexts,youmustenclosethecopiesincoversthatcarry,clearlyandlegibly,alltheseCoverTexts:Front-CoverTextsonthefrontcover,andBack-CoverTextsonthebackcover.
Bothcoversmustalsoclearlyandlegiblyidentifyyouasthepublisherofthesecopies.
Thefrontcovermustpresentthefulltitlewithallwordsofthetitleequallyprominentandvisible.
Youmayaddothermaterialonthecoversinaddition.
Copyingwithchangeslimitedtothecovers,aslongastheypreservethetitleoftheDocumentandsatisfytheseconditions,canbetreatedasverbatimcopyinginotherrespects.
GNU授權269Iftherequiredtextsforeithercoveraretoovoluminoustofitlegibly,youshouldputthefirstoneslisted(asmanyasfitreasonably)ontheactualcover,andcontinuetherestontoadjacentpages.
IfyoupublishordistributeOpaquecopiesoftheDocumentnumberingmorethan100,youmusteitherincludeamachine-readableTransparentcopyalongwitheachOpaquecopy,orstateinorwitheachOpaquecopyacomputer-networklocationfromwhichthegeneralnetwork-usingpublichasaccesstodownloadusingpublic-standardnetworkprotocolsacompleteTransparentcopyoftheDocument,freeofaddedmaterial.
Ifyouusethelatteroption,youmusttakereasonablyprudentsteps,whenyoubegindistributionofOpaquecopiesinquantity,toensurethatthisTransparentcopywillremainthusaccessibleatthestatedlocationuntilatleastoneyearafterthelasttimeyoudistributeanOpaquecopy(directlyorthroughyouragentsorretailers)ofthateditiontothepublic.
Itisrequested,butnotrequired,thatyoucontacttheauthorsoftheDocumentwellbeforeredistributinganylargenumberofcopies,togivethemachancetoprovideyouwithanupdatedversionoftheDocument.
MODIFICATIONSYoumaycopyanddistributeaModifiedVersionoftheDocumentundertheconditionsofsections2and3above,providedthatyoureleasetheModifiedVersionunderpreciselythisLicense,withtheModifiedVersionfillingtheroleoftheDocument,thuslicensingdistributionandmodificationoftheModifiedVersiontowhoeverpossessesacopyofit.
Inaddition,youmustdothesethingsintheModifiedVersion:A.
UseintheTitlePage(andonthecovers,ifany)atitledistinctfromthatoftheDocument,andfromthoseofpreviousversions(whichshould,iftherewereany,belistedintheHistorysectionoftheDocument).
Youmayusethesametitleasapreviousversioniftheoriginalpublisherofthatversiongivespermission.
B.
ListontheTitlePage,asauthors,oneormorepersonsorentitiesresponsibleforauthorshipofthemodificationsintheModifiedVersion,togetherwithatleastfiveoftheprincipalauthorsoftheDocument(allofitsprincipalauthors,ifithasfewerthanfive),unlesstheyreleaseyoufromthisrequirement.
C.
StateontheTitlepagethenameofthepublisheroftheModifiedVersion,asthepublisher.
D.
PreserveallthecopyrightnoticesoftheDocument.
E.
Addanappropriatecopyrightnoticeforyourmodificationsadjacenttotheothercopyrightnotices.
F.
Include,immediatelyafterthecopyrightnotices,alicensenoticegivingthepublicpermissiontousetheModifiedVersionunderthetermsofthisLicense,intheformshownintheAddendumbelow.
G.
PreserveinthatlicensenoticethefulllistsofInvariantSectionsandrequiredCoverTextsgivenintheDocument'slicensenotice.
H.
IncludeanunalteredcopyofthisLicense.
I.
PreservethesectionEntitled「History」,PreserveitsTitle,andaddtoitanitemstatingatleastthetitle,year,newauthors,andpublisheroftheModifiedVersionasgivenontheTitlePage.
IfthereisnosectionEntitled「History」intheDocument,createonestatingthetitle,year,authors,andpublisheroftheDocumentasgivenonitsTitlePage,thenaddanitemdescribingtheModifiedVersionasstatedintheprevioussentence.
J.
Preservethenetworklocation,ifany,givenintheDocumentforpublicaccesstoaTransparentcopyoftheDocument,andlikewisethenetworklocationsgivenintheDocumentforpreviousversionsitwasbasedon.
Thesemaybeplacedinthe「History」section.
YoumayomitanetworklocationforaworkthatwaspublishedatleastfouryearsbeforetheDocumentitself,oriftheoriginalpublisheroftheversionitreferstogivespermission.
K.
ForanysectionEntitled「Acknowledgements」or「Dedications」,PreservetheTitleofthesection,andpreserveinthesectionallthesubstanceandtoneofeachofthecontributoracknowledgementsand/ordedicationsgiventherein.
L.
PreservealltheInvariantSectionsoftheDocument,unalteredintheirtextandintheirtitles.
Sectionnumbersortheequivalentarenotconsideredpartofthesectiontitles.
M.
DeleteanysectionEntitled「Endorsements」.
SuchasectionmaynotbeincludedintheModifiedVersion.
N.
DonotretitleanyexistingsectiontobeEntitled「Endorsements」ortoconflictintitlewithanyInvariantSection.
O.
PreserveanyWarrantyDisclaimers.
IftheModifiedVersionincludesnewfront-mattersectionsorappendicesthatqualifyasSecondarySectionsandcontainnomaterialcopiedfromtheDocument,youmayatyouroptiondesignatesomeorallofthesesectionsasinvariant.
Todothis,addtheirtitlestothelistofInvariantSectionsintheModifiedVersion'slicensenotice.
Thesetitlesmustbedistinctfromanyothersectiontitles.
YoumayaddasectionEntitled「Endorsements」,provideditcontainsnothingbutendorsementsofyourModifiedVersionbyvariousparties--forexample,statementsofpeerrevieworthatthetexthasbeenapprovedbyanorganizationastheauthoritativedefinitionofastandard.
YoumayaddapassageofuptofivewordsasaFront-CoverText,andapassageofupto25wordsasaBack-CoverText,totheendofthelistofCoverTextsintheModifiedVersion.
OnlyonepassageofFront-CoverTextandoneofBack-CoverTextmaybeaddedby(orthrougharrangementsmadeby)anyoneentity.
IftheDocumentalreadyincludesacovertextforthesamecover,previouslyaddedbyyouorbyarrangementmadebythesameentityyouareactingonbehalfof,youmaynotaddanother;butyoumayreplacetheoldone,onexplicitpermissionfromthepreviouspublisherthataddedtheoldone.
270HighAvailability指南Theauthor(s)andpublisher(s)oftheDocumentdonotbythisLicensegivepermissiontousetheirnamesforpublicityforortoassertorimplyendorsementofanyModifiedVersion.
COMBININGDOCUMENTSYoumaycombinetheDocumentwithotherdocumentsreleasedunderthisLicense,underthetermsdefinedinsection4aboveformodifiedversions,providedthatyouincludeinthecombinationalloftheInvariantSectionsofalloftheoriginaldocuments,unmodified,andlistthemallasInvariantSectionsofyourcombinedworkinitslicensenotice,andthatyoupreservealltheirWarrantyDisclaimers.
ThecombinedworkneedonlycontainonecopyofthisLicense,andmultipleidenticalInvariantSectionsmaybereplacedwithasinglecopy.
IftherearemultipleInvariantSectionswiththesamenamebutdifferentcontents,makethetitleofeachsuchsectionuniquebyaddingattheendofit,inparentheses,thenameoftheoriginalauthororpublisherofthatsectionifknown,orelseauniquenumber.
MakethesameadjustmenttothesectiontitlesinthelistofInvariantSectionsinthelicensenoticeofthecombinedwork.
Inthecombination,youmustcombineanysectionsEntitled「History」inthevariousoriginaldocuments,formingonesectionEntitled「History」;likewisecombineanysectionsEntitled「Acknowledgements」,andanysectionsEntitled「Dedications」.
YoumustdeleteallsectionsEntitled「Endorsements」.
COLLECTIONSOFDOCUMENTSYoumaymakeacollectionconsistingoftheDocumentandotherdocumentsreleasedunderthisLicense,andreplacetheindividualcopiesofthisLicenseinthevariousdocumentswithasinglecopythatisincludedinthecollection,providedthatyoufollowtherulesofthisLicenseforverbatimcopyingofeachofthedocumentsinallotherrespects.
Youmayextractasingledocumentfromsuchacollection,anddistributeitindividuallyunderthisLicense,providedyouinsertacopyofthisLicenseintotheextracteddocument,andfollowthisLicenseinallotherrespectsregardingverbatimcopyingofthatdocument.
AGGREGATIONWITHINDEPENDENTWORKSAcompilationoftheDocumentoritsderivativeswithotherseparateandindependentdocumentsorworks,inoronavolumeofastorageordistributionmedium,iscalledan"aggregate"ifthecopyrightresultingfromthecompilationisnotusedtolimitthelegalrightsofthecompilation'susersbeyondwhattheindividualworkspermit.
WhentheDocumentisincludedinanaggregate,thisLicensedoesnotapplytotheotherworksintheaggregatewhicharenotthemselvesderivativeworksoftheDocument.
IftheCoverTextrequirementofsection3isapplicabletothesecopiesoftheDocument,theniftheDocumentislessthanonehalfoftheentireaggregate,theDocument'sCoverTextsmaybeplacedoncoversthatbrackettheDocumentwithintheaggregate,ortheelectronicequivalentofcoversiftheDocumentisinelectronicform.
Otherwisetheymustappearonprintedcoversthatbracketthewholeaggregate.
TRANSLATIONTranslationisconsideredakindofmodification,soyoumaydistributetranslationsoftheDocumentunderthetermsofsection4.
ReplacingInvariantSectionswithtranslationsrequiresspecialpermissionfromtheircopyrightholders,butyoumayincludetranslationsofsomeorallInvariantSectionsinadditiontotheoriginalversionsoftheseInvariantSections.
YoumayincludeatranslationofthisLicense,andallthelicensenoticesintheDocument,andanyWarrantyDisclaimers,providedthatyoualsoincludetheoriginalEnglishversionofthisLicenseandtheoriginalversionsofthosenoticesanddisclaimers.
IncaseofadisagreementbetweenthetranslationandtheoriginalversionofthisLicenseoranoticeordisclaimer,theoriginalversionwillprevail.
IfasectionintheDocumentisEntitled「Acknowledgements」,「Dedications」,or「History」,therequirement(section4)toPreserveitsTitle(section1)willtypicallyrequirechangingtheactualtitle.
TERMINATIONYoumaynotcopy,modify,sublicense,ordistributetheDocumentexceptasexpresslyprovidedforunderthisLicense.
Anyotherattempttocopy,modify,sublicenseordistributetheDocumentisvoid,andwillautomaticallyterminateyourrightsunderthisLicense.
However,partieswhohavereceivedcopies,orrights,fromyouunderthisLicensewillnothavetheirlicensesterminatedsolongassuchpartiesremaininfullcompliance.
FUTUREREVISIONSOFTHISLICENSETheFreeSoftwareFoundationmaypublishnew,revisedversionsoftheGNUFreeDocumentationLicensefromtimetotime.
Suchnewversionswillbesimilarinspirittothepresentversion,butmaydifferindetailtoaddressnewproblemsorconcerns.
Seehttp://www.
gnu.
org/copyleft/.
EachversionoftheLicenseisgivenadistinguishingversionnumber.
IftheDocumentspecifiesthataparticularnumberedversionofthisLicense「oranylaterversion」appliestoit,youhavetheoptionoffollowingthetermsandconditionseitherofthatspecifiedversionorofanylaterversionthathasbeenpublished(notasadraft)bytheFreeSoftwareFoundation.
IftheDocumentdoesnotspecifyaversionnumberofthisLicense,youmaychooseanyversioneverpublished(notasadraft)bytheFreeSoftwareFoundation.
ADDENDUM:HowtousethisLicenseforyourdocumentsTousethisLicenseinadocumentyouhavewritten,includeacopyoftheLicenseinthedocumentandputthefollowingcopyrightandlicensenoticesjustafterthetitlepage:GNU授權271Copyright(c)YEARYOURNAME.
Permissionisgrantedtocopy,distributeand/ormodifythisdocumentunderthetermsoftheGNUFreeDocumentationLicense,Version1.
2onlyaspublishedbytheFreeSoftwareFoundation;withtheInvariantSectionbeingthiscopyrightnoticeandlicense.
Acopyofthelicenseisincludedinthesectionentitled"GNUFreeDocumentationLicense".
IfyouhaveInvariantSections,Front-CoverTextsandBack-CoverTexts,replacethe"with.
.
.
Texts.
"linewiththis:withtheInvariantSectionsbeingLISTTHEIRTITLES,withtheFront-CoverTextsbeingLIST,andwiththeBack-CoverTextsbeingLIST.
IfyouhaveInvariantSectionswithoutCoverTexts,orsomeothercombinationofthethree,mergethosetwoalternativestosuitthesituation.
Ifyourdocumentcontainsnontrivialexamplesofprogramcode,werecommendreleasingtheseexamplesinparallelunderyourchoiceoffreesoftwarelicense,suchastheGNUGeneralPublicLicense,topermittheiruseinfreesoftware.
272HighAvailability指南術語主動/主動、主動/被動關於服務如何在節點上執行的概念.
主動-被動情境是指有一項或多項服務正在主動節點上執行,而被動節點則等待主動節點失敗.
另外,主動-主動則表示各節點同時處於主動與被動狀態.
叢集(與硬碟,磁片有關時)高效能叢集是指共同承擔應用程式負載以快速完成操作的一個電腦群組(真實或虛擬).
HighAvailability叢集主要用於最大可能地確保服務的可用性.
叢集分割區當一個或多個節點與叢集其餘節點間的通訊失敗時,就會出現叢集分割區.
叢集分割區的節點仍為使用中狀態且能與彼此通訊,但它們無法察覺不能與之通訊的節點.
由於無法確認其他分割區的遺失,將出現電腦分裂情境(另請參閱電腦分裂[275頁]).
共識叢集成員(CCM)CCM決定由哪些節點組成叢集並在叢集中共享此資訊.
任何新的新增項及任何節點或法定數目的遺失均透過CCM傳送.
CCM模組將在叢集的每個節點上執行.
叢集資訊庫(CIB)表示整個叢集組態與狀態(節點成員、資源、限制等).
以XML編寫並存放在記憶體中.
主要CIB將在DC上保留並維護,並將複製到其他節點.
叢集資源管理員(CRM)負責協調所有非本地互動的主要管理實體.
叢集的各節點均有其各自的CRM,但DC上所執行的一個節點將被選出負責將決策傳送到其他非本地CRM並處理他們的輸入.
一個CRM可與許多元件進行互動:自己節點及其他節點上的本地資源管理員、非本地CRM、管理指令、圍籬區隔功能、及成員層.
指定協調者(DC)「主要」節點.
此節點為保留CIB主要副本的所在.
所有其他節點均從目前DC取得其組態和資源配置資訊.
成員發生變更後將從叢集的所有節點中選出DC.
分散式複製區塊設備(drbd)DRBD是專用於建立HighAvailability叢集的區塊設備.
整個區塊設備透過專屬網路鏡像,並被視做網路RAID-1.
容錯移轉當一台機器上的資源或節點發生故障且受影響的資源將在其他節點上啟動時,會發生此情況.
圍籬區隔描述阻止非叢集成員存取共享資源的概念.
該功能可透過停止(關閉)「行為錯誤的」節點以防止它導致問題,從節點鎖定狀態未定的資源,或多種其他方式實現.
此外,圍籬區隔在節點與資源圍籬區隔間是可辨識的.
Heartbeat資源代辦Heartbeat資源代辦曾在Heartbeat版本1中廣泛使用,目前已廢棄,但在版本2中仍受支援.
Heartbeat資源代辦可執行start、stop與status作業,其位於/etc/ha.
d/resource.
d或/etc/init.
d.
如需Heartbeat資源代辦的詳細資訊,請參見http://www.
linux-ha.
org/HeartbeatResourceAgent.
本地資源管理員(LRM)本地資源管理員(LRM)負責在資源上執行作業.
它使用資源代辦程序檔來執行工作.
LRM是「無用的」,自己並不知道任何規則,需要DC告訴它該做什麼.
LSB資源代辦LSB資源代辦是標準LSBinit程序檔.
LSBinit程序檔不限用於高可用性網路位置.
任何LSB相容的Linux系統均可使用LSBinit程序檔來控制服務.
任何LSB資源代辦均支援start、stop、restart、status與force-reload選項,並可選擇性地提供try-restart與reload.
LSB資源代辦位於/etc/init.
d.
如需更多有關LSB資源代辦及實際規格的詳細資訊,請參閱http://www.
linux-ha.
org/LSBResourceAgent與http://www.
linux-foundation.
org/spec/refspecs/LSB_3.
0.
0/LSB-Core-generic/LSB-Core-generic/iniscrptact.
html節點任何是叢集成員且對使用者不可見的電腦(真實或虛擬).
pingdping精靈.
它會使用ICMPping持續聯絡叢集之外的一或多台伺服器.
274HighAvailability指南規則引擎(PE)規則引擎會計算出在CIB中實作規則變更所需採取的動作.
此資訊隨後將被傳遞到異動引擎,然後便會在叢集設定中實作規則變更.
PE始終在DC上執行.
OCF資源代辦OCF資源代辦與LSB資源代辦(init程序檔)類似.
任何OCF資源代辦均必須支援start、stop與status(有時稱為monitor)選項.
此外,他們還支援metadata選項,該選項會以XML返回資源代辦類型的描述.
亦可支援其他選項,但並非強制.
OCF資源代辦位於/usr/lib/ocf/resource.
d/提供者.
如需有關OCF資源代辦及規格草案的詳細資訊,請參見http://www.
linux-ha.
org/OCFResourceAgent和http://www.
opencf.
org/cgi-bin/viewcvs.
cgi/specs/ra/resource-agent-api.
txtrev=HEAD.
法定數目在叢集中,如果叢集分割區擁有絕大多數節點(或投票),則其會被定義為具有法定數目(即「到達法定數目」).
法定數目可準確辨識一個分割區.
此部分演算法可阻止多個斷線分割區或節點繼續和導致資料與服務毀損(電腦分裂).
法定數目是圍籬區隔的先決條件,因此確保了法定數目是唯一的.
資源Heartbeat已知的任何類型的服務或應用程式.
範例包括IP位址、檔案系統或資料庫.
資源代辦(RA)資源代辦(RA)是一個程序檔,做為代理使用以管理資源.
資源代辦有三種類型:OCF(開放叢集架構)資源代辦、LSB資源代辦(標準LSBinit程序檔)與Heartbeat資源代辦(Heartbeatv1資源).
單一故障點(SPOF)單一故障點(SPOF)是叢集的任一元件,若其發生故障,會觸發整個叢集故障.
電腦分裂在該情境下,叢集節點將被分成兩個或多個彼此不知的群組(透過軟體或硬體故障).
若要阻止電腦分裂狀況對整個叢集產生不良影響,STONITH必須進行救援.
也稱為「分割的叢集」情境.
術語275STONITH「Shoottheothernodeinthehead」的縮寫,基本上,它會關閉行為錯誤的節點以防止其在叢集中導致問題.
轉換引擎(TE)轉換引擎(TE)可從PE獲取規則指令,並加以執行.
TE始終在DC上執行.
TE從該處指示其他節點上的本地資源管理員要採取的動作.
276HighAvailability指南

CYUN(29元/月)美国、香港、台湾、日本、韩国CN2,续费原价

关于CYUN商家在之前有介绍过一次,CYUN是香港蓝米数据有限公司旗下的云计算服务品牌,和蓝米云、蓝米主机等同属该公司。商家主要是为个人开发者用户、中小型、大型企业用户提供一站式核心网络云端部署服务,促使用户云端部署化简为零,轻松快捷运用云计算。目前,CYUN主要运营美国、香港、台湾、日本、韩国CN2线路产品,包括云服务器、站群服务器和独立服务器等。这次看到CYUN夏季优惠活动发布了,依然是熟悉的...

hostkvm:7折优惠-香港VPS韩国VPS,8折优惠-日本软银、美国CN2 GIA、新加坡直连VPS

hostkvm本月对香港国际线路的VPS、韩国CN2+bgp线路的VPS正在做7折终身优惠,对日本软银线路、美国CN2 GIA线路、新加坡直连线路的VPS进行8折终身优惠促销。所有VPS从4G内存开始支持Windows系统,当然主流Linux发行版是绝对不会缺席的!官方网站:https://hostkvm.com香港国际线路、韩国,7折优惠码:2021summer日本、美国、新加坡,8折优惠码:2...

易探云美国云服务器评测,主机低至33元/月,336元/年

美国服务器哪家平台好?美国服务器无需备案,即开即用,上线快。美国服务器多数带防御,且有时候项目运营的时候,防御能力是用户考虑的重点,特别是网站容易受到攻击的行业。现在有那么多美国一年服务器,哪家的美国云服务器好呢?美国服务器用哪家好?这里推荐易探云,有美国BGP、美国CN2、美国高防、美国GIA等云服务器,线路优化的不错。易探云刚好就是做香港及美国云服务器的主要商家之一,我们来看一下易探云美国云服...

opensuse为你推荐
微盟赔付方案2019遣散费的赔偿标准社保算进去吗 按N+1 赔偿 短信提前一个月通知算是吗工信部约谈电信我在工信部投诉了电信,什么时候才能回复?阿丽克丝·布莱肯瑞吉行尸走肉第六季女演员比肩工场比肩是什么意思,行比肩大运的主要意象百度关键词价格查询如何查到推广关键词的价钱?haokandianyingwang有什么好看的电影网站www.147qqqcom求女人能满足我的…henhenlu.com谁有大片地址呀 麻烦告诉我 谢谢啦 O会给你打满分的dpscycle国服魔兽WLK,有什么适合死亡骑士的插件?汴京清谈都城汴京,数百万家,尽仰石炭,无一燃薪者的翻译
海外虚拟主机空间 上海域名注册 免费域名注册网站 网站虚拟主机空间 域名备案号查询 罗马假日广场 hostmonster asp.net主机 韩国空间 优惠码 国外空间服务商 网页背景图片 dropbox网盘 北京主机 圣诞促销 双拼域名 howfile admit的用法 免费网页申请 购买国外空间 更多