將 Debian 備份至影像檔 - 窮人版

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

將 Debian 備份至影像檔 - 窮人版

文章Tetralet » 週五 8月 20, 2004 11:54 pm

大家看到『將 Debian GNU/Linux 備份至影像檔』,第一個想到的大概是:『Norton Ghost』吧?
但可惜的是,『Norton Ghost』是商業軟體,
且它只支援 ext2/ext3,
在運用上總有其不便之處。

而在 Linux 上也提供了不少可以用來備份硬碟的軟體,如:partimage 等等。
不過在此所提供的方法則比較單純:用 tar 來備份!

假設您的 Linux 是安裝在 /dev/hda1 上,而您的 /dev/hdb1 則準備了足夠的空間來擺放這個 Image,
那麼,請放入 Debian GNU/Linux Woody 3.0 的第一片光碟,
使用 bf24 參數開機。

在開機完畢後,
按下 <Alt><F2> 來切換至第二個 Console,
使用以下指令將 /dev/hda1 和 /dev/hdb1 給掛載起來:
代碼: 選擇全部
# 建立必要的掛載目錄:
cd /mnt
mkdir a
mkdir b

# 將 /dev/hda1 和 /dev/hdb1 給掛載起來
mount -t ext3 /dev/hda1 /mnt/a
mount -t ext3 /dev/hdb1 /mnt/b


由於 tar 指令已包含在 Debian GNU/Linux Woody 3.0 的安裝程式裡,
所以我們直接使用 tar 將 /dev/hda1 給整個備份起來吧:
代碼: 選擇全部
# 注意 -C 參數的用法。
# 注意,在 Debian GNU/Linux Woody 3.0 的安裝程式裡,tar 並不支援 -z 參數。
tar cvf /mnt/b/LinuxBackup.tar -C /mnt/a ./


等 tar 指令執行完畢之後,我們就有了 /mnt/b/LinuxBackup.tar 這個備份檔了。
不過在結束之前,建議務必要執行 sync 和 umounbt 指令:
代碼: 選擇全部
sync
umount /mnt/a
umount /mnt/b


好囉,任務完成,可以重新啟動了!
代碼: 選擇全部
reboot


我們所得到的這個 LinuxBackup.tar 就是本文所說的 Linux 影像檔
它可以使用 gzip 給壓縮起來,
也可以將其燒錄至光碟片中,
或者是放到網路上去。
而還原的方式也因而有種種不同的做法。
不過其實原理都是大同小異的...



好了。現在我們要把這個 LinuxBackup.tar 給還原至另外一個磁碟分割區去。
一樣,請放入 Debian GNU/Linux Woody 3.0 的第一片光碟,
使用 bf24 參數開機。

在開機完畢後,
按下 <Alt><F2> 來切換至第二個 Console,
使用以下指令將新的 /dev/hda1 及包含了 LinuxBackup.tar 的 /dev/hdb1 給掛載起來:
代碼: 選擇全部
# 建立必要的掛載目錄:
cd /mnt
mkdir a
mkdir b

# 先建立 /dev/hda1 的檔案系統(亦即格式化),在此是將其格式化為 ext3。
mke2fs -j /dev/hda1

# 將 /dev/hda1 和 /dev/hdb1 給掛載起來
mount -t ext3 /dev/hda1 /mnt/a
mount -t ext3 /dev/hdb1 /mnt/b


然後,把這個 LinuxBackup.tar 給還原回去吧:
代碼: 選擇全部
tar xvf /mnt/b/LinuxBackup.tar -C /mnt/a


之後,最重要的,就是要重建 LILO/GRUB:
代碼: 選擇全部
# 使用 chroot 將 / 切換到 /mnt/a 去
chroot /mnt/a

# 重建 LILO 吧!(LILO 的設定及使用方式請參考其說明文件。)
lilo -v -v

# 或是重建 GRUB:(GRUB 的設定及使用方式請參考其說明文件。)
grub-install /dev/hda

# 如果有必要,請務必記得修改 /etc/fstab 裡的 / 之掛載位置及其格式,如 ext3 等。
vi /etc/fstab

# 跳離 chroot
exit


一樣,在結束之前,建議執行 sync 和 umounbt 指令:
代碼: 選擇全部
sync
umount /mnt/a
umount /mnt/b


好,搞定了,重開機吧!
代碼: 選擇全部
reboot


當然囉,
如果您的 /homt /usr /var... 是個別 mount 在別的磁碟分割區,
那麼以上的步驟可能會更加繁複一點...
(在此狀況下,就算是使用 Norton Ghost 也會遇到相同的困擾。)


使用 tar 來製作 Linux 的 Image 檔案有數個好處:

1. tar 不會在乎 / 所處的是哪一種格式的分割區,
 因為它備份的是『檔案』,而不是整個磁碟資訊。
 所以它可以 備份/還原 ext2/ext3/jfs/reiserfs/xfs/vfat 磁區裡的檔案,
 且可以在其中自由轉換。

2. tar 指令普遍存在各種 Linux 安裝光碟裡。
 所以並不必為此準備專用的光碟或磁碟片。

3. tar『據說』是使用 block 為單位來進行的,
 所以其速度會比 cp、dd 等指令快上許多。
 而拜 Linux 之賜,其速度當然也會比在 16 位元的 MS DOS 下跑的 Norton Ghost 快上許多!


警告:在這個 LinuxBackup.tar 裡可是包含了您的 Linux 的所有資訊,當然也包括了 root 的密碼。所以該 Image 檔案若外流很可能會對您的 Linux 之安全上造成嚴重傷害。


註:在 Debian GNU/Linux Sarge 3.1 的安裝程式中,tar 並不支援 -c 參數,所以是無法拿它來製作 Image 檔案的。不過,它卻支援了 -z 參數,所以拿它來還原 *.tar.gz 的備份檔是沒有問題的。

個人已針對這個問題進行了 Bug Report,希望未來,Debian GNU/Linux Sarge 3.1 的安裝程式中的 tar 能夠支援 -c 參數。



而如果 Kernel 能夠正確驅動如:磁碟等重要電腦元件,
並能設定好 LILO/GRUB 及 /etc/fstab,
那麼同一個 Debian Image 檔案是可以任意轉用於其它的機器上的,
像 Konppix 就是如此。

而個人就是使用這個方式,
把 VMware 裡的 Debian 轉存至我的 PC 及 Notebook 上,
但 VMware 和我的 PC 及 Notebook 在硬體上可以說是南轅北轍,
可是個人在 PC 及 Notebook 上使用 VMware 所作出來的 Image 可以說是沒遇上什麼問題呢!

所以如果有備份 Linux 整個系統之需要時,
也不妨考慮採用這個方案哦!


順便慶祝一下個人的灌水第 1800 篇。嘻∼
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

Re: 將 Debian 備份至影像檔 - 窮人版

文章wiz » 週六 8月 21, 2004 10:00 am

補充一下:
如果沒有空間大小的顧慮,可以用rsync
wiz
可愛的小學生
可愛的小學生
 
文章: 62
註冊時間: 週日 11月 24, 2002 7:57 pm

re:將 Debian 備份至影像檔 - 窮人版

文章訪客 » 週六 8月 21, 2004 10:47 am

wiz 寫:補充一下:
如果沒有空間大小的顧慮,可以用rsync

哦 方便的話能請wiz大介紹一下用rsync做備份的方式嗎
先謝謝啦 :finger1:
訪客
 

re:將 Debian 備份至影像檔 - 窮人版

文章阿信 » 週六 8月 21, 2004 4:02 pm

小弟很久沒用 tar 做備份了耶,也都是用 rsync 來做... :-)
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:將 Debian 備份至影像檔 - 窮人版

文章小狐狸 » 週日 8月 22, 2004 11:03 am

有空的話分享一下囉~ :finger1:

期待唷~ ;-)
自由是 狐狸 的 天性 !
圖檔圖檔我的小站
圖檔圖檔
頭像
小狐狸
版主
版主
 
文章: 541
註冊時間: 週四 4月 17, 2003 10:21 pm

re:將 Debian 備份至影像檔 - 窮人版

文章ks_sky » 週一 8月 23, 2004 1:15 am

我用google查到了ols3的這篇 http://203.68.102.40/techdoc/rsync.htm ,rsync它似較長於網路備份,若想應用單機上一個partition備份到另一個partition,不知好不好用?會不會牛刀小用?
ks_sky
可愛的小學生
可愛的小學生
 
文章: 63
註冊時間: 週四 4月 03, 2003 10:32 am

re:將 Debian 備份至影像檔 - 窮人版

文章Tetralet » 週一 8月 23, 2004 11:33 am

在個人印象中,
rsync 似乎比較多是應用在「異地備援」上的...

ks_sky 寫:若想應用單機上一個partition備份到另一個partition,不知好不好用?會不會牛刀小用?

嗯... 只是單純備份,
用 tar / cp 就夠用了。

不過若要進行同步,
則可能要做 Disk Mirror (RAID 1) 之類的...

而使用 rsync 來進行本機同步應該也是可行的。
不過不知 rsync 有無提供即時同步這個功能?
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

re:將 Debian 備份至影像檔 - 窮人版

文章阿信 » 週一 8月 23, 2004 4:50 pm

raid 1 不能算是備份的機制.

rsync 用在本地端搭配 --delete 可以同步更新目錄下的所有資料,很值得推薦.

至於及時同步更新的話,請用 raid 1 + 其它的備分媒體, raid 並非是用來備份的,主要是讓硬碟壞掉的情況下,系統不至於停擺
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:將 Debian 備份至影像檔 - 窮人版

文章yucon » 週一 8月 23, 2004 5:18 pm

硬體白痴問個蠢問題
所謂raid是指磁碟陣列卡嗎?
yucon
可愛的小學生
可愛的小學生
 
文章: 78
註冊時間: 週日 6月 20, 2004 12:12 am

re:將 Debian 備份至影像檔 - 窮人版

文章Tetralet » 週一 8月 23, 2004 5:21 pm

記得沒錯的話,
rsync 大多是寫在 crontab 裡,定期執行的,
(可能是 1 天 1 次)
所以算是一種非即時備份的做法。


而 Raid 1 是一種磁碟(或分割區)的 Mirror,
它是 bite to bite 那種完全的即時複製,
所以它會要求 Mirror 兩者的磁碟(或分割區)大小必須要一模一樣。

也就是說,它所達到的是即時的,完全的複製。
務求在硬碟不幸損壞的同時,
可以在另一個硬碟裡取回完全一模一樣的資料。
連資料是分散放在哪些磁區裡全都必須要一模一樣。

阿信 寫:raid 並非是用來備份的,主要是讓硬碟壞掉的情況下,系統不至於停擺

個人仍是認為,
Raid 1 為資料備份的手法之一,
只是其要求及目的可能不盡相同罷了...

如果備份是專指「完整備份」、「增量備份」、「差異備份」等等這類備份方式,
那麼 Raid 的確不能算是備份方式之一,
因為 Raid 無法取回數日之前的資料。
它做的是即時的 Clone。
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

re:將 Debian 備份至影像檔 - 窮人版

文章Tetralet » 週一 8月 23, 2004 5:30 pm

yucon 寫:硬體白痴問個蠢問題
所謂raid是指磁碟陣列卡嗎?

好像不是...

Raid 應該算是一種規格吧...?
(應該怎麼稱呼才正確呢?)

在實作方面,
也有用軟體實作出 Raid 的呀!
像是 MS Windows NT/2000/2003 及 Linux 上都可以做。

而 Raid Card 是磁碟陣列卡沒錯。
以前有看過那種「磁碟櫃」,
裡面就是磁碟陣列卡 + 一大堆的硬碟...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

re:將 Debian 備份至影像檔 - 窮人版

文章阿信 » 週一 8月 23, 2004 7:32 pm

bite to bite????
typo?
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:將 Debian 備份至影像檔 - 窮人版

文章Tetralet » 週二 8月 24, 2004 10:12 am

我在此只是強調 RAID 1 是完全的 Clone...
阿信 寫:bite to bite????
typo?

為什麼阿信兄會認為這是筆誤呢?
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

re:將 Debian 備份至影像檔 - 窮人版

文章阿信 » 週二 8月 24, 2004 3:34 pm

Tetralet 寫:我在此只是強調 RAID 1 是完全的 Clone...
阿信 寫:bite to bite????
typo?

為什麼阿信兄會認為這是筆誤呢?


hi T兄
小弟以為是 byte to byte,不曉得 bite to bite 是什麼意思,或許是我英文很破吧...
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:將 Debian 備份至影像檔 - 窮人版

文章Tetralet » 週二 8月 24, 2004 4:53 pm

阿信 寫:hi T兄
小弟以為是 byte to byte,不曉得 bite to bite 是什麼意思,或許是我英文很破吧...

呀!那是我亂亂寫的...
我的英文也好不到哪裡去...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

下一頁

回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron