将 Linux 服务器克隆到另一台服务器

将 Linux 服务器克隆到另一台服务器

假设我有两个 Web 服务器(在数据中心中),A 和 B。我无法物理访问任何服务器,只能进行 root ssh 访问。

A 是一台具有旧硬件的旧服务器,但其配置符合我的要求(安全性、设置等),而 B 是一台具有较新硬件的新服务器(与 A 完全不同),并且全新安装了 CentOS(例如)。

将服务器 A 克隆到服务器 B 的最佳方法是什么,以便将我的所有文件、设置、应用程序从 A 移动到 B?

答案1

如果较新的服务器运行相同的操作系统版本,则可以从较新的服务器运行一个复制大多数文件的简单脚本:

#!/bin/bash

# Source
SSHSERVER="[email protected]"
SSHPORT="22"

EXCLUDE="/boot/
/lib/modules/
/etc/modules/
/etc/lilo.conf
/etc/fstab
/etc/hostname
/etc/hosts
/etc/mtab
/etc/shadow
/etc/shadow-
/etc/ssh/
/proc/
/dev/
lost+found/
/etc/network/interfaces
/root/
/sys/
/run/
temp/
tmp/
log/"

printf '%s\n' $EXCLUDE > exclude.txt
rsync -avz --exclude-from=exclude.txt -e "ssh -p $SSHPORT" $SSHSERVER:/ /

我过去曾使用过此脚本复制 Debian 服务器,效果很好,但apt-get install -f有时需要进行一些手动(重新)配置。因此,请谨慎使用,最好先在测试环境中使用。

答案2

迁移,而不是克隆。不同的版本、不同的硬件、不断发展的最佳实践将需要略有不同的配置。

花费一些精力来创建文档和自动化,以便从头开始配置全新的操作系统安装。这可能是一个注释良好的脚本或剧本。使用它来部署。

如果硬件或虚拟机几乎相同,则可能是克隆。复制整个操作系统磁盘并重新 IP。您将继承旧安装的所有怪癖,但它是相同的。

相关内容