温馨提示×

ubuntu ftpserver如何容灾

小樊
58
2026-09-23 20:19:05
栏目: 智能运维

在 Ubuntu 上部署 FTP 服务器(常见为 vsftpd / proftpd / pure-ftpd)时,“容灾”通常指数据不丢、服务可恢复、故障可切换。下面按实用层级给你一套可落地的方案。


一、最基础:数据备份(必须做)

FTP 本质就是文件服务,数据备份是容灾底线。

1. 定期备份 FTP 目录

rsync -avz /srv/ftp/ backup@backup-server:/backup/ftp/

或 cron 每日备份:

0 2 * * * rsync -a /srv/ftp /backup/ftp_$(date +%F)

2. 备份配置文件

/etc/vsftpd.conf
/etc/passwd(若用系统用户)
/etc/ssl/(证书)

二、进阶:异地 / 云备份(防机房级灾难)

方案示例

  • rsync → 另一台服务器
  • rclone → 对象存储(S3 / OSS / MinIO)
  • Borg / Restic(支持加密 + 增量)
rclone sync /srv/ftp remote:ftp-backup

✅ 推荐:Restic + 定时快照


三、服务级容灾:主备 FTP 服务器

架构

FTP Client
    |
LoadBalancer / VIP
    |
├─ FTP Primary (Ubuntu)
└─ FTP Standby (Ubuntu)

数据同步方式

方案 A:实时文件同步(推荐)

lsyncd + rsync

或

drbd(块级,较重)

方案 B:共享存储

  • NFS
  • CephFS
  • 云盘(EBS / 云硬盘)

⚠️ FTP 对延迟敏感,NFS 需注意性能。


四、高可用(VIP / 故障自动切换)

使用 Keepalived

apt install keepalived

示例(简化):

  • Master: 192.168.1.10
  • Backup: 192.168.1.11
  • VIP: 192.168.1.100

客户端只连 VIP,主挂自动切备。


五、用户与权限容灾

使用虚拟用户(强烈推荐)

vsftpd + PAM + 数据库(MySQL / SQLite)

好处:

  • 不依赖系统用户
  • 用户配置可备份
  • 多机一致
/etc/vsftpd/virtual_users.db

六、极端容灾:容器 / 基础设施即代码

推荐做法

  • FTP 服务容器化(Docker)
  • 配置用 Git 管理
  • 一键重建:
docker-compose up -d

✅ 适合云环境 / 频繁迁移


七、常见误区

❌ 只做 RAID(RAID ≠ 备份)
❌ 只在本机备份
❌ FTP 被动端口未同步导致切换失败


八、推荐组合(实战)

中小规模:

  • vsftpd
  • lsyncd 实时同步
  • keepalived VIP
  • restic 每日云备份

云环境:

  • 云主机 + 云盘快照
  • 对象存储异地备份

如果你愿意,可以告诉我:

  • 用的 哪种 FTP 服务(vsftpd?)
  • 是否 公网 / 内网
  • 容灾等级(能容忍丢多少?多久恢复?)

我可以直接给你可复制的配置方案。

0 踩