11.3 資料轉換

安裝 SUSE Linux Enterprise Server 和 High Availability Extension 之後,便可開始轉換資料。High Availability Extension 隨附的轉換程序檔已經過周密設定,但它並不能在完全自動的模式下完成所有設定。它會警告您它所進行的變更,但仍需要您的互動和決定。您需要瞭解叢集的詳細情況,因為最終是由您來確認這些變更是否有意義。轉換程序檔位於 /usr/lib/heartbeat 中 (若您使用的是 64 位元系統,則位於 /usr/lib64/heartbeat 中)。

附註: 執行測試回合

為了讓您熟悉轉換程序,我們強烈建議您先進行轉換測試 (不做任何變更)。您可以使用相同的測試目錄來執行重複的測試回合,但只需複製一次檔案。

測試轉換

  1. 在其中一個節點上,建立測試目錄並將備份檔案複製到測試目錄中︰

    $ mkdir /tmp/hb2openais-testdir
    $ cp /etc/ha.d/ha.cf /tmp/hb2openais-testdir
    $ cp /var/lib/heartbeat/hostcache /tmp/hb2openais-testdir
    $ cp /etc/logd.cf /tmp/hb2openais-testdir
    $ sudo cp /var/lib/heartbeat/crm/cib.xml /tmp/hb2openais-testdir
  2. 使用以下指令開始進行測試回合

    $ /usr/lib/heartbeat/hb2openais.sh -T /tmp/hb2openais-testdir -U

    若您使用的是 64 位元系統,請使用以下指令執行測試︰

    $ /usr/lib64/heartbeat/hb2openais.sh -T /tmp/hb2openais-testdir -U
  3. 讀取並驗證產生的 openais.confcib-out.xml 檔案︰

    $ cd  /tmp/hb2openais-testdir 
    $ less openais.conf 
    $ crm_verify -V -x cib-out.xml

如需轉換階段的詳細資訊,請參閱所安裝之 High Availability Extension 中的 /usr/share/doc/packages/pacemaker/README.hb2openais

轉換資料

執行測試回合並檢查輸出之後,便可以開始轉換資料。您只需在一個節點上執行轉換。主叢集組態 (CIB) 會自動複寫到其他節點中。轉換程序檔會自動複製需要複寫的所有其他檔案。

  1. 確認 sshd 在所有具備對 root 開放之存取權限的節點上執行,以便轉換程序檔能成功將檔案複製到其他叢集節點。

  2. High Availability Extension 隨附了預設的 OpenAIS 組態檔案。若在執行以下步驟時,不希望預設的組態被覆寫,請複製一份 /etc/ais/openais.conf 組態檔案。

  3. root 身分啟動轉換程序檔。若正在使用 sudo,請使用 -u 選項指定有特權的使用者︰

    $ /usr/lib/heartbeat/hb2openais.sh -u root

    程序檔會依據 /etc/ha.d/ha.cf 中儲存的組態,產生適用於 OpenAIS 叢集堆疊的新組態檔案 /etc/ais/openais.conf。程序檔還會分析 CIB 組態,並讓您知道您的叢集組態是否需要因從 Heartbeat 變為 OpenAIS 而變更。所有檔案處理都是在執行轉換的節點上完成,然後再複寫到其他節點。

  4. 按照螢幕上的指示執行操作。

成功完成轉換後,依節 3.3, 連線叢集 中所述啟動新的叢集堆疊。

完成升級後,就不能重新回復到 SUSE Linux Enterprise Server 10。