跳至內容跳至頁面導覽:上一頁 [access key p]/下一頁 [access key n]
documentation.suse.com / SUSE Enterprise Storage 7.1 文件 / 部署指南 / 部署 Ceph 叢集 / 部署 Salt
適用範圍 SUSE Enterprise Storage 7.1

6 部署 Salt

SUSE Enterprise Storage 使用 Salt 和 ceph-salt 進行初始叢集準備。Salt 可協助您從一個名為 Salt Master 的專屬主機同時針對多個叢集節點設定和執行指令。在部署 Salt 之前,請考慮以下重要事項:

  • Salt Minion 是由一個名為 Salt Master 的專屬節點控制的節點。

  • 如果 Salt Master 主機應屬於 Ceph 叢集的一部分,則它需要執行自己的 Salt Minion,但這不是必須的。

    提示
    提示:每部伺服器共用多個角色

    如果將每個角色都部署在一個獨立節點上,則 Ceph 叢集的效能是最佳的。但實際部署有時會要求多個角色共用一個節點。為避免效能欠佳以及升級程序出現問題,請勿向管理節點部署 Ceph OSD、中繼資料伺服器或 Ceph 監控程式角色。

  • Salt Minion 需要能透過網路正確解析 Salt Master 的主機名稱。依預設,Minion 會尋找 salt 主機名稱,但您可以在 /etc/salt/minion 檔案中指定可透過網路連接的其他任何主機名稱。

  1. 在 Salt Master 節點上安裝 salt-master

    root@master # zypper in salt-master
  2. 檢查 salt-master 服務是否已啟用並啟動,並視需要進行啟用和啟動:

    root@master # systemctl enable salt-master.service
    root@master # systemctl start salt-master.service
  3. 如果您要使用防火牆,請確認 Salt Master 節點是否為所有 Salt Minion 節點開啟了連接埠 4505 和 4506。如果這些連接埠處於關閉狀態,您可以使用 yast2 firewall 指令並透過允許相應區域的 salt-master 服務來開啟這些連接埠。例如,public

  4. 在所有 Minion 節點上安裝 salt-minion 套件。

    root@minion > zypper in salt-minion
  5. 編輯 /etc/salt/minion 並取消註解下行:

    #log_level_logfile: warning

    warning 記錄層級變更為 info

    注意
    注意:log_level_logfilelog_level

    log_level 用於控制螢幕上將顯示的記錄訊息,而 log_level_logfile 用於控制哪些記錄訊息將寫入到 /var/log/salt/minion

    注意
    注意

    請務必變更所有叢集 (Minion) 節點上的記錄層級。

  6. 確定所有其他節點都可以將每個節點的完整網域名稱解析為公用叢集網路上的 IP 位址。

  7. 將所有 Minion 設定為連接至 Master。如果無法透過主機名稱 salt 連接 Salt Master,請編輯檔案 /etc/salt/minion,或建立包含以下內容的新檔案 /etc/salt/minion.d/master.conf

    master: host_name_of_salt_master

    如果對上述組態檔案執行了任何變更,請在所有相關的 Salt Minion 上重新啟動 Salt 服務:

    root@minion > systemctl restart salt-minion.service
  8. 檢查所有節點上是否已啟用並啟動 salt-minion 服務。依據需要啟用並啟動該服務:

    # systemctl enable salt-minion.service
    # systemctl start salt-minion.service
  9. 確認每個 Salt Minion 的指紋,如果指紋相符,則接受 Salt Master 上的所有 Salt 金鑰。

    注意
    注意

    如果 Salt Minion 指紋傳回空白,請確定 Salt Minion 具有 Salt Master 組態且可與 Salt Master 通訊。

    檢視每個 Minion 的指紋:

    root@minion > salt-call --local key.finger
    local:
    3f:a3:2f:3f:b4:d3:d9:24:49:ca:6b:2c:e1:6c:3f:c3:83:37:f0:aa:87:42:e8:ff...

    收集到所有 Salt Minion 的指紋後,將列出 Salt Master 上所有未接受 Minion 金鑰的指紋:

    root@master # salt-key -F
    [...]
    Unaccepted Keys:
    minion1:
    3f:a3:2f:3f:b4:d3:d9:24:49:ca:6b:2c:e1:6c:3f:c3:83:37:f0:aa:87:42:e8:ff...

    如果 Minion 的指紋相符,則接受這些金鑰:

    root@master # salt-key --accept-all
  10. 驗證是否已接受金鑰:

    root@master # salt-key --list-all
  11. 測試是否所有 Salt Minion 都回應:

    root@master # salt-run manage.status