使用dd實現跨主機資料遷移
阿新 • • 發佈:2018-12-18
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,會生成新的公鑰。