使用dd实现跨主机数据迁移

xiaoxiao2021-02-28  15

dd迁移方案:(注意新建虚拟机的时候要和物理机的磁盘、内存等大小一致)

一、物理机和虚拟机分别用对应版的livecd启动。

二、在物理机和虚拟机上分别关闭防火墙和开启sshd服务

1.关闭防火墙 systemctl stop firewalld.service#停止firewall 或用service iptables stop 每个版本的linux命令不同

2.开启sshd服务 service sshd start 每个版本的linux的命令不同

3.分别设置物理机和虚拟机的root密码。

三、连通后,在物理机上使用以下命令

1.直接将磁盘远程copy过去(注意双引号不能丢) [root@localhost imageiso]# md5sum virtio-win-1.7.3.iso f2a9ff2cd31d0364b3d65888e1bc52ff virtio-win-1.7.3.iso [root@localhost imageiso]# dd if=virtio-win-1.7.3.iso bs=1M | ssh 10.202.131.33 "dd of=/tmp/d" [root@i-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,会生成新的公钥。

转载请注明原文地址: https://www.6miu.com/read-2300158.html

最新回复(0)