linux中逻辑卷管理与扩展

逻辑卷管理与扩展

逻辑卷

作用:

  • 1.整合分散的空间
  • 2.空间支持扩大

逻辑卷制作过程:将众多的物理卷(PV)组建成卷组(VG),再从卷组中划分出逻辑卷(LV

在这里插入图片描述

逻辑卷的逻辑思路

在这里插入图片描述

制作逻辑卷

在这里插入图片描述

建立卷组(VG)

格式:vgcreate 卷组名 设备路径…….

Successfully:成功 example:例子

[root@localhost ~]# man   vgcreate     #参考帮助信息 按q退出
[root@localhost ~]# vgcreate  systemvg   /dev/vdb[1-2]
[root@localhost ~]# pvs      #查看系统所有物理卷信息
[root@localhost ~]# vgs     #查看系统卷组信息  

建立逻辑卷(LV)

格式: lvcreate -L 大小G -n 逻辑卷名字 卷组名

[root@localhost ~]# lvcreate   -L  16G   -n  vo    systemvg
[root@localhost ~]# vgs    #查看卷组信息
[root@localhost ~]# lvs     #查看逻辑卷信息

使用逻辑卷(LV)

]# ls   /dev/systemvg/vo 
]# ls -l    /dev/systemvg/vo
                            
]# mkfs.xfs    /dev/systemvg/vo    #格式化xfs文件系统
]# blkid   /dev/systemvg/vo   #查看文件系统类型
]# vim  /etc/fstab        
/dev/systemvg/vo   /mylv    xfs   defaults  0   0
]# mkdir    /mylv
]# mount   -a       #检测fstab文件内容书写是否正确
]# df    -h    /mylv    #查看查看正在挂载使用的设备

案例1:新建一个逻辑卷

1 问题

本例要求沿用前案例,使用分区 /dev/sdb1 构建 LVM 存储,相关要求如下:

  1. 新建一个名为 systemvg 的卷组
  2. 在此卷组中创建一个名为 vo 的逻辑卷,大小为180MiB
  3. 将逻辑卷 vo 格式化为 EXT4 文件系统
  4. 将逻辑卷 vo 挂载到 /vo 目录,并在此目录下建立一个测试文件 votest.txt,内容为“I AM KING.”
2 方案

LVM创建工具的基本用法:

vgcreate  卷组名  物理设备.. ..
lvcreate  -L  大小  -n  逻辑卷名  卷组名
3 步骤

实现此案例需要按照如下步骤进行。

步骤一:创建卷组

1)新建名为systemvg的卷组

[root@server0 ~]# vgcreate  systemvg  /dev/sdb1  
Physical volume "/dev/sdb1" successfully created  
Volume group "systemvg" successfully created

2)确认结果

[root@server0 ~]# vgs

步骤二:创建逻辑卷

1)新建名为vo的逻辑卷

[root@server0 ~]# lvcreate  -L  180MiB  -n  vo  systemvg   
Logical volume "vo" created

2)确认结果

[root@server0 ~]# lvs  

步骤三:格式化及挂载使用

1)格式化逻辑卷/dev/systemvg/vo

[root@server0 ~]# mkfs.ext4  /dev/systemvg/vo
.. ..
Allocating group tables: done 
Writing inode tables: done 
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

2)挂载逻辑卷/dev/systemvg/vo

[root@server0 ~]# mkdir  /vo                              //创建挂载点[root@server0 ~]# mount  /dev/systemvg/vo  /vo             //挂载[root@server0 ~]# df  -hT  /vo/                         //检查结果Filesystem              Type  Size  Used Avail Use% Mounted on/dev/mapper/systemvg-vo ext4  171M  1.6M  157M   1% /vo

3)访问逻辑卷/dev/systemvg/vo

[root@server0 ~]# cat  /vo/votest.txtI AM KING.

逻辑卷的扩展

在这里插入图片描述
在这里插入图片描述
卷组有足够的剩余空间

在这里插入图片描述

1.扩展逻辑卷的空间

]# df   -h   |   grep   vo
]# vgs
]# lvextend    -L   18G    /dev/systemvg/vo
]# vgs
]# lvs

2.扩展逻辑卷的文件系统(刷新文件系统)

xfs_growfs:刷新xfs文件系统

resize2fs:刷新ext4文件系统

]# xfs_growfs  /dev/systemvg/vo
]# df   -h   |   grep   vo
]# lvs

卷组没有足够的剩余空间

在这里插入图片描述

1.扩展卷组的空间

]# vgextend    systemvg     /dev/vdb{3,5,6}
]# vgs

2.扩展逻辑卷的空间

]# vgs
]# lvextend    -L    25G     /dev/systemvg/vo
]# vgs
]# df   -h   |     grep   vo

3.扩展逻辑卷的文件系统(刷新文件系统)

]# xfs_growfs   /dev/systemvg/vo
]# df   -h    |    grep    vo

逻辑卷的补充

  • 逻辑卷支持缩减

  • xfs文件系统:不支持缩减

  • ext4文件系统:支持缩减

卷组划分空间的单位 PE

默认1个PE的大小为4M

]# vgdisplay  systemvg     #显示卷组的详细信息
PE Size               4.00 MiB    #PE的大小

请创建一个大小为250M的逻辑卷名字为lvredhat

]# vgchange  -s  1M  systemvg   #卷组已存在修改PE大小
]# vgdisplay  systemvg          #查看卷组详细信息
]# lvcreate  -L  250M  -n   lvredhat   systemvg
]# lvs

创建卷组时,指定PE的大小

[root@nb ~]# vgcreate  -s  1M   systemvg  /dev/vdb[1-2]

逻辑卷的删除

删除逻辑卷的前提:不能删除正在挂载使用的逻辑卷

[root@localhost ~]# lvremove  /dev/systemvg/vo 
  Logical volume systemvg/vo contains a filesystem in use.
[root@localhost ~]# umount   /mylv/
[root@localhost ~]# lvremove  /dev/systemvg/vo
Do you really want to remove active logical volume systemvg/vo? [y/n]: y
  Logical volume "vo" successfully removed
[root@localhost ~]# lvs      #查看当前系统的所逻辑卷
[root@localhost ~]# vim /etc/fstab  #仅删除vo开机自动挂载
[root@localhost ~]# lvremove  /dev/systemvg/lvredhat 
Do you really want to remove active logical volume systemvg/lvredhat? [y/n]: y
  Logical volume "vo" successfully removed

删除卷组的前提:基于此卷组创建的所有逻辑卷,要全部删除RAID磁盘阵列

[root@svr1 ~]# lvs
[root@svr1 ~]# vgremove  systemvg    #删除卷组
[root@svr1 ~]# vgs        #查看当前系统的所有卷组信息
[root@svr1 ~]# pvremove   /dev/vdb{1,2,3,5,6}
[root@svr1 ~]# pvs      #查看当前系统的所有物理卷信息

案例2:扩展逻辑卷的大小

1 问题

本例要求沿用案例,将逻辑卷 vo 的大小调整为 300MiB,要求如下:

  1. 原文件系统中的内容必须保持完整
  2. 必要时可使用之前准备的分区 /dev/sdb5 来补充空间
  3. 注意:分区大小很少能完全符合要求的大小,所以大小在270MiB和300MiB之间都是可以接受的
2 方案

对于已经格式化好的逻辑卷,在扩展大小以后,必须通知内核新大小。

如果此逻辑卷上的文件系统是EXT3/EXT4类型,需要使用resize2fs工具;

如果此逻辑卷上的文件系统是XFS类型,需要使用xfs_growfs。

3 步骤

实现此案例需要按照如下步骤进行。

步骤一:确认逻辑卷vo的信息

1)找出逻辑卷所在卷组

[root@server0 ~]# lvs

2)查看该卷组的剩余空间是否可满足扩展需要

[root@server0 ~]# vgdisplay  systemvg
  --- Volume group ---
  VG Name               systemvg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               196.00 MiB                          //卷组总大小
  PE Size               4.00 MiB
  Total PE              49
  Alloc PE / Size       45 / 180.00 MiB
  Free  PE / Size       4 / 16.00 MiB                      //剩余空间大小
  VG UUID               czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN

此例中卷组systemvg的总大小都不够300MiB、剩余空间才16MiB,因此必须先扩展卷组。只有剩余空间足够,才可以直接扩展逻辑卷大小。

步骤二:扩展卷组

1)将提前准备的分区/dev/sdb5添加到卷组systemvg

[root@server0 ~]# vgextend  systemvg  /dev/sdb5
  Physical volume "/dev/sdb5" successfully created
  Volume group "systemvg" successfully extended

2)确认卷组新的大小

[root@server0 ~]# vgdisplay  systemvg
  --- Volume group ---
  VG Name               systemvg
  .. ..
  VG Size               692.00 MiB                          //总大小已变大
  PE Size               4.00 MiB
  Total PE              173
  Alloc PE / Size       45 / 180.00 MiB
  Free  PE / Size       128 / 512.00 MiB                  //剩余空间已达512MiB
  VG UUID               czp8IJ-jihS-Ddoh-ny38-j521-5X8J-gqQfUN

步骤三:扩展逻辑卷大小

1)将逻辑卷/dev/systemvg/vo的大小调整为300MiB

[root@server0 ~]# lvextend  -L 300MiB  /dev/systemvg/vo 
  Extending logical volume vo to 300.00 MiB
  Logical volume vo successfully resized

2)确认调整结果

[root@server0 ~]# lvs

3)刷新文件系统大小

确认逻辑卷vo上的文件系统类型:

[root@server0 ~]# blkid  /dev/systemvg/vo
/dev/systemvg/vo: UUID="d4038749-74c3-4963-a267-94675082a48a" TYPE="ext4"

选择合适的工具刷新大小:

[root@server0 ~]# resize2fs  /dev/systemvg/vo 
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/systemvg/vo to 307200 (1k) blocks.
The filesystem on /dev/systemvg/vo is now 307200 blocks long.

确认新大小(约等于300MiB):

[root@server0 ~]# mount  /dev/systemvg/vo  /vo/
[root@server0 ~]# df  -hT  /vo
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/systemvg-vo ext4  287M  2.1M  266M   1% /vo

相关推荐

  1. 磁盘管理逻辑

    2024-06-07 01:42:02       33 阅读
  2. linux逻辑

    2024-06-07 01:42:02       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 01:42:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 01:42:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 01:42:02       87 阅读
  4. Python语言-面向对象

    2024-06-07 01:42:02       96 阅读

热门阅读

  1. c++ 函数作为参数

    2024-06-07 01:42:02       32 阅读
  2. MTK 平台增加分区流程 及 注意事项

    2024-06-07 01:42:02       26 阅读
  3. 高通Android 12/Android 13截屏

    2024-06-07 01:42:02       31 阅读
  4. vue3中函数必须有返回值么?

    2024-06-07 01:42:02       32 阅读
  5. pytorch学习day2

    2024-06-07 01:42:02       33 阅读
  6. React ahooks库和React Query库使用场景分析

    2024-06-07 01:42:02       33 阅读
  7. [力扣题解] 257. 二叉树的所有路径

    2024-06-07 01:42:02       28 阅读