克隆是通过使用强大的rsync命令行工具创建实时Linux服务器的精确副本的细致过程,rsync是一种高效的文件同步和传输工具。一般情况下,克隆需要使用两个服务器实例:源服务器(用作要克隆的服务器)和目标服务器(实际克隆过程在其中发生)。
通过使用rsync命令,可以完成从源服务器到目标服务器的所有文件和目录的复杂同步。在本文中,小编主要介绍如何使用Rsync文件同步工具热克隆Linux服务器。
环境设置
这是本文中使用的测试环境,你可以使用rsync命令克隆任何Linux发行版。
- 源服务器 – RHEL 9 – 192.168.2.103
- 目标服务器 – RHEL 9 – 192.168.2.110
源服务器是需要克隆到目标服务器的服务器。
系统要求
在继续之前,请确保已满足以下先决条件:
- 两台服务器需要运行相同版本的操作系统,即RHEL 9.x或RHEL 8.x等。
- 此外,服务器应具有相同的文件系统和相同的硬盘配置,即无论是单磁盘还是RAID配置。
注意:在热克隆之前,请确保禁用所有涉及传送或写入数据的服务,例如数据库、邮件服务等。
在Linux中安装Rsync
为了成功克隆,两台服务器上都需要存在rsync命令行工具,该工具将用于将源服务器镜像到目标服务器并同步两个系统之间的所有差异。值得庆幸的是,当前Linux系统已经预装了rsync ,可以通过运行以下命令来检查安装的rsync版本:
$ rsync --version
如果要查看有关rsync的其它信息,请执行以下rpm命令或dpkg-query命令:
$ rpm -qi rsync [RHEL/CentOS/Fedora和Rocky/AlmaLinux] $ dpkg-query --status rsync [Debian、Ubuntu和Mint]
如果rsync丢失,请使用默认的包管理器将其安装在系统上,命令如下:
$ sudo apt install rsync [Debian、Ubuntu 和 Mint] $ sudo yum install rsync [RHEL/CentOS/Fedora和Rocky/AlmaLinux] $ sudo emerge -a sys-apps/rsync [Gentoo Linux] $ sudo apk add rsync [Alpine Linux] $ sudo pacman -S rsync [Arch Linux] $ sudo zypper install rsync [OpenSUSE]
配置源Linux服务器
你可能希望从克隆中排除某些目录和文件,因为它们要么已在目标服务器中可用,要么是自动生成的。其中包括/boot
、/tmp
和/dev
目录。因此,创建一个排除文件/root/exclude-files.txt
并添加以下条目:
/boot /dev /tmp /sys /proc /backup /etc/fstab /etc/mtab /etc/mdadm.conf /etc/sysconfig/network*
保存并退出配置文件。
克隆Linux服务器
一切设置完毕后,继续使用以下命令将你的服务器同步到远程或目标服务器:
$ sudo rsync -vPa -e 'ssh -o StrictHostKeyChecking=no' --exclude-from=/root/exclude-files.txt / REMOTE-IP:/
该命令将同步从源服务器到目标服务器的所有内容,同时排除你之前定义的文件和目录。请务必将REMOTE-IP:
选项替换为你自己的目标服务器IP地址。
下面分解一下命令及其组件:
sudo
:这是一个允许以管理权限执行命令的命令。rsync
:rsync命令本身用于文件同步和传输。-v
:此选项启用详细输出,提供有关同步进度的详细信息。-P
–:此选项相当于--progress
并启用部分文件传输,并在同步期间显示每个文件的进度。-a
:此选项代表“归档模式”,是保留重要文件属性(例如权限、所有权、时间戳等)的简写。-e
:此选项指定用于同步的远程shell。-o StrictHostKeyChecking=no
:禁用严格的主机密钥检查,这意味着如果远程服务器的主机密钥未知,SSH连接将不会提示确认。--exclude-from=/root/exclude-files.txt
:此选项允许你指定包含要从同步中排除的模式或路径列表的文件。/
:正斜杠表示将克隆的源目录或根目录。REMOTE-IP:/
:指定目标服务器的IP地址或主机名,后跟冒号和正斜杠,它指示将复制克隆文件的远程目录。
同步完成后,重新启动目标系统以重新加载更改,然后使用源服务器的凭据启动到服务器。并且可以随意停用旧服务器,因为你现在拥有它的镜像副本。
总结
简单来说,Rsync是一个强大的用于文件同步和备份的工具。它可以在本地系统之间同步文件,也可以在本地系统和远程服务器之间同步文件。通过rsync,你可以实现Linux服务器之间的文件克隆。请注意:
- 使用rsync进行服务器之间的文件同步时,确保网络连接可靠,并且在执行命令前进行备份,以防意外情况发生。
- 使用合适的选项,以便根据你的需求进行同步,避免不必要的文件覆盖或数据丢失。
此外,使用rsync时,请务必小心并确保你了解你正在执行的操作。不正确的命令可能导致数据丢失或其它意外结果。