克隆完整的 XEN LVM 服务器,包括所有 VM

克隆完整的 XEN LVM 服务器,包括所有 VM

我订购了一台更快的 Hetzner 根服务器,将我的 XEN 机器以及所有卷组、lvm 卷和虚拟机移至那里。

我已经开始在那里创建相同的 xen 虚拟机,复制配置文件和用户数据并安装与旧虚拟机中相同的软件包,但那就是很多工作

有没有一种简单的方法可以真正实现复制 一切在基本根级别上,包括raid 1 上的所有分区,这样我就可以获得旧服务器的精确副本?

然后我只需要从根控制台调整 IP 就可以了

答案1

xenA:您以前的服务器

xenB:您的新服务器

第 1 步:使用实时 Linux 发行版启动两台服务器(Ubuntu、Fedaora、CentOS)

步骤2:在新服务器中启动 ssh 服务

Step3:在xenA中执行以下命令

dd if=/dev/sdX bs=16M | pv |  ssh user@xenB dd of=/dev/sdX

其中 X 表示连接到服务器的本地磁盘。您可以使用“lsblk”命令找到它们。

注:pv用于监控数据。

第四步:修改IP地址以及其他所有更改的参数。

使用这种方法,您无需担心分区、lvm 卷和上面的文件系统。

希望这个方法能解决您的问题。

1. 步骤:通过使用 linux single 更改引导参数:“vga=785splash”,将引导引导至单模式。您可以从下面的链接找到屏幕截图。

https://support.citrix.com/article/CTX116019#Resetting%20Password%20in%20XenServer%20Versions%205.0%20and%20Later

  1. 步骤:在您的主机上以单用户模式启动网络服务,并将确切的块设备传输到另一台机器。
 dd if=/dev/sda bs=16M |  ssh user@backuphost dd of=backup.img 

您可以在下面找到有关压缩的详细信息:

有多种方法可以实现这一目标。

  1. dd 和 netcat警告:此方法会暴露您在互联网上交易的时间消耗数据。

如果您能够使用单用户或另一个实时映像启动系统,您可以使用 dd 方法来获取服务器的精确副本,必须停止所有服务和虚拟机以确保数据完整性:

  • 通过执行以下命令来准备备份主机(如果您正在使用远程备份主机以避免 ssh 超时,请使用 screen 或 tmux 或使用命令来 fork 后台)
nc -l RANDOMPORTNUMBER|bzip2 -d|dd bs=16M of=backup.img
  • 在您的虚拟机主机上,您可以执行以下命令以克隆您的确切主机
dd bs=16M if=/dev/sda|bzip2 -c|nc ipaddressofbackuphost RANDOMPORTNUMBER
  1. 焦油和 ssh我个人更喜欢这种方法,而不是在需要时备份我的远程计算机。此方法不会直接将您的数据公开到公共网络,因为它使用 ssh。

我更喜欢这种方法的另一个原因是,备份将在文件级别完成,不需要备份的空白空间和块设备被排除在外,这样我们可以节省存储和流量。既然你声明你想要一个精确的克隆,我不得不谈论第一种方法。

请不要忘记根据您的发行版和应用程序修改排除的挂载点。您必须考虑是否按存储和流量收费。

cd / # THIS CD IS IMPORTANT THE FOLLOWING LONG COMMAND IS RUN FROM /
tar -cvpzf backup.tar.gz \
--exclude=/backup.tar.gz \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/run \ 
--exclude=/media \ 
--exclude=/var/log \
--exclude=/var/cache/apt/archives \
--exclude=/usr/src/linux-headers* \ 
--exclude=/home/*/.gvfs \
--exclude=/home/*/.cache \ 
--exclude=/home/*/.local/share/Trash / | ssh <backuphost> "( cat > ssh_backup.tar.gz )"

您可以在这里找到有关该主题的更多详细信息:

相关内容