DIY打造雲端全系統備份伺服器(linux+pxe+tftp+clonezilla...)

前言:
內行人就知道,這個系統其實跟雲端一點關係都沒有,頂多稱得上是一滴雨水,因為只有一台server,不過概念上一樣是透過網路去提供服務,所以就趕流行的掛上雲端兩字。
那實際上是什麼呢?就是remote boot sever加上國家高速網路與計算中心的傑作Clonezilla(可以提供ghost所有功能,支援系統更多,檔案存儲也更彈性),讓系統備份還原從本來手忙腳亂的一堆步驟,變成插上網路、開機,之後就一切全自動的神奇程序。
除了Clonezilla之外,還加入它的好朋友Gparted,這是類似Partition Magic的軟體,可以在系統安裝後重新調整分割區大小,還有加入freedos跟memtest(從Clonezilla映像檔拿出來的)

硬體需求:
Server PC x 1:當作server使用,硬碟越大越好,網路孔最好有兩個以上(內網跟外網)
HUB x 1:如果要一對多才需要,一對一就不用了,但是話說回來,一對一備份還原幹麼把架構弄這麼複雜 XD
Target PC x 1:當作備份還原的對象,需支援PXE遠端開機(廢話)
網路線 x n

安裝步驟:
Step 1: 安裝servser的作業系統,選一個你最喜歡的,這次我選的是Debian Lenny

Step 2: sevser上安裝dhcp與tftp服務
Setting up a server for PXE network booting

Step 3: sevser上安裝nfs服務
鳥哥的 NFS 伺服器
Ubuntu 架設nfs server

Step 4: 利用backport更新kernel以支援ext4
backports instruction

Step 5: 將Clonezilla Live放在PXE伺服器上
將Clonezilla Live放在PXE伺服器上

Step 6: 將Gparted Live放在PXE伺服器上
GParted Live on PXE server

Step 7: 套用syslinux加入選單功能
豬窩的教學文件

Step 8: 開機選單修飾
(完整檔案下載)

Step 9: 加入Ghost/ImageX支援(未完成)
PXE boot WinPE 2 (Vista) using Linux as the PXE Server

Step 10: 放入自己的iso或者映像檔,修改default

Steo 11: 完成

=================================================
最終完成的檔案樹會長的像這樣:
/tftpboot
|--->pxelinux.0
|--->pxelinux.cfg
|    |--->default
|--->clonezilla
|    |--->dvmlinuz1
|    |--->dinitrd1.img
|    |--->dfilesystem.squashfs
|--->gparted
|    |--->dvmlinuz1
|    |--->dinitrd1.img
|    |--->dfilesystem.squashfs
|--->syslinux
     |--->menu.c32
     |--->vesamenu.c32
     |--->chain.c32
     |--->memdisk
     |--->ubninit
     |--->live
          |--->freedos
          |--->memtest
=================================
12/15 新增
今天surf到另外一項系統救援工具fsacrchiver,號稱功能比clonzilla內含的partclone更強,
因為partclone是block-based,所以不能小對大還原,
fsarchiver則是filesystem-based,所以跟ghost一樣,只要目的磁區比來源磁區用掉的還大,就可以順利還原,
而且支援更多分割區格式,有這麼多好處我又手癢抓回來裝了,
如果懶得自己編譯的話,可以選擇下載systemrescuecd,它直接內建fsarchiver,又是live cd的形式,
不過怎麼可能就此滿足呢?爬了一下文,馬上把它改裝成pxe遠端備份救援的一部分,方法如下:
把rescuecd、initram.igz、sysrcd.dat、sysrcd.md5複製到tftp的目錄裡面,
然後在pxelinux.cfg/default裡面新增一組選項
label sysrcd
menu label Start SystemRescueCD
kernel sysrcd/rescuecd
append initrd=sysrcd/initram.igz boottftp=tftp://your.ip.address/sysrcd/sysrcd.dat
這樣就可以用網路直接使用了
參考來源:LWN.net
延伸閱讀:風之谷的簡單教學Ubuntu台灣的完整備份教學

留言

阿聰寫道…
安裝 PXE, NFS, DHCP 的部份您都可以用國網中心的另一套企鵝龍(DRBL)來幫你達成喔。其實再生龍的伺服器版就是企鵝龍,給您參考。(再生龍比前輩企鵝龍還紅,真尷尬)
http://drbl.nchc.org.tw
http://clonezilla.nchc.org.tw

確實 fsarchiever 也是我們觀察很久的專案,您這倒是提醒了我們可以直接包含 system resecure CD 選項到再生龍伺服器版中。:)

PS. 偷偷告訴你喔,我就是用企鵝龍在做雲端啦 :P
該怎麼說呢....
企鵝龍我也有玩過,不過感覺像是給電腦教室用的,
如要抽出部分功能的話,就沒那麼方便了
不是說功能不好的意思喔!
但是太過縝密的整合,減低了使用的困難也增加了修改(惡搞)的難度
不過可以看出諸位大大的用心啊....

fsarchiver我覺得是很棒的東西,如果可以跟"企鵝龍/再生龍",合體的話就無敵了....
不然常常遇到硬碟大對小的問題,總覺得有點美中不足....

這個網誌中的熱門文章

RTC & CMOS 技術詳解

[自由網路] 如何取得 Google Drive (真實)外連位址 (Direct Link)