## 为什么要分
系统盘跑操作系统与软件,数据盘放网站文件、数据库、上传附件。分盘的核心收益是故障隔离与运维自由:系统盘坏了或要重装,数据盘原封不动,挂回来就能用;系统升级、换镜像、清理折腾个底朝天,业务数据毫发无损。反过来,全塞系统盘的机器,每次重装都是一次全量数据搬家,风险与工作量翻几倍。顺云的云服务器挂载独立数据盘后,重装系统功能可以放心用,这就是分离带来的底气。另有一层收益是备份粒度:数据盘独立做快照与备份,系统盘随便折腾,两边策略互不牵连。
## 怎么迁:网站目录
分四步走。第一步新挂数据盘并挂载到 /data,规划好目录结构如 /data/www、/data/db。第二步迁移网站文件,停写入或低峰期 rsync:
bash rsync -a /var/www/example/ /data/www/example/
第三步改 Nginx 配置里的 root 指向新路径,应用配置里写死的旧绝对路径也要同步改,逐个 grep 旧路径最稳妥,nginx -t 通过后 reload。第四步观察确认,旧的 /var/www 目录改名保留几天,出问题改回来就是秒级回退,稳定后再删。
## 怎么迁:数据库目录
数据库要求更严:先停库再搬,避免文件在写入中复制出自相矛盾的副本。步骤:systemctl stop mysqld,rsync 数据目录到 /data/db,改 my.cnf 的 datadir 指向新路径,注意新目录属主必须是 mysql 用户,权限保持原样,启动后验证业务读写正常。InnoDB 的 redo 日志与数据文件必须一起搬,只搬一半会起不来。迁移前后各跑一次关键表行数核对,心里踏实。
## 注意事项
fstab 用 UUID 挂载并带 nofail,数据盘异常时不拖垮启动流程。迁移是全链路动作:定时任务里的旧路径、备份脚本、应用配置文件里的绝对路径,全部要跟着改,漏一处就会出现"备份停了"这种隐蔽故障。完成后再做一次重启演练,确认挂载、服务自启、数据完整三件事。数据盘同样要纳入快照或备份策略,分离解决的是系统侧风险,数据盘自身的备份是另一门功课。迁移完成后旧路径可以放一个软链接指向新位置过渡几天,给漏改的配置一个缓冲。