注意:

在 Oracle Linux 上配置逻辑卷

简介

逻辑卷管理允许将多个单独的硬盘驱动器或磁盘分区合并到单个卷组 (VG) 中。然后,可以将该卷组细分为逻辑卷 (logical volume, LV) 或用作单个大卷。可以在逻辑卷上创建标准文件系统,例如 EXT4 或 XFS。

本教程将与 Oracle Linux Volume Manager 实用程序结合使用来创建、挂载和增加逻辑卷的容量。

目标

先决条件

具有以下配置的任何 Oracle Linux 8 系统:

设置实验室环境

注意:使用免费实验室环境时,请参见 Oracle Linux Lab Basics 了解连接和其他使用说明。

  1. 如果尚未连接,请打开一个终端并通过 ssh 连接到上述每个实例。

    ssh oracle@<ip_address_of_instance>
    
  2. 验证块存储卷是否存在。

    sudo lsblk
    

    空闲实验环境的输出应显示现有文件系统的 /dev/sda 以及可用磁盘 /dev/sdb/dev/sdc/dev/sdd

物理卷 (PV)

  1. 使用可用磁盘创建物理卷 (physical volume, PV)。

    sudo pvcreate -v /dev/sd{b,c}
    

    使用 -v 选项运行命令以获取详细信息。

  2. 验证 PV 创建。

    sudo pvs
    

    输出示例:

    [oracle@ol-node01 ~]$ sudo pvs
      PV         VG        Fmt  Attr PSize  PFree 
      /dev/sda3  ocivolume lvm2 a--  45.47g     0 
      /dev/sdb             lvm2 ---  50.00g 50.00g
      /dev/sdc             lvm2 ---  50.00g 50.00g
    

    有关更详细的 PV 信息,请运行 pvdisplay,或使用 pvscan 扫描所有磁盘上的物理卷。

卷组 (VG)

  1. 使用新创建的物理卷创建卷组 (VG)。

    sudo vgcreate -v myvolg /dev/sd{b,c}
    
  2. 验证 VG 创建。

    sudo vgs
    

    输出示例:

    [oracle@ol-node01 ~]$ sudo vgs
      VG             #PV #LV #SN Attr   VSize   VFree  
      myvolg           2   0   0 wz--n- 99.99g  99.99g
      ocivolume        1   2   0 wz--n- 45.47g      0 
    

    有关更详细的 VG 信息,请运行 vgdisplay,或使用 vgscan 扫描所有磁盘以查找卷组。

逻辑卷 (LV)

  1. 创建线性逻辑卷 (Linear logical volume, LV)。

    sudo lvcreate -v -L 5G -n myvol myvolg
    
    • -L:RAID 阵列的总大小。
    • -n:RAID 阵列的名称。

    输出示例:

    [oracle@ol-node01 ~]$ sudo lvcreate -v -L 5G -n myvol myvolg
      Archiving volume group "myvolg" metadata (seqno 1).
      Creating logical volume myvol
      Creating volume group backup "/etc/lvm/backup/myvolg" (seqno 2).
      Activating logical volume myvolg/myvol.
      activation/volume_list configuration setting not defined: Checking only host tags for myvolg/myvol.
      Creating myvolg-myvol
      Loading table for myvolg-myvol (252:2).
      Resuming myvolg-myvol (252:2).
      Wiping known signatures on logical volume myvolg/myvol.
      Initializing 4.00 KiB of logical volume myvolg/myvol with value 0.
      Logical volume "myvol" created.
    
  2. 验证 LV 创建。

    sudo lvdisplay myvolg
    

    输出显示 myvolg VG 中包含的所有逻辑卷。

    输出示例:

    [oracle@ol-node01 ~]$ sudo lvdisplay myvolg
      --- Logical volume ---
      LV Path                /dev/myvolg/myvol
      LV Name                myvol
      VG Name                myvolg
      LV UUID                1gfINq-AcWq-Bhys-gafP-21RL-x39A-vR6hqE
      LV Write Access        read/write
      LV Creation host, time ol-node01, 2022-05-20 23:27:38 +0000
      LV Status              available
      # open                 0
      LV Size                5.00 GiB
      Current LE             1280
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           252:2
    

    对于简化的 VG 信息,请运行 lvs,或使用 lvscan 扫描所有磁盘以查找卷组。

  3. 显示 LV 类型。

    sudo lvs -o name,segtype /dev/myvolg/myvol
    
    • lvs 命令可以采用完整的 LV 路径作为缩小结果范围的选项。

    输出示例:

    [oracle@ol-node01 ~]$ sudo lvs -o name,segtype /dev/myvolg/myvol
      LV    Type  
      myvol linear
    

创建文件系统

  1. 在 LV 上创建 EXT4 文件系统。

    sudo mkfs.ext4 -F /dev/myvolg/myvol
    
    • -F:强制覆盖现有文件系统。

挂载 LV

  1. 挂载文件系统。

    sudo mkdir -p /myvol
    sudo mount /dev/myvolg/myvol /myvol
    
  2. 报告文件系统磁盘使用情况。

    df -h
    

    输出示例:

    [oracle@ol-node01 ~]$ df -h
    Filesystem                         Size  Used Avail Use% Mounted on
    ...
    /dev/mapper/myvolg-myvol           4.9G   20M  4.6G   1% /myvol
    
  3. 更新 /etc/fstab

    echo "/dev/mapper/myvolg-myvol /myvol ext4  defaults  0 0" | sudo tee -a /etc/fstab > /dev/null
    
  4. 卸载 LV。

    sudo umount /myvol
    
  5. 使用 /etc/fstab 条目重新挂载 LV 并验证文件系统是否存在。

    sudo mount -a
    df -h
    

增加逻辑卷的大小

使用 VG 中的可用空闲空间,将 LV 大小增加到 10G。

  1. 检查 VG 是否有空闲空间。

    sudo vgs
    

    myvolg VG 有 95G 的空闲空间 (VFree)。

  2. 增大 LV 容量。

    sudo lvextend -L 10G -r myvolg/myvol
    
    • -r:使用 fsadm(8) 调整文件系统和逻辑卷的大小。

    输出示例:

    [oracle@ol-node01 ~]$ sudo lvextend -L 10G -r myvolg/myvol
      Size of logical volume myvolg/myvol changed from 5.00 GiB (1280 extents) to 10.00 GiB (2560 extents).
      Logical volume myvolg/myvol successfully resized.
    resize2fs 1.45.6 (20-Mar-2020)
    Filesystem at /dev/mapper/myvolg-myvol is mounted on /myvol; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 2
    The filesystem on /dev/mapper/myvolg-myvol is now 2621440 (4k) blocks long.
    
  3. 验证文件系统上增加的空间。

    df -h /myvol
    

    文件系统的大小现在为 9.8G (Size),9.3G 可用 (Avail)。

备份 VG 元数据

LVM 元数据包含有关卷组的配置详细信息。每次更改 VG 和 LV 配置后,Oracle Linux 都会自动创建元数据备份。

  1. 列出备份和归档。

    sudo ls -l /etc/lvm/backup
    sudo ls -l /etc/lvm/archive
    
  2. 显示备份内容。

    sudo head -n 10 /etc/lvm/backup/myvolg
    

    说明说明在执行 lvextend 命令之后创建了备份。

  3. 手动创建元数据备份。

    sudo vgcfgbackup myvolg
    

    包括 -f 选项以及完整路径和文件名 (/var/tmp/myvolg-meta.bkp) 以将元数据备份到其他位置。

有关详细信息,请参阅 vgcfgbackup(8)vgcfgrestore(8) 手册页。

发展 VG 和 LV

向 VG 添加其他磁盘或分区并调整 LV 大小。

将另一个磁盘添加到 VG

  1. 使用剩余的可用磁盘 /dev/sdd 扩展 VG。

    sudo vgextend -v myvolg /dev/sdd
    

    输出示例:

    [oracle@ol-node01 ~]$ sudo vgextend -v myvolg /dev/sdd
      Wiping signatures on new PV /dev/sdd.
      Set up physical volume for "/dev/sdd" with 104857600 available sectors.
      Zeroing start of device /dev/sdd.
      Writing physical volume data to disk "/dev/sdd".
      Physical volume "/dev/sdd" successfully created.
      Archiving volume group "myvolg" metadata (seqno 3).
      Adding physical volume '/dev/sdd' to volume group 'myvolg'
      Volume group "myvolg" will be extended by 1 new physical volumes
      Creating volume group backup "/etc/lvm/backup/myvolg" (seqno 4).
      Volume group "myvolg" successfully extended
    
  2. 验证 VG。

    sudo vgs myvolg
    

    输出示例:

    [oracle@ol-node01 ~]$ sudo vgs myvolg
      VG     #PV #LV #SN Attr   VSize    VFree   
      myvolg   3   1   0 wz--n- <149.99g <139.99g
    

    请注意,增加的 PV 计数 (#PV)、容量 (VSize) 和空闲空间 (VFree)。

调整 LV 大小

  1. 将 LV 和文件系统的大小增加 20G。

    sudo lvresize -L +20G -r myvolg/myvol
    
    • -r:使用 fsadm(8) 调整底层文件系统和逻辑卷的大小。
    • -L:更改或设置逻辑卷大小。+ 将添加到实际逻辑卷大小。
  2. 验证文件系统上增加的空间。

    df -h /myvol
    

详细信息:

更多学习资源

浏览 docs.oracle.com/learn 上的其他实验室,或者在 Oracle Learning YouTube 频道上访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle 学习资源管理器。

有关产品文档,请访问 Oracle 帮助中心