linux存储管理方式
lvm ##扩容(逻辑卷管理)
使硬盘无限分区、扩展
pv:物理卷
vg:物理卷组
pe:物理拓展
lvm:扩容(逻辑卷管理)
使硬盘无限分区、扩展
lvm=pe*n(是整数倍)
df -h /mnt ##查看挂载信息
linux下的文件系统需要挂载才可以使用,将逻辑卷挂载
一·创建管理
在server虚拟机中做实验:
> watch -n 1 'pvs;vgs;lvs;df -h /mnt' ##监控命令
>
> 打开另一个shell fdisk /dev/vdb ##建立三个分区,大小为1G并且标签改为8e
> partprobe ##手动同步分区
> pvcreate /dev/vdb1 ##创建物理卷
> vgcreate vg0 /dev/vdb1 ##创建物理卷组
> lvcreate -L 200M -n lv0 vg0 ##创建卷组
> -L:指定大小
mkfs.xfs /dev/vg0/lv0 ##格式化
mount /dev/vg0/lv0 /mnt/ ##挂载
二·设备拉伸(xfs系统和ext4系统)
1·xfs系统拉伸分两种:
第一种vg足够拉神:
lvextend -L 500M /dev/vg0/lv0 ##扩建逻辑卷大小
xfs_growfs /dev/vg0/lv0 ##扩展文件系统
第二种vg不够拉伸需要创建物理卷:
lvextend -L 1.5G /dev/vg0/lv0 ##vg拉伸大小不够需要再创建一个物理卷
Rounding size to boundary between physical extents: 1.60 GiB
Extending logical volume lv0 to 1.60 GiB
Insufficient free space: 285 extents needed, but only 130 available ##报错(vg拉伸大小超出所建立分区的大小)
pvcreate /dev/vdb2 ## 创建物理卷
vgextend vg0 /dev/vdb2 ##添加物理卷到物理卷组
lvextend -L 1.5G /dev/vg0/lv0 ##扩建逻辑卷大小
xfs_growfs /dev/vg0/lv0 ##扩展文件系统
2·ext4(可以扩容也可以缩减)
(1)·扩容:
umount /mnt/ ##卸载
mkfs.ext4 /dev/vg0/lv0 ##格式化
mount /dev/vg0/lv0 /mnt ##挂载
mount
lvextend -L 1800M /dev/vg0/lv0 ##扩建逻辑卷大小
resize2fs /dev/vg0/lv0 ##更新逻辑卷信息
扩容的结果:
(2)·缩减:
umount /mnt/ ##卸载
e2fsck -f /dev/vg0/lv0 ##扫描逻辑卷上的空间
resize2fs /dev/vg0/lv0 1000M ##缩减文件系统(缩减到1000M)
mount /dev/vg0/lv0 /mnt/ ##挂载
lvreduce -L 1000M /dev/vg0/lv0 ##缩减设备
WARNING: Reducing active and open logical volume to 1000.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv0? [y/n]: y --##需要输入确认
Reducing logical volume lv0 to 1000.00 MiB
Logical volume lv0 successfully resized
缩减后的结果:
三·缩减危机
移出设备如果有数据,要移出到闲置设备
如果不能缩,就要再次缩减文件系统之后才能进行以下实验:
pvmove /dev/vdb1 /dev/vdb2 ##移动数据(移到闲置一个设备中)
vgreduce vg0 /dev/vdb1 ##再将vdb1从vg0中取出
pvremove /dev/vdb1 ##删除
缩减危机结果:
四·建立快照
读取时是原始设备
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ##建立快照
-s:快照
实验步骤:
cd /mnt/
touch file{1..10}
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ##快照(备份)
50M:照片的大小
vg0 1 1 0 wz--n- 1020.00m 20.00m ##20M是余留快照大小,快照的大小只能小于余留大小,否则快照建立不成功
Rounding up size to full physical extent 52.00 MiB
Volume group "vg0" has insufficient free space (5 extents): 13 required. ##报错
mount /dev/vg0/lv0backup /mnt/ ##挂载快照
cd /mnt
ls ##查看是否有之前建立的文件
rm -fr *
cd
umount /mnt/ ##卸载
lvremove /dev/vg0/lv0backup ##删除快照
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ##快照
mount /dev/vg0/lv0backup /mnt/ ##挂载快照
ls /mnt/ ##查看时又出现刚开始建立的文件
五·删除
umount /mnt/ ##卸载
lvremove /dev/vg0/lv0backup ##删除快照
lvremove /dev/vg0 ##删除逻辑卷
vgremove vg0 ##删除物理卷组
pvremove /dev/vdb{1..2} ##删除物理卷
如果删除不成功用df查看有没有卸载成功
彻底删除lvm:
监控也会是还原到原来:
总结:
根据上面的讨论可以看到,LVM具有很好的可伸缩性,使用起来非常方便。可以方便地对卷组、逻辑卷的大小进行调整,更进一步调整文件系统的大小