步骤说明:在台湾购买VPS前明确用途(静态网站、数据库、容器),优先选择提供本地 NVMe 或 SSD 的节点;若预算允许挑选有多盘或支持 RAID 的机型。操作要点:询问提供商是否支持快照、附加块存储(block storage)、带宽/流量限制与区域(台北/高雄),并保留 SLA 文档。
步骤说明:上线后用 lsblk 确认磁盘设备,例如 /dev/nvme0n1。建议分区:/boot(1G)、/ (root, lvm 或 zfs)、/var 或 /var/lib/mysql(独立),swap 视内存决定。命令示例:使用 parted + mkfs.ext4 或建立 ZFS 池 zpool create tank /dev/nvme0n1。
步骤说明:若有多块磁盘,优先使用硬件 RAID 或软件 RAID (mdadm);举例创建 RAID1:mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb。ZFS 适合快照与自修复:zpool create tank mirror /dev/sda /dev/sdb,然后创建 datasets。
步骤说明:若需要在线扩容,可用 LVM 管理逻辑卷:pvcreate /dev/sdb; vgcreate vg0 /dev/sdb; lvcreate -L 50G -n root vg0。创建快照用于备份:lvcreate -s -n snap_root -L1G /dev/vg0/root,然后挂载读取备份数据。
步骤说明:定义 RPO/RTO,例如 RPO 1 小时,RTO 1 小时。数据库建议使用逻辑备份+二进制日志:MySQL 可用 mysqldump + binlog、或 Percona XtraBackup 做热备份。文件系统使用 rsync 增量,命令示例:rsync -aH --delete /var/www/ /backup/www/。
步骤说明:将关键备份推到台湾以外或云对象存储(例如 S3 兼容服务)。推荐工具:restic 或 Borg,支持加密与去重。示例:restic init -r s3:s3.example.com/backup;restic backup /etc /var/lib/mysql --host vps-tw。
步骤说明:用 cron 定时触发脚本,示例 crontab: 0 */1 * * * /usr/local/bin/backup_hourly.sh。脚本包含:数据库锁定/导出、创建文件系统快照、调用 restic 上传、清理旧快照。用 Ansible 部署相同策略到多台节点,保持一致性。
步骤说明:备份在传输与静态均应加密。restic/borg 默认加密,若用 rsync 到远程主机请用 rsync over ssh,且将 SSH key 权限严格控制(600)。备份仓库只给备份账号写权限,生产数据库账户实行最小权限原则。
步骤说明:定期(每月或发布后)进行恢复演练,验证备份一致性与恢复时间。示例恢复命令:restic restore latest --target /restore;MySQL 恢复:systemctl stop mysql; xtrabackup --copy-back /backup/xtrabackup; chown -R mysql:mysql /var/lib/mysql。
步骤说明:部署监控(Prometheus + node_exporter)监视磁盘健康、SMART、IOPS、备份成功率。设置告警(失败超过 1 次、磁盘利用率 80%)并自动扩容流程(新增块存储、扩展 LVM/resize2fs 或 zfs set quota)。
答:优先考虑是否为本地 NVMe/SSD(低延迟、高IOPS)、是否支持快照与块存储扩展、提供商在台湾的节点分布与 SLA;若有高可用需求,选择支持多盘或可接入备份仓库的方案。
答:若需要去重加密与高效传输选 restic 或 Borg;需要数据库在线热备选 Percona XtraBackup;小文件大量同步选 rsync;重要的是结合快照机制以减少一致性窗口并定期验证恢复。
答:建立恢复演练计划,定期在隔离环境执行完整恢复(包括数据库和应用配置)、比对数据校验和(md5/sha256)、记录 RTO 实际时间并调整策略。自动化演练能发现遗漏并保证可用性。