服务器用久了总会想重装:系统跑偏了、垃圾文件攒了几十 G、或者想换个更合适的系统版本。重装不可怕,可怕的是重装完发现存档/数据库/网站数据全没了。
这篇讲重装的完整流程:重装前怎么备份、怎么重装不丢数据、重装后怎么恢复。全程命令可抄。
需要云服务器可以看看财富云计算:支持快照和系统重装,NAT 型无独立公网 IP,价格比独立 IP 机型省一半以上,一键开服面板,主流游戏快速部署。
一、先想清楚:要不要重装
重装是核弹级选项,先确认其他办法无效:
| 问题 | 先试试这个,别急着重装 |
|---|---|
| 磁盘空间满了 | 清日志、清缓存、du 找大文件 |
| 内存吃紧 | 砍服务、加 Swap、调参数 |
| 某个服务配坏了 | 单独重装那个服务 |
| 被入侵了 | 先按应急流程排查,重装是最后手段 |
| 系统版本太老 | 评估升级成本,能 apt upgrade 解决最好 |
| 就是想换个干净系统 | 那确实该重装 |
一条原则:重装解决的是「系统层面的烂账」,配置层面的问题应该局部修。
二、重装前必做的备份清单
重装会清空系统盘(通常是 /),以下内容不在系统盘就不会丢,在系统盘就危险了:
1. 游戏服数据
# 找出所有游戏服目录
ls /opt/games/
# 逐个打包
tar -czf /data/games-backup.tar.gz /opt/games/
# 确认包含存档
tar -tzf /data/games-backup.tar.gz | grep -i save | head2. 网站数据
# Nginx 配置
tar -czf /data/nginx-conf.tar.gz /etc/nginx/
# 网站目录(注意你的网站可能在 /home/wwwroot 或 /var/www)
tar -czf /data/wwwroot.tar.gz /home/wwwroot/
# 数据库(这是重灾区,单独打包)
mysqldump -u root -p --all-databases | gzip > /data/mysql-all-$(date +%F).sql.gz
# SSL 证书
tar -czf /data/ssl.tar.gz /etc/letsencrypt/ /etc/nginx/ssl/ 2>/dev/null3. 关键配置与脚本
# crontab
crontab -l > /data/crontab.bak
# SSH 配置和密钥
tar -czf /data/ssh-conf.tar.gz /etc/ssh/ /root/.ssh/
# 防火墙规则
iptables-save > /data/iptables.rules
ufw status numbered > /data/ufw.rules 2>/dev/null
# 自定义脚本
tar -czf /data/scripts.tar.gz /opt/scripts/ /usr/local/bin/4. 数据盘确认(最重要)
# 看挂载点,系统盘 / 重装会被清
df -h
# 如果 /data 是独立数据盘,重装后它还在(但需要重新挂载)
mount | grep /data云服务器的重装逻辑:控制台「重装系统」一般只格式化系统盘,单独购买的数据盘会保留(但分区信息可能丢,要重新 mount)。买机器时把游戏服/网站放数据盘,重装就只是换个系统,数据不动。
三、外传备份(关键一步)
上面所有备份如果还在同一台机器上,重装系统盘没事,但如果误操作格了数据盘,或者想把机器退了,数据就没了。重要数据外传一份:
# 方法1: 下载到本地(适合几百 MB 以内)
# 用 scp 从你本地机器拉
scp root@服务器IP:/data/games-backup.tar.gz ./
# 方法2: 传对象存储(适合大文件)
coscmd upload -rs /data/ backup/before-reinstall/
# 方法3: 快照(最稳,控制台操作)四、开始重装
控制台重装(推荐)
- 云厂商控制台 → 云服务器 → 更多 → 重装系统
- 选择新系统(推荐
Ubuntu 22.04 LTS或Debian 12,游戏服兼容性最好) - 确认是否保留数据盘(有的厂商给选项,看清楚)
- 确认,等 3–5 分钟,会用新密码通过邮件/短信发你
重装时的三个选择
| 选项 | 建议 |
|---|---|
| 系统版本 | 游戏服选 Ubuntu 22.04 LTS;要新特性选 Debian 12 |
| 是否保留数据盘 | 有数据盘就保留,这是命根子 |
| 密码 | 重装后密码会变,用新的,顺手改掉默认的 |
五、重装后恢复:按顺序来
第一步:基础环境
# 更新系统
apt update && apt upgrade -y
# 装基础工具
apt install -y curl wget vim htop net-tools unzip tar
# 设时区(重装后时区可能变 UTC)
timedatectl set-timezone Asia/Shanghai
# 启用 NTP
timedatectl set-ntp true第二步:挂载数据盘(如果有)
# 看盘
lsblk
fdisk -l
# 如果数据盘还在但没挂载
mkdir -p /data
mount /dev/vdb1 /data # 设备名按实际
# 写入 fstab 开机自动挂
blkid /dev/vdb1 # 拿 UUID
echo 'UUID=你的UUID /data ext4 defaults 0 2' >> /etc/fstab第三步:SSH 与安全
# 用密钥登录(重装后先传公钥)
mkdir -p /root/.ssh
echo "你的公钥内容" > /root/.ssh/authorized_keys
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
# 改 SSH 端口、禁 root 密码登录
vim /etc/ssh/sshd_config
# Port 22222
# PasswordAuthentication no
systemctl restart sshd第四步:恢复数据
# 游戏服
tar -xzf /data/games-backup.tar.gz -C /
# 网站
tar -xzf /data/wwwroot.tar.gz -C /
# 数据库
gunzip < /data/mysql-all-2026-10-13.sql.gz | mysql -u root -p
# 配置
tar -xzf /data/nginx-conf.tar.gz -C /
tar -xzf /data/ssl.tar.gz -C /
# 恢复 crontab
crontab /data/crontab.bak第五步:装服务并验证
# 装 Nginx、PHP、MySQL 等(版本尽量和原来一致)
apt install -y nginx mysql-server php-fpm
# 启动所有服务,逐个验证
systemctl start nginx mysql php8.1-fpm
systemctl enable nginx mysql php8.1-fpm
# 网站能打开
curl -I http://localhost
# 游戏服能起
systemctl start palworld
ss -ulnp | grep 8211 # 端口在监听六、NAT 型服务器特别注意
用 NAT 型云服务器(无独立公网 IP)的话,重装后有几件事和普通机器不同:
- IP 和映射端口会变。服务商给你的是「内网 IP + 网关端口映射」,重装系统后内网 IP 可能重新分配,原来设好的端口映射如果绑 IP 会失效,需要去控制台重新绑定。
- 游戏服配置里的 IP 引用要改。有些游戏配置里写了服务器 IP,重装后要同步更新。
- 防火墙规则全丢。云厂商控制台的「安全组」规则是绑定在实例上的,重装一般保留;但系统内的
iptables/ufw规则会全没,要重新配。
重装完 NAT 机型的验证方法:让朋友从外网连一下游戏服,或者用 ss -uln 确认端口在监听 + 控制台看映射状态。
七、重装后检查清单
打勾式核对,一项都别漏:
- [ ] 时区
Asia/Shanghai、NTP 同步正常 - [ ] 数据盘已挂载,
df -h能看到 - [ ] 游戏服/网站数据解压到位,权限正确
- [ ] 数据库能连,数据条数对得上
- [ ] crontab 已恢复
- [ ] 防火墙规则已重建(ufw/iptables + 安全组)
- [ ] SSH 密钥已传,密码登录已关
- [ ] 监控已装(Netdata 或 Prometheus)
- [ ] 外网能访问(网站能打开、游戏能进)
- [ ] 备份脚本重新挂上,手动跑一次验证
八、常见问题
Q:重装后数据盘还在但打不开?
文件系统损坏或没挂载。fsck /dev/vdb1 修复,再挂载。重要数据先 dd 镜像备份再 fsck。
Q:重装后原来的数据库密码忘了?
MySQL 8 重置 root 密码:
systemctl stop mysql
mysqld_safe --skip-grant-tables &
mysql -u root
# 进入后
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';Q:能不重装换系统吗?
可以但不推荐。同一发行版内升级(如 Ubuntu 20.04 → 22.04)用 do-release-upgrade;跨发行版(CentOS → Ubuntu)还是重装干净。
Q:重装后游戏版本变了怎么办?
服务端版本和存档要匹配。先 SteamCMD 更新到原来版本,再放存档,或者先更新服务端再试读旧存档。
小结
重装系统三句话:备份要外传、数据盘要保留、恢复要按清单走。做到这三点,重装就是「十分钟换个新系统」的小事,而不是一次数据事故。
更多运维教程见财富云计算知识库:磁盘挂载扩容、备份策略、systemd 服务、防火墙配置全系列。需要云服务器可以看看财富云计算:一键开服面板,NAT 型无独立公网 IP,价格比独立 IP 机型省一半以上,支持快照与系统重装。
延伸阅读
- 网站环境怎么选:LNMP 手动 / 宝塔面板 / Docker / 云开发
- 问卷表单系统搭建:SurveyKing / Formbricks,数据自己收
- 图床搭建:Lsky Pro / Lychee,自托管图片托管方案
- 邮件列表搭建:listmonk 自托管 Newsletter,把读者握在自己手里
- 文档站点搭建:MkDocs / VuePress / Docsify,产品文档与技术手册方案
- RSS 阅读器搭建:FreshRSS 自托管,把信息流拿回自己手里
- 短链接服务搭建:Shlink 自托管,链接数据自己掌握
- 网站状态监控页搭建:Uptime Kuma,服务器挂了第一时间知道

[...]# 命名: 1015-before-palworld-update升级翻车时的恢复顺序:先恢复存档备份(保住玩家进度)→ 再考虑回滚快照(重置环境)。如果只是环境乱了、存档没事,回滚快照后把新存档合回去就行,玩家无感。七、常见问题现象原因与解法回滚要关机设计如此,预约维护时间操作回滚后新数据没了快照是全量的,回滚前导出增量(见 3.2)快照创建慢磁盘写入量大时正常,避开业务高峰数据库回滚后损坏快照[...]
2026-10-15 回复
[...]netsh advfirewall firewall add rule name="GameRange" dir=in action=allow protocol=UDP localport=26901-26903完整的 Windows 环境准备(远程桌面连接、运行库安装、SteamCMD 用法、开机自启、8 个常见坑)见:《Windows 云服务器开服通用前置教程》→ htt[...]
2026-10-18 回复