怎么使用dd,netcat和ssh隧道设置磁盘克隆?

我想在Linux上通过ssh加密通道将主机A中的netcat与使用dd重新映像的磁盘(从主机A复制到B)。

我应该在两端输入什么命令?

最佳答案

从源复制到目标运行sshd的目标:

dd if=/dev/sda " gzip | ssh root@target "gzip -d | dd of=/dev/sda"

当目标未运行sshd时,通过sshd_host从源复制到目标。

  • 目标: nc -l -p 62222 | dd of=/dev/sda bs=$((16 * 1024 * 1024))

  • 来源: ssh -L 62222:target:62222 sshd_host &

  • 来源: dd if=/dev/sda | nc -w 3 localhost 62222

dd - if = 是来源, of = 是目的地, bs = 是块尺寸。不同的块大小可以提高性能。 16通常是一个相当合理的起点。您还可以使用 count = 来指示要复制的块数。

nc - -p 表示用于服务的端口。 -l 用于启动服务。 -w 设置在退出之前等待pipline中数据的时间。

ssh - -L 在远程主机上设置隧道。参数的格式为local_port:target_host:target_port。您的本地程序(nc)连接到local_port,此连接通过隧道传输并连接到target_host上的target_port。

定义的选项只是用于此的选项。请查看手册页以获取更多详细信息。

一些注意事项

  • 如果您在LAN以外的任何地方执行此操作,我建议使用gzip或compress压缩数据流。 Bzip2也可以工作,但需要更多的CPU时间。第一个有一个使用示例。

  • 如果未安装源分区或以只读方式挂载,则更好。如果不是,您将需要fsck目标图像。

  • 除非其中一台机器有netcat而不是ssh,否则这里不需要netcat。那个案子看起来像是:

  • source machine dd -> nc -> ssh -> ssh tunnel -> sshd server -> nc on target -> dd

  • 如果源和目标的大小相同,则

  • dd效果最佳。如果不是,目标必须是2中的较大者。

  • 如果您使用的是ext2 / 3或xfs,则dump(或xfsdump)和恢复可能是更好的选择。它不会处理启动扇区,但是当目标和源的大小不同时它会起作用。

品略图书馆 http://www.pinlue.com/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值