扩容逻辑卷
扩容前,先卸载设备和挂载点的关联。
- 扩容逻辑卷(lvextend);
2.检查硬盘完整性(e2fsck),并重置硬盘容量(resize2fs);- 重新挂载硬盘设备并查看挂载状态。mount -a df -h
创建文件
[root@evan-01 ~]# touch /lvm/1.txt
[root@evan-01 ~]# echo "987654321" > /lvm/1.txt
[root@evan-01 ~]# cat /lvm/1.txt
987654321
查看下逻辑卷大小
[root@evan-01 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-ao---- 100.00m
扩容
[root@evan-01 ~]# lvresize -L 300M /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).
Logical volume vg1/lv1 successfully resized.
查看下逻辑卷大小
[root@evan-01 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
lv1 vg1 -wi-ao---- 300.00m
缩小逻辑卷
缩容前,先卸载设备和挂载点的关联。
1.检查硬盘完整性(e2fsck);
2.先向系统报备一下即将要执行逻辑卷缩容的操作(resize2fs),再缩容逻辑卷(lvreduce);
3.重新挂载硬盘设备并查看挂载状态。mount -a df -h
[root@root ~]# umount /lvm
[root@root ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 18G 3.2G 15G 19% /
devtmpfs 986M 0 986M 0% /dev
tmpfs 994M 168K 994M 1% /dev/shm
tmpfs 994M 8.8M 986M 1% /run
tmpfs 994M 0 994M 0% /sys/fs/cgroup
/dev/sda1 497M 118M 379M 24% /boot
/dev/sr0 3.5G 3.5G 0 100% /run/media/root/RHEL-7.0 Server.x86_64
[root@root ~]# e2fsck -f /dev/vg/lv
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg/lv: 11/51200 files (0.0% non-contiguous), 12115/204800 blocks
[root@root ~]# resize2fs /dev/vg/lv 100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg/lv to 102400 (1k) blocks.
The filesystem on /dev/vg/lv is now 102400 blocks long.
[root@root ~]# lvresize -L 100M /dev/vg/lv
WARNING: Reducing active logical volume to 100.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv? [y/n]: y
Reducing logical volume lv to 100.00 MiB
Logical volume lv successfully resized
[root@root ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
root rhel -wi-ao---- 17.51g
swap rhel -wi-ao---- 2.00g
lv vg -wi-a----- 100.00m
[root@root ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 18G 3.2G 15G 19% /
devtmpfs 986M 0 986M 0% /dev
tmpfs 994M 168K 994M 1% /dev/shm
tmpfs 994M 8.8M 986M 1% /run
tmpfs 994M 0 994M 0% /sys/fs/cgroup
/dev/sda1 497M 118M 379M 24% /boot
/dev/sr0 3.5G 3.5G 0 100% /run/media/root/RHEL-7.0 Server.x86_64
[root@root ~]# mount /dev/vg/lv /lvm
逻辑卷快照
LVM还具备有“快照卷”功能,该功能类似于虚拟机软件的还原时间点功能。例如,可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。LVM的快照卷功能有两个特点:
1.快照卷的容量必须等同于逻辑卷的容量;
2.快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。
往逻辑卷设备新建一个文件。然后为逻辑卷创建快照卷。再在逻辑卷目录生成一个垃圾文件。后先卸载逻辑卷与挂载点关联,再尝试快照还原操作(lvconvert --merge),再重新挂载,查看逻辑卷目录是否回到创建快照前的状态。
echo "Welcome to Linuxprobe.com" > /lvm/1.txt #往逻辑卷设备写入一个文件
ls -l /lvm #查看逻辑卷目录的内容
lvcreate -L 120M -s -n SSS /dev/lv/vg #为逻辑卷vo生成一个快照卷,命名为SSS,指定切割大小为120M,
lvdisplay #查看逻辑卷详细信息,可以看到SSS是vo的快照卷(snapshot)
dd if=/dev/zero of=/lv/vg count=1 bs=100M #在逻辑卷vo的目录下创建一个100M的文件
lvdisplay #查看逻辑卷详细信息,可以发现vo的空间占用量上升
umount /lvm #卸载逻辑卷与挂载点关联
lvconvert --merge /dev/lv/SSS #对逻辑卷vo进行快照还原操作 mount -a #重新挂载
ls /lvm/ #查看逻辑卷目录,可以发现创建快照后再创建的100M文件不见了,逻辑卷恢复成设置快照前的状态
删除逻辑卷
当生产环境中想要重新部署LVM或者不再需要使用LVM时,则需要执行LVM的删除操作。为此,需要提前备份好重要的数据信息,然后依次删除逻辑卷、卷组、物理卷设备,这个顺序不可颠倒。
删除逻辑卷
umount /linuxprobe #卸载
vim /etc/fstab
/dev/vg/lv /lvm ext4 defaults 0 0 #删除挂载信息
lvremove /dev/vg/lv #删除逻辑卷,要按y确认
vgremove vg #删除卷组
pvremove /dev/sdb /dev/sdc #删除物理卷