cibadmin - 提供對叢集組態的直接存取
可讓您查詢、修改、取代和刪除整個或部分組態。
cibadmin (--query|-Q) -[Vrwlsmfbp] [-i xml-object-id|-o
xml-object-type] [-t t-flag-whatever] [-h hostname]
cibadmin (--create|-C) -[Vrwlsmfbp] [-X xml-string]
[-x xml- filename] [-t t-flag-whatever] [-h hostname]
cibadmin (--replace-R) -[Vrwlsmfbp] [-i xml-object-id|
-o xml-object-type] [-X xml-string] [-x xml-filename] [-t
t-flag- whatever] [-h hostname]
cibadmin (--update|-U) -[Vrwlsmfbp] [-i xml-object-id|
-o xml-object-type] [-X xml-string] [-x xml-filename] [-t
t-flag- whatever] [-h hostname]
cibadmin (--modify|-M) -[Vrwlsmfbp] [-i xml-object-id|
-o xml-object-type] [-X xml-string] [-x xml-filename] [-t
t-flag- whatever] [-h hostname]
cibadmin (--delete|-D) -[Vrwlsmfbp] [-i xml-object-id|
-o xml-object-type] [-t t-flag-whatever] [-h hostname]
cibadmin (--delete_alt|-d) -[Vrwlsmfbp] -o
xml-object-type [-X xml-string|-x xml-filename]
[-t t-flag-whatever] [-h hostname]
cibadmin --erase (-E)
cibadmin --bump (-B)
cibadmin --ismaster (-m)
cibadmin --master (-w)
cibadmin --slave (-r)
cibadmin --sync (-S)
cibadmin --help (-?)
cibadmin 指令為低階管理指令,用於操作 Heartbeat CIB。它可用於傾印整個或部分 CIB、修改整個或部分 CIB、刪除整個 CIB,或執行其他 CIB 管理作業。
cibadmin 對 CIB 的 XML 樹狀結構執行操作時,通常並不瞭解所執行的更新或查詢的意義。這表示對瞭解 XML 樹狀結構中各元素意義的使用者而言,那些習以為常的捷徑無法與 cibadmin 搭配使用。該指令要求完全不使用模糊語意,且只能處理輸入與輸出的有效 XML 子樹狀結構 (標籤與元素)。
附註: 使用者應一律優先選擇使用 cibadmin,而不是手動編輯 cib.xml 檔案 — 特別是在叢集為使用中狀態時更應如此。叢集會盡力偵測並防止這種做法,以免資料遺失或損毀。
指定要對其執行操作的物件類型。有效值包括 nodes、resources、constraints、crm_status 及 status。
開啟除錯模式。另外的 -V 選項可增加輸出的詳細度。
從 cibadmin 獲得說明訊息。
提供有效的 XPath 以取代 obj_type。
增加 CIB 中 epoch 的版本計數器。此值通常在選舉新領袖時由叢集自動增加。若要讓較舊的組態過時 (例如儲存在非使用中叢集節點上的組態),則手動增加此值會很有用。
使用引數的 XML 內容建立新的 CIB。
刪除與提供的準則相符的第一個物件,例如,<op id="rsc1_op1" name="monitor"/>。標籤名稱及所有屬性皆必須相符才能刪除元素
去除整個 CIB 的內容。
列印一則訊息,指出 CIB 軟體的本地例項是否為主例項。如果本地例項為主例項,則結束時會傳回代碼 0,否則會傳回代碼 35。
在 CIB 的 XML 樹狀結構中找到物件並將其更新。
查詢 CIB 的一部分。
以遞迴方式取代 CIB 中的 XML 物件。
強制將所有節點與指定主機上的 CIB 重新同步 (若使用 -h 選項),或強制將所有節點與 DC 重新同步 (若未使用 -h 選項)。
指定應對其執行 crmadmin 的 XML 標籤或片段。它必須是完整的標籤或 XML 片段。
指定應對其執行 crmadmin 的檔案中的 XML。它必須是完整的標籤或 XML 片段。
指定應對其執行 cibadmin 的 XML 來自於標準輸入。它必須是完整的標籤或 XML 片段。
將指令傳送至指定主機。僅適用於 query 及 sync 指令。
讓指令在本地生效 (極少使用,為進階選項)。
不廣播指令,即使已變更 CIB 亦如此。
重要: 使用此選項時請謹慎,以免導致叢集分歧。
等待呼叫完成後再返回。
若要取得傳遞至 stdout 的整個使用中 CIB 的副本 (包括狀態區段等),請發出以下指令:
cibadmin -Q
若要將 IPaddr2 資源新增至 resources 區段,請先建立含有下列內容的 foo 檔案:
<primitive id="R_10.10.10.101" class="ocf" type="IPaddr2"
provider="heartbeat">
<instance_attributes id="RA_R_10.10.10.101">
<attributes>
<nvpair id="R_ip_P_ip" name="ip" value="10.10.10.101"/>
<nvpair id="R_ip_P_nic" name="nic" value="eth0"/>
</attributes>
</instance_attributes>
</primitive>
然後發出以下指令:
cibadmin --obj_type resources -U -x foo
若要變更先前新增之 IPaddr2 資源的 IP 位址,請發出以下指令:
cibadmin -M -X '<nvpair id="R_ip_P_ip" name="ip" value="10.10.10.102"/>'
附註: 此操作不會將資源名稱變更為與新的 IP 位址相符。若要如此,請刪除資源,然後使用新的 ID 標籤重新新增資源。
若要停止 (停用) 先前新增的 IP 位址資源而不將其移除,請建立含有下列內容的檔案 bar:
<primitive id="R_10.10.10.101"> <instance_attributes id="RA_R_10.10.10.101"> <attributes> <nvpair id="stop_R_10.10.10.101" name="target-role" value="Stopped"/> </attributes> </instance_attributes> </primitive>
然後發出以下指令:
cibadmin --obj_type resources -U -x bar
若要重新啟動上一步所停止的 IP 位址資源,請發出以下指令:
cibadmin -D -X '<nvpair id="stop_R_10.10.10.101">'
若要從 CIB 徹底移除 IP 位址資源,請發出以下指令:
cibadmin -D -X '<primitive id="R_10.10.10.101"/>'
若要用手動編輯的新 CIB 版本取代 CIB,請使用以下指令:
cibadmin -R -x $HOME/cib.xml
/var/lib/heartbeat/crm/cib.xml — 磁碟上的 CIB (不含 status 區段)。
crm_resource (8)、crmadmin (8)、lrmadmin(8)、heartbeat(8)
cibadmin 由 Andrew Beekhof 撰寫。
本手冊頁最初由 Alan Robertson 撰寫。
請避免在本地磁碟上自動維護的 CIB 複本上工作。叢集中的任何內容一變更,系統就會更新 CIB。因此,使用 CIB 的過時備份傳播您的組態變更可能會導致叢集不一致。