Linux 磁盘、分区与文件系统管理:lsblk、mkfs、mount 与 fstab 避坑
2026-08-05 · DevCraft Studio
给 VPS 加一块新硬盘,怎么让它可用?本文讲清 lsblk 看盘、fdisk/parted 分区、mkfs 格式化、mount 挂载与 /etc/fstab 开机自动挂载,并重点提醒改 fstab 的致命风险。
随着网站或数据增长,你迟早要给服务器加硬盘、挂载新分区,或者干脆重装系统时规划好磁盘布局。Linux 的磁盘管理听起来硬核,其实套路很固定:先看盘、再分区、格式化、挂载,最后写进 fstab 实现开机自动挂载。但这条链路上有一个「改错就开不了机」的雷区——fstab,本文会重点提醒。
一、先看盘:lsblk 与 blkid
插上新硬盘第一步是确认系统认到了它。lsblk 会以树状列出所有块设备(磁盘和分区),一眼就能看出哪块是新盘、是否已经分区。比如你看到 sda 是系统盘、sdb 是空的未分区新盘。想看分区的 UUID(后面 fstab 要用),用 blkid /dev/sdb1——强烈建议 fstab 里用 UUID 而非 /dev/sdb1 来引用设备,因为内核给设备的命名(sda、sdb)顺序不固定,下次启动可能错位,而 UUID 是永久不变的。
二、分区:fdisk 与 parted
新盘要先用分区工具划出区域。fdisk 适合传统的 MBR 分区表,fdisk -l /dev/sdb 查看、进入交互后 n 新建、w 保存;现在更大的盘普遍用 GPT,此时用 parted 更合适,parted /dev/sdb print 看表、mklabel gpt 建 GPT。对大多数 VPS 场景,整块盘划一个分区最简单,未必需要搞多分区。切记分区操作是破坏性的,下手前反复确认目标盘没错——把系统盘分区了就真完了。
三、格式化:mkfs
分区建好后要「格式化」成某种文件系统,本质是写入文件系统的元数据结构。mkfs.ext4 /dev/sdb1 格式化成最常见的 ext4;如果是大容量或特定需求也可以用 xfs(mkfs.xfs)。格式化同样会清空数据,且不可逆,确认分区无误再执行。小提示:ext4 历经多年考验,稳定兼容性好,是 Linux 服务器默认的安全选择;xfs 在大文件和高并发场景下表现更优,常见于 RHEL 系。
四、挂载:mount 与 umount
格式化完还不能用,得把它「挂」到一个目录上。mount /dev/sdb1 /data 把新分区挂到 /data,之后往 /data 写的东西就存进新盘了。卸载用 umount /data(注意拼写是 umount 不是 unmount)。如果提示「设备忙」,用 lsof /data 查是谁在占用,关掉再卸。挂载是临时性的,重启就失效——要想永久生效,就得写 fstab。
五、/etc/fstab:开机自动挂载的雷区
fstab 是开机时自动挂载的配置,每行六个字段:设备、挂载点、文件系统类型、挂载选项、dump、fsck 顺序。强烈推荐用 UUID=xxxx 作设备字段,挂载选项用 defaults,根分区 fsck 顺序是 1、其他是 2、swap 是 0。这里有两个致命坑:第一,写错 fstab 会导致系统启动失败、卡在救援模式——所以改之前务必用 findmnt --verify --verbose 校验,改完先用 mount -a 测试能否全部挂载成功,再重启。第二,外部设备(如移动硬盘)建议加 nofail 选项,否则它没插时开机要卡 90 秒甚至进不了系统。紧急修复可在启动参数加 mount -o remount,rw / 重新挂载根分区为可写来改回 fstab。
六、交换分区与 LVM 一句话
除了数据盘,swap(交换空间)也常被提到:当内存不够时系统用它当临时内存,mkswap /swapfile 加 swapon 启用,fstab 里类型写 swap。至于 LVM(逻辑卷管理),它允许你把多块盘拼成一个逻辑卷、在线扩容,生产环境很常用,但复杂度高于直挂分区,新手可以先不碰,等真需要灵活扩盘时再学。
七、扩容与迁移实战
磁盘管理最实用的两件事,是扩容和迁移,这里各给一套思路。先说扩容:如果你用的是 LVM 或者云厂商的弹性云盘,扩容通常是先在控制台把盘加大,再进系统让分区和文件系统识别新空间两步。对 ext4,可以用 resize2fs 在线把文件系统撑大;对 xfs 则是 xfs_growfs。如果是裸分区且分区后面还有连续空闲空间,可以用 parted 的 resizepart 调整分区边界,再扩文件系统。关键原则是:扩容几乎可以在线做、风险较低,但务必先在快照或备份的前提下操作。
再说迁移:当你要把一台旧服务器的数据整体搬到新机器,最稳的做法不是停机拷贝,而是先在旧机用 rsync 做全量基线,期间业务继续跑,等数据基本同步后,在低谷期短暂停写、跑最后一次 rsync 补齐增量、再切 DNS 或浮动 IP。这和前面讲的文件同步思路一脉相承,区别只在于最后多了割接这一步。整个过程用户几乎无感知,是运维迁移的标准范式。
还有个常被问的问题:磁盘快满了怎么办?第一步用 du -h --max-depth=1 / 逐层定位是哪个目录吃空间,常见元凶是日志、容器镜像或者某个失控的缓存。定位后清日志要用 journalctl --vacuum-size 之类的安全手段,而不是手删文件(正在写的日志被删可能不释放空间,要让它轮转或截断)。误删大文件后若进程还开着,可用前面讲过的 /proc/PID/fd 手法救回手柄。
最后强调一个运维铁律:任何涉及磁盘和分区的操作,动手前先做个快照或完整备份。磁盘操作一旦写错,数据丢失往往是不可逆的。宁可多做一步备份、多花一分钟校验,也别拿生产数据去赌运气——这条规矩,值得你贴在显示器边上。
磁盘与文件系统管理,是离数据最近也最危险的一块领域。它不像装软件那样可逆,一个错误的格式化或写错的挂载配置,带来的可能是永久的数据损失,所以这一篇我们反复强调备份与校验,绝不是危言耸听。但也不必因此畏手畏脚,只要按先看盘、再分区、格式化、挂载、写配置并校验的固定流程走,磁盘管理其实相当程式化、可预期。当你成功把一块新硬盘挂成网站的数据盘,或把一台旧服务器的数据无感迁移到新机,你会体会到一种亲手搭建地基的踏实感。记住,对磁盘的敬畏不是恐惧,而是专业,专业的运维者会在每一次操作前想好退路,这正是这一篇想留给你的终极心法,也希望它能陪你平安走过每一次扩容与迁移。
在数据就是资产的今天,磁盘管理的能力直接决定着你能在意外面前有多从容。一次稳妥的备份策略,可能就是你职业生涯里最关键的一道防线。所以请不要把它当成一篇只需浏览的技术说明,而要把其中的流程与提醒,内化成你动手前的习惯性自检。当谨慎成为本能,你便不再需要每次都依靠运气,而是能够稳稳地驾驭那些看不见却至关重要的存储底座,让业务在数据洪流里始终安然无恙,这正是一个成熟运维者最值得骄傲的安静底气。
愿你从此对每一块磁盘都心怀敬意,也对每一次操作都胸有成竹,让数据在你的手里始终安然无恙,这便是对专业二字最好的诠释与回应。当备份与校验成为你下意识的第一反应,很多别人眼中的突发灾难,在你这里不过是一场有备无患的平常演练,而这,正是经验与专业最朴素也最有力的证明。
#Linux磁盘 #lsblk #fdisk #mkfs #mount #fstab #分区 #文件系统