Linux LVM 详解

ops/2024/10/10 14:54:04/

Linux逻辑卷管理(LVM,Logical Volume Manager)是一种管理磁盘存储空间的工具。它提供了比传统分区方法更灵活和高效的磁盘管理方式。通过LVM,可以动态调整磁盘分区大小,轻松添加或移除磁盘,并实现快照等高级功能。

一、LVM基本概念
  1. 物理卷(PV,Physical Volume)
    物理卷是LVM管理的最基本单位,可以是整个磁盘,也可以是磁盘的一个分区。物理卷创建在物理设备(如硬盘或RAID设备)上。

  2. 卷组(VG,Volume Group)
    卷组是由一个或多个物理卷组成的存储池。可以在卷组上创建和管理逻辑卷。卷组的大小是其包含的物理卷总大小。

  3. 逻辑卷(LV,Logical Volume)
    逻辑卷是从卷组中分配出来的逻辑存储单元。逻辑卷可以像传统分区一样被格式化和挂载。

  4. 物理扩展(PE,Physical Extent)
    物理扩展是物理卷上的最小分配单位。LVM通过将物理卷划分为等大小的物理扩展来管理存储。

二、LVM的安装和配置

在大多数现代Linux发行版中,LVM工具通常已经预装。如果没有,可以使用包管理器安装:

sudo yum install lvm2    # 在CentOS/RHEL系统上
sudo apt-get install lvm2  # 在Debian/Ubuntu系统上
三、LVM的基本操作

下面是一些常见的LVM操作示例:

1. 创建物理卷(PV)
sudo pvcreate /dev/sdb1 /dev/sdc1
2. 创建卷组(VG)
sudo vgcreate my_volume_group /dev/sdb1 /dev/sdc1
3. 创建逻辑卷(LV)
sudo lvcreate -n my_logical_volume -L 10G my_volume_group
4. 格式化和挂载逻辑卷
sudo mkfs.ext4 /dev/my_volume_group/my_logical_volume
sudo mkdir /mnt/my_lv
sudo mount /dev/my_volume_group/my_logical_volume /mnt/my_lv
5. 动态调整逻辑卷大小

扩展逻辑卷:

sudo lvextend -L +5G /dev/my_volume_group/my_logical_volume
sudo resize2fs /dev/my_volume_group/my_logical_volume  # 如果使用ext4文件系统

缩小逻辑卷:

sudo resize2fs /dev/my_volume_group/my_logical_volume 5G  # 先调整文件系统大小
sudo lvreduce -L 5G /dev/my_volume_group/my_logical_volume
6. 删除逻辑卷、卷组和物理卷

删除逻辑卷:

sudo umount /mnt/my_lv
sudo lvremove /dev/my_volume_group/my_logical_volume

删除卷组:

sudo vgremove my_volume_group

删除物理卷:

sudo pvremove /dev/sdb1 /dev/sdc1
四、LVM的高级功能
  1. 快照(Snapshot)
    LVM的快照功能允许创建逻辑卷的只读或可写副本,通常用于备份或测试目的。

    创建快照:

    sudo lvcreate --size 1G --snapshot --name my_snapshot /dev/my_volume_group/my_logical_volume
    
  2. 条带化(Striping)
    条带化可以将数据分布在多个物理卷上,提高I/O性能。

    创建条带化的逻辑卷:

    sudo lvcreate --size 10G --name striped_lv --stripes 2 --stripesize 4K my_volume_group
    
  3. 镜像(Mirroring)
    镜像可以将数据复制到多个物理卷上,提高数据冗余和可靠性。

    创建镜像的逻辑卷:

    sudo lvcreate --size 10G --name mirrored_lv --mirrors 1 my_volume_group
    
五、LVM的优缺点

优点

  • 动态调整存储空间,灵活性高
  • 支持快照、条带化、镜像等高级功能
  • 管理大容量存储设备更方便

缺点

  • 配置和管理复杂度较高
  • 在某些情况下,性能可能不如直接使用物理卷
  • 数据恢复难度较大

总结

LVM为Linux系统提供了一种灵活、高效的磁盘管理方式。通过理解和掌握LVM的基本概念和操作,你可以更好地管理系统的存储资源,实现数据的高可用性和高性能。在实际应用中,LVM可以帮助系统管理员简化存储管理,满足多样化的存储需求。


http://www.ppmy.cn/ops/91999.html

相关文章

算法学习day30

一、最短无序连续子数组(贪心) 给你一个整数数组 nums ,你需要找出一个 连续子数组 ,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的 最短 子数组,并输出它的长度。 输…

鸿蒙应用服务开发【自定义通知角标】

自定义通知角标 介绍 本示例主要展示了设定应用的桌面图标角标的功能,使用ohos.notificationManager接口,进行桌面角标的设置,通知的发送,获取等。 效果预览 使用说明 在主界面,可以看到当前应用的所有消息通知&am…

基于Qt实现图片查看器

一、简介 基于Qt实现的图片查看器。支持如下功能&#xff1a; 图像放大、缩小、拖动矩形标注框显示&#xff0c;在放大缩小时&#xff0c;标注框的线宽始终保持固定宽度。 二、源码 ImgViewWidget.hpp // ImgViewWidget.hpp #pragma once #include <QImage> #includ…

Java设计模式(适配器模式)

定义 将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。 角色 目标抽象类&#xff08;Target&#xff09;&#xff1a;目标抽象类定义客户所需的接口&#xff08;在类适配器中&#xff0c;目标抽象类只能是接口&#xff09;。 适配器类…

Shell脚本-DNS域名解析格式化

Shell脚本-DNS域名解析格式化 大家好&#xff0c;我是秋意零。 今天&#xff0c;分享一个Shell脚本。大家不一定用的上&#xff0c;但可以参考&#xff1b;再一个是可以通过下列需求进行练手&#xff0c;初学者可以试试&#xff01; 脚本还有优化的地方&#xff08;懒得改了…

【Android】ContentProvider基本概念

ContentProvider Android权限机制详解 <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"com.example.broadcasttest"> <uses-permission android:name"android.permission.RECEIVE_BOOT_COMPLETED" />…

计算机网络408考研 2014

1 计算机网络408考研2014年真题解析_哔哩哔哩_bilibili 1 111 1 11

Python | Leetcode Python题解之第326题3的幂

题目&#xff1a; 题解&#xff1a; class Solution:def isPowerOfThree(self, n: int) -> bool:return n > 0 and 1162261467 % n 0