传统磁盘存在的问题:
1.当分区不够用时,无法扩展大小。
2.当磁盘分区不够用时,只能通过添加硬盘的方式,但是新添加的硬盘只能当作独立的系统文件存在。
所以如果生产环境的数据库的数据目录满了,只能通过添加新的硬盘后,停止数据库,再将数据库的原始文件导入到新的硬盘目录中,并且将数据库挂到新的硬盘目录。
逻辑卷名词组成
PE:将一个硬盘划分成一个一个PE,每个PE是4M
PV:将磁盘例如:sda,sdb格式化成物理卷PV,实际上是把每个硬盘划分成一个一个的PE,每个PV里包含很多个PE
VG:创建完PV后,创建卷组VG,可以理解为空间池,将多个PV加到一个VG空间池当中,每个PV当中的PE都会添加到该VG中。
LV:创建完成VG后,创建LV逻辑卷,一个LV实际上是从VG空间池当中拿出指定VG大小的n多个PE。然后将创建好的逻辑卷进行格式化后再使用。
每个逻辑卷的PE可能来自不同的物理硬盘。
例如需要创建1G大小的逻辑卷,那么就从VG空间池当中拿出1024/4个PE。
注意:使用逻辑卷后就不能直接对磁盘进行格式化了(需要提供裸盘),需要创建好逻辑卷后对逻辑卷进行格式化。
文件夹名称
当创建好卷组后,在/dev目录下就创建好以卷组命名的文件夹。
当创建好逻辑卷后,在卷组目录下就会生成一个逻辑卷命名的目录
例如:/dev/vgname/lvname
逻辑卷扩充
当空间不够时,直接加入新的硬盘,格式化成PV,加入VG就可以。
创建LVM流程
1.将物理磁盘设备初始化成物理卷
pvcreate /dev/sda /dev/sdb
查看物理卷信息命令:
pvs
pvdisplay
2.创建卷组
vgcreate linuxcast /dev/sdb /dev/sdc
查看卷组命令
vgs
vgdisplay
3.创建逻辑卷
lvcreate -n mylv -L 2G linuxcast
查看逻辑卷命令
lvs
lvdisplay
可以看到每创建一个逻辑卷在/dev目录下就会多出来一个设备。
4.对创建好的逻辑卷进行格式化
mkfs.ext4 /dev/linuxcast/mylv
5.将格式化好的目录进行挂载。
mount /dev/linuxcast/mylv /mnt/
删除逻辑卷流程
1.先卸载
umount /mnt/
2.删除LV
lvremove /dev/linuxcast/mylv
3.删除VG
vgremove /dev/linuxcast
4.删除PV
pvremove /dev/sdb
LVM扩大与缩小
逻辑卷拉伸可以在线执行,拉伸的时候业务不需要停止下线。
VG如果够用
1.先查看VG中是否有足够的空间大小
vgdisplay
2.扩充逻辑卷
lvextend -L 1G /dev/linuxcast/mylv
3.查看扩充后的lv大小
lvdisplay
4.更新系统文件
resize2fs /dev/linuxcast/mylv
5.查看更新后的文件系统
df -Th
如果VG空间大小不够用,则需要先对VG空间进行扩充。
新添加硬盘,并对硬盘格式化成PV。
将格式化后的PV添加到VG中。
1.将新的硬盘格式化成新的pv
pvcreate /dev/sdd
2.将新的PV添加到指定的卷组中
vgextend linuxcast /dev/sdd
3.查看扩充后的VG大小
vgdisplay
逻辑卷缩小
逻辑卷缩小是一个很危险的操作,能不缩小就不进行缩小。缩小逻辑卷实际上就是把LV当中的PE交还给VG