注意:
- 此教程在 Oracle 提供的免费实验室环境中提供。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间的示例值。完成练习后,将这些值替换为特定于云环境的值。
在 Oracle Linux 上配置逻辑卷
简介
逻辑卷管理允许将多个单独的硬盘驱动器或磁盘分区合并到单个卷组 (VG) 中。然后,可以将该卷组细分为逻辑卷 (logical volume, LV) 或用作单个大卷。可以在逻辑卷上创建标准文件系统,例如 EXT4 或 XFS。
本教程将与 Oracle Linux Volume Manager 实用程序结合使用来创建、挂载和增加逻辑卷的容量。
目标
- 创建逻辑卷
- 增加逻辑卷的容量
先决条件
具有以下配置的任何 Oracle Linux 8 系统:
- 具有 sudo 权限的非 root 用户
- 用于 LVM 的附加块存储卷
设置实验室环境
注意:使用免费实验室环境时,请参见 Oracle Linux Lab Basics 了解连接和其他使用说明。
-
如果尚未连接,请打开一个终端并通过 ssh 连接到上述每个实例。
ssh oracle@<ip_address_of_instance>
-
验证块存储卷是否存在。
sudo lsblk
空闲实验环境的输出应显示现有文件系统的
/dev/sda
以及可用磁盘/dev/sdb
、/dev/sdc
和/dev/sdd
。
物理卷 (PV)
-
使用可用磁盘创建物理卷 (physical volume, PV)。
sudo pvcreate -v /dev/sd{b,c}
使用
-v
选项运行命令以获取详细信息。 -
验证 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)
-
使用新创建的物理卷创建卷组 (VG)。
sudo vgcreate -v myvolg /dev/sd{b,c}
-
验证 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)
-
创建线性逻辑卷 (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.
-
验证 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
扫描所有磁盘以查找卷组。 -
显示 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
创建文件系统
-
在 LV 上创建 EXT4 文件系统。
sudo mkfs.ext4 -F /dev/myvolg/myvol
-F
:强制覆盖现有文件系统。
挂载 LV
-
挂载文件系统。
sudo mkdir -p /myvol sudo mount /dev/myvolg/myvol /myvol
-
报告文件系统磁盘使用情况。
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
-
更新 /etc/fstab。
echo "/dev/mapper/myvolg-myvol /myvol ext4 defaults 0 0" | sudo tee -a /etc/fstab > /dev/null
-
卸载 LV。
sudo umount /myvol
-
使用 /etc/fstab 条目重新挂载 LV 并验证文件系统是否存在。
sudo mount -a df -h
增加逻辑卷的大小
使用 VG 中的可用空闲空间,将 LV 大小增加到 10G。
-
检查 VG 是否有空闲空间。
sudo vgs
myvolg
VG 有 95G 的空闲空间 (VFree)。 -
增大 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.
-
验证文件系统上增加的空间。
df -h /myvol
文件系统的大小现在为 9.8G (Size),9.3G 可用 (Avail)。
备份 VG 元数据
LVM 元数据包含有关卷组的配置详细信息。每次更改 VG 和 LV 配置后,Oracle Linux 都会自动创建元数据备份。
-
列出备份和归档。
sudo ls -l /etc/lvm/backup sudo ls -l /etc/lvm/archive
-
显示备份内容。
sudo head -n 10 /etc/lvm/backup/myvolg
说明说明在执行
lvextend
命令之后创建了备份。 -
手动创建元数据备份。
sudo vgcfgbackup myvolg
包括
-f
选项以及完整路径和文件名 (/var/tmp/myvolg-meta.bkp
) 以将元数据备份到其他位置。
有关详细信息,请参阅 vgcfgbackup(8)
和 vgcfgrestore(8)
手册页。
发展 VG 和 LV
向 VG 添加其他磁盘或分区并调整 LV 大小。
将另一个磁盘添加到 VG
-
使用剩余的可用磁盘
/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
-
验证 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 大小
-
将 LV 和文件系统的大小增加 20G。
sudo lvresize -L +20G -r myvolg/myvol
-r
:使用 fsadm(8) 调整底层文件系统和逻辑卷的大小。-L
:更改或设置逻辑卷大小。+
将添加到实际逻辑卷大小。
-
验证文件系统上增加的空间。
df -h /myvol
详细信息:
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者在 Oracle Learning YouTube 频道上访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle 学习资源管理器。
有关产品文档,请访问 Oracle 帮助中心。
Configure Logical Volumes on Oracle Linux
F47408-05
May 2022
Copyright © 2021, Oracle and/or its affiliates.