[分享] 虛擬硬碟;備份;rdiff-backup

看板Linux作者 (飛騰)時間17年前 (2008/08/14 06:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
查了老半天的網路解決了一個小問題,希望跟有需要的人分享,野 人獻曝一下。我使用的系統是 Debian unstable ,至於備份主機 的系統我實在不清楚,不過最可能是 windows xp professional 我使用的備份程式是rdiff-backup,雖然還沒有回復資料過,不過 他的設計很好,有需要的人可以參考參考。可以回復特定時間點前 的資料,指令列也滿簡單的。 一、建立虛擬硬碟以備份 因為實驗室的備份系統是架在windows上面的,所以用起來不方便, 大小寫,還有一些連結的問題都很麻煩,最簡單的方式大概是建立 一個虛擬硬碟來存檔案。查過一些rdiff-backup使用的網站,沒有 直接解決問題的方式,所以我就用這個方法。 1)把備份系統mount上來(登錄是採用windows Active Directory 所 以username有點奇怪) smbmount //xxx.xxx.xxx.xxx/ag-simons /mnt/agsimons/ -o username="mpg-em\xxx" cd /mnt/agsimons 2)建立一個虛擬硬碟檔案,不如就先來個40g吧,這也是我現在工作 用的硬碟的大小,不過時間還滿長的,好像最快速度被網路卡限 制住了: dd if=/dev/zero of=virtualDiskImage count=40960 bs=1M 3)格式化成ext3好了 /sbin/mkfs -t ext3 virtualDiskImage 4)用root來mount它,這樣就有一個40g的ext3檔案系統了 # mount -o loop virtualDiskImage /mnt/vDisk 4)改個權限 # chown phyton.phyton /mnt/vDisk 5)使用 rdiff-backup,以後用同一個指令就可以只更新變更的檔案 rdiff-backup ~/work/ /mnt/vDisk/work-rdiff-backup/ 二、虛擬硬碟擴增容量的方法 因為上述方法會碰到一個問題,要是資料增加,虛擬硬碟不夠大要如 何呢?我查了一下,整理出這個方法: 1) 先搞一個檔案來玩 dd if=/dev/zero of=disk bs=1M count=10 2) 格式化成ext3 /sbin/mkfs -t ext3 disk 3) 作一個mount point mkdir aa 4) 用root mount 它 現在就有一個 10M 的虛擬硬碟 # mount -o loop disk aa 5) 寫點東西進去 # mkdir aa/thisIsSomething 6) 卸載 # umount aa 7) 加容量 10M 這個不能直接用 dd if=/dev/zero of=disk bs=1M count=10 conv=notrunc oflag=append 8) 把 journal 砍了 /sbin/tune2fs -O ^has_journal disk 9) resize /sbin/e2fsck -f disk /sbin/resize2fs disk 10) 加回 journal /sbin/tune2fs -j disk 11) 用root mount 它 現在就有一個 20M 的虛擬硬碟 # mount -o loop disk aa 12) 資料沒有遺失 # ls -al aa 三、附錄 有興趣的人可以玩一玩,虛擬硬碟的好處是可以加密,copy的時候也 可以整個檔案複製走,也可以選擇喜歡的檔案系統來用。算是在 windows 備份主機下求生的方法吧:P 1)建立虛擬硬碟,加密等等可以再詳細參考 http://freshmeat.net/articles/view/1387/ 2)調整ext3檔案系統大小的方法(硬碟分割區大小調整等等)可以參考 http://www.howtoforge.com/linux_resizing_ext3_partitions_p2 3)dd指令的使用我是參考本板 Storm.bbs@bbs.sayya.org << Re: [問題] dd 指令問題. >> (PTT文章代碼#18HQC300) 4)版權:創用 CC 姓名標示-非商業性-相同方式分享 2.5 台灣 授權條款 http://creativecommons.org/licenses/by-nc-sa/2.5/tw/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 91.3.202.230 ※ 編輯: phyton 來自: 91.3.202.230 (08/14 06:12)
文章代碼(AID): #18erle8i (Linux)