Linux

執行 MariaDB server 5.5 並在多個無盤節點上共享 my.cnf

  • September 18, 2020

我正在嘗試使用 Redhat Enterprise 7.8 在無盤映像中安裝 MariaDB Server 5.5。

我遇到的問題是有一個無盤映像,其中一個/etc/my.cnf部署到所有節點,然後它們都指向共享 NFS 儲存上的相同數據目錄。

我想做的是以某種方式/etc/my.cnf確定它在哪個節點上並寫入共享儲存上的不同目錄(即datadir = /sharednfs/output/node1,2,3,4/mariadb)。這可能嗎?

根據我的研究,似乎唯一的方法是為每個節點設置一個單獨的無盤映像。我找不到任何my.cnf允許使用主機名變數或類似內容的參數。

我手邊沒有 RHEL 系統,但假設它非常接近 centos7。

當然,您似乎可以通過mariadb.service以某種方式覆蓋單元來輕鬆處理此問題。

也許添加一個ExecStartPre添加一個腳本,將 my.cnf 替換為/etc/my.cnf類似的符號連結/nfspath/$(hostname -f)_my.cnf

或者也許有一種方法可以覆蓋 ExecStart。我認為$()這裡無效,但如果是這樣的話。也許通過執行它sh -c

ExecStart=/usr/bin/mysqld_safe --basedir=/usr --defaults-file=/nfspath/$(hostname -f)_my.cnf

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