1 min to read
lvm介绍
lvm介绍

环境说明
该lvm配置,基于centos7.6
整体原理
通俗易懂讲解lvm的原理。
1、首先介绍lvm是什么?
- 首先,lvm它是Linux环境下对磁盘分区进行管理的一种机制
- 传统分区分区完成后,各个分区的磁盘容量无法改变,非常不方便
- LVM与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。换句话说,通过lvm这种技术,可以使各个分区的磁盘容量动态调整。
2、lvm架构图
见架构图,Physical volume(以下简称,PV), Logical Volume(一下简称,LV),Volume GROUP(以下简称,VG)
lvm架构图
3、整体原理
PV可以理解我们挂载的硬盘,比如我们挂载3个1T的硬盘,那么我们的VG(可以理解为一个蓄水池),VG总储存量就是3T。VG总储存量就是3T,将3T可以任意分配到LV中,比如我们可以设置5个LV,每个LV的储存那么就是600G。最后,LV的值确定下来后,我们可以在LV上建立文件系统(比如/home或者/usr等)。
LV的值不是一直保持不变,而是可以后期改变的,这就说明文件系统的储存大小也是能改变的。
NOTICE(一些容易出bug的地方)
1、umount /home
只是不挂载在/home上,但是LV还是存在,会占用VG的存储。需要手动删除。
#手动删除LV,特别要注意别删centos-swap和centos-home
lvremove /dev/mapper/centos-home
2、/dev/centos/data和/dev/mapper/centos-data
都是VG中创建LV,/dev/centos/data和/dev/mapper/centos-data两个路径等价。
3、mount -a
建议修改/etc/fstab后,再进行mount -a。这样可以验证/etc/fstab修改是否正确,否则会造成机器启动失败。
修改实例,将/dev/mapper/centos-data的逻辑卷挂载在/data上。文件系统为ext4
/dev/mapper/centos-data /data ext4 defaults 0 0
4、mkfs.ext4 /dev/mapper/centos-data
将LV的文件格式改成ext4。如果不改,是不能挂载的。
常用命令
# 使用sdb创建基于磁盘的物理卷
pvcreate /dev/sdb
#展示pv资源
pvdisplay
#将/dev/sdb拉入vg中的data group
vgcreate data /dev/sdb
#查询vg是否创建成功
vgdisplay
#创建新的物理卷
pvcreate /dev/sdc
#将新的物理卷添加到现有卷组
vgextend data /dev/sdc
#VG的大小由刚才的500G变成了现在的1T的空间,PV的数量也由之前的1个变成了两个
vgdisplay data
#创建指定大小的逻辑卷LV,该命令就在卷组data上创建名字为data001,大小为200M的逻辑卷,并且设备入口为/dev/data/data001(data为卷组名,data001为逻辑卷名)。
lvcreate -L200M -n data001 data
#创建文件系统
mkfs.ext3 /dev/data/data003
# 挂载文件系统
mkdir /data003
mount /dev/data/data003 /data003
df -h
#持久化
修改/etc/fstab加入以下
/dev/s<盘符> /mnt ext4 defaults 0 1 // 作用于日志存储
/dev/s<盘符> /data ext4 defaults 0 1 // 作用于工作目录
/dev/s<盘符> /docker-data xfs defaults,prjquota 0 1 // 作用于docker-data,必须是xfs,有prjquota
/dev/s<盘符> /glusterfs-registry ext4 defaults 0 1 // 作用于公共镜像仓库
/dev/s<盘符> /glusterfs-sys-data ext4 defaults 0 1 // 作用于系统依赖存储
/dev/s<盘符> /glusterfs-user-data ext4 defaults 0 1 // 作用于BML平台用户存储
#创建目录并挂载
mkdir -p /data /docker-data /glusterfs-registry /glusterfs-sys-data /glusterfs-user-data && mount -a
#在扩容lv后,需要xfs_growfs生效增长空间(针对于xfs文件系统,可通过`cat /etc/fstab`查看文件系统类别)
xfs_growfs /dev/centos/root
#在扩容lv后,需要resize2fs生效增长空间(针对ext4文件系统,可通过`cat /etc/fstab`查看文件系统类别)
resize2fs /dev/centos/root