当前位置: 首页 > news >正文

【跟韩工学Ubuntu第2课】 第2章 磁盘、LVM、文件系统与扩容备份-007篇】-本章配套练习题

文章目录

  • 【跟韩工学Ubuntu第2课】 第2章 磁盘、LVM、文件系统与扩容备份 练习题
    • 一、理论知识测试(共20分)
      • 1. 选择题(每题2分,共10分)
      • 2. 简答题(每题5分,共10分)
    • 二、命令操作题(共40分)
      • 1. 磁盘分区与LVM创建(20分)
      • 2. LVM扩容与快照操作(20分)
    • 三、场景应用题(共40分)
      • 1. 故障排查与修复(20分)
      • 2. 生产环境设计题(20分)
    • 四、扩展思考题(附加20分)
      • 思考题1:LVM性能优化(10分)
      • 思考题2:灾难恢复计划(10分)
    • 五、实操验证题
      • 验证任务1:LVM条带化性能对比
      • 验证任务2:快照恢复测试
    • 答案与评分标准
      • 一、理论知识测试答案
      • 二、命令操作题答案参考
      • 三、场景应用题答案参考
    • 学习建议

【跟韩工学Ubuntu第2课】 第2章 磁盘、LVM、文件系统与扩容备份 练习题

一、理论知识测试(共20分)

1. 选择题(每题2分,共10分)

题目1:关于MBR分区表的限制,以下哪项描述是错误的?
A. 最多支持4个主分区
B. 单个分区最大支持2.2TB
C. 支持UEFI安全启动
D. 分区表存储在磁盘的第一个扇区

题目2:在GPT分区表中,分区表信息的备份存储在哪里?
A. 磁盘的第二个扇区
B. 每个分区的起始位置
C. 磁盘的末尾
D. 不存储备份

题目3:关于LVM的层次结构,以下顺序正确的是?
A. 物理卷(PV) → 卷组(VG) → 逻辑卷(LV)
B. 卷组(VG) → 物理卷(PV) → 逻辑卷(LV)
C. 逻辑卷(LV) → 物理卷(PV) → 卷组(VG)
D. 物理卷(PV) → 逻辑卷(LV) → 卷组(VG)

题目4:在使用LVM扩展文件系统时,正确的操作顺序是?
A. 先扩展逻辑卷,再扩展卷组
B. 先扩展卷组,再扩展逻辑卷
C. 先扩展文件系统,再扩展逻辑卷
D. 可以任意顺序

题目5:以下哪个选项是配置开机自动挂载的推荐方法?
A. 在/etc/rc.local中添加mount命令
B. 在/etc/fstab中使用设备路径/dev/sda1
C. 在/etc/fstab中使用文件系统UUID
D. 在crontab中添加定时挂载任务


2. 简答题(每题5分,共10分)

题目1:请解释在生产环境中为什么推荐使用GPT而不是MBR分区表?请至少列举3个理由。

题目2:LVM快照是什么?在实际生产中有哪些应用场景?


二、命令操作题(共40分)

1. 磁盘分区与LVM创建(20分)

环境:已有一台Ubuntu Server虚拟机,系统盘为/dev/sda,新增三块20GB的磁盘/dev/sdb/dev/sdc/dev/sdd

任务要求

  1. /dev/sdb磁盘进行分区:

    • 创建GPT分区表
    • 创建两个10GB的分区sdb1sdb2
    • 将分区类型设置为Linux LVM(代码8e00
  2. /dev/sdc磁盘进行分区:

    • 使用MBR分区表
    • 创建单个分区占用全部磁盘空间
    • 分区类型设置为Linux LVM
  3. /dev/sdd磁盘进行分区:

    • 创建GPT分区表
    • 创建一个15GB的分区
    • 分区类型设置为Linux LVM
  4. 创建LVM逻辑卷:

    • 使用sdb1sdb2sdc1创建物理卷
    • 创建名为vg_data的卷组,PE大小设置为16MB
    • vg_data中创建一个大小为25GB、名为lv_www的逻辑卷
    • lv_www上创建ext4文件系统
    • 将文件系统挂载到/var/www目录

请写出完整的命令序列

# 1. 分区 /dev/sdb# 2. 分区 /dev/sdc# 3. 分区 /dev/sdd# 4. 创建物理卷# 5. 创建卷组# 6. 创建逻辑卷# 7. 创建文件系统# 8. 挂载文件系统

2. LVM扩容与快照操作(20分)

前提:在上一题的基础上,lv_www逻辑卷已挂载到/var/www目录。

任务要求

  1. /dev/sdd1添加到vg_data卷组中
  2. lv_www逻辑卷扩容10GB
  3. 在线扩展ext4文件系统
  4. 验证文件系统扩容成功
  5. lv_www创建名为lv_www_snap的快照,大小为5GB
  6. /var/www目录中创建测试文件test_data.txt,内容为"Hello Ubuntu Server"
  7. 将快照挂载到/mnt/snapshot目录,验证可以读取测试文件
  8. 删除测试文件,然后从快照恢复数据
  9. 验证测试文件已恢复
  10. 卸载并删除快照

请写出完整的命令序列

# 1. 扩展卷组# 2. 扩展逻辑卷# 3. 扩展文件系统# 4. 验证扩容# 5. 创建快照# 6. 创建测试文件# 7. 挂载快照# 8. 验证快照数据# 9. 删除测试文件# 10. 从快照恢复(可选,写出思路即可)# 11. 清理资源

三、场景应用题(共40分)

1. 故障排查与修复(20分)

场景描述
某公司的一台Web服务器在重启后,发现/var/www目录无法访问。经检查,该目录原来挂载在LVM逻辑卷/dev/vg_web/lv_html上,但系统启动时挂载失败。

已获取的信息

  1. 通过lsblk查看,磁盘/dev/sdb存在
  2. 通过pvs查看,物理卷/dev/sdb1存在但状态异常
  3. 通过vgs查看,卷组vg_web不存在
  4. 通过lvs查看,逻辑卷lv_html不存在
  5. 磁盘/dev/sdb的分区表类型为GPT

故障现象

  • 执行mount /dev/vg_web/lv_html /var/www提示"文件或目录不存在"
  • 执行vgdisplay vg_web提示"卷组不存在"

你的任务

  1. 请分析可能的原因(至少列出3种)
  2. 写出排查步骤的命令序列
  3. 写出恢复步骤的命令序列(假设只需要恢复LVM结构,数据物理上仍在磁盘中)

请写出你的解决方案


2. 生产环境设计题(20分)

公司需求
某电商公司计划部署新的订单处理系统,需要设计存储架构,具体要求如下:

  1. 系统需要处理大量的小图片文件(平均50KB)和订单日志文件
  2. 预计初始存储需求为1TB,但需要支持快速扩展到5TB
  3. 需要高IO性能,支持至少500并发读写
  4. 需要支持在线快照备份,每天至少1次
  5. 需要数据冗余保护,但不能使用硬件RAID卡
  6. 预算有限,现有5块2TB的SATA硬盘

你的设计任务

  1. 设计磁盘分区方案(使用什么分区表?如何分区?)
  2. 设计LVM架构(PV、VG、LV如何组织?使用哪些高级特性?)
  3. 设计文件系统选择与优化(选择什么文件系统?如何优化?)
  4. 设计备份方案(备份策略、工具、周期)
  5. 设计监控方案(监控哪些指标?告警阈值?)

请写出详细的设计方案


四、扩展思考题(附加20分)

思考题1:LVM性能优化(10分)

在使用LVM时,哪些因素会影响存储性能?针对以下场景,你会如何优化?

场景A:数据库服务器,主要随机读写
场景B:视频存储服务器,主要大文件顺序读写
场景C:虚拟机镜像存储,需要支持快照和克隆

请针对每个场景给出优化建议


思考题2:灾难恢复计划(10分)

假设公司的关键业务服务器(存储使用LVM)发生以下灾难:

灾难1:误删除了一个重要的逻辑卷
灾难2:磁盘/dev/sdb物理损坏,该磁盘是一个卷组的一部分
灾难3:文件系统损坏,无法挂载
灾难4:服务器完全损坏,需要在新的硬件上恢复整个系统

请为每种灾难制定恢复步骤


五、实操验证题

请在虚拟机中完成以下验证任务,并记录结果:

验证任务1:LVM条带化性能对比

  1. 创建两个逻辑卷,一个使用线性模式,一个使用条带化模式
  2. 分别测试两者的读写性能
  3. 记录测试结果并分析差异

测试命令参考

# 安装测试工具sudoaptinstallhdparm fio# 测试顺序读速度sudohdparm-t/dev/vg_data/lv_linearsudohdparm-t/dev/vg_data/lv_stripe# 使用fio测试随机IOPS# (自行设计测试参数)

验证任务2:快照恢复测试

  1. 创建一个包含多个文件和目录的逻辑卷
  2. 创建快照
  3. 在逻辑卷中进行文件修改、创建、删除操作
  4. 从快照恢复数据
  5. 验证恢复结果

记录要点

  1. 快照创建和恢复所需时间
  2. 快照对性能的影响
  3. 恢复的完整性验证

答案与评分标准

一、理论知识测试答案

选择题

  1. C(GPT才支持UEFI安全启动)
  2. C
  3. A
  4. B
  5. C

简答题

  1. GPT的优势:

    • 支持超过2TB的大容量磁盘
    • 支持更多的分区数量(最多128个)
    • 分区表有备份,更安全
    • 支持UEFI安全启动
    • 使用GUID标识分区,避免冲突
  2. LVM快照是逻辑卷在某个时间点的只读或可写副本。应用场景:

    • 在线备份:创建快照后备份,减少应用停机时间
    • 测试环境:基于快照创建测试环境
    • 数据恢复:误操作后从快照恢复
    • 版本管理:保存系统不同时间点的状态

二、命令操作题答案参考

任务1参考命令

# 1. 分区 /dev/sdbsudoparted/dev/sdb mklabel gptsudoparted/dev/sdb mkpart primary 1MiB 10GiBsudoparted/dev/sdbset1lvm onsudoparted/dev/sdb mkpart primary 10GiB 20GiBsudoparted/dev/sdbset2lvm on# 2. 分区 /dev/sdcsudoparted/dev/sdc mklabel msdossudoparted/dev/sdc mkpart primary 1MiB100%sudoparted/dev/sdcset1lvm on# 3. 分区 /dev/sddsudoparted/dev/sdd mklabel gptsudoparted/dev/sdd mkpart primary 1MiB 15GiBsudoparted/dev/sddset1lvm on# 4. 创建物理卷sudopvcreate /dev/sdb1 /dev/sdb2 /dev/sdc1# 5. 创建卷组sudovgcreate-s16M vg_data /dev/sdb1 /dev/sdb2 /dev/sdc1# 6. 创建逻辑卷sudolvcreate-L25G-nlv_www vg_data# 7. 创建文件系统sudomkfs.ext4 /dev/vg_data/lv_www# 8. 挂载文件系统sudomkdir-p/var/wwwsudomount/dev/vg_data/lv_www /var/www

任务2参考命令

# 1. 扩展卷组sudovgextend vg_data /dev/sdd1# 2. 扩展逻辑卷sudolvextend-L+10G /dev/vg_data/lv_www# 3. 扩展文件系统sudoresize2fs /dev/vg_data/lv_www# 4. 验证扩容df-h/var/www# 5. 创建快照sudolvcreate-L5G-s-nlv_www_snap /dev/vg_data/lv_www# 6. 创建测试文件echo"Hello Ubuntu Server"|sudotee/var/www/test_data.txt# 7. 挂载快照sudomkdir-p/mnt/snapshotsudomount/dev/vg_data/lv_www_snap /mnt/snapshot# 8. 验证快照数据cat/mnt/snapshot/test_data.txt# 9. 删除测试文件sudorm/var/www/test_data.txt# 10. 从快照恢复(思路)# 方法1:从快照复制文件sudocp/mnt/snapshot/test_data.txt /var/www/# 方法2:使用lvconvert合并快照# 需要先卸载逻辑卷和快照# sudo umount /var/www# sudo umount /mnt/snapshot# sudo lvconvert --merge /dev/vg_data/lv_www_snap# sudo mount /dev/vg_data/lv_www /var/www# 11. 清理资源sudoumount/mnt/snapshotsudolvremove-f/dev/vg_data/lv_www_snap

三、场景应用题答案参考

故障排查参考

可能的原因:

  1. 卷组未激活
  2. LVM元数据损坏
  3. 物理卷丢失或损坏
  4. /etc/lvm/backup中的配置丢失

排查步骤:

# 1. 检查物理卷状态sudopvscansudopvdisplay /dev/sdb1# 2. 尝试激活卷组sudovgchange-ayvg_web# 3. 检查LVM缓存ls/etc/lvm/backup/# 4. 尝试恢复卷组sudovgcfgrestore-f/etc/lvm/backup/vg_web vg_web# 5. 如果物理卷损坏,尝试修复sudopvcreate--uuid<原有UUID>--restorefile/etc/lvm/backup/vg_web /dev/sdb1

生产环境设计参考

  1. 分区方案:

    • 使用GPT分区表
    • 每块硬盘创建单个分区占用全部空间
    • 分区类型设置为Linux LVM
  2. LVM架构:

    • 5块硬盘创建5个PV
    • 创建vg_storage卷组,PE大小4MB
    • 创建两个LV:
      • lv_images:条带化LV,跨越3块盘,用于图片存储
      • lv_logs:镜像LV,使用2块盘,用于日志存储
    • 启用lvmthin精简配置,支持快照
  3. 文件系统:

    • lv_images:使用XFS,挂载选项noatime,nodiratime,allocsize=1M,inode64
    • lv_logs:使用ext4,挂载选项data=journal,noatime
    • 启用定期TRIM
  4. 备份方案:

    • 每天凌晨2点自动快照
    • 每周日全量备份到异地
    • 使用rsync增量同步
    • 保留最近30天备份
  5. 监控方案:

    • 监控磁盘使用率(阈值85%)
    • 监控IO延迟(阈值50ms)
    • 监控LVM剩余空间
    • 设置自动告警

学习建议

  1. 理论学习:理解每个概念背后的原理,而不仅仅是记住命令
  2. 动手实践:在虚拟机中反复练习每个操作
  3. 理解错误:故意制造错误,学习如何排查和修复
  4. 生产思维:始终考虑生产环境的需求和限制
  5. 持续学习:关注存储技术的新发展,如NVMe、分布式存储等

完成本章练习后,你应该能够:

  • 熟练管理各种磁盘分区
  • 设计并实施LVM存储方案
  • 优化文件系统性能
  • 制定并执行备份恢复策略
  • 解决常见的存储故障

记住:存储管理是系统管理员的核心技能之一,良好的存储设计和备份策略是系统稳定运行的基石!

http://www.cnnetsun.cn/news/1356136.html

相关文章:

  • AI体系化发展框架白皮书
  • android开发字号设置最佳实践
  • Clawdbot+Qwen3:32B部署教程:从零搭建Web网关直连聊天服务
  • RVC模型Java开发实战:集成语音变声功能的Web应用
  • 小白也能懂!灵毓秀-牧神-造相Z-Turbo远程部署:MobaXterm连接全流程
  • UE5登录界面UI设计全流程:从零到可交互的完整实现(含正则校验与MD5加密)
  • 底层逻辑剖析:银企直连前置机全面上云,千级U盾虚拟化部署的终极方案
  • Z-Image-Turbo_UI界面实战体验:生成你的第一张AI头像
  • 银河麒麟桌面操作系统V11试用
  • Wan2.1-umt5数据库应用实战:MySQL配置优化与智能SQL生成
  • 雪女-斗罗大陆-造相Z-Turbo开发环境配置:Git版本控制与团队协作指南
  • 黑丝空姐-造相Z-Turbo与嵌入式结合:为STM32产品UI生成个性化图标素材
  • 实测对比|华秋、嘉立创、捷配,PCB 打样速度到底谁更快?
  • Mirage Flow大模型数据结构优化指南:提升推理效率50%
  • 突破WebRTC自动化测试核心难题:Playwright Python实战指南
  • 深入Unidbg Hook框架:如何为你的ARM32/64模拟环境选择Dobby还是HookZz
  • Zuul网关与Tomcat连接数配置详解
  • 机器学习避坑指南:为什么你的朴素贝叶斯模型总报错?拉普拉斯修正的3个关键应用场景
  • CosyVoice-300M作品集:听!这是AI合成的中英混合语音
  • 全场景定制化开发,适配多品类的盲盒小程序解决方案
  • MGeo地址结构化开源模型部署案例:中小企业地址数据治理指南
  • 121 买卖股票的最佳时机 动态规划方法
  • 【推荐】产品经理必须掌握的10种优先级决策技术详解
  • 资讯丨SBTi认证费用上涨了!(附官方文件下载)
  • 全流程多光谱遥感应用(Python 版)—— 理论・数据・算法・矿物 / 土壤 / 植被案例
  • 2026最新版Java面试八股文大全
  • 内置流计算引擎:无需第三方中间件,TDengine时序数据库如何实现实时预警
  • 四:MVCC 深度解析:三事务并发全流程
  • 上架电影系统
  • Qwen3-TTS批量处理技巧:一次生成100段文案,自动打包下载