Automation

配置管理:跨機依賴

  • November 27, 2009

我使用過 puppet 之類的工具來管理單個系統,通常都取得了很高的成功。puppet 的失敗之處在於它不擅長管理單個伺服器之外的依賴項。

例如,在 MySQL 伺服器上,我將 puppet 配置為執行以下操作:

  • 在機器上配置身份驗證以訪問我的 LDAP 伺服器
  • 配置 apt 以使用我的本地儲存庫鏡像
  • 安裝 MySQL 包
  • 寫我的.cnf
  • 啟動 MySQL
  • 在數據庫中創建使用者

在這組步驟中,解決了許多依賴項 - 例如,除非我安裝了軟體包,否則我無法啟動數據庫服務,除非正確配置了 apt repo,否則我無法這樣做。

這個 MySQL 伺服器是 master->master 複製設置中的一個盒子。在理想的世界中,puppet(或其他類似工具)可以讓我表示伺服器 B 需要等到伺服器 A 可用,然後嘗試與它建立複製關係的事實。

這裡有很多文字 - 基本上我要問的是:有沒有像 puppet 這樣的工具可以管理這樣的機器間依賴關係?

如果您使用的是 Puppet,那麼導出的資源(以及因此儲存的配置)是這項工作的工具。這允許您在節點之間共享資訊。如果需要,包括實際的複制設置。

或者,雖然我自己不是訂閱者,但有些人將他們的清單/執行視為非確定性的。這意味著單次執行不一定聲明節點的完整結果。在節點達到其所需狀態之前,可能需要執行兩次或更多次。

由於在主伺服器可用之前配置 MySQL 從伺服器不會完全致命,因此您可能希望沿著這條路走下去。但在我看來,它並不那麼“聰明”。

引用自:https://serverfault.com/questions/88799