Linux主从配置详解
Linux主从配置是一种常见的高可用性解决方案,通过将多台服务器组成主从架构,实现数据同步、负载均衡和故障转移,本文将详细介绍Linux环境下主从配置的原理、步骤及注意事项,帮助读者构建稳定可靠的服务环境。

主从配置的基本原理
主从配置的核心思想是将主服务器(Master)的数据实时或定时同步到从服务器(Slave),从而实现数据的冗余备份和读写分离,主服务器负责处理写操作,从服务器则承担读操作,既提高了系统的并发处理能力,又确保了数据的安全性,常见的应用场景包括数据库主从复制(如MySQL、PostgreSQL)、文件系统同步(如rsync+inotify)以及负载均衡集群(如Nginx+Keepalived)。
MySQL数据库主从复制配置
MySQL主从复制是主从配置的经典案例,其基于二进制日志(Binlog)实现数据同步,以下是具体配置步骤:
-
主服务器配置
- 编辑MySQL配置文件
/etc/my.cnf,在[mysqld]段落中添加以下内容:server-id = 1 log-bin = mysql-bin binlog-do-db = test_db # 指定需要同步的数据库
- 重启MySQL服务后,登录MySQL创建用于复制的用户并授权:
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
- 记录当前二进制日志文件名和位置:
SHOW MASTER STATUS;
- 编辑MySQL配置文件
-
从服务器配置

- 编辑从服务器
/etc/my.cnf,设置server-id(需与主服务器不同,如server-id = 2),并关闭log-bin(可选)。 - 登录MySQL,执行以下命令关联主服务器:
CHANGE REPLICATION SOURCE TO SOURCE_HOST='主服务器IP', SOURCE_USER='repl', SOURCE_PASSWORD='password', SOURCE_LOG_FILE='mysql-bin.000001', SOURCE_LOG_POS=154;
- 启动复制线程:
START REPLICA;
- 验证复制状态:
SHOW REPLICA STATUS\G;
- 编辑从服务器
Nginx负载均衡主从配置
Nginx作为反向代理服务器,可通过主从配置实现负载均衡和高可用性,以下是基于Keepalived的VIP(虚拟IP)漂移方案:
-
主从服务器Nginx配置
- 在主从服务器上安装Nginx,并配置相同的
upstream模块指向后端服务:upstream backend { server 192.168.1.10:8080; server 192.168.1.11:8080; } server { listen 80; location / { proxy_pass http://backend; } }
- 在主从服务器上安装Nginx,并配置相同的
-
Keepalived配置
- 主服务器
/etc/keepalived/keepalived.conf:vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 virtual_ipaddress { 192.168.1.100/24 } } - 从服务器配置类似,但需将
state设为BACKUP,priority设为较低值(如90)。 - 启动Keepalived服务后,通过
ip addr查看VIP是否绑定在主服务器上。
- 主服务器
文件同步主从配置(rsync+inotify)
对于文件系统的主从同步,rsync结合inotify可实现实时数据备份:

-
主服务器配置
- 安装rsync和inotify-tools:
yum install rsync inotify-tools -y
- 创建rsync配置文件
/etc/rsyncd.conf:[backup] path = /data/backup auth users = backup secrets file = /etc/rsync.pass
- 设置密码文件并授权:
echo "backup:password" > /etc/rsync.pass chmod 600 /etc/rsync.pass
- 启动rsync服务:
rsync --daemon。
- 安装rsync和inotify-tools:
-
从服务器配置
- 安装rsync后,执行同步命令:
rsync -avz --password-file=/etc/rsync.pass backup@主服务器IP::backup /data/backup
- 编写inotify脚本监控主服务器目录变化并触发同步:
inotifywait -mrq /data/backup --format '%w%f' -e create,delete,modify | xargs -n1 rsync -avz --password-file=/etc/rsync.pass backup@主服务器IP::backup
- 安装rsync后,执行同步命令:
主从配置的注意事项
- 网络稳定性:主从服务器需保证网络连通性,建议在同一局域网内或通过专线连接。
- 数据一致性:主从同步延迟可能导致数据不一致,可通过调整同步参数(如MySQL的
sync_binlog)优化。 - 安全性:限制复制用户的权限,使用SSH或VPN加密传输数据。
- 监控与维护:定期检查同步状态,及时处理错误日志,避免主从长期中断。
Linux主从配置通过合理分工和冗余设计,显著提升了系统的可靠性和性能,无论是数据库、Web服务还是文件系统,主从架构都能有效应对单点故障问题,在实际部署中,需根据业务需求选择合适的同步方案,并结合监控工具确保主从链路的稳定运行,通过本文的指导,读者可逐步掌握主从配置的核心技术,为构建高可用Linux环境打下坚实基础。