实验目标

  • 创建并管理一个 LVM 卷组 (VG)。
  • 在卷组中创建、扩展和缩小逻辑卷 (LV)。
  • 创建和使用快照。

实验环境

  • Linux 服务器
  • 三个可用的磁盘分区: /dev/sdb1, /dev/sdb2, 和 /dev/sdb3

实验步骤

步骤 1: 安装 LVM 工具

确保 LVM 工具已安装。如果没有,请安装它:

yum install lvm2 -y

步骤 2: 创建物理卷 (PV)

使用 /dev/sdb1, /dev/sdb2, 和 /dev/sdb3 创建物理卷。

pvcreate /dev/sdb1
pvcreate /dev/sdb2
pvcreate /dev/sdb3

步骤 3: 查看物理卷信息

pvs
pvdisplay

步骤 4: 创建卷组 (VG)

使用所有三个物理卷创建卷组 myvg

vgcreate myvg /dev/sdb1 /dev/sdb2 /dev/sdb3

步骤 5: 查看卷组信息

vgs
vgdisplay

步骤 6:卷组的扩容与缩减

[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 3 0 0 wz--n- <14.99g <14.99g
rhel 1 2 0 wz--n- <19.00g 0
[root@localhost ~]# pvcreate /dev/sdb{5,6}
Physical volume "/dev/sdb5" successfully created.
Physical volume "/dev/sdb6" successfully created.
[root@localhost ~]# vgextend myvg /dev/sdb{5,6}
Volume group "myvg" successfully extended
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 5 0 0 wz--n- 18.98g 18.98g
rhel 1 2 0 wz--n- <19.00g 0
[root@localhost ~]# vgreduce myvg /dev/sdb6
Removed "/dev/sdb6" from volume group "myvg"
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
myvg 4 0 0 wz--n- 16.98g 16.98g
rhel 1 2 0 wz--n- <19.00g 0
[root@localhost ~]#

步骤 7: 创建逻辑卷 (LV)

创建两个逻辑卷:mylv1mylv2

[root@localhost ~]# lvcreate -l 10 -n mylv1 myvg
Logical volume "mylv1" created.
[root@localhost ~]# lvcreate -L 100M -n mylv2 myvg
Logical volume "mylv2" created.

步骤 8: 查看逻辑卷信息

lvs
lvdisplay

步骤 9: 格式化逻辑卷

格式化新创建的逻辑卷为 ext4 文件系统。

mkfs.ext4 /dev/myvg/mylv1
mkfs.ext4 /dev/myvg/mylv2

步骤 10: 挂载逻辑卷

创建挂载点并挂载逻辑卷。

[root@localhost ~]# mkdir -p /mydir/mylv1
[root@localhost ~]# mkdir -p /mydir/mylv2
[root@localhost ~]# mount /dev/myvg/mylv1 /mydir/mylv1
[root@localhost ~]# mount /dev/myvg/mylv2 /mydir/mylv2

步骤 11: 验证挂载情况

[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root xfs 17G 3.8G 14G 22% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.0M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 179M 836M 18% /boot
tmpfs tmpfs 183M 20K 183M 1% /run/user/0
/dev/mapper/myvg-mylv1 ext4 35M 782K 32M 3% /mydir/mylv1
/dev/mapper/myvg-mylv2 ext4 93M 1.6M 85M 2% /mydir/mylv2

步骤 12: 扩展逻辑卷 (LV)

扩展 mylv1 的大小。

[root@localhost ~]# lvextend -L +60M /dev/myvg/mylv1
[root@localhost ~]# resize2fs /dev/myvg/mylv1

步骤 13: 缩减逻辑卷 (LV)

先卸载逻辑卷,然后检查并调整文件系统大小,最后调整逻辑卷大小。

[root@localhost ~]# umount /mydir/mylv1
[root@localhost ~]# e2fsck -f /dev/myvg/mylv1
[root@localhost ~]# resize2fs /dev/myvg/mylv1 50M
[root@localhost ~]# lvreduce -L -50M /dev/myvg/mylv1
[root@localhost ~]# mount /dev/myvg/mylv1 /mydir/mylv1
[root@localhost ~]# lvs

步骤 14: 创建快照

创建 mylv2 的快照 mysnop

[root@localhost ~]# echo "test data" > /mydir/mylv2/newfile
[root@localhost ~]# lvcreate -L 20M -s -n mysnop /dev/myvg/mylv2
[root@localhost ~]# lvs

步骤 15: 使用快照恢复数据

假设在 mylv2 中写入了一些数据,现在需要恢复到快照时的状态。

[root@localhost ~]# ls /mydir/mylv2/
[root@localhost ~]# rm -rf /mydir/mylv2/newfile
[root@localhost ~]# umount /mydir/mylv2
[root@localhost ~]# lvconvert --merge /dev/myvg/mysnop
[root@localhost ~]# mount /dev/myvg/mylv2 /mydir/mylv2
[root@localhost ~]# ls /mydir/mylv2/
[root@localhost ~]# lvs

步骤 16: 逻辑卷卷组删除

当实验完成后,清理创建的所有资源。

umount /mydir/mylv1
umount /mydir/mylv2
lvremove /dev/myvg/mylv1
lvremove /dev/myvg/mylv2
vgremove myvg
pvremove /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb5

注意事项

  • 在进行任何涉及数据的操作之前,请确保备份重要数据。
  • 在进行逻辑卷的扩展或缩小操作时,务必先卸载逻辑卷。
  • 在缩小逻辑卷之前,确保先执行文件系统的检查 (e2fsck) 并调整文件系统大小 (resize2fs)。

完成上述步骤后,您应该能够掌握 LVM 的基本管理和操作技巧。请确保在实验过程中记录下重要的输出结果和观察到的现象,以便于后续分析和学习。

LVM综合实验的更多相关文章

  1. 【Linux程序设计】之环境系统函数综合实验

    这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的.贴出来纯粹是聊胜于无. 实验题目:Linux环境下系统函数综合实验 实验目的:熟悉并掌握Linux环境下数学函 ...

  2. CCNP第四天 OSPF综合实验(1)

    ospf综合实验(1) 本实验主要考察ospf中的接口上的多种工作方式 实验如图所示: 所用拓扑为CCNP标准版,如图: --------------------------------------- ...

  3. (6综合实验)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  4. 华为路由交换综合实验 ---IA阶段

    目录 华为路由交换综合实验 ---IA阶段 实验拓扑 实验需求 华为路由交换综合实验 ---IA阶段 实验拓扑 实验需求 根据拓扑合理规划IP地址以及VLANIf地址(PC1属于运营部,PC2属于市场 ...

  5. CCNA 之 综合实验

    CCNA 综合实验 需要:根据下列图中的网路拓扑,搭建环境; PC1属于VLAN10:PC2属于VLAN20:网关均在OR_C2811: VLAN10.20对应的网段分别为192.168.10.0.2 ...

  6. OSPF与ACL综合实验

    OSPF与ACL综合实验 1.实验内容 (1)企业内网运行OSPF路由协议,区域规划如拓扑图所示(见3.实验拓扑图): (2)财务和研发所在的区域不受其他区域链路不稳定性影响: (3)R1.R2.R3 ...

  7. ACL与OSPF综合实验

    OSPF与ACL 综合实验   拓扑图如下: 分析: 配置基本配置: R1: R2: R3: 2.配置OSPF: R1: R2: R3: IT: 设置IT的ip 并划分到ospf2区域 3.配置ACL ...

  8. LVS综合实验

    LVS综合实验 1.环境准备 提前准备:Mysql8.0.30安装包.Mysql安装脚本.shopxo2.3.0安装包.DNS脚本 服务器 IP地址 作用 系统版本 Mysql-master 10.0 ...

  9. 特征提取算法的综合实验(多种角度比较sift/surf/brisk/orb/akze)

    一.基本概念: 作用:特征点提取在"目标识别.图像拼接.运动跟踪.图像检索.自动定位"等研究中起着重要作用: 主要算法: •FAST ,Machine Learning forHi ...

  10. 第三组 通信一班 030 OSPFv2、OSPFv3综合实验

      一.        实验目的 掌握 OSPFv2. OSPFv3 的配置方法 掌握在帧中继环境下OSPFv2. OSPFv3 的配置方法 掌握 OSPFv2. OSPFv3 NSSA 的配置方法 ...

随机推荐

  1. 基于FPGA的计算器设计---第一版

    欢迎各位朋友关注"郝旭帅电子设计团队",本篇为各位朋友介绍基于FPGA的计算器设计---第一版. 功能说明: 1. 计算器的显示屏幕为数码管. 2. 4x4矩阵键盘作为计算器的输入 ...

  2. iOS手工Crash解析

    一.测试导出来一份ips crash文件,现在需要进行手工解析 现在需要下载对应的dsym文件,为了确定下载好的dsym文件和crash log是不是一致的,可以先看下dsym文件中的uuid p.p ...

  3. RTMP 直播 H265 推流适配总结

    1.在iOS11的系统之上,苹果逐渐放开H265硬编硬解的能力,硬解码的能力只要升级到iOS11之后,iPhone6+以上的机型就支持了(印象中): H265硬编码的能力对设备要求较高,不仅要求系统版 ...

  4. 《python核心编程《第二版》》笔记章节索引

    本文章作为我的其它一系列关于<python核心编程<第二版>>的笔记的文章索引. 第一章:Python-快速入门:https://www.cnblogs.com/mrlayfo ...

  5. Java中try catch finally 关键字

    异常处理中的几个常用关键字(try catch finally throw throws) 异常处理 java中提供一套异常处理机制,在程序发生异常时,可以执行预先设定好的处理程序, 执行完成后,程序 ...

  6. 算法学习笔记(30):Kruskal 重构树

    Kruskal 重构树 这是一种用于处理与最大/最小边权相关的一个数据结构. 其与 kruskal 做最小生成树的过程是类似的,我们考虑其过程: 按边权排序,利用并查集维护连通性,进行合并. 如果我们 ...

  7. NSSCTF——crypto

    [鹤城杯 2021]easy_crypto [强网拟态 2021]拟态签到题 [SWPUCTF 2021 新生赛]crypto8[SWPUCTF 2021 新生赛]crypto7[SWPUCTF 20 ...

  8. ETL工具-nifi干货系列 第一讲 揭开nifi神秘面纱

    1.nifi简介 Apache NiFi 是基于流程编程概念的数据流系统.它支持强大且可扩展的数据路由.转换和系统中介逻辑的有向图.NiFi具有基于Web的用户界面,用于设计.控制.反馈和监控数据流. ...

  9. .net6 .net core web api json 遇到 400 错误

    环境: .net6 webapi 服务端模型声明 public class TongYiMinPgPayReq { public string mch_no { get; set; } public ...

  10. OAuth + Security - 4 - 客户端信息存储数据库

    PS:此文章为系列文章,建议从第一篇开始阅读. 在之前的所有配置中,我们的客户端信息和授权码模式下的授权码任然还是存储在数据库中的,这样就不利于我们后期的扩展,所以在正式的生成环境中,我们一般将其存储 ...