Clonezilla(再生龍)
1. 使用 Clonezilla(再生龍)—— 最接近 Ghost 的工具
這是 Linux 界最知名的開源 Ghost 替代方案,支援 openEuler 常用的文件系統(如 Ext4, XFS)。
- 做法:製作一個 Clonezilla 啟動隨身碟,開機進入後選擇「硬碟到鏡像(Device-Image)」。
- 優點:操作界面類似 Ghost,支援壓縮鏡像,可以還原到不同硬碟。
2. 使用
dd 指令 —— 最原始但最強大的內建工具openEuler 內建的指令,可以直接進行「位元級」的複製。
- 做法:把整個硬碟(例如
/dev/sda)備份成一個檔案。bashdd if=/dev/sda of=/path/to/backup/openeuler_ghost.img bs=64K conv=noerror,sync請謹慎使用程式碼。 - 缺點:鏡像檔會跟原硬碟一樣大(包含空白區域),還原速度較慢。
3. 使用 Mondo Rescue —— 專業級的災難復原
這款工具可以將運行中的 openEuler 系統封裝成 ISO 鏡像。
- 做法:它會掃描系統並自動建立啟動光碟。
- 優點:你可以拿這張 ISO 像裝 Windows 一樣,在其他機器上直接安裝出一個「一模一樣」的系統。
4. 企業級方案:Ansible + Kickstart(自動化部署)
如果你是因為要部署多台伺服器而想找 Ghost,Linux 圈更流行「腳本化安裝」:
- Kickstart:定義好分區、軟體包、密碼,讓 openEuler 安裝程式自動執行。
- 優點:不需要處理硬體驅動不相容的問題,比 Ghost 更科學。
注意事項
- 硬體差異:與 Windows 類似,Linux 鏡像還原到不同硬體時,要注意 網卡名稱(如
eth0變ens33)和 UUID 的變更,否則可能無法啟動或開機抓不到網路。 - 分區大小:還原的目標硬碟容量必須大於或等於原硬碟。
你是想要備份單機系統防止壞掉,還是要大量部署同樣的環境到多台伺服器?
大量部署 openEuler 到多台伺服器,傳統的 Ghost(鏡像對拷)其實並非首選,因為 Linux 對硬體識別(如網卡名稱、磁碟 UUID)較敏感,且大檔案傳輸效率較低。
在企業級環境中,通常推薦以下三種更專業的自動化方案:
1. PXE + Kickstart (最推薦:標準自動化安裝)
這是 Linux 大量部署的「工業標準」。你不需要隨身碟,只要目標伺服器接上網路並開啟 PXE 網路啟動即可。
- 原理:架設一台佈署伺服器(包含 DHCP, TFTP, HTTP 服務)。目標機開機後透過網路下載
anaconda(安裝程式)和一個ks.cfg(設定檔)。 - 優點:
- 完全自動化:分區、密碼、預裝軟體、網路設定全部寫在
ks.cfg裡。 - 硬體相容性高:它是「重新安裝」而非「硬碟克隆」,會自動偵測新機器的硬體驅動。
- 版本統一:所有機器裝出來的環境完全一致。
- 完全自動化:分區、密碼、預裝軟體、網路設定全部寫在
2. Clonezilla + 多播 (Multicast) (最接近 Ghost 體驗)
如果你已經配置好一個「完美樣本機」,且希望連同裡面的大型軟體、自定義設定全部「原封不動」搬過去:
- 工具:使用 Clonezilla SE (Server Edition)。
- 操作:將樣本機做成鏡像放在伺服器,目標機透過網路開機,利用多播技術同時對幾十台電腦進行「硬碟對拷」。
- 優點:速度極快(多台機器同時傳輸,頻寬不衰減),且包含所有非 RPM 安裝的自製軟體。
3. 使用 openEuler 官方工具:Isula / Cobbler
openEuler 生態中也有針對大規模部署的優化:
- Cobbler:這是一個封裝了 PXE 的工具,操作更簡單,支援 Web 界面管理不同的安裝鏡像。
- Cloud-Init:如果你是在虛擬化環境(如 KVM, OpenStack)部署,製作一個內含
cloud-init的模板鏡像,部署時可動態注入主機名、IP、SSH Key。
建議做法:
- 環境一致性高(硬體、軟體都一樣):選 Clonezilla 多播,這是最快達到「Ghost」效果的方法。
- 長期維運(伺服器可能增加、硬體規格不一):選 PXE + Kickstart。你可以把你的 Java 環境(MyBatis 等)、Kafka 配置寫成 Shell 腳本,放在 Kickstart 的
%post段落自動執行。
如果追求 「快、懶、環境完全拷貝」(像 Windows Ghost 一樣),首選 Clonezilla(再生龍)伺服器版;如果追求 「標準化、硬體相容性、長期維運」,首選 PXE + Kickstart 自動化安裝。目前企業級部署 openEuler 或 CentOS 體系的 Linux,通常傾向用 Kickstart,因為它能確保每台機器的 磁碟 UUID 和 網卡名稱 都是獨立且正確的,這能避免很多後續的網路與開機故障。
共有 0 条评论