服务器用久了,系统越来越臃肿,环境也容易混乱,磁盘还可能快满了。这时候想清空重来,格式化就成了常见选择。阿里云ECS控制台能完成大部分操作,但第一次做的人多半担心数据丢失或实例起不来。下面用一个具体例子,把阿里云服务器格式化的步骤和注意事项讲清楚,包括操作前备份、系统盘重装和数据盘格式化。

一、先分清楚你要格式化什么
阿里云服务器格式化一般分两种。一种是系统盘重置,本质上是重新安装操作系统,系统盘上的内容会全部清空。另一种是数据盘格式化,针对额外挂载的云盘,用来新建分区和文件系统。两者的入口和风险不同,动手前先确认对象是哪一块盘、哪一个分区。
二、格式化前要备份的三类数据
很多人备份时只想到代码,结果漏掉了配置和数据库。通常可以把要保留的内容分成三类来检查:
- 业务数据:数据库导出文件、用户上传的图片和附件、需要留存的订单或测试记录。这类数据最容易漏,建议按目录逐个核对文件数量和大小,传到OSS、NAS或其他服务器后,打开抽查几个文件,确认能正常读取。
- 配置与环境:Nginx站点配置、服务的配置文件、环境变量文件、crontab定时任务列表,以及SSH公钥和防火墙规则。重装后这些都要重新配置,提前导出出来,能省下不少排查时间。
- 系统盘快照:快照是最后一道保险。它会产生一定的存储费用,但和误删数据后的损失相比,成本很低。
备份之前,先用df -h和lsblk看一下磁盘占用和挂载情况,再把实例ID、公网IP、安全组规则以及登录方式(密码或密钥对)记下来。这些信息看似琐碎,重装后却经常要用到。
三、重置系统盘(重装操作系统)
进入ECS控制台,找到目标实例并停止。依次进入“更多”、“磁盘和镜像”、“更换操作系统”,选择公共镜像或自定义镜像,设置登录密码或绑定密钥对,确认后提交。
有几点需要注意:
- 更换操作系统会清空系统盘。数据盘默认不受影响,但提交前要仔细核对控制台弹出的提示和选项,尤其是勾选项的含义。
- 重装后系统环境是全新的,之前装的软件、环境变量和定时任务都要重新配置。如果服务依赖特定的运行环境,最好先在备份清单里写清楚版本号。
- 如果实例绑定了RAM角色或安全组,重装后要检查这些配置是否还在生效,否则服务可能看起来正常,实际访问已经受限。
回到前面提到的那个案例。某电商团队有一台运行了两年的Ubuntu测试服务器,代码目录和日志混在一起,磁盘使用率已经到了92%。负责人担心里面还有没导出的订单测试数据,所以团队先创建了系统盘快照,再把数据文件逐个核对,确认已经另存,才更换为Ubuntu 22.04镜像。重装过程本身约15分钟,真正花时间的是前面的核对。
四、数据盘格式化与挂载(Linux)
如果服务器额外挂载了数据盘,新盘通常需要手动分区和格式化。下面以/dev/vdb为例:
- 执行fdisk -l确认新盘的设备名。设备名一旦选错,就可能格式化掉系统盘,这一步不要省。
- 使用fdisk /dev/vdb或parted创建分区。容量超过2TB时,建议使用GPT分区表,MBR无法管理这么大的空间。
- 执行mkfs.ext4 /dev/vdb1创建文件系统。这条命令会清空该分区的全部数据,执行前再确认一次分区名。
- 创建挂载点mkdir -p /data,然后执行mount /dev/vdb1 /data。
- 用blkid /dev/vdb1获取UUID,写入/etc/fstab,实现开机自动挂载。
第5步最容易出问题。fstab写错可能导致服务器无法正常启动,所以修改后先执行mount -a验证,确认没有报错,再决定是否重启。另外,fstab里尽量使用UUID而不是设备名,因为设备名在盘符变化后可能指向别的磁盘。
五、Windows服务器的格式化方式
Windows实例通过“磁盘管理”完成初始化。右键目标磁盘,选择“联机”和“初始化”,然后新建简单卷,文件系统选NTFS,并分配盘符。这套流程比Linux直观,但同样要先核对磁盘编号和容量,尤其是系统盘和数据盘容量接近时,很容易点错。
六、常见问题与排查思路
- 实例无法连接:先检查安全组是否放行22端口(Linux)或3389端口(Windows),再确认重装后使用的是新密码还是新密钥。
- 挂载后重启丢失:多数情况是fstab写法有误,或者用了设备名而不是UUID。可以用mount -a提前验证。
- 磁盘容量显示不完整:新盘可能还没有完成分区,或者分区表占用了部分空间,需要用lsblk和分区工具核对。
七、什么情况下适合原地格式化
如果只是清理测试环境,服务器上没有重要数据,直接重装系统盘通常是最省事的做法。但如果服务器承载生产业务,建议优先新建实例,迁移数据并完成切换后,再下线旧机器。原地操作虽然快,一旦出现意外,就只能依赖快照和已有备份,恢复成本会高很多。
阿里云服务器格式化本身并不复杂,真正决定结果的是备份是否完整。先备份,再确认操作对象,最后动手执行,这三步做扎实,大多数问题都能避免。