硬盘相关-卷

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

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

1. 物理卷(Physical Volume,PV)

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

  • 物理卷的创建: 你可以使用 pvcreate 命令将一个物理分区或硬盘初始化为物理卷。例如:

    1
    sudo pvcreate /dev/sda3
  • 物理卷的信息: 通过 pvs 命令可以查看所有物理卷的信息。

    1
    sudo pvs

2. 卷组(Volume Group,VG)

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

  • 卷组的创建: 可以使用 vgcreate 命令将一个或多个物理卷组合成一个卷组。例如:

    1
    sudo vgcreate ubuntu-vg /dev/sda3
  • 卷组的信息: 通过 vgdisplay 命令可以查看卷组的详细信息。

    1
    sudo vgdisplay

3. 逻辑卷(Logical Volume,LV)

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

  • 逻辑卷的创建: 可以使用 lvcreate 命令在卷组上创建逻辑卷。例如:

    1
    sudo lvcreate -L 100G -n ubuntu-lv ubuntu-vg
  • 逻辑卷的信息: 通过 lvdisplay 命令可以查看逻辑卷的详细信息。

    1
    sudo lvdisplay

它们之间的关系

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

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

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

与硬盘的关系及使用

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

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

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

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

使用硬盘空间的方式

  1. 初始化物理卷
    • 例如,使用 pvcreate /dev/sda3 将物理分区初始化为物理卷。
  2. 创建卷组
    • 使用 vgcreate 命令将一个或多个物理卷组合成一个卷组,如 vgcreate ubuntu-vg /dev/sda3
  3. 创建逻辑卷
    • 使用 lvcreate 命令在卷组上创建逻辑卷,如 lvcreate -L 100G -n ubuntu-lv ubuntu-vg
  4. 格式化逻辑卷
    • 例如,使用 mkfs.ext4 /dev/ubuntu-vg/ubuntu-lv 格式化逻辑卷。
  5. 挂载逻辑卷
    • 使用 mount 命令挂载逻辑卷,如 mount /dev/ubuntu-vg/ubuntu-lv /mnt

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

命令及其解释

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

    1
    sudo vgdisplay

    输出解释

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    --- 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 # 卷组的唯一标识符
  2. sudo lvdisplay: 显示逻辑卷(Logical Volume,LV)的详细信息。

    1
    sudo lvdisplay

    输出解释

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    --- 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 # 逻辑卷的块设备号
  3. sudo pvs: 显示物理卷(Physical Volume,PV)的信息。

    1
    sudo pvs

    输出解释

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

    1
    sudo vgs

    输出解释

    1
    2
    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: 卷组的空闲大小。
  5. sudo lvs: 显示逻辑卷的摘要信息。

    1
    sudo lvs

    输出解释

    1
    2
    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 设备。

  • 创建物理卷:

    1
    pvcreate /dev/sda1

  • 查看物理卷:

    1
    pvdisplay

  • 查看物理卷信息:

    1
    pvscan

  • 删除物理卷:

    1
    pvremove /dev/sda1

2. 卷组 (Volume Group, VG)

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

  • 创建卷组:

    1
    vgcreate my_vg /dev/sda1 /dev/sdb1

  • 扩展卷组:

    1
    vgextend my_vg /dev/sdc1

  • 查看卷组:

    1
    vgdisplay

  • 查看卷组信息:

    1
    vgscan

  • 减少卷组:

    1
    vgreduce my_vg /dev/sdc1

  • 删除卷组:

    1
    vgremove my_vg

3. 逻辑卷 (Logical Volume, LV)

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

  • 创建逻辑卷:

    1
    lvcreate -L 10G -n my_lv my_vg

  • 扩展逻辑卷:

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

  • 查看逻辑卷:

    1
    lvdisplay

  • 查看逻辑卷信息:

    1
    lvscan

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

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

  • 删除逻辑卷:

    1
    lvremove /dev/my_vg/my_lv

4. 文件系统

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

  • 创建文件系统:

    1
    mkfs.ext4 /dev/my_vg/my_lv

  • 挂载文件系统:

    1
    mount /dev/my_vg/my_lv /mnt/my_mount_point

  • 查看挂载的文件系统:

    1
    df -h

5. 其他有用的 LVM 命令

  • 显示所有 LVM 信息:

    1
    2
    3
    lvs
    vgs
    pvs

  • 显示详细的 LVM 信息:

    1
    2
    3
    lvdisplay
    vgdisplay
    pvdisplay

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

补充

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

  1. df -h:显示磁盘使用情况,以人类可读的格式(例如 GB、MB)。

    1
    df -h
  2. du -sh /path/to/directory:显示指定目录的大小,以人类可读的格式。

    1
    du -sh /home
  3. lsblk:列出所有块设备,包括它们的挂载点和大小。

    1
    lsblk
  4. fdisk -l:列出所有分区和详细信息。

    1
    sudo fdisk -l
  5. lsblk:列出所有块设备及其大小。

    1
    lsblk
  6. fdisk -l:显示所有磁盘及其分区信息。

    1
    sudo fdisk -l
  7. df -h:显示各个挂载点的使用情况,包括总空间、已用空间和可用空间。

    1
    df -h
  8. parted -l:显示所有磁盘及其分区信息。

    1
    sudo parted -l

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


硬盘相关-卷
http://example.com/2024/09/27/硬盘相关-卷/
作者
JunBin Liang
发布于
2024年9月27日
许可协议