Windows系統備份可以用ghost工具軟體完成,Linux系統不能完全依賴於ghost工具, 一則是ghost本身是有著作權的軟體,二則ghost只支援ext2、ext3檔案系統的Linux分區,不支援reiserfs、xfs等比較進階的文 件系統,ghost本身並不備份mbr,因此常造成恢複後的系統grub出錯的問題。 linux本身內建有著優秀的備份工具,傳統如:tar、 cpio、dd,新的有:bzip2、afio等。這裡介紹兩款備份整個Linux系統,類似於ghost的工具:ghost for linux和partition image for linux。
g4l和partition image軟體都有光碟片映像版。
1。g4l
http://sourceforge.net/project/showfiles.php?group_id=119810
下載ISO檔案燒錄成光碟片或者在VM中載入啟動。
放入g4l光碟片,啟動畫面顯示:
F1 選擇核心版本 F2 準備映象 F3 啟動 F4 條款說明
g4l要求有一塊閒置硬碟或者分區以儲存映象檔案,g4l原理是利用dd命令備份硬碟分區資訊及存有資料的扇區,閒置扇區並不被儲存。g4l提供了fg4l控制台圖形前端,採用ncures GUI庫編寫,初次用g4l可以用fg4l熟悉操作。
選擇一個核心啟動進入g4l系統,出現sh#提示符時,輸入fg4l命令進入操作介面,或者執行g4l命令,格式如下:
g4l FTP伺服器IP 映象檔案全名 使用者名稱:口令 dhcp 目錄
以指定的帳號備份linux系統到指定FTP伺服器的指定目錄下的映象檔案。
像:g4l 192.168.0.1 test.lzo user:pass dhcp /img
2。partition image
該軟體易用性比g4l好一些,全圖形介面,帶嚮導。採用它備份一台安裝好的Linux系統,再將映象恢複到其他有著相同硬體設定的電腦上,則可以快速複製一套一模一樣的Linux系統。此軟體速度上比g4l快,建議使用此款軟體作linux系統備份。
可能是由於晚上上網的原因,partition image官方網站一直上不去,沒有下載,在此不繼續做使用討論,以螢幕來看,此款軟體好於g4l。
3.以上兩款軟體都要求有FTP伺服器,以存放備份映像檔案。
**************************************************************************G4L備份CENTOS5系統過程(幾乎和操作GHOST一樣)。
200705
環境:
WINXP+VM+CENTOS5
目標:DISK TO DISK備份CENTOS。
1.1.下載G4L iso。燒錄成光碟片或者用VM載入都行。
1.2. 為CENTOS4。3增加一個虛擬硬碟(目標盤),大小和系統硬碟一樣(母盤)。
1.3。啟動CENTOS4。3,把目標盤分成一個區,建立EXT3檔案系統。不掛載。重啟。
1.4。用G4L ISO啟動系統。用其預設核心系統啟動。
1.5。#sh g4l,啟動G4L系統
選擇“RAW MODE ”
選擇”CLICK N CLONE“ 整盤複製。
選擇母盤 SELECT SOURCE
選擇目標盤 SELECT TARGET
選擇”CLICK N CLONE“
確認。
1.6。完成後,退出G4L,關機,把母盤刪除,目標盤掛載到母盤位置,從硬碟啟動。
順利啟動,檢查,一切和原來一樣。
恢複測試:新加一個虛擬磁碟,用G4L把CENTOS系統從子盤恢複到子子盤。
過程略,和上面一樣。
備忘:
如果目標盤容量》母盤,DISK TO DISK後,目標盤預設能用的容量和母盤一樣大。
解決方案:
-------------------------------
5.1檢查母盤的分區情況並記錄:
# df –h
/dev/sda2 3.4G /
/dev/sda1 99M /boot
/dev/sda5 3.6G /var
/dev/sda6 494M /tmp
5.2檢查母盤的分區表並記錄
# fdisk /dev/sda
Command (m for help ) : p
Disk /dev/sda: 9105M,9105018880 bytes
255 heads,63 sectors/track,1106 cylinders
Units=cylinders of 16065*512=8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 459 3582495 83 Linux
/dev/sda3 460 524 522112+ 82 Linux swap
/dev/sda4 525 1106 4674915 5 Extended
/dev/sda5 525 1041 4152771 83 Linux
/dev/sda6 1042 1106 522081 83 Linux
5.3關機,將母盤下掉,然後將子盤設定成啟動:
5.4順利啟動進入了系統,看來G4L確實能夠解決所擔心的啟動問題。^_^
5.5檢查子盤的分區情況並記錄:
# df –h
/dev/sda2 3.4G /
/dev/sda1 99M /boot
/dev/sda5 3.6G /var
/dev/sda6 494M /tmp
這裡可以看到G4L是按照母盤的分區情況來進行複製的,可是多餘的容量去哪了呢?
5.5查看子系統分區表:
# fdisk /dev/sda
Command (m for help ) : p
Disk /dev/sda: 73.4G,73402398720 bytes
255 heads,63 sectors/track,8924 cylinders
Units=cylinders of 16065*512=8225280 bytes
#### 這裡的73402398720 bytes=8924*16065*512 #######
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 459 3582495 83 Linux
/dev/sda3 460 524 522112+ 82 Linux swap
/dev/sda4 525 1106 4674915 5 Extended
/dev/sda5 525 1041 4152771 83 Linux
/dev/sda6 1042 1106 522081 83 Linux
分區表上顯示的與母盤一致。
嘗試著在最後增加新的分區:
Command (m for help ) : n
No free sectors available
沒有多餘的空間???
Command (m for help ) : v
顯示還有60G左右的空間沒有使用,怎麼可能沒有多餘的空間呢?有點奇怪~~
嘗試著將最後一個分區刪掉,然後新增分區,以為可能會找回丟失的容量
Command (m for help ) : d
Partition number (1-6): 6
Command (m for help ) : n
First cylinder (1042-1106,default 1042):
這裡讓我有點擔心了,剩餘的空間怎麼會是:1042-1106呢?這個空間就是剛才刪除的那個分區的空間啊,
看來什麼地方有點問題。
繼續查看分區表,發現:
/dev/sda4 525 1106 4674915 5 Extended原來是這裡的Extended 已經將最後的結束柱面指定為1106了,只要修改成8924應該就可以找回丟失的容量
,原因找到了,馬上動手。
Command (m for help ) :d (刪除分區)
Partition number (1-5) :4 (這裡的4是sda4,Extended)
Command (m for help ) : p
Disk /dev/sda: 73.4G,73402398720 bytes
255 heads,63 sectors/track,8924 cylinders
Units=cylinders of 16065*512=8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 459 3582495 83 Linux
/dev/sda3 460 524 522112+ 82 Linux swap
Command (m for help ) :n (建立Extended分區)
Command action
e extended
p Primary partion (1-4)
e (輸入e ,建立Extended分區)
Select partion 4
First cylinder (525-8924,default 525):斷行符號(終於看到8924了,^_^)
Last Cylinder or +size or +sizeM or +sizeX (525-8924,default 8924): 斷行符號
Command (m for help ) :p
Disk /dev/sda: 73.4G,73402398720 bytes
255 heads,63 sectors/track,8924 cylinders
Units=cylinders of 16065*512=8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 459 3582495 83 Linux
/dev/sda3 460 524 522112+ 82 Linux swap
/dev/sda4 525 8924 67473000 5 Extended
Command (m for help ) :n(建立原來的sda5分區,注意一定要與原來的起始與結束的柱面一致)
First cylinder (525-8924,default 525):斷行符號
Last Cylinder or +size or +sizeM or +sizeX (525-8924,default 8924): 1041
Command (m for help ) :n(建立原來的sda6分區,同樣注意一定要與原來的起始與結束的柱面一致)
First cylinder (1042-8924,default 1042):斷行符號
Last Cylinder or +size or +sizeM or +sizeX (1042-8924,default 8924): 1106
Command (m for help ) :n(建立多餘空間的分區)
First cylinder (1107-8924,default 1107):斷行符號
Last Cylinder or +size or +sizeM or +sizeX (1107-8924,default 8924):斷行符號 (全部做為新的分區
,也可以繼續進行細分,看個人需要了)
#### 查看所有的分區情況 ####
Command (m for help ) :p
Disk /dev/sda: 73.4G,73402398720 bytes
255 heads,63 sectors/track,8924 cylinders
Units=cylinders of 16065*512=8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 459 3582495 83 Linux
/dev/sda3 460 524 522112+ 82 Linux swap
/dev/sda4 525 8924 67473000 5 Extended
/dev/sda5 525 1041 4152771 83 Linux
/dev/sda6 1042 1106 522081 83 Linux
/dev/sda7 1107 8924 62798053+ 83 Linux
注意對應的Blocks的大小是否與母盤一致!!
Command (m for help ) :w (儲存並退出)
5.6建立新分區的檔案系統:
mkfs –t ext3 /dev/sda7 (小心操作,一定要注意是不是你所要建立的分區)
5.7建立新分區卷標:
tune2fs –L/store /dev/sda7 (卷標自己根據需要定)
5.8載入新分區
mkdir /store
mount –t ext3 /dev/sda7 /store
出處:http://blog.csdn.net/cai066/archive/2007/10/12/1821112.aspx