
这套练习题我刚拿到手就赶紧刷了一遍说实话比我想象中要扎实。第2章磁盘、LVM、文件系统与扩容备份这几个东西单独拎出来都能讲半天组合在一起更是日常服务器运维的高频场景。题目不光是考命令背得熟不熟更多的是考你有没有真正理解LVM那套逻辑碰到磁盘满了、分区不够用的时候能不能冷静地把事情办完。我把整套题从头到尾梳理了一遍结合自己做实验时踩过的坑把每一类题目的考点、易错点和解题思路都拆开揉碎了写出来。这篇不是单纯的答案粘贴而是带着你过一遍题目背后的知识点顺便帮你把“为什么这么做”搞清楚。无论你是刚学Ubuntu的入门者还是已经在用LVM但心里没底的老手这套题都能帮你查漏补缺。1. 练习体系总览题目到底在考什么整体看下来这套配套练习的出题思路很清晰就是围绕“磁盘管理、LVM逻辑卷管理、文件系统操作、扩容收缩、备份恢复”这五块核心内容展开。不过它没有把每个知识点孤立地考而是刻意把它们串在了一起模拟真实服务器环境里会遇到的问题。1.1 出题目标与知识覆盖先看覆盖范围。题目从最基础的磁盘识别开始一路延伸到LVM的创建、卷组扩展、逻辑卷扩容然后过渡到文件系统的格式化与挂载最后落点在备份与灾难恢复。这个路径其实就是平时在一台新服务器上从零搭建存储、后续遇到容量瓶颈再扩容的完整流程。题目里反复出现的一个核心概念就是“LVM的灵活性”。传统的物理分区一旦划分好想扩大就得折腾半天甚至要冒着数据丢失的风险。而LVM用“物理卷—卷组—逻辑卷”这层抽象把你从物理磁盘的约束中解放出来。做题的时候你会发现几乎每一道跟扩容相关的题目背后都是在考察你对这一层抽象的理解程度。1.2 题型设计与难度阶梯题型分布上有基础概念题、命令操作题、场景分析题和综合实验题。难度是层层递进的概念题直接问PV、VG、LV、PE之间的关系或者某条命令的作用属于送分题但也是检验你有没有背死书。操作题给你一个具体场景比如“有一块新硬盘要把它做成LVM并挂载到/data”让你写出完整命令序列。场景题抛出一个故障现象比如“/home分区满了如何在不影响数据的情况下扩容”需要你综合考虑LVM扩容和文件系统在线扩展。综合实验题最后一道大题把前面所有内容融合在一起模拟从备份到恢复的完整流程。这种阶梯式设计我觉得挺友好的你能清楚地看到自己卡在哪一层是命令不熟还是逻辑没理顺。1.3 分值分配与建议时长如果按百分制粗略估算磁盘基础题约占20分LVM专项约30分文件系统与挂载约15分扩容与收缩约20分备份恢复约15分。建议给自己定个150分钟左右的完整作答时间基础好的可以压缩到90分钟。这里要提醒一句不要光在脑子里过一遍觉得“我会了”就跳过操作题。很多命令看着眼熟真正在终端里敲的时候参数顺序一错就全废了。建议每道操作题都在虚拟机里实际跑一遍这套练习题最值钱的地方就在这——它是可以边做边实验的。2. 磁盘管理基础练习动手之前先认清硬件磁盘管理是整章的地基这部分题目如果你拿不准后面LVM和扩容相关的基本也会一团乱。好在这部分题目都很实在考的就是常用命令和对磁盘设备的理解。2.1 命令熟练度自测题第一类题比较直白给你一台刚装好的Ubuntu服务器要求列出所有磁盘及分区信息。这里就涉及两条高频命令的对比lsblk以树状图形式展示块设备、分区、挂载点信息直观、可读性强适合一眼看清整体结构。fdisk -l显示磁盘详细的分区表信息包括起始扇区、大小、分区类型等信息量更大但不那么友好。做题时如果只让你“查看磁盘分区情况”优先选lsblk如果问“查看某块磁盘的分区表详细结构”那就要fdisk -l /dev/sda。还有一个容易考的点是lsscsi用来查看SCSI设备列表能看到磁盘的设备类型、厂商和盘符对应关系。在做多磁盘识别的场景里这个命令能帮你准确区分/dev/sda、/dev/sdb是物理上哪块盘避免后续操作搞错目标。2.2 分区规划实操题这类题通常会给你一个具体需求比如“有一块20G的新磁盘需要划分两个分区一个10G另一个作为扩展分区的容器”然后让你写出分区操作流程。核心工具不外乎fdisk或parted。如果你用的是fdisk操作要点在于sudo fdisk /dev/sdb # 输入 n 新建分区 # 输入 p 选择主分区输入分区号 1 # First sector 直接回车默认Last sector 输入 10G # 继续新建第二个分区类型选择扩展分区 # 输入 w 保存分区表这里最容易翻车的两个坑一是创建完分区之后忘了执行partprobe让内核重新读取分区表导致系统不识别新分区二是分区的起始扇区直接回车采用默认值这没问题但如果你手动指定起始扇区又不小心跟已有分区重叠数据可能就没了。稳妥的做法是分区完必执行sudo partprobe或sudo fdisk -l确认分区状态。拿不准时用lsblk核对新分区的size是否如预期。2.3 磁盘识别与命名规律辨析还有一道让我印象深刻的题目给你四块不同接口的磁盘让你判断它们的设备名称。这是典型的考察Linux设备命名规则的题规律其实很简单/dev/sda第一块SATA/SAS/SCSI磁盘a、b、c按识别顺序递增。/dev/nvme0n1第一块NVMe固态硬盘控制器编号为0、命名空间为1。如果你插了块U盘通常是/dev/sdb或/dev/sdc识别顺序取决于硬件探测顺序。这类题在考试之外也很实用特别是多块磁盘的服务器上经常有人不看型号直接格式化然后后格式化到系统盘。我的习惯是拿到盘后先用lsblk加lsscsi双重确认再动手分区。注意新加的磁盘如果系统里已经有sda、sdb新硬盘可能是sdc但这个顺序取决于接口和BIOS识别顺序在虚拟化环境里尤其不稳定务必以实际系统显示为准。3. LVM专项练习从物理卷到逻辑卷的链路拆解这套练习题的中坚力量就是LVM。如果前面的题你已经做顺手了到这里会开始感觉到难度上升——不只是敲命令而是要把整条链路搞清楚。3.1 概念辨析题PV、VG、LV、PE到底是什么关系关于LVM概念的选择题最容易搞混的就是PE和LE。简单来说物理卷PV把磁盘或分区初始化为LVM可用的底层存储单元。卷组VG由多个PV组成的一个存储池相当于把若干块盘的容量合并起来。逻辑卷LV从VG里切出来的逻辑分区是最终用来格式化、挂载给系统使用的设备。物理扩展块PEVG里最小的存储单位类似文件系统的簇默认大小4MiB。逻辑扩展块LE逻辑卷对应的映射单位跟PE一一对应。我在解释这套概念的时候喜欢用一个类比PV就像你手里的一块块乐高积木板VG就是你把这些板子拼成的一个大底板LV就是你在底板上划定的一块特定区域。PE就是底板上的单位格点每块区域占多少个格点这就是LE。题目里如果问“VG能用的总容量由什么决定”答案就是该VG内所有PV容量的总和。如果问“PE大小会影响什么”那就要知道PE越小块数越多灵活度更高但元数据开销也会略微增大PE越大能支持的VG/LV容量上限越大默认4MiB在绝大多数场景下是最优解。3.2 创建流程操作题三步走顺序不能乱这类题是必考实操题让你“把两块新盘做成一个卷组vg_data再切一个逻辑卷lv_web给Web服务使用”。完整流程分三个阶段首先是pv阶段sudo pvcreate /dev/sdb /dev/sdc sudo pvs然后是vg阶段sudo vgcreate vg_data /dev/sdb /dev/sdc sudo vgs最后是lv阶段sudo lvcreate -n lv_web -L 10G vg_data sudo lvs如果要做对比实验你会发现pvs、vgs、lvs这三个查看命令的高频输出字段各有侧重命令核心输出信息pvsPV的设备路径、所属VG、PV大小、空闲空间vgsVG总大小、已分配空间、空闲空间、PE数量lvsLV名称、所属VG、LV大小、数据布局线性或条带化很多人在lvcreate时会纠结-L和-l的区别。-L 10G是指定固定大小-l 100%FREE是按百分比使用剩余空间。做题时特别注意题干问的是“固定大小”还是“用完所有空闲空间”这决定了你的参数。3.3 PE大小与容量计算题算清这笔账才能不踩坑计算题几乎都会涉及PE和总容量的换算比如给出VG总大小、PE大小问能创建多少个PE、最大LV能有多大。这里有一个固定的换算逻辑PE数量 VG总容量 / PE大小LV容量 PE数量 × PE大小举例VG总大小20GiB默认PE大小4MiB则PE总数为20GiB ÷ 4MiB 5120个。如果创建LV时指定使用该VG全部空间LV的容量就是5120 × 4MiB 20GiB。有一类易错题会问“为什么创建的LV比预期的VG大小略小”答案就是VG本身的元数据也会占用少量空间所以vgs显示的VG大小总是比一块块PV原始容量加起来略微小一点。这个细节在笔试里不算难但在实际生产环境里如果你卡着容量创建LV就有可能报“空间不足”。实操提示lvm的默认PE大小可以在vgcreate时用-s参数修改。比如做大量小逻辑卷的虚拟化场景PE设小一点如1MiB能减少空间浪费但PE数量增多元数据也会变大。日常服务器用默认4MiB完全够不用纠结。4. 文件系统与挂载陷阱题一句fstab写错可能开不了机题目做到文件系统这一块坑开始多起来了。文件系统本身不复杂但操作起来全是细节稍不留神就挂载失败或者重启起不来。4.1 mkfs与挂载选择题格式化为哪家文件系统“为LVM逻辑卷创建文件系统”这道题选项无非是mkfs.ext4和mkfs.xfs偶尔会混入mkfs.vfat这类干扰项。考点在于你得知道ext4老牌Linux文件系统支持在线扩容和缩容万金油选择。xfsRHEL系默认文件系统擅长处理大文件和高并发读写但只支持扩容不支持缩容。btrfs功能丰富但相对复杂不是所有场景都合适。如果你做的是Ubuntu服务器日常工作环境里ext4出现频率最高答案一般选它除非题目明确说了“需要处理超大文件或追求高并发”才选xfs。挂载环节的选择题要留意mount命令的参数顺序很多新手会写成mount /dev/vg_data/lv_web /mnt这其实没错但如果你写成mount /mnt /dev/vg_data/lv_web系统就会提示找不到文件系统挂载失败。4.2 fstab持久化配置题用UUID还是设备名题目给一个场景“新增了一块数据盘需要重启后自动挂载”百分之百会考/etc/fstab。最稳妥、也是最容易被忽视的答案是用UUID而不是设备名。设备名看着方便但问题是/dev/sdc这种名称在系统调整硬件顺序后可能会变成/dev/sdd你在fstab里写死的设备名就失效了重启后分区找不到严重时会导致系统卡在emergency mode。而UUID是文件系统创建时生成的唯一标识不管设备名怎么变它都不变所以fstab里用UUID最安全。获取UUID命令sudo blkid然后写进fstabUUID你的UUID值 /data ext4 defaults 0 2fstab格式里的六个字段顺序是设备、挂载点、文件系统类型、挂载选项、是否dump、是否fsck开机自检。最后一列填2表示开机检查该文件系统填0表示不检查。系统盘一般填1数据盘填2这个细节也很容易被选择题盯上。4.3 权限与UUID相关辨析题还有一道题目是问“挂载点目录的权限被忽略是什么原因”。如果你挂载一个ext4分区到某个目录而该目录里原本有文件mount之后原目录里的文件就被隐藏了当你umount之后它们又冒出来。这是因为挂载就是把新的文件系统覆盖在挂载点目录之上目录原内容并不会被删除只是暂时不可见。如果你是挂载NTFS或FAT分区还需要考虑挂载权限参数。fstab里挂载Windows格式磁盘时加uid1000,gid1000,umask022之类的参数很常见不加的话普通用户可能都没权限读写这也是考试的易错点。注意在对已有数据的磁盘执行mkfs之前一定要确认这块盘上没有你还需要的数据。格式化命令本身不会给你任何后悔药。5. 扩容与收缩实战题最贴近生产环境的烧脑环节扩容是这套题的高潮也是最考验综合能力的部分。题目往往把LVM扩容、文件系统扩展、数据安全放在一起考模拟线上磁盘空间不足的应急场景。5.1 在线扩容ext4逻辑卷的标准动作题目描述一个场景“当前逻辑卷lv_data的使用率已经到95%需要在不卸载的情况下把空间扩到2倍。”你会先判断有没有空闲空间sudo vgs卷组还有剩余空间那就可以直接在线扩容sudo lvextend -L 10G /dev/vg_data/lv_data sudo resize2fs /dev/vg_data/lv_data这里有一个顺序问题经常被拎出来做选择/辨析题。如果先跑resize2fs再跑lvextend你会发现resize2fs直接报错提示设备没有多余空间正确做法永远是先扩逻辑卷再扩文件系统。一个容易记的口诀是先改底层设备的容量再通知上层文件系统用满新容量。如果你用的是xfs文件系统最后一条命令就得换掉sudo xfs_growfs /dataxfs的在线扩容命令不需要指定设备路径直接指定挂载点即可它会自动检测并扩展。5.2 xfs与ext4扩容命令差异题这类题很喜欢把ext4和xfs放在一起对比让你判断哪个说法正确。我的建议是直接记一张对比表对比项ext4xfs在线扩容命令resize2fs /dev/xxxxfs_growfs /挂载点是否支持缩容支持但操作复杂且有风险不支持扩容时是否需要卸载不需要不需要文件系统最大容量较小1EiB级别极大8EiB级别适合场景通用服务器、数据库小文件大文件、视频、大规模数据做题时凡是题目出现“xfs不支持缩容”“xfs用xfs_growfs扩展”基本就是正确答案。凡是选择题里出现“resize2fs是xfs的扩容命令”这种说法直接排除。5.3 缩容与数据安全判断题收缩题是区分有没有实际经验的分水岭。比如题干“磁盘空间管理混乱想把某个ext4逻辑卷从100G缩到80G。”缩容逻辑卷是有的但前提极其苛刻文件系统必须是ext4xfs直接没戏。目标分区必须已卸载不能在线缩容。必须先缩文件系统再缩逻辑卷顺序跟扩容正好相反。缩容前必须备份数据任何缩容操作都有数据损坏风险。命令参考sudo umount /data sudo e2fsck -f /dev/vg_data/lv_data # 先检查文件系统完好性 sudo resize2fs /dev/vg_data/lv_data 80G # 先缩文件系统 sudo lvreduce -L 80G /dev/vg_data/lv_data # 再缩逻辑卷 sudo mount /data这道题的坑在于很多新手会在没有e2fsck -f直接缩容resize2fs会提示文件系统有错误而拒绝操作这其实是保护机制千万别加-f强行跳过检查。网上有些教程会让你跳过检查直接缩那是拿数据在赌。实操心得缩容我是能躲就躲即使按照上面流程走一遍中途断电或者命令中断也可能导致文件系统损坏。平时规划好VG空间别把缩容当常规操作。6. 备份恢复综合题最后防线不能只在纸上谈兵备份这一块在练习里看着像是在考验命令其实真正考的是你面对数据丢失风险时的判断力。这部分题目不多但每一道都值得认真做。6.1 备份工具选型逻辑题工具选型的题核心不在于背命令而在于理解不同备份方式的适用场景。常见的有这么几类简单文件级备份用tar能把目录打包压缩恢复快速适合配置和数据量不太大的场景。整盘克隆用dd适合需要原样复制分区或磁盘的场景比如迁移系统盘、制作模板镜像。数据库备份通常用其自带工具例如mysqldump或pg_dump它们能保证逻辑一致性不能直接拿tar去打包数据目录。题目如果让你从以上方式里选一个适合“备份整个系统盘到另一块磁盘”那大概率是dd因为dd能做到块级别一模一样地复制包含引导记录。6.2 dd备份与tar备份的对比辨析题有一道对比题直接问“下列哪种方式适合定期备份网站目录”答案不是dd而是tar。原因很直接dd是块级备份备份整块盘或整个分区哪怕里面大部分空间是空的也照样逐块复制备份文件巨大且耗时。tar是文件级备份只需要打包有数据的文件速度快、体积小且方便增量备份和异地传输。对网站这类文件数量多但单文件不大的场景tar明显更合适。需要记住的tar备份与恢复命令# 备份 sudo tar -czvf /backup/www_$(date %F).tar.gz /var/www # 恢复 sudo tar -xzvf /backup/www_2024-01-01.tar.gz -C /6.3 灾难恢复流程排序题最后一道综合题的经典考法就是“系统无法启动了你有之前做的dd镜像如何恢复”。你需要按顺序排出步骤使用Ubuntu Live CD或安装U盘启动。把故障系统盘和存放镜像的备份盘都接上。确认设备路径比如系统盘为/dev/sda备份盘为/dev/sdb。执行dd if/dev/sdb/backup.img of/dev/sda bs4M statusprogress将镜像写回系统盘。同步完成后重启并移除启动介质验证系统是否正常。这里有个极易被忽略的考点dd的if是输入文件也就是源of是输出文件也就是目标两个参数写反等于把当前磁盘覆盖掉。做题时千万看清“把镜像恢复到系统盘”这句话的方向镜像永远是if要恢复的盘永远是of。用dd做整盘备份还有一个重要纪律备份前源分区最好是卸载状态或只读挂载否则文件系统还在写入备份出来的镜像可能不一致。线上服务器没法随意卸载时优先考虑用LVM快照再备份。7. 答案与思路解析这些选项为什么对、为什么错把整张练习卷的参考答案和思考过程汇总一下。我只讲核心逻辑不逐行罗列所有命令方便你对照自己的作答情况查漏补缺。7.1 选择题速查表题目关键信息正确答案错误选项典型特征查看磁盘分区树状信息lsblk没有挂载信息或显示混乱LVM最小存储单位PE误选成扇区或块扩容ext4逻辑卷命令lvextend resize2fs只写lvextend或只写resize2fsxfs扩容命令xfs_growfs /挂载点写成resize2fs或lvextend保证重启后挂载生效修改/etc/fstab仅使用mount命令查看UUIDblkid误写df -h只能看到设备名恢复tar备份tar -xzvf 备份包 -C 目标目录丢失-C参数导致恢复到当前目录dd备份原盘源盘设为if目标盘设为ofif和of写反7.2 操作题参考答案完整的LVM搭建命令给一个新磁盘做LVM并挂载到/data标准命令序列如下# 1. 创建物理卷 sudo pvcreate /dev/sdb # 2. 创建卷组 sudo vgcreate vg_data /dev/sdb # 3. 创建逻辑卷使用全部剩余空间 sudo lvcreate -n lv_data -l 100%FREE vg_data # 4. 创建文件系统 sudo mkfs.ext4 /dev/vg_data/lv_data # 5. 挂载 sudo mkdir -p /data sudo mount /dev/vg_data/lv_data /data # 6. 写入fstab实现开机自动挂载 UUID$(sudo blkid -s UUID -o value /dev/vg_data/lv_data) echo UUID$UUID /data ext4 defaults 0 2 | sudo tee -a /etc/fstab这道题的重点是命令顺序不能乱创建LV之后的mkfs千万别写错设备路径fstab配置里的UUID值建议用命令自动提取别手抄手抄有抄错长UUID的极大风险。7.3 计算题推理过程示例题目给VG容量100GiBPE大小4MiB问最大可创建的LV容量。把单位统一100GiB 102400MiB。计算PE数量102400 ÷ 4 25600个。创建LV占全部PE容量 25600 × 4MiB 100GiB。再进阶一点如果VG里已经有一个20G的LV剩余空间还能创建多大LV答案是80G左右但严格来说会比80G略小因为VG还有元数据开销。这就是计算题的套路数字本身不难难的是要不要把元数据损耗算进去。8. 易错点与备考建议亲手踩过的坑你就不用再踩了整套题做下来有几个错误几乎是普遍性的我自己的学员也经常在这些地方翻车帮你集中提个醒。8.1 高频丢分点集中盘点第一PE大小和“块”的概念混淆。有人会把PE理解成文件系统的block大小这两个完全是不同层次的东西。PE是LVM的分配单元block是ext4文件系统的存储单元做题时一旦混用概念题必错。第二扩容顺序记反。lvextend和resize2fs的顺序是很多人的重灾区。记住一句话底层设备没变大之前上层文件系统怎么resize都是白搭。xfs和ext4的命令不同也是单选题最爱挖坑的地方。第三看到“重启自动挂载”就只写mount命令。mount是即时生效fstab才是持久化两者缺一不可。题目只要提到“重启后”你必须条件反射想到/etc/fstab。第四fstab里用设备名而不是UUID。考试和实际工作都建议直接用UUID部分旧的IDE设备名在系统换硬件后位置会变只有UUID是稳定标识。第五缩容时跳过e2fsck。有些人贪快省略e2fsck检查直接resize导致文件系统元数据错乱。缩容操作宁可慢也不可跳过检查步骤。8.2 实操建议用什么环境练手最靠谱我强烈建议你别在实体机上直接做这套练习题而是开一台虚拟机来操作。虚拟机能随时回滚快照建错逻辑卷、删错分区都能恢复特别适合反复练习扩容缩容这类高风险操作。熟练度目标是这样的看到一道操作题能在30秒内写出第一步用什么命令10分钟内完成创建物理卷到挂载的全流程中间不用翻笔记。如果达不到说明基础还不牢重新刷一遍第2章再回来做题。如果你手头有多余的U盘或小容量硬盘也可以在虚拟机里给测试机挂载多块虚拟磁盘模拟“多块盘做一个卷组”的真实场景这样练习效果比只拿一块盘要好得多。我个人的经验是把每道题在虚拟环境里至少跑三遍第一遍看着笔记做第二遍合上笔记做第三遍故意制造几个故障比如删掉VG再重建这样才算真正吃透。最后多分享一个细节练习LVM的时候养成做完一步就执行一次pvs、vgs、lvs的习惯别等全部做完再一次性查看。这样做的好处是哪一步出错能立刻定位对排查问题非常有帮助。这套练习题本身就是按这个思路设计的你顺着做下来能力提升会很明显。