准备工作

本文假设我们至少具有 Linux 的基本知识,知道如何使用 shell、root 用户或者在服务器上设置 sudo 权限的非 root 用户帐户。

对于其他准备工作:

  • 带有网络接口的 Linux。
  • 确保 2 个 linux 具有相同的存储大小。
  • 两个 linux 都已使用救援操作系统或者其他实时操作系统启动,因此我们不能使用磁盘中已安装的操作系统启动。

我们将在示例中使用:

来源

服务器-A : /dev/sda

目的地

服务器-B : /dev/sda

警告:确保以下所有命令都在救援操作系统下执行。

如何使用 dd 通过网络克隆 Linux 磁盘分区

在本教程中,我们将介绍如何通过网络克隆 Linux 硬盘分区,在本教程中,我们将使用 dd 命令。
对于不知道 dd 是什么的人来说,它是 Unix 和类 Unix 操作系统的命令行实用程序,其主要目的是转换和复制文件。

克隆 Linux 硬盘的优势在于我们不需要重新安装和重新配置应用程序,尤其是在我们用作服务器的 Linux 中。

1. 使用 dd 通过 SSH 克隆磁盘分区

使用 dd over ssh 从服务器 A 到服务器 B 克隆整个 Linux 磁盘分区。
假设我们使用 root 用户。

在服务器 A(源)中运行此命令:

# dd bs=16M if=/dev/sda | ssh root@serverB "dd bs=16M of=/dev/sda"

如果我们只想克隆某个分区,只需像下面这些命令一样选择要克隆的分区,例如,我们将克隆 /dev/sda3 分区

在服务器 A(源)中运行此命令:

# dd bs=16M if=/dev/sda3 | ssh root@serverB "dd bs=16M of=/dev/sda3"

总结

我们可以选择上述两种方法,当我们需要从具有相同磁盘存储空间的不同数据中心迁移时,通过网络克隆磁盘分区非常有用。

www. On IT Road .com

2. 使用 dd over telnet 和 bzip 压缩克隆磁盘分区

使用 telnet 和 bzip 进行克隆具有减少克隆时间的优势,但请确保使用安全网络。

假设 server-B 的 IP 地址为 192.168.100.2.
在服务器 B(目标)中运行此命令:

# nc -l -p 19000 | bzip2 -d | dd bs=16M of=/dev/sda

在服务器 A(源)中运行此命令:

# dd bs=16M if=/dev/sda | bzip2 -c | nc 192.168.100.2 19000

基于上面的这 2 个命令,我们将使用端口 19000 连接到服务器 B。

日期:2020-09-17 00:13:17 来源:oir作者:oir