dd 指令是用來copy檔案,而可以搭配 nc 指令掛載一個tcp port來傳送硬碟內的資料

環境: 

。使用 virtualbox 建立的兩台主機

。來源主機 = 有 CentOS 5.5 x64 系統,而 ip 是 10.10.10.126 

。目的主機 = 空硬碟,使用 linux rescue 救原模式 (有網路功能) 開機,而 ip 是 10.10.10.125

目的:

   我要將來源主機的硬碟內的資料全copy到目的主機裡

設定:

1。先將目的主機用救原模式開機,進入系統後,執行

nc -l -p 30 | dd of=/dev/sda

   意思是只要資料是透過 30 port 過來的都丟到自已的 /dev/sda 硬碟裡去

2。再到來源主機執行

dd if=/dev/sda | nc 10.10.10.125 30

   將 /dev/sda 輸出,丟到 目的主機 10.10.10.125 的 30 port裡

3。另外,在它傳送的過程中,在目的主機上可以 fdisk -l 看到原本的 /dev/sda 無分割partition已變成分割成 /dev/sda1、/dev/sda2、/dev/sda3了

備註: 

也可以在目的主機執行

nc -l -p 30 | dd of=image

只將來源的資料存在一個image 檔案 

結論:

   目的主機開機後,出現 read-only file system 、 journal aborted 等錯誤訊息,我再把它reboot就在開機劃面出現要我 fsck 了,

   所以我想這個用來copy 純資料就好了,別想把它當成還原系統用吧!!!

ref : http://www.howtoforge.com/ghosting-the-machine

最後修改日期: 2011 年 04 月 23 日

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。