前言:
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。
实验一:逻辑卷的实现
准备工作,准备磁盘,指定类型 (8e)
1. pvcreate /dev/sda{2,3,4}
2. vgcreate vg0 /dev/sda{2,3,4}
3. lvcreate -n lv0 -L 50%vg vg0 (vg代替整个卷组 vg0代表的是从哪个卷组名字)
4. mkfs.ext4 /dev/vg0/lv0 (对逻辑卷创建文件系统,不是对整个磁盘)
5. 开机自动挂载,配置/etc/fstab文件
6. mount -a
实验二:逻辑卷的扩展
准备工作,准备磁盘,指定类型 (8e)
1. pvcreate /dev/sda5
2. vgextend vg0 /dev/sda5 (先后顺序: 先vg 再增加的设备)
-s 指定PE的大小
3. lvextend -L +2G /dev/vg0/lv0 (增加之后并不会立即增加容量,要做下面工作)
4. xfs_growfs /mnt/lvo (同步文件系统,后面跟的是挂载点,xfs系统只能增加不减少)
resize2fs /dev/vg0/lv0 10G (10跟增加后的容量要一样, 原来的容量+增加的容量 并且同步ext4文件系统)
注:如果指定超过容量系统无法识别
格式必须为:resize2fs 逻辑卷 容量大小
如果第3步增加的是2G,但在第4步只指定增加了1G,会成功,增加了1G,
但还有剩下的1G再去重新指定,就无法指定了(在指定容量一定要注意,实际到底多少容量)
注:或者3,4合并为一步
lvextend -r -L +500M /dev/vg0/lv1 — > 自动同步文件系统
注:前提–>在使用-r的时候,该设备lv1必须有文件系统和挂载上电脑上.否则无法执行
-r 是自动同步文件系统
实验三:缩减逻辑卷
注:缩减必须先取消挂载,也有风险,里面存有数据(一定要先备份)
1. umount /mnt/lv1
2. resize2fs /dev/vg0/lv1 2G (缩减到2G的容量)
注:在缩减的时候系统会提醒你 检查文件系统 –> 必须要检查的 e2fsck -f
再执行上面的命令即可 (用lvs查看的时候,容量并没有减少。)
3. e2fsck -f /dev/vg0/lv1
4. lvreduce -L 2G /dev/vg0/lv1 (这才是真正的减少)
注:该操作具有危险性,可能对已有的数据产生破坏,会让用户确认
5. 重新挂载
实验四:迁移逻辑卷
- umount /mnt/lv0
- vgrename vg0 newvg0
- lvrename /dev/newvg0/lv0 newlv0
注:上面2,3是为了防止在其它设备上出现相同名字的设备,所以进行改名操作 - vgchange -an newvg0
注:把newvg0设置为禁用状态 a:all n:no - vgexport newvg0
注:导出 newvg0 (卷组) - 拆除硬盘, 关机 关机
插入目标主机中 - pvscan
扫描 - vgimport newvg0
导入 - vgchange -ay newvg0
启用 - mkdir /mnt/newlv0
创建挂载点 - mount /dev/newvg0/newlv0 /mnt/newlv0
挂载
实验五:从逻辑卷中删除正在使用的物理分区
删除逻辑卷 lvremove /dev/VG_NAME/LV_NAME
1. vgdisplay pvdisplay
2. pvmove /dev/sda1 (想要拔掉卷组中的某个设备)
注:移动所占用的空间到相同卷组中的设备上去
移动的是空间,并不是当中的数据
注:如果里面是空的,并没有分配空间,是空的,可以直接删除
3. vgreduce vg0 /dev/sda5
从vg0组中移除
注:vgreduce 移除单个
vgreduce vg0 /dev/sda5 –>单单移除vg0中的/dev/sda5
vgremove 移除相关组的全部
vgreduce vg0 /dev/sda5 –>在相同vg0组的全部移除
4. pvremove /dev/sda5
移除物理卷
实验六:为逻辑卷创建快照
为现有逻辑卷创建快照
lvcreate -L 512M -s -n snap-data -p r /dev/vg0/data (对哪个设备做快照)
-s 快照
-p r 设备只读属性
-L 指定其大小
-n 名字
挂载快照
mkdir -p /mnt/snap
mount -o ro /dev/vg0/snap-data /mnt/snap (无法进行修改,上面的已经确定了快照的状态)
注:挂载快照,工作同步 –> 写时复制
恢复快照
umount /dev/vg0/snap-data
umount /dev/vg0/data
lvconvert –merge /dev/vg0/snap-data
–merge 合并
注:恢复快照之后快照的文件自动删除(一次性的,恢复之后快照自动删除)
恢复的时候,必须全都在非挂载的状态下,恢复
删除快照
umount /mnt/databackup
lvremove /dev/vg0/databackup
快照 — lv — vg — pv 从上往下删除
原创文章,作者:_xddggg,如若转载,请注明出处:http://www.178linux.com/84670