
干咱们这行的都知道RH134作为红帽系统管理的中级课程前面几章还在熟悉命令、文件管理、进程控制这些日常操作到了第七单元“管理基本存储”才算真正开始碰硬核——磁盘分区、文件系统、挂载、swap、LVM这些知识不光是考试要考更是你以后给任何一台Linux服务器做数据盘规划、扩容、排障的基本功。我在学习这个模块的时候最大的感受就是它把我们从“会用命令”推向了“能独立完成存储方案设计”这一步理解了这块内容很多以前觉得玄乎的“磁盘不够了怎么扩”“新加的盘怎么挂上去”之类的问题会一下子通透起来。这篇内容我会把整个第七单元的核心知识点、实操流程和我在学习/练习中踩过的坑拆开讲清楚包括设备命名的规律、分区的设计思路、文件系统的选择与格式化、fstab的永久挂载配置、swap空间的管理以及LVM逻辑卷的创建与扩展。全程我会用实际操作的视角去写参考我练习时用的环境是装有图形化界面的Red Hat Enterprise Linux 9虚拟机两块硬盘一块系统盘一块数据盘这种配置也是RH134考试环境里最典型的情况。适合正在啃RH134书本、准备考RHCSA/RHCE认证或者工作中需要独立维护Linux存储相关配置的同学对照着自己的环境练一遍。1. 存储管理在RH134中的定位为什么说它是“地基”课程1.1 系统管理三件事存储、网络、进程存储排在第一位很多刚接触RH134的朋友容易有一个误解觉得“管理基本存储”不就是看看磁盘、分个区、挂个载听起来很简单。但如果你把这个模块放到一个真实的运维场景里去看就会发现它的复杂度一点都不低。我给你还原一个最常见的场景某台生产服务器原本只有一块系统盘跑着数据库用着用着磁盘空间不够了。这时候作为管理员你面临的问题不是单纯“加一块盘”那么简单你需要考虑新加的盘是做什么用的是直接扩容根分区还是单独挂载成一个新的数据目录这台机器是物理机还是虚拟机接口类型是SATA、SCSI还是NVMe系统里认成什么设备名分区表用MBR还是GPT数据盘容量超过2TB怎么办文件系统选什么Red Hat生态默认首选XFS但不同场景下ext4是不是也有它的优势怎么保证重启之后这个新挂载的目录还在写到/etc/fstab里要注意什么如果以后这块盘容量不够了是加盘做LVM扩展还是直接换一块大盘迁移数据这些问题全都是在“管理基本存储”这个模块里需要回答的。RH134把它放在课程的第七单元实际上是承接了前面几章你对Linux文件系统层次结构、常用命令的理解同时为后面更进阶的存储技术如stratisd、VDO、CIFS/NFS网络存储打底。说它是一个承上启下的模块一点都不夸张。另外从RHCSA考试的题型分布来看存储相关的题目占分比例历来不低。我记得当时的题里至少有三四道是围绕磁盘分区、格式化、挂载、swap和LVM来出的而且这些题目往往是复合型的——要求你先创建分区、再做文件系统、再配置开机自动挂载一环扣一环如果中间某一步操作不熟练整个链路就断了丢分就是大面积丢分。所以我在学这个单元的时候给自己的要求是所有操作必须做到闭着眼能做对光看懂不练等于白看。1.2 这个单元的技术栈全景从设备识别到逻辑卷管理“管理基本存储”这个标题看着简单实际上它背后是一整套完整的技术链条。我在整理学习笔记的时候习惯用一张逻辑图来梳理知识结构不做成图但用文字描述整个脉络大家也能很清晰地看到层次第一层是设备识别层。系统怎么发现一块磁盘通过内核的块设备子系统。你会发现Linux把所有硬件设备都抽象成了文件放在/dev目录下机械硬盘叫sda、sdbNVMe固态盘叫nvme0n1、nvme0n2这里头的命名规则、主次设备号的含义是这个单元的起点。第二层是分区管理层。磁盘物理上需要划分成若干区域才能更好地组织数据对应到工具就是fdisk、gdisk、parted。这里牵扯到分区表类型MBR和GPT的区别、主分区扩展分区逻辑分区的概念、分区对齐等等细节。第三层是文件系统层。分区只是一个“容器”容器里要装数据还需要有文件系统。mkfs.xfs、mkfs.ext4这些工具干的就是这件事以及文件系统的类型选择、块大小、inode数量等参数的权衡。第四层是挂载管理层。文件系统建好以后需要通过mount命令把它挂载到目录树上才能访问这就是“挂载点”的概念再配合/etc/fstab实现开机自动挂载配合systemd挂载单元做更精细的管理。第五层是swap和LVM。swap是虚拟内存的落盘区域属于存储管理里一个比较特殊的存在LVM则是逻辑卷管理器通过卷组、物理卷、逻辑卷三层抽象来屏蔽物理磁盘的变化实现弹性扩容。这五个层次层层递进从“看到一块盘”到“用好一块盘”再到“灵活管理一堆盘”也是我在这个单元实实在在走过的一条路。下面的内容我会按照这个路径一步步带大家实操每个环节尽量给出可以直接照着敲的命令顺便把一些书本上没有明说、但在实际使用中总结出来的细节一并讲透。2. 设备识别与分区实操先搞清楚系统怎么“看待“磁盘2.1 Linux设备命名规则从sda到nvme0n1的演变很多人一开始学磁盘管理都被一堆设备名搞晕sda、sdb、nvme0n1p1、vda、xvda……其实这些名字背后是Linux对存储设备的一整套抽象逻辑。传统上使用SATA、SCSI、USB接口的磁盘在Linux里被统一命名为sd开头sd是SCSI disk的缩写但因为Linux把所有这类设备都走SCSI协议框架所以SATA盘也叫sd。后面的字母从a开始排列第一块被系统识别到的盘是sda第二块sdb以此类推。字母后面跟的数字表示分区编号比如sda1就是sda这块盘的第一个分区。这套规则在RHEL 8/9里依然是默认体系也是RH134课程里面主要学习的部分。虚拟化环境下你会看到设备名变成vd开头比如vda、vdb这是virtio驱动对应的命名方式如果是异构的云环境还可能是xvd开头。这些不用刻意记你只需要知道“系统按照驱动类型和识别顺序来起名字”这个核心逻辑就行。NVMe硬盘的命名规则相对复杂一点。NVMe设备在Linux下命名是nvme0n1这种形式其中0是控制器编号n1是命名空间编号。如果这个NVMe盘上有分区分区名就是nvme0n1p1、nvme0n1p2这样注意分区的p字母不能省略。我当时第一次看到这个命名的时候花了一点时间才记住它的坑在于同样是一块盘的分区sda1只有两个字符nvme0n1p1这一串看着就容易眼花。考试环境一般不会用NVMe盘但实际工作中现在NVMe越来越普及这个命名规则建议顺手记住。判断新插入的盘对应的设备名有个实用技巧插入磁盘之前先执行一次lsblk看看当前的块设备列表插入新盘后再执行一次lsblk对比两次输出的差异新增出来的那个设备名自然就识别出来了。这个方法在物理机和虚拟机里都好用比反复猜设备名要可靠得多。2.2 分区表类型MBR和GPT怎么选拿到一块新盘之后第一步往往不是急着分区而是先确定这块盘用哪种分区表。RH134课程里会同时讲到MBR和GPT考试也可能让你选择合适的类型所以这个知识点得吃透。MBRMaster Boot Record是传统的分区表格式历史悠久兼容性好。它的最大限制是磁盘寻址使用32位逻辑块地址所以单块盘的容量上限是2TB另外它只能在盘头保留一个分区表区域最多支持4个主分区。如果你想用超过4个分区就必须把其中一个主分区当作扩展分区再在扩展分区里划分逻辑分区。这套机制比较绕而且逻辑分区号只能从5开始排。GPTGUID Partition Table是UEFI时代的分区表标准解决了MBR的那些老毛病。它理论上支持超过2TB的单盘容量最多支持128个分区分区表本身在磁盘头部和尾部都有备份容错性更好。最关键的是现代操作系统从UEFI启动时基本都要求系统盘必须是GPT格式。给一个简单的选择标准数据盘容量在2TB以下、不需要太多分区时MBR完全够用兼容性最好数据盘容量超过2TB或者机器直接用UEFI引导无脑选GPT考试的时候如果题目没有特殊说明通常用默认的MBR分区就行但如果是让创建一个超过2TB的分区那一定要记得用GPT在RHEL 9上使用fdisk默认创建的就是MBR分区表而使用gdisk或者parted时指定gpt标签就能创建GPT分区表。实际练习时我建议两种都做一遍反正操作命令差别不大但背后的概念想清楚了考试遇到变体题才不慌。2.3 用fdisk实战分区从查看布局到写入分区表分区工具里最常用的就是fdisk。虽然很多教程说fdisk有点“老古董”但它确实是Red Hat系默认自带的、最稳定、最适合教学的分区工具RH134和RHCSA考试也都认它。第一步用fdisk -l /dev/sdb查看某块磁盘当前的布局。注意fdisk -l不带设备名会列出所有磁盘带设备名则只看那一块。如果是新加的盘输出里通常会看到“Disk /dev/sdb20 GiB”这样的总量信息但没有任何分区条目。第二步以交互方式进入fdisk。执行fdisk /dev/sdb注意设备名别带分区号否则你操作的是那个分区而不是整个磁盘。进入后输入p可以打印当前分区表输入n新建分区。新建分区的交互过程有几个点需要注意分区类型选p主分区还是e扩展分区/逻辑分区MBR下如果逻辑分区超过4个需要先建扩展分区再在里面建逻辑分区分区号默认从1开始直接回车接受就行First sector起始扇区默认值一般不用改直接回车系统会自动选择最佳对齐位置。如果手动指定了一个不对齐的值fdisk会警告分区未对齐影响性能Last sector结束扇区可以直接用10G这种相对值指定大小不用自己去算扇区数非常方便。我之前用fdisk一直手动填扇区数值后来发现10G写法效率高还不容易错分区建好后输入t可以修改分区类型比如swap分区要改成82Linux swap而普通Linux数据分区默认83就行。最后输入w写入分区表并退出。这一步写入动作是真正的落盘操作如果中间发现哪一步不对在写入前直接输入q退出即可磁盘不会发生任何变化。写入分区表后系统可能不会立刻更新内核里的分区信息这时候运行partprobe /dev/sdb让它重新读取分区表。有些资料会让你重启系统其实没必要partprobe就够了。这个细节很容易被忽略我当时就是因为没执行partprobe直接去格式化新分区结果系统提示找不到分区设备排查了半天才反应过来。MBR分区数量的理解可以用生活化的例子MBR分区表就像一张只能写四行的表格但第四行比较特殊它是一个“指向另一个小本本的指针”那个小本本上可以继续写很多行就是逻辑分区。所以主分区加逻辑分区的数量总数不是固定的4个而是主分区最多4个、逻辑分区可以多一些。3. 文件系统创建与挂载从mkfs到/etc/fstab的关键一环3.1 文件系统的选型为什么Red Hat默认爱用XFS分区创建好之后如果没有文件系统这个分区就是一堆空的空间系统没法往里存文件。RH134课程里主要涉及的文件系统类型有三种XFS、ext4、swap。XFS从RHEL 7开始就是Red Hat生态的默认文件系统RH134考试里也默认要求用XFS。XFS是一个高性能的64位日志文件系统单个文件最大可以到8EiB基于当前Linux的页面缓存这对于大规模数据存储来说很有优势。同时它支持在线扩容挂载状态下直接xfs_growfs就能增大文件系统不需要卸载这个特性在LVM扩容那条路里非常有用。ext4是RHEL 6时代的主力文件系统向下兼容性更好而且支持在线收缩XFS不行XFS只能扩大不能缩小。如果你需要把某个分区减小那ext4是更合适的选择。但在绝大多数Red Hat的学习和认证场景里默认无脑选XFS不会错。swap不是传统意义上的“文件系统”它是Linux的交换分区或交换文件用于在物理内存不足时把不活跃的内存页换到磁盘上。swap分区有自己独立的格式化工具mkswap文件系统类型标识是swap。这里要额外讲一点文件系统的选择一定要在创建的时候就考虑清楚后续的维护需求。缩容场景很少见但如果真遇到XFS不能缩这个特性就会变成一个硬伤。学习阶段建议大家把每个文件系统的适用场景记在小本本上别等到踩坑了才想起来。创建文件系统的命令很简单mkfs.xfs /dev/sdb1 mkfs.ext4 /dev/sdc1 mkswap /dev/sdb2执行mkfs命令之前建议先用blkid看看分区上是否已经存在文件系统。如果分区上原本有数据mkfs会给出提示要求确认因为格式化会彻底清除数据。生产环境里这条确认提示是最后的保险别养成直接加-f强制的习惯。我给一个小技巧mkfs命令其实有各种不同的前端你可以直接敲mkfs然后按Tab键系统会自动列出所有可用的文件系统创建工具这个办法在记不清确切命令名的时候很管用。3.2 mount挂载与卸载理解挂载点这个概念文件系统建好了下一步是挂载。Linux系统里所有文件都组织在一棵目录树里一块新分区上的文件系统需要被“接”到目录树的某个目录上才能访问这个目录就是挂载点。挂载的基本操作mkdir /data mount /dev/sdb1 /data挂载之后用df -hT查看能看到/dev/sdb1挂载到了/data文件系统类型是xfs。这里-h选项是human-readable以G/M为单位显示-T选项是显示文件系统类型。我建议刚开始练习时把这两个选项养成肌肉记忆因为排查问题的时候一眼看到文件系统类型和容量非常有用。卸载就是umount。注意如果当前shell的工作目录就在挂载点下面umount会报“target is busy”。解决办法是cd到其他目录再执行umount或者用umount -l强制懒惰卸载。但懒惰卸载这个选项在生产环境要慎重使用最好先找到占用进程再正常卸载。关于挂载之后的权限问题默认情况下挂载一个文件系统时它的根目录权限由文件系统自身的root inode决定。如果新格式化的XFS分区挂载后想让普通用户能写需要在挂载时指定uid/gid选项或者在挂载后chmod/chown根目录。这些细节在图形界面或者某些桌面环境里有比较隐蔽的坑。3.3 /etc/fstab永久挂载UUID比设备名更可靠手动mount的挂载是临时的重启之后就没了。要让挂载“永久生效”必须写入/etc/fstab。这个文件是Linux系统里最重要的配置文件之一写错了可能会导致系统无法正常启动所以我建议学习阶段先把它的字段结构背熟。/etc/fstab里每一行代表一条挂载记录共6个字段依次是设备标识可以用设备路径、UUID、LABEL挂载点文件系统类型挂载选项多个选项用逗号分隔dump备份标记0表示不备份1表示需要fsck检查顺序根分区填1其他分区填2不需要检查填0一个典型的配置行长这样UUID3a7c8d9f-... /data xfs defaults 0 0为什么推荐用UUID而不是/dev/sdb1这种设备路径因为设备名会变。你在机器上插拔其他磁盘、调整BIOS里的启动顺序、或者更换盘阵接口设备名都可能跟着变化但UUID是文件系统创建时生成的一个唯一标识只要这个文件系统内容还在UUID就不会变。用blkid命令可以查到某个分区对应的UUID或者用lsblk -f看所有块设备的文件系统和UUID信息。我写fstab的小建议先把新的分区挂载一次确认挂载点和权限都正常再用blkid查到UUID去填写fstab写完之后不要立刻重启验证先用mount -a命令试试能不能把fstab里未挂载的记录全部挂上。mount -a读到的就是fstab内容如果这一条配置有问题它会当场报错省去了重启才发现进不去的痛苦每次改完fstab建议cp /etc/fstab /etc/fstab.bak备份一份出问题还能救如果系统真的因为fstab写错导致无法正常启动会进入紧急模式emergency mode。此时输入root密码进入维护shell用mount -o remount,rw /把根文件系统重新以读写方式挂载再编辑fstab把错误行注释掉或修正然后reboot。这个自救流程在考试里有可能遇到建议练熟3.4 挂载选项与systemd挂载单元几个值得关注的细节挂载选项看起来只是fstab里一个不起眼的字段但它直接影响文件系统的行为。RH134教材里常用的选项就是defaults它实际上等价于rw、suid、dev、exec、auto、nouser、async这一组默认组合。如果只是普通数据盘defaults完全够用。有几个选项在特定场景下会用到noatime不更新文件访问时间戳减少写I/O对于SSD和高并发读场景有明显收益noexec禁止在挂载点上执行二进制文件适合当作安全加固手段挂载临时文件目录_netdev标明这是网络设备系统启动到网络可用之后再挂载NFS场景常用RH134后续课程会讲nodev、nosuid禁止解释设备文件、禁止setuid位生效做容器和虚拟化场景时加固文件系统常用另外RHEL 8/9里systemd是主流的服务管理器它本身就原生支持挂载单元。fstab里的每条记录在启动时会被systemd自动转换成对应的.mount单元这就意味着你可以在systemctl status下看到挂载状态用systemctl list-units --typemount列出所有挂载单元。这个概念不用深究但知道它存在后续排查“为什么挂载失败”时思路会更宽。4. swap空间与LVM扩展存储管理的两个进阶点4.1 swap空间怎么加分区法和文件法两种方案对比swap是RH134第七单元里的重要考点也是现实运维中很容易被忽视的配置。很多云服务器在创建实例时不配swap等到物理内存吃紧系统开始OOM杀进程的时候才追悔莫及。创建swap分区的基本步骤fdisk /dev/sdc # 新建一个分区类型设置为82 mkswap /dev/sdc1 # 格式化为swap分区 swapon /dev/sdc1 # 立即启用 echo UUID... /etc/fstab # 写入永久挂载验证swap是否启用用两条命令free -h可以看内存和swap的使用情况swapon --show可以查看当前所有启用的swap设备及优先级。swap分区法是最传统的方式性能相对可靠管理直观缺点是一旦分区创建完成容量就固定了后续调整要重新分区比较麻烦。还有另一种方式是swap文件法在已有的文件系统上创建一个文件再用mkswap把它格式化为swap。好处是容量调整灵活创建一个文件然后删除即可不需要动分区表坏处是性能受文件系统层影响略微有开销。常见做法fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile注意用fallocate创建的文件在XFS和ext4上都可以直接mkswap但部分老旧工具对fallocate创建的文件识别有问题保险起见可以用dd if/dev/zero of/swapfile bs1M count2048来创建速度稍慢但兼容性最好。我在练习时遇到过fallocate和mkswap连用的坑后来干脆用dd图个稳妥。swap优先级选项可以在fstab或swapon时指定pri数值数值越大优先级越高。如果有多块swap设备内核会按优先级先填满高优先级设备这个细节在多磁盘场景里有一定意义但RH134考试基本不考了解即可。4.2 LVM逻辑卷从PV到VG再到LV的三层抽象LVMLogical Volume Manager是RH134第七单元里分值最高、也最值得花时间理解的内容。它提供了一层“虚拟化”的抽象物理磁盘/分区PV物理卷先被并入一个大的“蓄水池”VG卷组再从蓄水池里切出任意大小的逻辑卷LV来格式化使用。用户根本不需要关心逻辑卷背后的物理盘是谁、有多少块。LVM的逻辑可以类比成一套房子里的水管系统。物理硬盘是自来水厂分区水管是各个片区的基础管线卷组是小区蓄水池逻辑卷就是你家卫生间的那条具体水管。你想给卫生间加大水量不需要重新拉一条从自来水厂到你家的大水管只需在蓄水池那边分配更多水过来就行。操作流程分五步走# 第一步创建PV pvcreate /dev/sdb1 /dev/sdc1 pvs # 查看当前所有PV # 第二步创建VG vgcreate vg_data /dev/sdb1 /dev/sdc1 vgs # 查看当前所有VG # 第三步创建LV lvcreate -L 20G -n lv_data vg_data lvs # 查看当前所有LV # 第四步格式化LV mkfs.xfs /dev/vg_data/lv_data # 第五步挂载 mount /dev/vg_data/lv_data /data这套流程下来/data挂载的就是一块逻辑卷它对上层应用来说和普通分区没有区别。但底层的灵活性和普通分区完全不同。扩展LV是LVM最有价值的操作之一。假设一个20G的逻辑卷不够用了卷组里还有足够的空闲空间扩展的步骤是lvextend -L 10G /dev/vg_data/lv_data xfs_growfs /data注意如果文件系统是XFSlv扩展后必须用xfs_growfs让文件系统感知新空间如果是ext4则用resize2fs。XFS的xfs_growfs可以在挂载状态下在线执行不需要卸载在这点上ext4的resize2fs也可以在线操作。忘记执行扩容命令是很常见的错误我当时第一次扩LVMlvextend执行完一看lsblk逻辑卷大小变了但df -h显示的容量还是旧的卡了一阵子才发现xfs_growfs没执行。缩小LV就麻烦很多。XFS不支持在线缩小所以如果你想缩小一个XFS逻辑卷需要先备份数据、卸载、然后销毁重建LV再恢复数据。ext4支持在线缩小但也必须先缩小文件系统再缩小逻辑卷顺序不能反。这个知识点考试很少考深但面试时被问到的概率不小建议理解清楚“缩小”到底难在哪。4.3 实战场景给生产数据盘做LVM部署与扩容我们来串一个完整案例。假设有一台RHEL 9服务器系统盘sda数据盘sdb是一块200G的物理盘。业务方要求把数据目录/data做成文件系统空间先给100G后续不够要能在线扩容。第一步在sdb上创建分区。由于后续可能还要扩展我用整块盘只创建一个分区类型设为8eLinux LVMfdisk /dev/sdb # 交互n创建分区p主分区默认分区号默认起始扇区默认结束扇区t改分区类型为8ew写入第二步创建PV、VG和LVpvcreate /dev/sdb1 vgcreate vg_data /dev/sdb1 lvcreate -L 100G -n lv_data vg_data mkfs.xfs /dev/vg_data/lv_data mkdir /data mount /dev/vg_data/lv_data /data df -hT /data这时候df输出里显示的/dev/mapper/vg_data-lv_data就是逻辑卷的设备节点挂载在//data。第三步写fstab实现开机自动挂载。先blkid查到LV的UUID再追加一行UUIDxxxx-xxxx-xxxx /data xfs defaults 0 0用mount -a验证无误后这个存储方案就基本完工了。第四步是一段时间后空间不足。查看vgs确认vg_data里还有空闲容量200G盘只分了100G逻辑卷还剩100G空闲。执行在线扩容lvextend -L 50G /dev/vg_data/lv_data xfs_growfs /data df -hT /data可以看到/data大小增大到了150G全程服务不中断不需要卸载。这种平滑扩扩容对数据库、容器数据目录这类不能随便停服的场景非常关键。这个案例如果你完整做了一遍RH134第七单元的LVM考点基本就拿下了。操作本身不复杂但每一步为什么要这么做的原因要考虑清楚考试时题目往往不会直接说“创建LVM”而是会给一堆描述性需求比如“新建一个卷组名叫vg_test创建一块2G的逻辑卷挂载到/data并实现开机自动挂载”你得懂得把这些需求翻译成对应的命令序列。5. 常见问题排查与考试避坑心得5.1 高频故障fstab写错、设备名漂移、文件系统不识别学习存储管理这一章几乎每个人都会遇到下面这几个故障遇到的次数多了就能形成条件反射般的排查套路。第一类fstab配置错误导致重启后进入紧急模式。这个故障的现场是系统开机后无法正常启动屏幕上提示找不到某个UUID对应的设备或者提示进入emergency mode请求root密码。到了这一步桌面环境直接不见了终端上就是一个维护shell。解决思路是输入root密码后先执行mount -o remount,rw /把根文件系统改成可写然后编辑/etc/fstab用#号注释掉疑似错误的那一行保存退出重启。比如学校里有个常见的练习写fstab时手滑把UUID少复制了一个字符重启直接进紧急模式。少复制一个字符这个错误在日常操作中真的常见因为UUID是一长串十六进制数字眼睛一花就漏了。第二类设备名漂移。前一天还在/dev/sdb上的数据盘重启后变成/dev/sdc了导致挂载失败。这个问题的根源是内核发现设备的顺序不保证固定在有多块盘的主机或者虚拟机里尤其明显。解决办法其实从源头就能避免——fstab里用UUID而不是设备路径。我第N次强调这个点是因为它真的是考试和实战里最经典的失分点没有之一。第三类文件系统类型不识别。格式化时如果你用mkfs.xfs格式化了分区那么blkid里显示的TYPExfs挂载时必须指定xfs类型。但如果有人在mkfs命令里输错了工具名比如mkfs.ext4写成了mkfs.ext3格式化操作的返回错误提示“mkfs.ext3: command not found”实际上只是系统没装对应工具并不是分区坏了。此时运行ls /sbin/mkfs*看看到底装了哪些工具找到对应命令再执行。第四类挂载点目录里有内容时mount会“掩盖”原目录内容。举个例子/data目录下原本有文件挂载一块空分区到/data后你会惊讶地发现原来的文件全“消失”了。其实它们还在只是被新挂载的文件系统挡住了。要想恢复卸载/data旧文件就回来了。这个现象刚接触时非常容易误判为数据丢失我在练习时发生过一次好在抢救回来了。5.2 命令易错点速查lsblk、blkid、df、sdb和sdb1lsblk应该算是存储管理里最应该第一个学会的命令它能把整个块设备树清清楚楚地显示出来。注意区分lsblk和df的用途lsblk展示的是块设备层级关系不关心有没有挂载df展示的是已挂载文件系统的使用情况。这两个命令可以搭配使用先用lsblk看有哪些分区再用df看哪些分区挂载了、空间剩多少。blkid是查UUID和文件系统类型的专用命令。不带参数会列出所有块设备带/dev/sdb1只会显示那一个分区。考试时需要在fstab里填UUID这个命令是你最好的帮手。lsblk -f可以直接显示每个设备对应的文件系统类型和UUID、挂载点一张表看全实战里我用它比blkid还频繁。再强调一次sdb和sdb1的区别:操作整块磁盘用fdisk /dev/sdb格式化分区用mkfs.xfs /dev/sdb1。要是把fdisk命令的目标写成了sdb1而磁盘整盘还没有分区表fdisk会提示“Partition 1 does not contain a valid partition table”关键是不能对着sdb1做分区操作因为它本身只是一个分区不是一块磁盘。方向搞反的后果是灾难性的。还有一个比较隐秘的坑是partprobe的时机。分区写盘后如果立刻用lsblk查看看不到新分区或者格式化时报找不到设备跑一下partprobe /dev/sdb就行。特别是RHEL 9里某些机器对分区表的自动重读有点慢partprobe是标准解决方案。5.3 考试实测经验RH134存储题的“套路”拆解RH134对应的认证考试RHCSA对存储管理这个单元的考核方式我总结下来就是“需求驱动、链路完整、别玩花活”。考试题目不会直接给你“用fdisk分区”这样的指令而是给你一个完整的描述性需求比如“创建一个大小为2GiB的LV卷组名为vg0逻辑卷名为lv0格式化后挂载到/mnt/data确保重启后依然生效。”这个题里隐藏了四步建立分区或直接建PV、创建VG、创建LV、格式化、写fstab。少一步都拿不到满分。考试的时候时间紧张我当时给自己定的口诀就是“PV、VG、LV、格式化、挂载、写fstab”六个动作按顺序推进每一步执行完立刻用pvs/vgs/lvs/df检查确保前一步成功再进入下一步。分区大小和逻辑卷大小在考试里经常不给精确值而是用“2GiB”这种明确单位。如果你的环境里磁盘总共只有5G而题目要求创建2G的LV那没问题但如果你手滑把pvcreate直接建在了整个/dev/sdb上不做分区也可以LVM支持直接用整块盘作为PV效果和分区一样。考试环境里一般都能通融但生产环境里我建议还是先分区再用分区做PV因为整块盘做PV后续如果再给这块盘加分区会很麻烦。swap题目在考试里的形式一般是“创建一个512M的swap分区并启用”。这个操作链路是fdisk创建分区并改类型为82、mkswap、swapon、写fstab。容易丢分的点在于fdisk里改分区类型的那一步很容易被忽略因为交互界面里如果直接回车默认就是83类型后续mkswap会报错。另一个点是“启用”和“永久启用”是两回事题目如果只说“启用”可能不要求写fstab但如果你写了也不会扣分相反如果题目明确要求永久生效而你只用了swapon那一半分就没了。我的习惯是只要涉及swap或者挂载直接顺手写上fstab稳妥拿分。5.4 学习路线建议从看懂命令到独立设计方案最后聊几句课程学习的安排。RH134第七单元内容密度高命令多概念杂很容易出现“看完一遍视频觉得都会一动手就卡壳”的情况。我建议的学习顺序是不要急着敲命令先把下面这些问题用一两句话回答清楚再动手Linux里设备名是怎么排的sda和sdb1的含义分别是什么MBR和GPT的区别是什么各自在什么场景下使用分区、文件系统、挂载这三个概念之间的关系是什么/etc/fstab里每一列代表什么为什么用UUIDLVM的PV、VG、LV三层分别对应什么这几个问题如果不用查资料就能脱口而出说明概念层面过关了然后再照着本文的命令流程把分区、格式化、挂载、swap、LVM全部实操一遍。实操的时候最好准备两块空盘一块用来做普通分区文件系统一块用来做LVM再拿其中一个小分区做swap练习。没有多余物理盘的可以用虚拟机加盘VMware或者KVM里添加虚拟磁盘也就几分钟的事效果完全一样。我在跟着课程走的时候还有一个习惯用虚拟机快照。做存储实验前先打个快照万一操作出问题把系统搞崩了还原快照几秒就恢复比一遍遍重装系统高效得多。特别是练习fstab错误逃生那一段一定要在虚拟机上做别拿家里的物理机开玩笑。整体来说“管理基本存储”这一章学透之后你再去看服务器运维、云主机数据盘挂载、数据库扩容这些实际工作内容会非常有亲切感因为Linux所有上层服务的运行都离不开存储这块地基。个人体会是RH134这门课里这个单元和后面的网络配置、系统启动流程是整门课里含金量最高的三个单元把它们啃下来RHCSA的通过希望就非常大了。接下来继续保持这个学习节奏往后面的章节推进多练真实的场景基础打得越扎实后面学的很多东西都是水到渠成的事。