LVM简介:是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。–《摘自百度百科》
这里我们在虚拟机上进行讲解测试相关步骤,大家也可以在KVM上进行测试搭建过程。
为什么要使用LVM?
因为它可以完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。幸运的是Linux提供的逻辑盘卷管理(LVM,LogicalVolumeManager)机制就是一个完美的解决方案。
好介绍到此,我们来开始进行搭建步骤讲解!!!!
《一》准备虚拟机进行测试
查看磁盘状态
df -h
fdisk -l
通过虚拟机在挂载2块盘,为了方便测试是否可以动态扩容使用另外一块盘的空间,这里2块盘都给予了第一块给予1G,第二块给予2G。1G的盘格式化后,用于做LVM的主分区和组,2G盘用于添加入组。
盘已经挂载好了
fdisk -l 后记录盘符 sdb sdc
初始化分区sdb为物理卷pv
pvcreate /dev/sdb //初始化sdb盘
pvdisplay //显示物理卷信息
创建逻辑卷组vg,将/dev/sdb物理卷加入到这个卷组里(VGroupzhu为自己定义的名字)
vgcreate VGroupzhu /dev/sdb //创建逻辑卷组
vgdisplay //显示卷组信息
创建逻辑卷LV,名称VGroupzhu100,由卷组VGroupzhu提供空间,并给他指定拥有1G的空间
lvcreate -L 1020M -n VGroupzhu100 VGroupzhu //创建逻辑卷
lvdisplay //显示逻辑卷信息
mkfs.ext4 /dev/VGroupzhu/VGroupzhu100
将/dev/VGroupzhu/VGroupzhu100这个逻辑卷挂在到/var/ftp文件下
mount /dev/VGroupzhu/VGroupzhu100 /var/ftp
到此步,物理卷pv–>逻辑卷组vg–>逻辑卷lv 创建完成,并且可以挂载文件系统
查看物理卷信息:
pvdisplay
pvcreate /dev/sdc //初始化
pvdisplay //显示物理卷信息
/dev/sdc添加到VGroupzhu卷组中,VolGroup00卷组在上一步中已经创建
vgextend VGroupzhu /dev/sdc
pvdisplay //显示物理卷信息
增大/dev/VGroupzhu/VGroupzhu逻辑卷 2G
分2次扩充,1次扩充1G
lvextend -L +1000M /dev/VGroupzhu/VGroupzhu100
或者执行
lvextend -L +1000M /dev/mapper/VGroupzhu-VGroupzhu100
显示逻辑卷信息
lvdisplay
上一步操作保是增加了逻辑卷的大小,/var/ftp文件系统大小并未改变,使用resize2fs命令,重定义文件系统大小
为了一会上传一个大文件,这里我们先删除了一个zip包,删除了300M的空间
df -h
resize2fs /dev/VGroupzhu/VGroupzhu100
现在空间已经有1G变成了3G,继续上传文件查看是否可以上传,测试上传1.2G 的文件
再次添加一个盘,本次添加一个5G空间的盘,然后上传一个光盘镜像进行测试(大小4G)
5G盘已经添加成功
按上面操作进行格式化盘,添加入组,动态扩容
sdd盘符进行处理
pvcreate /dev/sdd //初始化
pvdisplay //显示物理卷信息
/dev/sdd添加到VGroupzhu卷组中,VolGroup00卷组在上一步中已经创建
vgextend VGroupzhu /dev/sdd
pvdisplay //显示物理卷信息
增大/dev/VGroupzhu/VGroupzhu逻辑卷 5G
lvextend -L +5G /dev/VGroupzhu/VGroupzhu100
和
lvextend -L +5G /dev/mapper/VGroupzhu-VGroupzhu100
一样,执行那句都行!!!
显示逻辑卷信息
lvdisplay
上一步操作保是增加了逻辑卷的大小,/var/ftp文件系统大小并未改变,使用resize2fs命令,重定义文件系统大小。
重定义文件系统大小
resize2fs /dev/VGroupzhu/VGroupzhu100
df -h
好,那动态扩容方案就到此结束,为了让大家更直观的查看动态扩容的方案,我们先后扩容了3此,分别一次1G、2G、5G,在扩容期间,我们没有进行任何业务的停止及重启操作,可见此方案的优越性!!!!!!