4.10-4.13lvm 磁盘

lvm 架构图示:

对于生产环境下的服务器来说,如果存储数据的分区磁盘空间不够了怎么办?

解决方案:使用LVM 在线动态扩容

LVM的工作原理:

LVM( Logical Volume Manager)逻辑卷管理,是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。管理员利用LVM可以在磁盘不用重新分区的情况下动态调整文件系统的大小,并且利用LVM管理的文件系统可以跨越磁盘,当服务器添加了新的磁盘后,管理员不必将原有的文件移动到新的磁盘上,而是通过LVM可以直接扩展文件系统跨越磁盘。

它就是通过将底层的物理硬盘封装起来,然后以逻辑卷的方式呈现给上层应用。在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。

LVM的常用术语:

LVM 存储介质可以是磁盘分区、整个磁盘、RAID阵列或SAN磁盘,但是设备必须初始化为LVM物理卷,才能与LVM结合使用。

物理卷:PV(physical volume)LVM的基本存储逻辑块,单活基本的物理存储介质(磁盘分区、磁盘等)比较,又包含LVM相关的管理参数。

卷组:VG(volume group)一个LVM卷组由一个或多个物理卷组成。

逻辑卷:LV(logical volume)LV 建立在VG之上,可以在LV之上建立文件系统

PE(physical extents):PV 中可以分配的最小存储单元,PE的大小是可以指定的,默认为4M

LE(logical extents):LV中可以分配的最小的存储单元,在同一卷组中LE的大小与PE的大小相同并且一一对应

LVM 主要元素构成图:

总结:多个(物理介质) --->  多个物理卷PV  --->  合成VG  --->  VG里划分LV  --->  格式化LV   --->  挂载使用

LVM优点:

1、使用卷组VG可以使得多个硬盘看起来像是一个大的硬盘。

2、使用逻辑卷LV可以跨多个硬盘空间的分区。

3、使用逻辑卷LV时可以在空间不足时动态调整它的大小。

4、在调整逻辑卷LV时,不需要考虑逻辑卷在硬盘上的位置,也不用担心没有可用的连续空间。

5、可以在线对LV、VG 进行创建、删除、调整大小等操作。

总结:RAID + LVM 一起用:LVM 是软件的卷管理方式,而RAID是磁盘管理的方法。对于重要的数据,使用RAID来保护物理的磁盘不会因为故障而中断业务,再使用LVM实现对卷的良性管理,可以更好的利用磁盘资源。

LVM的常用命令:

功能

PV管理命令

VG管理命令

LV管理命令

scan 扫描

pvscan

vgscan

lvscan

create 创建

pvcreate

vgcreate

lvcreate

display显示

pvdisplay

vgdisplay

lvdisplay

remove 移除

pvremove

vgremove

lvremove

extend 扩展

 

vgextend

lvextend

reduce减少

 

vgreduce

lvreduce

查看相关的命令:

查看卷名

简单对应卷信息的查看

扫描相关的所有的对应卷

详细对应卷信息的查看

物理卷

pvs

pvscan

pvdisplay

卷组

vgs

vgscan

vgdisplay

逻辑卷

lvs

lvscan

lvdisplay

实验:

① 创建4个分区,并且每个分区为1G(/dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4)

② 创建物理卷PV 

      pvcreate /dev/sdb{1,2,3,4}

③ 创建卷组VG

     语法:vgcreate  [vgname]  [pvname]  (可以跟多个pv)

      vgcreate vg01 /dev/sdb1

④ 创建逻辑卷LV

语法:lvcreate -n [逻辑卷的名称] -L 指定LV 的大小(size M、G) (-l 指定LE 的数量) [vgname]

lvcreate -n lv01 -L 50M vg01

⑥ 格式化LV

mkfs.xfs(mkfs.ext2 mkfs.ext3 mkfs.ext4) /dev/vg01/lv01

⑦ 挂载到文件系统

     mkdir /lv01

     mount /dev/vg01/lv01 /lv01

PE的大小指定:指定PE大小的参数 -s ,如果 存储的数据都是大文件,那么PE要尽量调大(PE的大小只能为2的幂数,且最大为512) 读取速度快。

LV 的扩容操作?(扩容到30M:-L 30M;扩容增加30M :-L +30M)

lvextend -L 300M /dev/vg01/lv01

lvextend -L  +300M /dev/vg01/lv01

注意:逻辑卷LV 虽然扩展了,但是文件系统下的大小依然没有变化。

ext4 文件系统扩容命令语法 resize2fs 逻辑卷名称

xfs 文件系统扩容命令语法 xfs_growfs 挂载点

注意:resize2fs和xfs_growfs 两者的区别是传递的参数不一样的,xfs_growfs是采用的挂载点;resize2fs是逻辑卷名称,而且resize2fs命令不能对xfs类型文件系统使用

卷组 VG 扩容?(VG卷组中的空间不够了,需要添加新的硬盘进来)

LVM可以动态增加,可以动态缩小吗?

LVM可以动态增加,也可以动态缩小,但是XFS不支持动态缩小,所以我们无法实现基于xfs的动态缩小。btrfs文件系统支持在线缩小。

创建LVM流程:

pvcreate创建pv -> vgcreate创建卷组 -> lvcreate创建逻辑卷 -> mkfs.xfs lv 格式化-> mount挂载

删除LVM流程:

umount卸载 -> lvremove lv移出卷组中所有逻辑卷-> vgremove vg移出卷组-> pvremove 移出pv

unmount /lv02

lvremove /dev/vg02/lv02

vgremove vg02

pvremove /dev/sdb2 /dev/sdb3

使用ssm  工具构建 LVM 架构

安装ssm 工具:yum -y install system-storage-manager

语法:ssm  create  -s  lv大小  -n  lv名称  --fstype  lv文件系统类型 -p 卷组名  设备 挂载点

ssm create -s 1G -n test-lv --fstype xfs -p test /dev/sdb{1,2,3,4} /test

猜你喜欢

转载自blog.csdn.net/hx_7_8_9/article/details/83117101