30 openEuler使用LVM管理硬盘-简介和安装
30.1 LVM简介
LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制。LVM通过在硬盘和文件系统之间添加一个逻辑层,来为文件系统屏蔽下层硬盘分区布局,提高硬盘分区管理的灵活性,
使用LVM管理硬盘的基本过程如下:
- 将硬盘创建为物理卷
- 将多个物理卷组合成卷组
- 在卷组中创建逻辑卷
- 在逻辑卷之上创建文件系统
通过LVM管理硬盘之后,文件系统不再受限于硬盘的大小,可以分布在多个硬盘上,也可以动态扩容。
30.1.1 基本概念
- 物理存储介质(The physical media):指系统的物理存储设备,如硬盘,系统中为/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。
- 物理卷(Physical Volume,PV):指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块。物理卷包括一个特殊的标签,该标签默认存放在第二个 512 字节扇区,但也可以将标签放在最开始的四个扇区之一。该标签包含物理卷的随机唯一识别符(UUID),记录块设备的大小和LVM元数据在设备中的存储位置。
- 卷组(Volume Group,VG):由物理卷组成,屏蔽了底层物理卷细节。可在卷组上创建一个或多个逻辑卷且不用考虑具体的物理卷信息。
- 逻辑卷(Logical Volume,LV):卷组不能直接用,需要划分成逻辑卷才能使用。逻辑卷可以格式化成不同的文件系统,挂载后直接使用。
- 物理块(Physical Extent,PE):物理卷以大小相等的“块”为单位存储,块的大小与卷组中逻辑卷块的大小相同。
- 逻辑块(Logical Extent,LE):逻辑卷以“块”为单位存储,在一卷组中的所有逻辑卷的块大小是相同的。
30.2 安装
说明: openEuler操作系统默认已安装LVM。可通过rpm -qa | grep lvm2命令查询,若打印信息中包含“lvm2”信息,则表示已安装LVM,可跳过本章节内;若无任何打印信息,则表示未安装,可参考本章节内容进行安装。
-
配置本地yum源,详细信息请参考《openEuler 22.03-LTS 搭建repo服务器》。
-
清除缓存。
# dnf clean all
例如示例命令如下:
[root@superman-21 ~]# dnf clean all 36 files removed [root@superman-21 ~]#
-
创建缓存。
# dnf makecache
例如示例命令如下:
[root@superman-21 ~]# dnf makecache OS 4.8 MB/s | 3.4 MB 00:00 everything 7.9 MB/s | 16 MB 00:02 EPOL 4.3 MB/s | 2.6 MB 00:00 debuginfo 5.7 MB/s | 3.9 MB 00:00 source 2.7 MB/s | 1.7 MB 00:00 update 7.6 MB/s | 29 MB 00:03 Metadata cache created. [root@superman-21 ~]#
-
在root权限下安装LVM。
# dnf install lvm2
例如示例命令如下:
[root@superman-21 ~]# dnf install lvm2 Last metadata expiration check: 0:01:36 ago on 2022年12月26日 星期一 20时34分47秒. Dependencies resolved. ========================================================================================================================== Package Architecture Version Repository Size ========================================================================================================================== Installing: lvm2 x86_64 8:2.03.14-4.oe2203 OS 1.8 M Installing dependencies: device-mapper-event x86_64 8:1.02.181-4.oe2203 OS 45 k libaio x86_64 0.3.112-2.oe2203 OS 22 k thin-provisioning-tools x86_64 0.9.0-3.oe2203 OS 415 k Installing weak dependencies: lvm2-help noarch 8:2.03.14-4.oe2203 OS 320 k thin-provisioning-tools-help noarch 0.9.0-3.oe2203 OS 26 k Transaction Summary ========================================================================================================================== Install 6 Packages Total download size: 2.6 M Installed size: 7.5 M Is this ok [y/N]: y Downloading Packages: (1/6): libaio-0.3.112-2.oe2203.x86_64.rpm 167 kB/s | 22 kB 00:00 (2/6): device-mapper-event-1.02.181-4.oe2203.x86_64.rpm 232 kB/s | 45 kB 00:00 (3/6): lvm2-help-2.03.14-4.oe2203.noarch.rpm 1.6 MB/s | 320 kB 00:00 (4/6): thin-provisioning-tools-0.9.0-3.oe2203.x86_64.rpm 2.0 MB/s | 415 kB 00:00 (5/6): thin-provisioning-tools-help-0.9.0-3.oe2203.noarch.rpm 359 kB/s | 26 kB 00:00 (6/6): lvm2-2.03.14-4.oe2203.x86_64.rpm 3.6 MB/s | 1.8 MB 00:00 -------------------------------------------------------------------------------------------------------------------------- Total 5.2 MB/s | 2.6 MB 00:00 retrieving repo key for OS unencrypted from http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler OS 22 kB/s | 2.1 kB 00:00 Importing GPG key 0xB25E7F66: Userid : "private OBS (key without passphrase) <defaultkey@localobs>" Fingerprint: 12EA 74AC 9DF4 8D46 C69C A0BE D557 065E B25E 7F66 From : http://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/RPM-GPG-KEY-openEuler Is this ok [y/N]: y Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : libaio-0.3.112-2.oe2203.x86_64 1/6 Installing : thin-provisioning-tools-help-0.9.0-3.oe2203.noarch 2/6 Installing : thin-provisioning-tools-0.9.0-3.oe2203.x86_64 3/6 Installing : lvm2-help-8:2.03.14-4.oe2203.noarch 4/6 Installing : device-mapper-event-8:1.02.181-4.oe2203.x86_64 5/6 Running scriptlet: device-mapper-event-8:1.02.181-4.oe2203.x86_64 5/6 Created symlink /etc/systemd/system/sockets.target.wants/dm-event.socket → /usr/lib/systemd/system/dm-event.socket. Installing : lvm2-8:2.03.14-4.oe2203.x86_64 6/6 Running scriptlet: lvm2-8:2.03.14-4.oe2203.x86_64 6/6 Created symlink /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service → /usr/lib/systemd/system/lvm2-monitor.service. Created symlink /etc/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket → /usr/lib/systemd/system/lvm2-lvmpolld.socket. Verifying : device-mapper-event-8:1.02.181-4.oe2203.x86_64 1/6 Verifying : libaio-0.3.112-2.oe2203.x86_64 2/6 Verifying : lvm2-8:2.03.14-4.oe2203.x86_64 3/6 Verifying : lvm2-help-8:2.03.14-4.oe2203.noarch 4/6 Verifying : thin-provisioning-tools-0.9.0-3.oe2203.x86_64 5/6 Verifying : thin-provisioning-tools-help-0.9.0-3.oe2203.noarch 6/6 Installed: device-mapper-event-8:1.02.181-4.oe2203.x86_64 libaio-0.3.112-2.oe2203.x86_64 lvm2-8:2.03.14-4.oe2203.x86_64 lvm2-help-8:2.03.14-4.oe2203.noarch thin-provisioning-tools-0.9.0-3.oe2203.x86_64 thin-provisioning-tools-help-0.9.0-3.oe2203.noarch Complete! [root@superman-21 ~]#
-
查看安装后的rpm包。
# rpm -qa | grep lvm2
例如示例命令如下:
[root@superman-21 ~]# rpm -qa | grep lvm2 lvm2-2.03.14-4.oe2203.x86_64 lvm2-help-2.03.14-4.oe2203.noarch [root@superman-21 ~]#
???? 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!