跳转至

LVM(逻辑卷管理器)的概念

LVM(Logical Volume Manager,逻辑卷管理器)是一种用于管理计算机存储设备上磁盘空间分配的方法。它提供了一种更灵活和动态的磁盘管理方式,与传统的分区方式相比,更加灵活和便于调整。

1. 物理卷(Physical Volume,PV)

物理卷是 LVM 的基本存储单元,通常对应于物理硬盘分区或整个硬盘。一个物理卷可以包含在一个或多个卷组中。

  • 物理卷的创建: 你可以使用 pvcreate 命令将一个物理分区或硬盘初始化为物理卷。例如:
sudo pvcreate /dev/sda3
  • 物理卷的信息: 通过 pvs 命令可以查看所有物理卷的信息。
sudo pvs

2. 卷组(Volume Group,VG)

卷组是 LVM 的第二个层次,包含了一个或多个物理卷。一个卷组可以看作是一个存储池,可以在其上创建逻辑卷。

  • 卷组的创建: 可以使用 vgcreate 命令将一个或多个物理卷组合成一个卷组。例如:
sudo vgcreate ubuntu-vg /dev/sda3
  • 卷组的信息: 通过 vgdisplay 命令可以查看卷组的详细信息。
sudo vgdisplay

3. 逻辑卷(Logical Volume,LV)

逻辑卷是在卷组之上创建的,可以看作是传统的分区。它提供了实际的存储空间,可以像普通分区一样使用(格式化、挂载等)。

  • 逻辑卷的创建: 可以使用 lvcreate 命令在卷组上创建逻辑卷。例如:
sudo lvcreate -L 100G -n ubuntu-lv ubuntu-vg
  • 逻辑卷的信息: 通过 lvdisplay 命令可以查看逻辑卷的详细信息。
sudo lvdisplay

文件系统扩展:

  • 扩展分区后,文件系统的大小不会自动调整,还需要扩展 sda2 上的文件系统以利用新空间:
    sudo resize2fs /dev/sda2
    

它们之间的关系

  • 物理卷(PV): 物理卷是 LVM 管理的最基本单位,它们是硬盘分区或整块硬盘。多个物理卷可以加入到一个卷组中。

  • 卷组(VG): 卷组由一个或多个物理卷组成,它们将多个物理卷的空间整合在一起,形成一个大的存储池。卷组提供了逻辑卷创建和管理的基础。

  • 逻辑卷(LV): 逻辑卷是在卷组之上创建的虚拟分区,它们可以动态调整大小,并且可以像普通的分区一样进行格式化和挂载。

与硬盘的关系及使用

  • 硬盘分区(或整块硬盘): 首先将硬盘分区(如 /dev/sda1/dev/sda2 等)初始化为物理卷。

  • 创建卷组: 将一个或多个物理卷添加到卷组中,形成一个统一的存储池。

  • 创建逻辑卷: 在卷组上创建一个或多个逻辑卷,逻辑卷将使用卷组中的空间。

  • 格式化和挂载: 创建好的逻辑卷可以进行格式化,如 ext 4 文件系统,并挂载到文件系统路径上。

使用硬盘空间的方式

  1. 初始化物理卷
  2. 例如,使用 pvcreate /dev/sda3 将物理分区初始化为物理卷。

  3. 创建卷组

  4. 使用 vgcreate 命令将一个或多个物理卷组合成一个卷组,如 vgcreate ubuntu-vg /dev/sda3

  5. 创建逻辑卷

  6. 使用 lvcreate 命令在卷组上创建逻辑卷,如 lvcreate -L 100G -n ubuntu-lv ubuntu-vg

  7. 格式化逻辑卷

  8. 例如,使用 mkfs.ext4 /dev/ubuntu-vg/ubuntu-lv 格式化逻辑卷。

  9. 挂载逻辑卷

  10. 使用 mount 命令挂载逻辑卷,如 mount /dev/ubuntu-vg/ubuntu-lv /mnt

通过这些步骤,你可以动态地管理和调整存储空间,而不必像传统分区那样需要在创建时确定固定的大小。这种灵活性对于服务器和大规模存储管理尤其重要。

命令及其解释

  1. sudo vgdisplay: 显示卷组(Volume Group,VG)的详细信息。
sudo vgdisplay

输出解释

--- Volume group ---
VG Name               ubuntu-vg                    # 卷组的名称
System ID
Format                lvm2                         # 卷组使用的LVM版本
Metadata Areas        1                            # 元数据区域数量
Metadata Sequence No  2                            # 元数据序列号
VG Access             read/write                   # 卷组的访问权限
VG Status             resizable                    # 卷组的状态
MAX LV                0                            # 最大逻辑卷数量(0表示没有限制)
Cur LV                1                            # 当前逻辑卷数量
Open LV               1                            # 当前打开的逻辑卷数量
Max PV                0                            # 最大物理卷数量(0表示没有限制)
Cur PV                1                            # 当前物理卷数量
Act PV                1                            # 当前活动的物理卷数量
VG Size               <462.71 GiB                  # 卷组的总大小
PE Size               4.00 MiB                     # 每个物理扩展区(PE)的大小
Total PE              118453                       # 总的物理扩展区数量
Alloc PE / Size       25600 / 100.00 GiB           # 已分配的物理扩展区数量及大小
Free  PE / Size       92853 / <362.71 GiB          # 未分配的物理扩展区数量及大小
VG UUID               xDrQn5-82mb-GSRY-IqDV-VR4V-fNOk-JodsIE # 卷组的唯一标识符
  1. sudo lvdisplay: 显示逻辑卷(Logical Volume,LV)的详细信息。
sudo lvdisplay

输出解释

--- Logical volume ---
LV Path                /dev/ubuntu-vg/ubuntu-lv      # 逻辑卷的路径
LV Name                ubuntu-lv                     # 逻辑卷的名称
VG Name                ubuntu-vg                     # 逻辑卷所属的卷组名称
LV UUID                OeCqDd-O039-JMhk-TWaJ-og8T-BPgi-rL6hcd # 逻辑卷的唯一标识符
LV Write Access        read/write                    # 逻辑卷的访问权限
LV Creation host, time ubuntu-server, 2024-07-13 10:44:07 +0000 # 逻辑卷创建的主机和时间
LV Status              available                     # 逻辑卷的状态
# open                 1                             # 当前打开的逻辑卷数量
LV Size                100.00 GiB                    # 逻辑卷的大小
Current LE             25600                         # 当前逻辑扩展区数量
Segments               1                             # 逻辑卷的段数
Allocation             inherit                       # 分配策略
Read ahead sectors     auto                          # 预读扇区数
- currently set to     256                           # 当前设置的预读扇区数
Block device           252:0                         # 逻辑卷的块设备号
  1. sudo pvs: 显示物理卷(Physical Volume,PV)的信息。
sudo pvs

输出解释

PV         VG        Fmt  Attr PSize    PFree
/dev/sda3  ubuntu-vg lvm2 a--  <462.71g <362.71g
  • PV: 物理卷的路径。
  • VG: 所属的卷组名称。
  • Fmt: 物理卷的格式(LVM 版本)。
  • Attr: 属性(a-- 表示激活状态)。
  • PSize: 物理卷的总大小。
  • PFree: 物理卷的空闲大小。

  • sudo vgs: 显示卷组的摘要信息。

sudo vgs

输出解释

VG        #PV #LV #SN Attr   VSize    VFree
ubuntu-vg   1   1   0 wz--n- <462.71g <362.71g
  • VG: 卷组的名称。
  • #PV: 物理卷数量。
  • #LV: 逻辑卷数量。
  • #SN: 快照数量。
  • Attr: 属性(wz--n- 表示可写状态、可调整大小、未关闭的卷组)。
  • VSize: 卷组的总大小。
  • VFree: 卷组的空闲大小。

  • sudo lvs: 显示逻辑卷的摘要信息。

sudo lvs

输出解释

LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
ubuntu-lv ubuntu-vg -wi-ao---- 100.00g
  • LV: 逻辑卷的名称。
  • VG: 所属的卷组名称。
  • Attr: 属性(-wi-ao---- 表示写入状态、初始化状态、可用状态)。
  • LSize: 逻辑卷的大小。
  • Pool: 池(如果是精简卷池)。
  • Origin: 源(如果是快照)。
  • Data%: 已使用数据的百分比(对于精简卷池)。
  • Meta%: 已使用元数据的百分比(对于精简卷池)。
  • Move Log: 移动日志。
  • Cpy%Sync: 同步的复制百分比。
  • Convert: 转换状态。

这些命令及其输出提供了详细的 LVM 布局和卷的状态信息,帮助你管理和监控你的存储配置。如果有其他问题或需要进一步的解释,请告诉我。

命令

在 Linux 系统中,逻辑卷管理(LVM,Logical Volume Manager)是一种用于管理磁盘存储设备的工具。LVM 使得系统管理员可以更灵活地管理文件系统和磁盘分区。以下是一些常用的 LVM 命令以及它们的详细介绍:

1. 物理卷 (Physical Volume, PV)

物理卷是 LVM 的基本存储单元。物理卷可以是整个硬盘,硬盘分区,或者是 RAID 设备。

  • 创建物理卷:

    pvcreate /dev/sda1
    

  • 查看物理卷:

    pvdisplay
    

  • 查看物理卷信息:

    pvscan
    

  • 删除物理卷:

    pvremove /dev/sda1
    

2. 卷组 (Volume Group, VG)

卷组是由一个或多个物理卷组成的逻辑集合。逻辑卷是在卷组上创建的。

  • 创建卷组:

    vgcreate my_vg /dev/sda1 /dev/sdb1
    

  • 扩展卷组:

    vgextend my_vg /dev/sdc1
    

  • 查看卷组:

    vgdisplay
    

  • 查看卷组信息:

    vgscan
    

  • 减少卷组:

    vgreduce my_vg /dev/sdc1
    

  • 删除卷组:

    vgremove my_vg
    

3. 逻辑卷 (Logical Volume, LV)

逻辑卷是在卷组上创建的,它类似于传统的磁盘分区,但更灵活。

  • 创建逻辑卷:

    lvcreate -L 10G -n my_lv my_vg
    

  • 扩展逻辑卷:

    lvextend -L +5G /dev/my_vg/my_lv
    

  • 查看逻辑卷:

    lvdisplay
    

  • 查看逻辑卷信息:

    lvscan
    

  • 减少逻辑卷(在减小逻辑卷之前,请确保文件系统大小已经减小):

    lvreduce -L -5G /dev/my_vg/my_lv
    

  • 删除逻辑卷:

    lvremove /dev/my_vg/my_lv
    

4. 文件系统

在创建逻辑卷后,通常需要在其上创建文件系统。

  • 创建文件系统:

    mkfs.ext4 /dev/my_vg/my_lv
    

  • 挂载文件系统:

    mount /dev/my_vg/my_lv /mnt/my_mount_point
    

  • 查看挂载的文件系统:

    df -h
    

5. 其他有用的 LVM 命令

  • 显示所有 LVM 信息:

    lvs
    vgs
    pvs
    

  • 显示详细的 LVM 信息:

    lvdisplay
    vgdisplay
    pvdisplay
    

通过这些命令,系统管理员可以更灵活地管理存储资源,动态调整存储容量,并且减少系统停机时间。

补充

在 Ubuntu 中查看磁盘空间可以使用以下命令:

  1. df -h:显示磁盘使用情况,以人类可读的格式(例如 GB、MB)。
df -h
  1. du -sh /path/to/directory:显示指定目录的大小,以人类可读的格式。
du -sh /home
  1. lsblk:列出所有块设备,包括它们的挂载点和大小。
lsblk
  1. fdisk -l:列出所有分区和详细信息。
sudo fdisk -l
  1. lsblk:列出所有块设备及其大小。
lsblk
  1. fdisk -l:显示所有磁盘及其分区信息。
sudo fdisk -l
  1. df -h:显示各个挂载点的使用情况,包括总空间、已用空间和可用空间。
df -h
  1. parted -l:显示所有磁盘及其分区信息。
sudo parted -l

这些命令将帮助你查看硬盘的总大小和分区信息。