通过 SSH 从服务器到服务器进行 DD

通过 SSH 从服务器到服务器进行 DD

可以将一台服务器的 DD 连接到另一台服务器吗?也许通过 SSH?我查看了一下,看到了使用 SSH 从本地到服务器和从服务器到本地的 DD 示例,但是可以从服务器到服务器执行此操作吗?

另一个相关的问题是,Digital Ocean 使用什么软件来创建其服务器的快照,然后可以恢复?

谢谢,

答案1

当然可以,不过有点笨重。你可以这样做:

$ ssh server1 'dd if=/some/file' | ssh server2 'dd of=/new/file/path'

它会起作用。您可以调整两侧的块侧(将bs=1m或其他任何内容传递给两个 dd 命令)以通过一些测试来加快速度。

对 Digital Ocean 一无所知:您可能想问他们,或者如果您认为有人可能知道,可以在这里提出另一个问题。

答案2

比 SSH 更高效的是 netcat,nc因为您不需要加密/解密流的开销。

根据手册,在一侧的端口 12345 上创建一个监听器,并确保它在防火墙中处于打开状态:

nc -l 12345 > filename.out

然后从源服务器提供数据:

nc host.example.com 12345 < filename.in

传输完成后,连接应自动关闭。


回应您对 Bill 的评论,如果您想通过克隆磁盘来创建相同的机器,这通常是从虚拟机外部通过虚拟机管理程序完成的,而不是从操作系统内部完成的。

只要当时没有安装磁盘/分区/卷,上述操作就可以很好地从正在运行的操作系统内部克隆磁盘/分区/卷,而不是使用 /dev/ 中的设备条目,但您不能使用它克隆包含根文件系统的设备。

相关内容