ITPub博客

首页 > 数据库 > 数据库开发技术 > openEuler 22.03-LTS 使用LVM管理硬盘

openEuler 22.03-LTS 使用LVM管理硬盘

原创 数据库开发技术 作者:shuchaoyang 时间:2022-12-26 21:26:18 0 删除 编辑

1 LVM简介1.1 基本概念2 安装3 管理物理卷3.1 创建物理卷3.2 查看物理卷3.3 修改物理卷属性3.4 删除物理卷4 管理卷组4.1 创建卷组4.2 查看卷组4.3 修改卷组属性4.4 扩展卷组4.5 收缩卷组4.6 删除卷组5 管理逻辑卷5.1 创建逻辑卷5.2 查看逻辑卷5.3 调整逻辑卷大小5.4 扩展逻辑卷5.5 收缩逻辑卷5.6 删除逻辑卷6 创建并挂载文件系统6.1 创建文件系统6.2 手动挂载文件系统6.3 自动挂载文件系统

1 LVM简介

LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制。LVM通过在硬盘和文件系统之间添加一个逻辑层,来为文件系统屏蔽下层硬盘分区布局,提高硬盘分区管理的灵活性,

使用LVM管理硬盘的基本过程如下:

  1. 将硬盘创建为物理卷

  2. 将多个物理卷组合成卷组

  3. 在卷组中创建逻辑卷

  4. 在逻辑卷之上创建文件系统

通过LVM管理硬盘之后,文件系统不再受限于硬盘的大小,可以分布在多个硬盘上,也可以动态扩容。

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):逻辑卷以“块”为单位存储,在一卷组中的所有逻辑卷的块大小是相同的。


2 安装

说明:openEuler操作系统默认已安装LVM。可通过rpm -qa | grep lvm2命令查询,若打印信息中包含“lvm2”信息,则表示已安装LVM,可跳过本章节内;若无任何打印信息,则表示未安装,可参考本章节内容进行安装。

  1. 配置本地yum源,详细信息请参考《openEuler 22.03-LTS 搭建repo服务器》。

  2. 清除缓存。

    # dnf clean all

    例如示例命令如下:

    [root@superman-21 ~]# dnf clean all
    36 files removed
    [root@superman-21 ~]#
  3. 创建缓存。

    # 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 ~]#
  4. 在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 ~]#
  5. 查看安装后的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 ~]#


3 管理物理卷

3.1 创建物理卷

可在root权限下通过pvcreate命令创建物理卷。

pvcreate [option] devname ...

其中:

  • option:命令参数选项。常用的参数选项有:

    • -f:强制创建物理卷,不需要用户确认。

    • -u:指定设备的UUID。

    • -y:所有的问题都回答“yes”。

  • devname:指定要创建的物理卷对应的设备名称,如果需要批量创建,可以填写多个设备名称,中间以空格间隔。

示例1:将/dev/sdb、/dev/sdc创建为物理卷。

[root@superman-21 ~]# pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
[root@superman-21 ~]#

示例2:将/dev/sdb1、/dev/sdb2创建为物理卷。

[root@superman-21 ~]# pvcreate /dev/sdb1 /dev/sdc1
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc1" successfully created.
[root@superman-21 ~]#

3.2 查看物理卷

可在root权限通过pvdisplay命令查看物理卷的信息,包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。

pvdisplay [option] devname

其中:

  • option:命令参数选项。常用的参数选项有:

    • -s:以短格式输出。

    • -m:显示PE到LE的映射。

  • devname:指定要查看的物理卷对应的设备名称。如果不指定物理卷名称,则显示所有物理卷的信息。

示例:显示物理卷/dev/sdb1的基本信息。

[root@superman-21 ~]# pvdisplay /dev/sdb1
"/dev/sdb1" is a new physical volume of "<10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size <10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID OVzxj4-cIGG-5g2R-ipwc-kmgE-y1BL-u3JaJd

[root@superman-21 ~]#

3.3 修改物理卷属性

可在root权限下通过pvchange命令修改物理卷的属性。

pvchange [option] pvname ...

其中:

  • option:命令参数选项。常用的参数选项有:

    • -u:生成新的UUID。

    • -x:是否允许分配PE”。

  • pvname:指定要要修改属性的物理卷对应的设备名称,如果需要批量修改,可以填写多个设备名称,中间以空格间隔。

示例:禁止分配/dev/sdb1物理卷上的PE。

[root@superman-21 ~]# pvchange -x n /dev/sdb1
Allocatability not supported by orphan lvm2 format PV /dev/sdb1
Physical volume /dev/sdb1 not changed
0 physical volumes changed / 1 physical volume not changed
[root@superman-21 ~]#

3.4 删除物理卷

可在root权限下通过pvremove命令删除物理卷。

pvremove [option] pvname ...

其中:

  • option:命令参数选项。常用的参数选项有:

    • -f:强制删除物理卷,不需要用户确认。

    • -y:所有的问题都回答“yes”。

  • pvname:指定要删除的物理卷对应的设备名称,如果需要批量删除,可以填写多个设备名称,中间以空格间隔。

示例:删除物理卷/dev/sdb1。

[root@superman-21 ~]#  pvremove /dev/sdb1
Labels on physical volume "/dev/sdb1" successfully wiped.
[root@superman-21 ~]#


4 管理卷组

4.1 创建卷组

可在root权限下通过vgcreate命令创建卷组。

vgcreate [option] vgname pvname ...

其中:

  • option:命令参数选项。常用的参数选项有:

    • -l:卷组上允许创建的最大逻辑卷数。

    • -p:卷组中允许添加的最大物理卷数。

    • -s:卷组上的物理卷的PE大小。

  • vgname:要创建的卷组名称。

  • pvname:要加入到卷组中的物理卷名称。

示例:创建卷组 vg_data,并且将物理卷/dev/sdb1添加到卷组中。

[root@superman-21 ~]# vgcreate vg_data /dev/sdb1
Volume group "vg_data" successfully created
[root@superman-21 ~]#

4.2 查看卷组

可在root权限下通过vgdisplay命令查看卷组的信息。

vgdisplay [option] [vgname]

其中:

  • option:命令参数选项。常用的参数选项有:

    • -s:以短格式输出。

    • -A:仅显示活动卷组的属性。

  • vgname:指定要查看的卷组名称。如果不指定卷组名称,则显示所有卷组的信息。

示例:显示卷组vg_data的基本信息。

[root@superman-21 ~]# vgdisplay vg_data
--- Volume group ---
VG Name vg_data
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.99 GiB
PE Size 4.00 MiB
Total PE 5118
Alloc PE / Size 0 / 0
Free PE / Size 5118 / 19.99 GiB
VG UUID SxlrRi-Umst-JO8N-8u3c-V6Ag-P170-Nfmc6S

[root@superman-21 ~]#

4.3 修改卷组属性

可在root权限下通过vgchange命令修改卷组的属性。

vgchange [option] vgname

其中:

  • option:命令参数选项。常用的参数选项有:

    • -a:设置卷组的活动状态。

  • vgname:指定要修改属性的卷组名称。

示例:将卷组vg_data状态修改为活动。

[root@superman-21 ~]# vgchange -ay vg_data
0 logical volume(s) in volume group "vg_data" now active
[root@superman-21 ~]#

4.4 扩展卷组

可在root权限下通过vgextend命令动态扩展卷组。它通过向卷组中添加物理卷来增加卷组的容量。

vgextend [option] vgname pvname ...

其中:

  • option:命令参数选项。常用的参数选项有:

    • -d:调试模式。

    • -t:仅测试。

  • vgname:要扩展容量的卷组名称。

  • pvname:要加入到卷组中的物理卷名称。

示例:向卷组vg_data中添加物理卷/dev/sdc1。

[root@superman-21 ~]# vgextend vg_data /dev/sdc1
Volume group "vg_data" successfully extended
[root@superman-21 ~]#

4.5 收缩卷组

可在root权限下通过vgreduce命令删除卷组中的物理卷来减少卷组容量。不能删除卷组中剩余的最后一个物理卷。

vgreduce [option] vgname pvname ...

其中:

  • option:命令参数选项。常用的参数选项有:

    • -a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷。

    • --removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态。

  • vgname:要收缩容量的卷组名称。

  • pvname:要从卷组中删除的物理卷名称。

示例:从卷组vg_data中移除物理卷/dev/sdc1。

[root@superman-21 ~]# vgreduce vg_data /dev/sdc1
Removed "/dev/sdc1" from volume group "vg_data"
[root@superman-21 ~]#

4.6 删除卷组

可在root权限下通过vgremove命令删除卷组。

vgremove [option] vgname

其中:

  • option:命令参数选项。常用的参数选项有:

    • -f:强制删除卷组,不需要用户确认。

  • vgname:指定要删除的卷组名称。

示例:删除卷组vg_data。

[root@superman-21 ~]# vgremove vg_data
Volume group "vg_data" successfully removed
[root@superman-21 ~]#


5 管理逻辑卷

5.1 创建逻辑卷

可在root权限下通过lvcreate命令创建逻辑卷。

lvcreate [option] vgname

其中:

  • option:命令参数选项。常用的参数选项有:

    • -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节。

    • -l:指定逻辑卷的大小(LE数)。

    • -n:指定要创建的逻辑卷名称。

    • -s:创建快照。

  • vgname:要创建逻辑卷的卷组名称。

示例1:在卷组vg_data中创建10G大小的逻辑卷。

[root@superman-21 ~]# lvcreate -L 10G vg_data
Logical volume "lvol0" created.
[root@superman-21 ~]#

示例2:在卷组vg_data中创建200M的逻辑卷,并命名为lv_data。

[root@superman-21 ~]# lvcreate -L 200M -n lv_data vg_data
Logical volume "lv_data" created.
[root@superman-21 ~]#

5.2 查看逻辑卷

可在root权限下通过lvdisplay命令查看逻辑卷的信息,包括逻辑卷空间大小、读写状态和快照信息等属性。

lvdisplay [option] [lvname]

其中:

  • option:命令参数选项。常用的参数选项有:

  • -v:显示LE到PE的映射

  • lvname:指定要显示属性的逻辑卷对应的设备文件。如果省略,则显示所有的逻辑卷属性。

    说明:逻辑卷对应的设备文件保存在卷组目录下,例如:在卷组vg_data上创建一个逻辑卷lv_data,则此逻辑卷对应的设备文件为/dev/vg_data/lv_data。

示例:显示逻辑卷lv_data的基本信息。

[root@superman-21 ~]# lvdisplay /dev/vg_data/lv_data
--- Logical volume ---
LV Path /dev/vg_data/lv_data
LV Name lv_data
VG Name vg_data
LV UUID sc3Orz-WK7Q-ab3Q-IVMb-NRLq-e2wC-kCK4z2
LV Write Access read/write
LV Creation host, time superman-21, 2022-12-26 20:57:47 +0800
LV Status available
# open 0
LV Size 200.00 MiB
Current LE 50
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:3

[root@superman-21 ~]#

5.3 调整逻辑卷大小

可在root权限下通过lvresize命令调整LVM逻辑卷的空间大小,可以增大空间和缩小空间。使用lvresize命令调整逻辑卷空间大小和缩小空间时需要谨慎,因为有可能导致数据丢失。

lvresize [option] vgname

其中:

  • option:命令参数选项。常用的参数选项有:

    • -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节。

    • -l:指定逻辑卷的大小(LE数)。

    • -f:强制调整逻辑卷大小,不需要用户确认。

  • lvname:指定要调整的逻辑卷名称。

示例1:为逻辑卷/dev/vg_data/lv_data增加200M空间。

[root@superman-21 ~]# lvresize -L +200 /dev/vg_data/lv_data
Size of logical volume vg_data/lv_data changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).
Logical volume vg_data/lv_data successfully resized.
[root@superman-21 ~]#

示例2:为逻辑卷/dev/vg_data/lv_data减少200M空间。

[root@superman-21 ~]# lvresize -L -200 /dev/vg_data/lv_data
WARNING: Reducing active logical volume to 200.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg_data/lv_data? [y/n]: y
Size of logical volume vg_data/lv_data changed from 400.00 MiB (100 extents) to 200.00 MiB (50 extents).
Logical volume vg_data/lv_data successfully resized.
[root@superman-21 ~]#

5.4 扩展逻辑卷

可在root权限下通过lvextend命令动态在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。

lvextend [option] lvname

其中:

  • option:命令参数选项。常用的参数选项有:

    • -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节。

    • -l:指定逻辑卷的大小(LE数)。

    • -f:强制调整逻辑卷大小,不需要用户确认。

  • lvname:指定要扩展空间的逻辑卷的设备文件。

示例:为逻辑卷/dev/vg_data/lv_data增加100M空间。

# lvextend -L +100M /dev/vg_data/lv_data

5.5 收缩逻辑卷

可在root权限下通过lvreduce命令减少逻辑卷占用的空间大小。使用lvreduce命令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。

lvreduce [option] lvname

其中:

  • option:命令参数选项。常用的参数选项有:

    • -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节。

    • -l:指定逻辑卷的大小(LE数)。

    • -f:强制调整逻辑卷大小,不需要用户确认。

  • lvname:指定要扩展空间的逻辑卷的设备文件。

示例:将逻辑卷/dev/vg_data/lv_data的空间减少100M。

[root@superman-21 ~]# lvreduce -L -100M /dev/vg_data/lv_data
WARNING: Reducing active logical volume to 100.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg_data/lv_data? [y/n]: y
Size of logical volume vg_data/lv_data changed from 200.00 MiB (50 extents) to 100.00 MiB (25 extents).
Logical volume vg_data/lv_data successfully resized.
[root@superman-21 ~]#

5.6 删除逻辑卷

可在root权限下通过lvremove命令删除逻辑卷。如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除。必须使用umount命令卸载后,逻辑卷方可被删除。

lvremove [option] vgname

其中:

  • option:命令参数选项。常用的参数选项有:

    • -f:强制删除逻辑卷,不需要用户确认。

  • vgname:指定要删除的逻辑卷。

示例:删除逻辑卷/dev/vg_data/lvol0。

[root@superman-21 ~]# lvremove /dev/vg_data/lvol0 
Do you really want to remove active logical volume vg_data/lvol0? [y/n]: y
Logical volume "lvol0" successfully removed.
[root@superman-21 ~]#


6 创建并挂载文件系统

在创建完逻辑卷之后,需要在逻辑卷之上创建文件系统并挂载文件系统到相应目录下。

6.1 创建文件系统

可在root权限下通过mkfs命令创建文件系统。

mkfs [option] lvname

其中:

  • option:命令参数选项。常用的参数选项有:

    • -t:指定创建的linux系统类型,如ext2,ext3,ext4,xfs等等,openEuler 22.03-LTS默认类型为ext4。

  • lvname:指定要创建的文件系统对应的逻辑卷设备文件名。

示例:在逻辑卷/dev/vg_data/lv_data上创建ext4文件系统。

[root@superman-21 ~]# mkfs -t ext4 /dev/vg_data/lv_data
mke2fs 1.46.4 (18-Aug-2021)
创建含有 102400 个块(每块 1k)和 25584 个inode的文件系统
文件系统UUID:b3f9a8cd-14d9-4a58-9c39-fb258beefb57
超级块的备份存储于下列块:
8193, 24577, 40961, 57345, 73729

正在分配组表: 完成
正在写入inode表: 完成
创建日志(4096 个块)完成
写入超级块和文件系统账户统计信息: 已完成

[root@superman-21 ~]#

6.2 手动挂载文件系统

手动挂载的文件系统仅在当时有效,一旦操作系统重启则会不存在。

可在root权限下通过mount命令挂载文件系统。

mount lvname mntpath

其中:

  • lvname:指定要挂载文件系统的逻辑卷设备文件名。

  • mntpath:挂载路径。

示例:将逻辑卷/dev/vg_data/lv_data挂载到/data目录。

[root@superman-21 ~]# mkdir /data
[root@superman-21 ~]#
[root@superman-21 ~]# mount /dev/vg_data/lv_data /data
[root@superman-21 ~]#
[root@superman-21 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.7G 0 1.7G 0% /dev/shm
tmpfs 677M 9.1M 668M 2% /run
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/mapper/vg00-lv_root 41G 2.3G 36G 6% /
tmpfs 1.7G 0 1.7G 0% /tmp
/dev/sda1 974M 88M 819M 10% /boot
/dev/mapper/vg_data-lv_data 89M 14K 82M 1% /data
[root@superman-21 ~]#

6.3 自动挂载文件系统

手动挂载的文件系统在操作系统重启之后会不存在,需要重新手动挂载文件系统。但若在手动挂载文件系统后在root权限下进行如下设置,可以实现操作系统重启后文件系统自动挂载文件系统。

  1. 执行blkid命令查询逻辑卷的UUID,逻辑卷以/dev/vg_data/lv_data为例。

    [root@superman-21 ~]# blkid /dev/vg_data/lv_data
    /dev/vg_data/lv_data: UUID="b3f9a8cd-14d9-4a58-9c39-fb258beefb57" BLOCK_SIZE="1024" TYPE="ext4"
    [root@superman-21 ~]#

    查看打印信息,打印信息中包含如下内容,其中 uuidnumber 是一串数字,为UUID, fstype 为文件系统。

    /dev/vg_data/lv_data: UUID=" uuidnumber " TYPE=" fstype "

  2. 执行vi /etc/fstab命令编辑fstab文件,并在最后加上如下内容。

    UUID=uuidnumber  mntpath                   fstype    defaults        0 0

    内容说明如下:

  • 第一列:UUID,此处填写1查询的 uuidnumber 。

  • 第二列:文件系统的挂载目录 mntpath 。

  • 第三列:文件系统的文件格式,此处填写1查询的 fstype 。

  • 第四列:挂载选项,此处以“defaults”为例;

  • 第五列:备份选项,设置为“1”时,系统自动对该文件系统进行备份;设置为“0”时,不进行备份。此处以“0”为例;

  • 第六列:扫描选项,设置为“1”时,系统在启动时自动对该文件系统进行扫描;设置为“0”时,不进行扫描。此处以“0”为例。

  • 验证自动挂载功能。

    1. 执行umount命令卸载文件系统,逻辑卷以/dev/vg_data/lv_data为例。

      [root@superman-21 ~]# umount /dev/vg_data/lv_data
      [root@superman-21 ~]#
    2. 执行如下命令,将/etc/fstab文件所有内容重新加载。

      [root@superman-21 ~]# mount -a
      [root@superman-21 ~]#
      [root@superman-21 ~]# df -h
      文件系统 容量 已用 可用 已用% 挂载点
      devtmpfs 1.7G 0 1.7G 0% /dev
      tmpfs 1.7G 0 1.7G 0% /dev/shm
      tmpfs 677M 9.1M 668M 2% /run
      tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
      /dev/mapper/vg00-lv_root 41G 2.3G 36G 6% /
      tmpfs 1.7G 0 1.7G 0% /tmp
      /dev/sda1 974M 88M 819M 10% /boot
      /dev/mapper/vg_data-lv_data 89M 14K 82M 1% /data
      [root@superman-21 ~]#
    3. 执行如下命令,查询文件系统挂载信息,挂载目录以/mnt/data为例。

      [root@superman-21 ~]# mount | grep /data    
      /dev/mapper/vg_data-lv_data on /data type ext4 (rw,relatime,seclabel)
      [root@superman-21 ~]#

      查看打印信息,若信息中包含如下信息表示自动挂载功能生效。

      /dev/mapper/vg_data-lv_data on /data


    有什么吐槽或反馈意见,直接告诉我!

    温馨提示:如出现二维码失效也可直接添加微信号:ysc13803862469。

    原文作者:超哥的IT私房菜;如有侵权,请联系管理员删除。

    请登录后发表评论 登录
    全部评论
    专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

    注册时间:2021-08-27

    • 博文量
      552
    • 访问量
      303469