如何從單一 NFS 映像 PXE 啟動多個伺服器?

如何從單一 NFS 映像 PXE 啟動多個伺服器?

我需要透過 PXE 啟動來啟動多個伺服器。它們都將運行相同的 ramdisk(即 pxelinux.cfg 目錄中的「預設」),然後它們都透過 NFS 掛載根檔案系統。然後他們對該 NFS 根映像執行 switch_root 命令。我想將此 NFS 映像設定為唯讀,並為所有伺服器使用相同的映像,但這樣我的伺服器幾乎毫無價值,因為即使是 /tmp 也是唯讀的。

我正在考慮留下 /tmp、/home 以及其他需要 NFS 映像持久唯一儲存的內容,然後從本機硬碟掛載它們。這行得通嗎?如果是這樣,我將如何在初始化腳本中執行它?

業界是如何做到這一點的?我確信有很多機架的伺服器都需要從單一來源進行管理和更新。我不可能是唯一一個想做這件事的人,對吧?我希望單一伺服器特有的所有「使用者」資料都位於本機硬碟上,並且所有作業系統檔案(需要定期更新等)都來自 PXE 啟動和 NFS 映像。

有關此類伺服器管理的大量文件的連結會很棒。

答案1

你想要的是某種聯合檔案系統,其中 NFS 導出充當唯讀基礎,讀寫覆蓋代表增量。增量可以儲存在任何其他檔案系統中,無論是磁碟、USB 記憶棒、揮發性記憶體或可寫入 NFS 匯出。

Linux 支援多種聯合檔案系統實作:

現在看來 aufs3 是首選。

Linux live CD 採用類似的策略;你可以研究他們的初始化腳本是如何運作的。一個更好的研究例子是固定資產投資,PXE 引導至由唯讀 NFS 共用和 tmpfs 映像組成的 aufs 根檔案系統。

相關內容