ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RHCSA存储管理实战:磁盘分区、LVM与文件系统全解析

RHCSA存储管理实战:磁盘分区、LVM与文件系统全解析 我学RHCSA那阵RH134第7章“管理基本存储”是我翻来覆去看得最多的一章。原因很简单RHCSA考试里存储相关题目占比很高而且很多题并不难难的是你在紧张状态下能不能把命令一次敲对。存储这种东西一旦分区表写错、文件系统选错、LVM扩容没刷新轻则空间没生效重则系统起不来。这篇文章把我自己在学习和实测中的完整理解整理出来从磁盘分区到文件系统从swap到LVM每个环节都讲清楚“为什么这么做”和“考试会怎么考”希望对你备考和实际工作都有帮助。1. RH134第7章的核心位置为什么存储管理占掉了RHCSA考试的半壁江山1.1 这门课在红帽认证体系里的定位RH134是红帽系统管理第二门课通常和RH124配套学习对应RHCSA红帽认证系统管理员考试。RH124讲的是用户、文件权限、进程、Yum仓库这类基础操作到了RH134就开始进入真正意义上的“系统管理”范畴了——内核、引导流程、网络配置、系统监控以及第7章的存储管理。存储管理被安排在RH134中间偏前的位置我觉得有教学节奏上的考虑。分区、格式化、挂载、LVM这些内容既能承接前面学过的文件与目录权限又能为后面学习日志、SELinux上下文、系统排障铺路。比如SELinux章节里要验证挂载点的上下文如果连基本挂载都不熟那块内容会变得很难理解。从考试角度说RHCSA的考试形态是“上机操作”给一台虚拟机按要求完成一系列配置。存储相关的题目分布非常密集我见过不少考题列表里存储类题目稳定占7到9道这个比例在全部科目里相当高。而且存储题目有个特点它经常和别的考点叠加出现。比如要求你创建一个逻辑卷并挂载到指定目录同时要求设置正确的SELinux上下文或者要求你增加swap分区同时要确保重启后依然有效。这种“组合题”最能拉开差距因为一步错后面全错。1.2 第7章到底覆盖哪些考点严格对应红帽官方大纲第7章“管理基本存储”包含的知识点可以整理成一张清单。考点具体内容掌握程度磁盘分区MBR与GPT分区表、fdisk/parted/gdisk工具必须熟练文件系统创建mkfs.xfs、mkfs.ext4XFS与ext4特性必须熟练挂载管理mount、umount、/etc/fstab永久挂载、挂载选项必须熟练swap管理swap分区与swap文件创建swapon/swapoff必须熟练LVM逻辑卷PV/VG/LV三层结构、创建、扩容、缩容、删除重点难点设备名称规则/dev/sd*、/dev/nvme*UUID与设备路径区别理解这里我要强调官方大纲里“管理基本存储”看起来就几行字但实际考试深度远超表面。比如说挂载不只考mount命令怎么用还考fstab字段写错后系统无法启动的恢复方法。比如LVM不只要会创建还考如何通过vgreduce修复失联的物理卷。这些都属于“同一知识点背后的隐藏考点”我在后面几节里会逐个展开。1.3 学习第7章的路线建议我个人的经验是第7章不能只靠看和背必须上手敲。你至少需要准备一台虚拟机里面加两块以上虚拟磁盘反复练习从零开始分区、格式化、挂载、配置LVM然后故意制造故障再修复。实验路径我推荐这样走第一遍跟做看着课程文档把命令敲一遍目标是熟悉命令拼写和参数。第二遍不看文档只看着题目要求做完。这一步能暴露你以为自己会但其实不会的地方。第三遍故意破坏。比如删掉fstab里的一行重启看系统卡在哪里再进紧急模式修好。比如用lvreduce把逻辑卷缩回去观察数据是否完好。第四遍限时训练。给自己15分钟完成“分2G分区-格式化为xfs-挂载到/mnt/data并永久生效”这样的组合任务。做到第四遍考试基本就不慌了。2. 磁盘分区从MBR到GPTfdisk与parted的选择困难症怎么治2.1 先搞清楚设备命名和分区的物理真相管理存储之前得先认识Linux里磁盘是怎么叫的。传统SATA/SCSI磁盘对应的是/dev/sda、/dev/sdb这种名字其中s代表SCSI/SATA子系统d代表diska是磁盘序号。同一块盘上的分区就是/dev/sda1、/dev/sda2这样递推。现在越来越多服务器用NVMe SSD设备名变成了/dev/nvme0n1其中nvme0表示第一个NVMe控制器n1表示namespace 1后面再接p1、p2代表分区。考试环境通常是虚拟机为了模拟老环境依然会给你sda、sdb这种传统的命名方式但你要知道NVMe这个命名规则面试里很可能会问到。然后说物理层面的知识。一块磁盘出厂后要使用它的第一步是写分区表。分区表是磁盘上的一个小区域它记录了这块盘被划分成了几个区、每个区从哪个扇区开始到哪个扇区结束。Linux里有两套最主要的分区表标准MBR和GPT。MBR的历史非常悠久它只有64字节的固定区域来存分区信息因此最多支持4个主分区。如果需要超过4个就要拿一个主分区做扩展分区再在扩展分区里划分逻辑分区逻辑分区在Linux里从sda5开始编号。另外MBR用32位来记录扇区地址最大只能管理2TiB的磁盘。现在的服务器随便就上TB级硬盘2T的限制已经很尴尬了。GPT解决了这些问题。GPT使用64位的逻辑块地址理论上能管理超大容量实际单分区上限高到不可能触达。主分区数量方面GP**分区表本身默认支持128个分区条目完全不需要扩展分区这种绕弯子的设计。另外GPT还在磁盘末尾冗余保存了一份分区表副本提供了额外的容错能力。还有一点从UEFI引导的系统通常要求使用GPT分区表因为UEFI固件规范里分区结构就是基于GPT设计的。2.2 用fdisk操作MBR分区的完整流程RHCSA考试里如果题目没特殊说明默认还是用MBR分区表、用fdisk操作。fdisk是交互式工具一个字母一个命令不适合脚本但人肉操作效率很高。假设我给虚拟机加了一块20G的磁盘它识别为/dev/sdb现在我要把它分成两个10G的主分区。流程是这样的fdisk /dev/sdb进入交互界面后输入n新建分区fdisk会问是主分区还是扩展分区。这里输入p选主分区然后选分区号默认从1开始。接着是起始扇区提示默认是2048直接回车。再然后是要结束扇区可以直接指定大小比如10Gfdisk会自动计算结束扇区。建完第一个分区后再用同样的方式建第二个10G分区。最后输入w写入分区表并退出。这里有一个细节fdisk的所有操作在输入w之前都只是修改内存里的副本只有w才会真正写入磁盘。很多人容易在这种地方漏掉导致分区分了半天重启一看什么变化都没有。写入完成后可以用下面命令刷新分区表并确认partprobe /dev/sdb lsblk /dev/sdbpartprobe的内核消息分发机制要求内核重新读取磁盘分区信息不需要重启系统。lsblk则是最直观的查看块设备结构的命令它能以树状结构显示磁盘和分区的从属关系这是RHCSA考场上的高频命令。2.3 什么时候该用gdisk和parted虽然考试默认是fdisk但实际工作中会遇到GPT分区表的需求。容量超过2T的磁盘、UEFI启动的机器都绕不开GPT。这时候有两个选择gdisk和parted。gdisk的交互方式跟fdisk几乎一模一样只是它操作的是GPT分区表。如果你会fdisk花十分钟就能上手gdisk。一个典型的命令序列gdisk /dev/sdc输入n、选分区号、设置起始和结束扇区最后w写入。gdisk甚至会在写入前问你是否确认因为一旦从MBR转换成GPT原有分区结构会受影响。parted则是命令行非交互模式用得更多的工具。它可以直接用一条命令完成整个分区创建parted /dev/sdc mklabel gpt parted /dev/sdc mkpart primary 1MiB 100%第一行把分区表格式设为GPT第二行创建一个从1MiB开始到磁盘尾部结束的主分区。注意parted的单位可以写MiB、GiB、%非常灵活。parted还有一个非常好用的子命令print可以查看当前分区表parted /dev/sdc print它能直接显示磁盘容量、分区表类型、每个分区的起止位置和文件系统类型如果已经格式化比fdisk的p信息更完整。2.4 分区对齐追求性能必须懂的概念这块内容是实际工作中很常见的坑考试偶尔会作为背景知识提到。所谓分区对齐指的是分区起始位置要与物理存储介质的块边界对齐。老式磁盘扇区是512字节新的大容量磁盘和SSD普遍使用4K物理扇区。如果分区起始位置不对齐比如从第63扇区开始那么一个4K物理扇区可能被分到两个不同的分区里读写时会出现严重的惩罚性性能下降。现代fdisk已经非常智能默认起始扇区直接给你2048。2048这个数字本身是4K对齐的典型起始点因为2048乘以512字节刚好等于1MiB而1MiB又是4K扇区的整数倍。如果你用fdisk时直接回车接受默认值通常会得到正确的对齐。但如果你手动指定了奇怪的起始扇区比如让分区从第37扇区开始那就要小心了。查看对齐情况可以这样做fdisk -l /dev/sdb输出中会显示“start”字段也可以用parted /dev/sdb align-check optimal 1如果返回ok说明分区已对齐如果not aligned就该删掉重建。实际工作中很多性能问题的根因翻来覆去查最后发现就是当年分区没对齐这个教训我建议你提前记住。3. 文件系统与挂载把一块分区变成可用的目录3.1 XFS和ext4怎么选分好区的磁盘只是一块有边界和编号的空白空间系统要真正往上面存文件还必须写入文件系统。文件系统定义了文件名、目录、权限、数据块的组织方式是“从磁盘到目录”的关键桥梁。RHEL 8和RHEL 9默认使用XFS作为根文件系统。XFS是红帽主推的高性能日志文件系统对大型文件和高吞吐场景适应得非常好最大支持8EiB级别的单文件系统在线扩容能力很强。ext4则是从ext3、ext2一路升级来的成熟方案兼容性好可维护性强很多老系统里依然是默认文件系统。RHCSA考试范围内这两个都要会用。创建方式分别是mkfs.xfs /dev/sdb1 mkfs.ext4 /dev/sdb1考试题干一般会直接写明“格式化为xfs文件系统”或“格式化为ext4文件系统”所以不用纠结选哪个按题目要求来就行。不过你要清楚二者特性上的核心差异XFS只能在线扩容不能缩容ext4既可以扩容也可以缩容但缩容必须卸载文件系统后进行。还有一个细节容易被忽略mkfs系列命令会给出警告提示你确认是否真的要格式化。因为格式化之后这个分区上所有数据都会消失。在某些bash脚本或自动化场景里可以用-f强制跳过交互mkfs.xfs -f /dev/sdb1但考试时我不建议用-f因为造的盘本来就没数据直接回车确认就好还能养成确认意识。3.2 mount和挂载选项挂上只是第一步文件系统创建完后分区还只是一个孤立的块设备。Linux的“一切皆文件”哲学在这里体现得很直接——要让分区里的文件出现在路径中就得把它“挂载”到某个目录下这个目录被称为挂载点。最基本的挂载命令mount /dev/sdb1 /mnt/data执行后访问/mnt/data就等同于访问/dev/sdb1这个文件系统的根。挂载选项可以附加在mount命令里。常用的有defaults默认选项包含rw、suid、dev、exec、auto、nouser、async等。noatime不更新文件访问时间能显著减轻磁盘写负载尤其适合日志和临时文件目录。noexec挂载的分区上不允许执行二进制文件常用于安全加固。ro只读挂载防止误写。remount重新挂载已挂载的文件系统用于动态修改挂载选项比如从读写改成只读。修改挂载选项的示例mount -o remount,noatime /mnt/data如果只想看当前系统上所有挂载情况使用mount不带参数或者看/proc/mounts文件内容更准确。df -h则能看到各文件系统的已用空间。3.3 /etc/fstab字段逐段拆解mount命令做的挂载是临时的重启就没了。要让挂载永久生效必须把配置写进/etc/fstab。fstab每一行的六个字段我必须逐个讲清楚。UUID3f2a7c4e-1b9f-4c3e-8d10-5a6b7c8d9e0f /mnt/data xfs defaults 0 0字段含义示例1要被挂载的设备可直接写设备路径或UUID/dev/sdb1 或 UUID...2挂载点目录/mnt/data3文件系统类型xfs、ext4、swap4挂载选项defaults、noatime5是否需要dump备份0为不备份06是否用fsck检查启动时文件系统完整性0为不检查根分区建议10关于第1字段我强烈建议用UUID而不是/dev/sdb1这种设备路径。原因很简单设备名不是稳定的。系统启动时内核发现硬件的顺序可能会变化今天/dev/sda是那块新加的盘明天可能因为电池、外接盘或者BIOS设置改变就变成了/dev/sdb而你又没配置好fstab系统就会在启动时卡在找不到设备的提示上。UUID是文件系统创建时生成的全球唯一标识符写在分区元数据里跟设备名无关永远不变。查询UUID用blkidblkid /dev/sdb1fstab里的第6字段也值得多说两句。非根分区通常设0意思是启动时不检查但根分区一般设1优先检查。如果你把普通数据盘设成1系统启动时可能会在fsck等待环节卡一小会儿因为它们要按顺序检查。考试一般不深究这个但实际生产环境需要理解。写完fstab后验证配置正确性的标准动作是mount -a这个命令会按fstab逐条挂载所有“auto”选项的条目。如果配置错了mount -a会立刻报错你的系统起码还能正常运行如果配置错了又不管直接重启那很可能就起不来了。所以每次改完fstab第一步永远是mount -a这一步救了我很多次。3.4 一次完整的分区到挂载演练我把我日常练习这套流程的操作汇总在这里照着敲一遍等于把第7章一半内容过了一遍。假设新增一块10G磁盘/dev/sdd要分区成1个主分区格式化为xfs挂载到/data目录并永久生效。fdisk /dev/sdd交互中输入n、p、回车、回车起始扇区默认2048终点输入10G最后w写入。partprobe /dev/sdd mkfs.xfs /dev/sdd1 mkdir -p /data mount /dev/sdd1 /data然后用blkid获取UUIDblkid /dev/sdd1编辑fstabvim /etc/fstab在文件末尾追加UUID上一步获取到的UUID /data xfs defaults 0 0最后验证mount -a df -h /datadf输出里能看到挂载点和容量说明整个链路通了。这套流程在考场上是基础中的基础熟练到不需要思考才可以节省时间去做更复杂的题。4. swap与内存扩展管好磁盘上的“内存溢出区”4.1 swap为什么也算基本存储swap很多人一听就觉得是“虚拟内存”但它在RH134第7章里确实被归入基本存储的范畴因为创建swap的载体就是磁盘分区或者磁盘文件。Linux内核把物理内存分成一页一页来管理内存不够时内核会把不常用的内存页换到swap空间里腾出物理内存给活跃进程。系统出现内存压力时swap能兜底防止OOM killer把关键服务杀掉。所以很多线上服务器都会配置一定量的swap不是因为它常用而是因为它能救急。查看当前swap状态用free -h swapon -sfree -h能看到swap总量、已用、可用swapon -s则列出当前启用的swap设备、类型和优先级。4.2 创建swap分区和swap文件创建swap分区的流程很像普通分区但格式化工具不同。步骤是用fdisk或者gdisk分出一个分区然后用mkswap写入swap签名。fdisk /dev/sde在fdisk里创建一个2G分区然后partprobe /dev/sde mkswap /dev/sde1 swapon /dev/sde1这样swap立刻生效但重启后失效。要永久启用需要在fstab里追加一行/dev/sde1 swap swap defaults 0 0注意swap这一行比较特殊第1字段可以直接写设备名或用UUID第2字段写swap不是挂载点第3字段文件系统类型也是swap第4字段通常defaults第5、6字段为0 0。它的“挂载点”不是一个目录而是被内核识别为swap区域。另一种常见方式是swap文件好处是不用重新分区。比如在根文件系统里创建一个2G文件fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfilechmod 600这步很重要因为swap文件里可能包含内存页的敏感内容如果权限过大普通用户就能读取安全隐患极大。系统默认会检查swap文件的权限发现不安全会拒绝启用。fallocate是快速分配空间的方式但有些文件系统上可能不支持那就改用dd if/dev/zero of/swapfile bs1M count2048dd方式会真正写入数据速度慢一点但兼容性最好。无论是哪种方式永久启用都在fstab追加/swapfile swap swap defaults 0 04.3 swap调优参数和实际使用心得swap不是越大越好。过度依赖swap会带来大量换入换出I/O反而拖慢系统。Linux内核通过vm.swappiness参数控制“积极程度”范围0到100。数值越大内核越倾向于把内存页换到swap数值越小越倾向于先回收页缓冲。临时调整sysctl vm.swappiness10永久调整写入/etc/sysctl.conf或/etc/sysctl.d/下的配置文件echo vm.swappiness 10 /etc/sysctl.d/99-swap.conf sysctl -p /etc/sysctl.d/99-swap.conf生产环境的典型建议是10左右对于SSD磁盘甚至可以更低。如果你有足够的内存swap更多是心理安慰和最后防线不用配得特别大。RHCSA考试一般就考怎么创建swap、怎么永久生效不太深挖调优但知道这些参数会让你在实际运维中更有底气。5. LVM逻辑卷管理第7章里最值得反复敲的部分5.1 传统分区的天花板倒逼出LVM如果一直用普通分区管理存储很快会遇到几个尴尬场景家目录空间不够了要扩容但旁边没有相邻的连续空闲空间新买了一块磁盘想并到现有文件系统里但传统分区做不到想做一个秒级快照用来测试传统分区更是天方夜谭。LVMLogical Volume Manager就是来解决这些问题的。它的核心思路是把底层磁盘分区抽象成三个层次物理卷PVPhysical Volume分好区的磁盘或整块磁盘标记为可供LVM使用的“原料”。卷组VGVolume Group一个或多个PV汇聚成的存储池容量可以动态增减。逻辑卷LVLogical Volume从VG这个池子里划出来的块格式化后就能挂载使用。打个比方PV是你买回来的散装乐高积木VG是把积木倒进一个大整理箱LV就是从整理箱里按需要取出的那一堆积木可以拼成一个零件。整理箱里的积木总量可以随时增加零件拼多大也就有了灵活性。5.2 从PV到LV的一整套创建流程下面我演示完整创建流程。假设有两块新磁盘/dev/sdf和/dev/sdg各10G我要在它们上面创建一个20G容量起步的逻辑卷。第一步把整块磁盘做成PV。整块磁盘不需要先分区直接就能用pvcreatepvcreate /dev/sdf /dev/sdg如果磁盘上已经有分区就写分区路径比如pvcreate /dev/sdf1。之后用pvs或者pvdisplay可以查看PV状态。第二步创建VGvgcreate vgdata /dev/sdf /dev/sdgvgdata是我起的卷组名考试里题目会指定名字正式考试千万别自己发挥改名字。创建完用vgs或vgdisplay查看。第三步从vgdata里划出一个逻辑卷。这里要决定是用固定大小还是按百分比分配lvcreate -L 10G -n lvdata vgdata这条命令创建了一个10G的逻辑卷名字叫lvdata归属于vgdata卷组。-L指定绝对大小-l可以指定PE个数也可以写-l 100%FREE表示把卷组剩余空间全部分配给这个LV。创建完成后LV对应的设备路径是/dev/vgdata/lvdata同时也会有/dev/mapper/vgdata-lvdata这个符号链接。在RHEL里两个路径都能访问我习惯用/dev/vgdata/lvdata这种写法更直观。第四步格式化并挂载。这一步跟普通分区没有区别mkfs.xfs /dev/vgdata/lvdata mkdir -p /mnt/lvdata mount /dev/vgdata/lvdata /mnt/lvdata想要永久挂载就把UUID写进fstab逻辑卷的UUID依然可以通过blkid获取。5.3 扩容与缩容LVM真正的杀手锏扩容是LVM最高频的操作。假设我的lvdata满了要给它再加5G。如果是ext4文件系统lvextend -L 5G /dev/vgdata/lvdata resize2fs /dev/vgdata/lvdata关键点在于lvextend只是扩大了逻辑卷块设备的大小文件系统层面感知不到。所以必须再执行resize2fs让ext4文件系统扩展到新的逻辑卷边界。两个命令都执行完df -h才能看到空间增加。如果是xfs文件系统扩容文件系统的命令不一样lvextend -L 5G /dev/vgdata/lvdata xfs_growfs /mnt/lvdataxfs_growfs后面挂载点参数也可以通过设备路径指定但注意它要求的参数通常是挂载点。xfs文件系统支持在线扩容所以不用卸载执行完df -h立刻能看到效果。再来说缩容。缩容比扩容危险得多。LVM缩容前必须先把文件系统缩小到目标大小再缩小逻辑卷顺序反了等于自杀。ext4文件系统缩容的完整命令序列umount /mnt/lvdata e2fsck -f /dev/vgdata/lvdata resize2fs /dev/vgdata/lvdata 8G lvreduce -L 8G /dev/vgdata/lvdata mount /dev/vgdata/lvdata /mnt/lvdatae2fsck -f是强制检查文件系统这个操作在缩容前是必须的resize2fs指定了目标大小8Glvreduce再把LV也缩到8G。顺序绝对不能错先缩文件系统再缩LV一旦反了文件系统里的元数据可能被截断数据直接损坏。XFS的缩容更麻烦官方工具链里根本不给在线缩容的选项。如果你用xfs想缩容只能备份数据、重建LV、再恢复。所以实际规划存储时XFS卷一般只预留大一些或者只做扩容。5.4 逻辑卷删除、快照和VG故障恢复删除LV的操作在实验环境练一遍就能记住。先卸载然后umount /mnt/lvdata lvremove /dev/vgdata/lvdata vgremove vgdata pvremove /dev/sdf /dev/sdg顺序很重要从顶层LV逐步拆掉底层的VG和PV。lvremove会要求输入y确认这个确认机制防止误删。快照是LVM另一个实用功能。它可以在秒级生成一个逻辑卷的“时间点副本”。快照的实现方式很巧妙它不是复制全部数据而是记录快照创建之后发生变化的块。所以创建瞬间几乎不占空间后续写入越多快照占用越大。创建快照的示例lvcreate -L 2G -s -n lvdata-snap /dev/vgdata/lvdata-s表示snapshot-n指定快照名字后面是原LV路径。-L大小是快照可以承载的变动量并不是完整数据的容量。测试中改动很少2G足够。快照可以在测试时让你随时把系统状态回滚umount /mnt/lvdata lvconvert --merge /dev/vgdata/lvdata-snap mount /dev/vgdata/lvdata /mnt/lvdata注意快照要是满了就开始失效生产环境务必监控快照占用。VG故障恢复是更贴近实战的场景。比如某个PV所在的磁盘物理坏了系统启动时VG会报告“missing”。处理方式是用vgreduce把丢失的PV从卷组里移除前提是那个PV上没有数据或者你已经确保了冗余。如果PV上有数据又有副本可以考虑用pvcreate重新建后加回来。命令大概是vgreduce --removemissing vgdata这个操作在RHCSA级别很少考但面试和工作中很实用。我在虚拟机里专门模拟过一次磁盘损坏把VG里一个PV删掉再用vgreduce恢复整个排查过程能让你对PV和VG的关系理解得特别透。5.5 LVM与fdisk分区的深度配合有一个细节我觉得值得一提LVM的PV可以建在整块磁盘上也可以建在分区上。实际生产环境常见做法是一块物理磁盘先分出一个8e类型Linux LVM的分区再在分区上创建PV。原因是将来如果你要调整磁盘尺寸或者做RAID扩容有了分区表的标记系统识别LVM分区会更清晰。查看分区类型可以用fdisk -l如果是LVM分区System列会显示Linux LVM。这个标记用fdisk里的t命令来改分区类型ID填8e。不过RHCSA考试一般不要求你手动改分区类型题目通常会明确说“创建卷组vg0逻辑卷lv0使用整个磁盘”或“使用某个分区”。但如果你图省事直接对整块盘执行pvcreate考试完全没问题。我自己的虚拟机实验习惯是分整块盘做PV更快捷。6. 实测中翻过的车这些错误比考试题更有教育意义6.1 车翻现场一fstab写错设备名重启直接卡住这是我第一次做fstab实验翻的最大一个跟头。当时把新分区的挂载写成了/dev/sdb1心想这台机器就这一块新盘肯定没问题。结果重启后系统卡在了一个提示界面大致意思是找不到/dev/sdb1让你按CtrlD重启或者输入root密码进入维护模式。排查思路应该像我后来总结的那样先快速判断是设备名变了还是UUID变了。用lsblk看一遍磁盘和分区如果发现/dev/sdb和/dev/sdc对调了恭喜你踩中经典坑。解决方案有两种第一种进入紧急模式后用mount -o remount,rw /把根文件系统重新挂载为读写然后编辑fstab把那行错误的设备名改成UUID。之后reboot验证。第二种更省事在紧急模式下检查blkid找出磁盘实际的UUID直接更新fstab。这个坑的核心教训是能用UUID就别用设备名。设备名在启动时可能因为内核枚举顺序、BIOS设置变化而改变UUID则永远不会。6.2 车翻现场二LVM扩容完成df却一点没变另一个高频翻车点是LVM扩容后df看不出变化。原因几乎总是忘了在lvextend之后执行文件系统扩容命令。我见过有人在生产环境执行了lvextend -L 20G满怀期待地输入df -h结果还是原来的容量于是开始怀疑是不是机柜里哪根线松了。其实只要执行对应的文件系统命令就好xfs_growfs /mnt/lvdata或者resize2fs /dev/vgdata/lvdata这里有个值得养成的习惯每次执行lvextend后马上重复一遍xfs_growfs或resize2fs并把这套组合记成肌肉记忆。考试紧张的考场里忘掉这一步的人特别多也因此特别容易丢分。6.3 车翻现场三swap文件权限不对swapon直接拒绝用fallocate创建swap文件后第一次执行swapon /swapfile时系统报错提示“insecurity”之类的字样。原因是我忘了chmod 600。这个坑对新手来说很隐蔽。mkswap和swapon都会检查swap文件的权限如果文件被其他用户或组读取它们担心内存页内容泄露所以直接拒绝启用。解决办法就是chmod 600 /swapfile swapon /swapfile再补充一句如果你把swap文件放在fstab里一定要注意文件系统在启动时确实已经挂载。因为swap文件是在根文件系统里所以这个位置放swap file没啥问题只要你根分区没有挂载得特别晚。6.4 RHCSA考试中的存储题作答策略考试时间有限存储题往往是整套试卷里最占时间的一部分。我的作答策略是先做最简单的“分区格式化临时挂载”题能拿的分先拿。再做fstab永久挂载做完后一定跑mount -a验证。最后做LVM题因为流程最长且扩容后还需要文件系统扩容命令步骤多容易出错。时间控制上一道普通存储题控制在5分钟内LVM完整创建流程控制在8到10分钟内这样整套考试才有富余时间去处理排障和配置类题目。我还有一个习惯是交卷前用lsblk、pvs、vgs、df -h快速过一遍所有存储题确认卷组、逻辑卷、挂载点都能对上题目要求。这些小步骤不需要额外开销但能有效防止低级失误。最后说一句实在话第7章的内容不难但覆盖面广、操作频度高属于“会者不难难者不会”的典型章节。我在实际备考中最大的体会就是存储管理必须要有一台虚拟机反复练尤其是LVM的各种操作练到手指比脑子先行动的状态。你在练习中翻过的每一个车都比考试前刷一百道选择填空题有价值。如果你手头还没有实验环境找台KVM虚拟机加两块虚拟磁盘立刻开始动手比任何教程都管用。
返回列表