【跟韩工学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。
任务要求:
对
/dev/sdb磁盘进行分区:- 创建GPT分区表
- 创建两个10GB的分区
sdb1和sdb2 - 将分区类型设置为Linux LVM(代码
8e00)
对
/dev/sdc磁盘进行分区:- 使用MBR分区表
- 创建单个分区占用全部磁盘空间
- 分区类型设置为Linux LVM
对
/dev/sdd磁盘进行分区:- 创建GPT分区表
- 创建一个15GB的分区
- 分区类型设置为Linux LVM
创建LVM逻辑卷:
- 使用
sdb1、sdb2、sdc1创建物理卷 - 创建名为
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目录。
任务要求:
- 将
/dev/sdd1添加到vg_data卷组中 - 将
lv_www逻辑卷扩容10GB - 在线扩展ext4文件系统
- 验证文件系统扩容成功
- 为
lv_www创建名为lv_www_snap的快照,大小为5GB - 在
/var/www目录中创建测试文件test_data.txt,内容为"Hello Ubuntu Server" - 将快照挂载到
/mnt/snapshot目录,验证可以读取测试文件 - 删除测试文件,然后从快照恢复数据
- 验证测试文件已恢复
- 卸载并删除快照
请写出完整的命令序列:
# 1. 扩展卷组# 2. 扩展逻辑卷# 3. 扩展文件系统# 4. 验证扩容# 5. 创建快照# 6. 创建测试文件# 7. 挂载快照# 8. 验证快照数据# 9. 删除测试文件# 10. 从快照恢复(可选,写出思路即可)# 11. 清理资源三、场景应用题(共40分)
1. 故障排查与修复(20分)
场景描述:
某公司的一台Web服务器在重启后,发现/var/www目录无法访问。经检查,该目录原来挂载在LVM逻辑卷/dev/vg_web/lv_html上,但系统启动时挂载失败。
已获取的信息:
- 通过
lsblk查看,磁盘/dev/sdb存在 - 通过
pvs查看,物理卷/dev/sdb1存在但状态异常 - 通过
vgs查看,卷组vg_web不存在 - 通过
lvs查看,逻辑卷lv_html不存在 - 磁盘
/dev/sdb的分区表类型为GPT
故障现象:
- 执行
mount /dev/vg_web/lv_html /var/www提示"文件或目录不存在" - 执行
vgdisplay vg_web提示"卷组不存在"
你的任务:
- 请分析可能的原因(至少列出3种)
- 写出排查步骤的命令序列
- 写出恢复步骤的命令序列(假设只需要恢复LVM结构,数据物理上仍在磁盘中)
请写出你的解决方案:
2. 生产环境设计题(20分)
公司需求:
某电商公司计划部署新的订单处理系统,需要设计存储架构,具体要求如下:
- 系统需要处理大量的小图片文件(平均50KB)和订单日志文件
- 预计初始存储需求为1TB,但需要支持快速扩展到5TB
- 需要高IO性能,支持至少500并发读写
- 需要支持在线快照备份,每天至少1次
- 需要数据冗余保护,但不能使用硬件RAID卡
- 预算有限,现有5块2TB的SATA硬盘
你的设计任务:
- 设计磁盘分区方案(使用什么分区表?如何分区?)
- 设计LVM架构(PV、VG、LV如何组织?使用哪些高级特性?)
- 设计文件系统选择与优化(选择什么文件系统?如何优化?)
- 设计备份方案(备份策略、工具、周期)
- 设计监控方案(监控哪些指标?告警阈值?)
请写出详细的设计方案:
四、扩展思考题(附加20分)
思考题1:LVM性能优化(10分)
在使用LVM时,哪些因素会影响存储性能?针对以下场景,你会如何优化?
场景A:数据库服务器,主要随机读写
场景B:视频存储服务器,主要大文件顺序读写
场景C:虚拟机镜像存储,需要支持快照和克隆
请针对每个场景给出优化建议:
思考题2:灾难恢复计划(10分)
假设公司的关键业务服务器(存储使用LVM)发生以下灾难:
灾难1:误删除了一个重要的逻辑卷
灾难2:磁盘/dev/sdb物理损坏,该磁盘是一个卷组的一部分
灾难3:文件系统损坏,无法挂载
灾难4:服务器完全损坏,需要在新的硬件上恢复整个系统
请为每种灾难制定恢复步骤:
五、实操验证题
请在虚拟机中完成以下验证任务,并记录结果:
验证任务1:LVM条带化性能对比
- 创建两个逻辑卷,一个使用线性模式,一个使用条带化模式
- 分别测试两者的读写性能
- 记录测试结果并分析差异
测试命令参考:
# 安装测试工具sudoaptinstallhdparm fio# 测试顺序读速度sudohdparm-t/dev/vg_data/lv_linearsudohdparm-t/dev/vg_data/lv_stripe# 使用fio测试随机IOPS# (自行设计测试参数)验证任务2:快照恢复测试
- 创建一个包含多个文件和目录的逻辑卷
- 创建快照
- 在逻辑卷中进行文件修改、创建、删除操作
- 从快照恢复数据
- 验证恢复结果
记录要点:
- 快照创建和恢复所需时间
- 快照对性能的影响
- 恢复的完整性验证
答案与评分标准
一、理论知识测试答案
选择题:
- C(GPT才支持UEFI安全启动)
- C
- A
- B
- C
简答题:
GPT的优势:
- 支持超过2TB的大容量磁盘
- 支持更多的分区数量(最多128个)
- 分区表有备份,更安全
- 支持UEFI安全启动
- 使用GUID标识分区,避免冲突
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三、场景应用题答案参考
故障排查参考:
可能的原因:
- 卷组未激活
- LVM元数据损坏
- 物理卷丢失或损坏
- /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生产环境设计参考:
分区方案:
- 使用GPT分区表
- 每块硬盘创建单个分区占用全部空间
- 分区类型设置为Linux LVM
LVM架构:
- 5块硬盘创建5个PV
- 创建vg_storage卷组,PE大小4MB
- 创建两个LV:
- lv_images:条带化LV,跨越3块盘,用于图片存储
- lv_logs:镜像LV,使用2块盘,用于日志存储
- 启用lvmthin精简配置,支持快照
文件系统:
- lv_images:使用XFS,挂载选项
noatime,nodiratime,allocsize=1M,inode64 - lv_logs:使用ext4,挂载选项
data=journal,noatime - 启用定期TRIM
- lv_images:使用XFS,挂载选项
备份方案:
- 每天凌晨2点自动快照
- 每周日全量备份到异地
- 使用rsync增量同步
- 保留最近30天备份
监控方案:
- 监控磁盘使用率(阈值85%)
- 监控IO延迟(阈值50ms)
- 监控LVM剩余空间
- 设置自动告警
学习建议
- 理论学习:理解每个概念背后的原理,而不仅仅是记住命令
- 动手实践:在虚拟机中反复练习每个操作
- 理解错误:故意制造错误,学习如何排查和修复
- 生产思维:始终考虑生产环境的需求和限制
- 持续学习:关注存储技术的新发展,如NVMe、分布式存储等
完成本章练习后,你应该能够:
- 熟练管理各种磁盘分区
- 设计并实施LVM存储方案
- 优化文件系统性能
- 制定并执行备份恢复策略
- 解决常见的存储故障
记住:存储管理是系统管理员的核心技能之一,良好的存储设计和备份策略是系统稳定运行的基石!
