注意:
- 此教程在 Oracle 提供的免费实验室环境中提供。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间的示例值。完成练习后,将这些值替换为特定于云环境的值。
减少并重新定位 Oracle Linux 上的卷组
简介
逻辑卷管理允许删除未使用的物理卷 (Physical Volume Management,PV) 以及移动整个卷组 (VG)。PV 的移除会缩小 VG 的整体大小。
本教程将与 Oracle Linux Volume Manager 实用程序配合使用,通过删除物理卷,然后将该卷组传输到其他系统来收缩卷组。
目标
- 移动逻辑卷
- 收缩卷组
- 将卷组传输到其他系统
先决条件
两个具有以下配置的 Oracle Linux 8 系统:
- 具有 sudo 权限的非 root 用户
- 用于 LVM 的附加块存储卷
设置实验室环境
注意:使用免费实验室环境时,请参见 Oracle Linux Lab Basics 了解连接和其他使用说明。
-
如果尚未连接,请打开一个终端并通过 ssh 连接到 ol-node01 实例。
ssh oracle@<ip_address_of_instance>
-
验证块存储卷是否存在。
sudo lsblk
空闲实验环境的输出应显示根文件系统的
/dev/sda
、演示卷组的/dev/sdb
以及可用磁盘/dev/sdc
和/dev/sdd
。 -
显示一致的设备名称映射。
免费实验室环境对连接的块存储卷使用一致的设备名称路径。
ll /dev/oracleoci/oraclevd*
输出示例:
[oracle@ol-node01 ~]$ ll /dev/oracleoci/oraclevd* lrwxrwxrwx. 1 root root 6 Jun 9 13:27 /dev/oracleoci/oraclevda -> ../sda lrwxrwxrwx. 1 root root 7 Jun 9 13:27 /dev/oracleoci/oraclevda1 -> ../sda1 lrwxrwxrwx. 1 root root 7 Jun 9 13:27 /dev/oracleoci/oraclevda2 -> ../sda2 lrwxrwxrwx. 1 root root 7 Jun 9 13:27 /dev/oracleoci/oraclevda3 -> ../sda3 lrwxrwxrwx. 1 root root 6 Jun 9 13:27 /dev/oracleoci/oraclevdb -> ../sdd lrwxrwxrwx. 1 root root 6 Jun 9 13:45 /dev/oracleoci/oraclevdd -> ../sdc
请注意,在 Oracle Cloud Infrastructure 中定义的一致名称结尾与 Linux OS 提供的设备名称不匹配。以后在云控制台中分离和连接块存储卷时,了解这些映射至关重要。
从 VG 中删除 PV
从卷组中删除活动物理卷之前,请将物理卷上的任何数据和逻辑卷移动到其他一些空闲 PV。
-
检查物理卷使用的磁盘空间。
sudo pvs -o+pv_used
输出示例:
[oracle@ol-node01 ~]$ sudo pvs -o+pv_used PV VG Fmt Attr PSize PFree Used /dev/sda3 ocivolume lvm2 a-- 45.47g 0 45.47g /dev/sdb labvolume lvm2 a-- 49.98g 47.98g 2.00g
输出显示
/dev/sdb
PV 使用 2g。 -
扩展卷组。
通过扩展卷组来添加另一个物理卷。
sudo vgextend labvolume /dev/sdc
添加
/dev/sbc
可提供免费的物理卷,以接受从原始/dev/sdb
物理卷传输数据和逻辑卷。 -
验证是否已添加
/dev/sdc
物理卷。sudo pvs
输出示例:
[oracle@ol-node01 ~]$ sudo pvs PV VG Fmt Attr PSize PFree /dev/sda3 ocivolume lvm2 a-- 45.47g 0 /dev/sdb labvolume lvm2 a-- 49.98g 47.98g /dev/sdc labvolume lvm2 a-- 49.98g 49.98g
-
将现有数据和逻辑卷移动到新添加的空闲 PV。
sudo pvmove /dev/sdb /dev/sdc
pvmove
命令允许将源 PV 上的已分配物理区 (PE) 移动到一个或多个其他 PV。如果未指定目标 PV,传输会对卷组使用常规分配规则。任务在联机完成时没有中断,命令行输出显示进度。有关详细信息,请参阅
pvmove(8)
手册。 -
验证移动是否已完成。
sudo pvs -o+pv_used
输出示例:
[oracle@ol-node01 ~]$ sudo pvs -o+pv_used PV VG Fmt Attr PSize PFree Used /dev/sda3 ocivolume lvm2 a-- 45.47g 0 45.47g /dev/sdb labvolume lvm2 a-- 49.98g 49.98g 0 /dev/sdc labvolume lvm2 a-- 49.98g 47.98g 2.00g
输出显示
/dev/sdc
PV 使用 2g,/dev/sdb
未使用。 -
释放原始物理卷。
sudo vgreduce labvolume /dev/sdb
-
确认原始物理卷完全空闲。
sudo pvs -o+pv_used
输出示例:
[oracle@ol-node01 ~]$ sudo pvs -o+pv_used PV VG Fmt Attr PSize PFree Used /dev/sda3 ocivolume lvm2 a-- 45.47g 0 45.47g /dev/sdb lvm2 --- 50.00g 50.00g 0 /dev/sdc labvolume lvm2 a-- 49.98g 47.98g 2.00g
请注意,卷组名称 labvolume 不再与物理卷
/dev/sdb
关联,现在已与/dev/sdc
关联。 -
删除原始物理卷。
sudo pvremove /dev/sdb
现在,物理卷
/dev/sdb
可在其他卷组中使用,也可以从系统中以物理方式删除。
在系统之间移动 PV
LVM 允许将整个卷组从一个系统移动到另一个系统。该示例将名为 labvolume
的卷组和挂载在 /u01
上的逻辑卷从 ol-node01 移至 ol-node02。
-
在 ol-node01 上卸载文件系统。
sudo umount /u01
-
使卷组处于非活动状态。
将卷组标记为非活动意味着组中的逻辑卷不可访问且无法更改。此卷组的停用进一步使其对内核未知。
sudo vgchange -an labvolume
-
准备要删除的卷。
sudo vgexport labvolume
-
下一步将从实例 ol-node01 中删除与卷组
labvolume
关联的物理卷/dev/sdc
。要在云控制台中选择要分离的正确块设备,请获取与 PV/dev/sdc
关联的块设备路径名oraclevd*
。ll /dev/oracleoci/oraclevd* | grep sdc
-
从 ol-node01 服务器中删除磁盘。
使用物理服务器关闭系统并拔出磁盘。但是,在免费实验室环境中,必须将卷与实例分离。
尽管有几种方法可以完成此任务,但我们仍使用云控制台。
-
登录云控制台。
-
打开导航菜单,然后单击计算。在计算下,单击实例。
-
单击列表中的 ol-node01 实例。
-
在页面左下方的 Resources 下,选择 Attached block volumes。
-
使用与物理卷
/dev/sdc
关联的块设备 Name 旁边的三点菜单,然后选择 Detach。重要提示:要选择的块设备 Name 是与上面Determine the block volume device path 步骤中报告的 Device path 匹配的名称。它可能与在提供的屏幕截图中选择的名称不匹配。
-
在弹出窗口中选择 Ok 按钮,然后等待卷分离。
-
使用页面顶部的面包屑,然后选择实例。
-
在列表中选择 ol-node02 实例。
-
在左下方的 Resources 下,选择 Attached block volumes。
-
单击 Attach block volume 按钮。
-
在弹出窗口中,连接从 ol-node01 中移除的块存储卷。
选择先前与 Volume 的 ol-node01 实例分离的块设备 Name。
然后,为 Device path 选择 oraclevdb,为 Attachment type 选择 Paravirtualized,为 Access 选择 Read/write。
-
单击 Attach 按钮,然后等待卷附加。
-
-
打开新终端并通过 ssh 连接到 ol-node02 实例。
ssh oracle@<ip_address_of_instance>
-
验证新块存储卷是否存在。
sudo lsblk
空闲实验环境的输出应显示根文件系统的
/dev/sda
和卷组的/dev/sdb
。 -
扫描连接的卷。
运行初始扫描以识别连接的 LVM 物理卷。
sudo pvscan
输出示例:
[oracle@ol-node02 ~]$ sudo pvscan PV /dev/sdb is in exported VG labvolume [49.98 GiB / 47.98 GiB free] PV /dev/sda3 VG ocivolume lvm2 [45.47 GiB / 0 free] Total: 2 [<95.46 GiB] / in use: 2 [<95.46 GiB] / in no VG: 0 [0 ]
扫描显示 PV 设备
/dev/sdb
包含从 ol-node01 导出卷组。 -
导入卷组。
sudo vgimport labvolume
-
激活卷组。
sudo vgchange -ay labvolume
-
挂载文件系统。
sudo mkdir /u01 sudo mount /dev/labvolume/data /u01
-
验证文件系统上的空间。
df -h
输出示例:
[oracle@ol-node02 ~]$ df -h Filesystem Size Used Avail Use% Mounted on ... /dev/mapper/labvolume-data 2.0G 6.0M 1.8G 1% /u01
详细信息:
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者在 Oracle Learning YouTube 频道上访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle 学习资源管理器。
有关产品文档,请访问 Oracle 帮助中心。
Reduce and Relocate Volume Groups on Oracle Linux
F58676-01
June 2022
Copyright © 2022, Oracle and/or its affiliates.