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
檔案中指定可透過網路連接的其他任何主機名稱。
在 Salt Master 節點上安裝
salt-master
:root@master #
zypper in salt-master檢查
salt-master
服務是否已啟用並啟動,並視需要進行啟用和啟動:root@master #
systemctl enable salt-master.serviceroot@master #
systemctl start salt-master.service如果您要使用防火牆,請確認 Salt Master 節點是否為所有 Salt Minion 節點開啟了連接埠 4505 和 4506。如果這些連接埠處於關閉狀態,您可以使用
yast2 firewall
指令並透過允許相應區域的 服務來開啟這些連接埠。例如,public
。在所有 Minion 節點上安裝
salt-minion
套件。root@minion >
zypper in salt-minion編輯
/etc/salt/minion
並取消註解下行:#log_level_logfile: warning
將
warning
記錄層級變更為info
。注意:log_level_logfile
和log_level
log_level
用於控制螢幕上將顯示的記錄訊息,而log_level_logfile
用於控制哪些記錄訊息將寫入到/var/log/salt/minion
。注意請務必變更所有叢集 (Minion) 節點上的記錄層級。
確定所有其他節點都可以將每個節點的完整網域名稱解析為公用叢集網路上的 IP 位址。
將所有 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檢查所有節點上是否已啟用並啟動
salt-minion
服務。依據需要啟用並啟動該服務:#
systemctl enable salt-minion.service#
systemctl start salt-minion.service確認每個 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驗證是否已接受金鑰:
root@master #
salt-key --list-all測試是否所有 Salt Minion 都回應:
root@master #
salt-run manage.status