1. 程式人生 > >使用dd實現跨主機資料遷移

使用dd實現跨主機資料遷移

dd遷移方案:(注意新建虛擬機器的時候要和物理機的磁碟、記憶體等大小一致)

一、物理機和虛擬機器分別用對應版的livecd啟動。

二、在物理機和虛擬機器上分別關閉防火牆和開啟sshd服務

1.關閉防火牆 systemctl stop firewalld.service#停止firewall 或用service iptables stop 每個版本的linux命令不同

2.開啟sshd服務 service sshd start 每個版本的linux的命令不同

3.分別設定物理機和虛擬機器的root密碼。

三、連通後,在物理機上使用以下命令

1.直接將磁碟遠端copy過去(注意雙引號不能丟)
[
[email protected]
imageiso]# md5sum virtio-win-1.7.3.iso f2a9ff2cd31d0364b3d65888e1bc52ff virtio-win-1.7.3.iso [[email protected] imageiso]# dd if=virtio-win-1.7.3.iso bs=1M | ssh 10.202.131.33 "dd of=/tmp/d" [[email protected]-03C020FE tmp]# md5sum d f2a9ff2cd31d0364b3d65888e1bc52ff d
2.將磁碟作為 .img
檔案copy到指定的儲存目錄 dd if=/dev/sdx | ssh <Target Host Ip> “dd of=/storage/cfs/<StorageUuid>/<targetName>.img//將磁碟作為 .img檔案copy到指定的儲存目錄,
3.先在虛擬機器上 nc -l 7000|dd of=/dev/xvda 然後在物理機上 dd if=/dev/xvda |nc <虛擬機器ip地址> 7000 注意監聽的埠號要一致。

確定後輸入Target Host 的密碼,即可開始dd遷移

四、檢視遷移進度

1.通過另一個shell用以下命令檢視遷移進度:

watch -n 30 kill -USR1 `pidof dd`

注意事項:

1.一定要先開啟遠端主機的sshd 和關閉防火牆

2.用第一種方法的時候,ssh時如果密碼輸入錯了 ,在主機上 vi /root/.ssh/know_hosts 裡面的內容註釋掉 重新dd,會生成新的公鑰。