Linux
執行 MariaDB server 5.5 並在多個無盤節點上共享 my.cnf
我正在嘗試使用 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