目录:
一、lvm概念
二、作用机理
三、示例说明
一、lvm概念
1、在生产环境中,在为系统分区时,如何精确估和分配各个硬盘分区的容量,由于系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。
2、虽说linux中有许多动态调整磁盘的工具,但是这样也有可能某个分区再次被耗尽。
3、需要重新引导操作系统,这样对一些公司来说,停机是不可以接受的。所有lvm很好的解决了这些问题。
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
二、作用机理
lvm允许对卷进行方便操作的抽象层,包括重新设定文件系统大小。允许在多个物理设备之间重新组织文件系统。
(1)将设备指定为物理卷
(2)用一个或多个物理卷来创建一个卷组
(3)物理卷是用固定大小的物理区域(physical extent,PE)
(4)在物理卷上创建的逻辑卷是由物理区域PE组成
(5)可以在逻辑卷上创建文件系统
创建顺序:
pv-->vg-->lv 创建文件系统 PE为固定单元大小
设备命名:
dm:device mapper:将一个或多个底层块设备组织成一个逻辑设备的模块
设备名:/dev/md# 这个是软连接 真正的设备名为/dev/mapper/VG_NAME-LV_NAME或/dev/VG_NAME/LV_NAME
示例:/dev/mapper/vol0-root或/dev/vol0/root
LVM可以弹性的更改lvm的容量通过交换PE来进行资料的装换,将原来lvm内的PE 转移到其他的设备中以降低LV的容量,或将其他设备中的PE 加到LV中以加大容量。
3、通过几个示例来说明管理工具的使用
示例1:创建逻辑卷
(1)创建物理卷
[root@localhost~]#pvcreate /dev/sd{b,c,d}
(2)查看物理卷是否创建成功
[root@localhost~]#pvdisplay
(3)创建卷组,并指定PE大小
[root@localhost~]#vgcreate -s 2G vg0 /dev/sd{b,c,d}
(4)查看创建后的信息
[root@localhost~]#vgdisplay
(5)创建逻辑卷
[root@localhost~]#lvcreate -L 15G -n lv0 vg0
创建逻辑卷时,指定其大小有几种方法:
-l 50%FREE 或者 -l 50%VG
-L +# 或者 -L #
(6)查看创建后的信息
[root@localhost~]#lvdisplay
(7)对逻辑卷进行格式化
[root@localhost~]#mke2fs -t ext4 /dev/vg0/lv0
(8)创建临时挂载点并挂载
[root@localhost~]#mkdir /backup
[root@localhost~]#vim /etc/fstab
UUID=227b577d-0c02-4c4f-bb56-05159628a97f /backup ext4 defaults 0 0
[root@localhost~]#mount -a #使其生效
(9)后面就可以随便使用了,跟普通磁盘的使用方法就一样了。
示例二: 扩展逻辑卷
(1)查看卷组的空间是否够用
[root@localhost~]#vgdisplay
Alloc PE / Size 8 / 16.00 GiB
Free PE / Size 19 / 38.00 GiB
显示空闲空间还有38G
(2)使用命令进行扩展
方法一:
[root@localhost~]#lvextend -L +10G /dev/vg0/lv0 #这里是扩展增加10G
[root@localhost~]#resize2fs /dev/vg0/lv0 25G #这里的是指原来的和增加得到的 ,这条命令是同步
方法二:
[root@localhost~]#lvextend -r -L +5G /dev/vg0/lv0
-r 同步
(3)查看是否成功
[root@localhost~]#df
示例三: 缩减逻辑卷
(1)取消挂载
[root@localhost~]#umount /backup/
(2)检查文件系统
[root@localhost~]#fsck -f /dev/vg0/lv0
如果这里不执行的话,下一步也会让你强制执行
(3)缩减文件系统
[root@localhost~]#resize2fs /dev/vg0/lv0 5G
(4)缩减逻辑卷大小
[root@localhost~]#vgreduce -L -5G /dev/vg0/lv0
(5)查看是否成功
[root@localhost~]#lvdisplay
(6)重新挂载
[root@localhost~]#mount -a
示例三:从逻辑卷删除正在使用的物理分区
(1)查看卷组是否有空余的空间
[root@localhost~]#vgdisplay
(2)将某块磁盘的数据移动
[root@localhost~]#pvmove /dev/sdd
(3)减少卷组中的磁盘
[root@localhost~]#vgreduce vg0 /dev/sdd
(4)从物理卷中移除
[root@localhost~]#pvremove /dev/sdd
示例四:迁移逻辑卷
(1)取消挂载
[root@localhost~]#umount /backup/
(2)修改卷组名,防止与移到到机器名字相同
[root@localhost~]#vgrename /dev/vg0 newvg0
(3)修改逻辑卷名
[root@localhost~]#lvrename /dev/newvg0/lv0 newlv0
(4)使卷组为不活跃状态
[root@localhost~]#vgchange -an newvg0
(5)弹出磁盘
[root@localhost~]#vgexport newvg0
取走磁盘,安装到要安装的机器中去
(6)扫描机器上的设备
[root@localhost~]#pvscan
(7)弹入磁盘
[root@localhost~]#vgimport newvg0
(8)使其变为活跃状态
[root@localhost~]#vgchange -ay newvg0
(9)创建挂载点
[root@localhost~]#mkdir /mnt/newlv0
(10)编辑/etc/fstab文件使其开机自动挂载
(11)测试
四、 逻辑卷管理器快照
快照是特殊的逻辑卷,它是生成快照时存在的逻辑卷的准确拷贝。对于需要备份或者复制的现有数据集临时拷贝以及其他操作来说,快照时最合适的选择。
(1)快照只要在和原来的逻辑卷不同时才会消耗空间
工作机理:
在生成快照时会分配给它一定的空间,但只有在原来逻辑卷或快照有所改变百汇使用这些空间;
当原来的逻辑卷有所改变时,会将旧的数据复制到快照中;没有改动的区域则由快照区和文件系统共享;
快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据;
建立快照大卷大小需要原始逻辑卷的15%~20%就够了,也可以使用lvextend方法快照;
注意:由于快照区与原来的LV功用很多PE的区块,因此快照区域被快照的LV必须在同一个VG。系统恢复的时候的文件数量不能高于快照区的实际容量。一般在测试环境中使用。
示例1:创建逻辑卷快照
(1)对所需要创建的逻辑卷进行创建快照
[root@localhost~]#lvcreate -L 1G -s -n newlvo-snapshot -p r /dev/newvg0/newlv0
(2)创建挂载点并挂载[root@localhost~]#mkdir /snapshot
[root@localhost~]#mount -o ro /dev/newvg0/newlvo-snapshot /snapshot/
示例2:恢复逻辑卷
[root@localhost~]#lvconvert –merge /dev/newvg0/newlvo-snapshot
恢复逻辑卷时,快照会被删除。
删除快照步骤
1、取消挂载
2、删除快照
3、删除逻辑卷
4、删除卷组
5、删除物理卷