一、lvm组件简介
pv(物理卷):被lv命令处理过的物理分区;处于lvm最底层,可以是物理硬盘或者分区
vg(物理卷组):被组装到一起的物理卷
pe(物理扩展):lvm设备的最小存储单元,lvm是pe的整数倍
lvm(逻辑卷):直接使用的设备,可以增大缩减并保持原有数据不变
2、逻辑卷的好处
3、lvm查看命令
pvdisplay ##显示物理卷信息
vgdisplay ##显示卷组信息
lvdisplay ##显示逻辑卷信息
pvs ##显示所有物理卷
vgs ##显示所有卷组
lvs ##显示所有逻辑卷
二、建立LVM分区
1.建立LVM分区
fdisk /dev/vdb
n----->t---->l----->15---->p----->wq
2.物理硬盘
partprobe ###同步分区表
3.PV(被安装软件的物理硬盘)
pvcreate /dev/vdb2 ###创建物理卷/dev/vdb2
4.VG
vgcreate vg0 /dev/vdb2 ###创建物理卷组文件名
5.LVM
lvcreate -L 50M -n lv0 vg0 ###-L 大小;-n 在vg0里创建名为lv0的逻辑卷
mkfs.xfs /dev/vg0/lv0 ###格式化
mount /dev/vg0/lv0 /mnt/ ###挂载(linux系统下的文件系统需要挂载了才能使用)
操作:
三、拉伸磁盘大小
监控:watch -n 1 'pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /mnt'
文件系统1M=1024G ;LVM 1M=1000G
情况1:VG够用
lvextend -L 100M /dev/vg0/lv0 ###lvm拉伸到了100M,df -h /mnt 未改变
xfs_growfs /dev/vg0/lv0 ###拉伸xfs文件系统
情况2:VG不够用
fdisk /dev/vdb ##建立新磁盘
n---->3---->t---->l---->15--->wq
partprobe ###同步分区表
pvcreate /dev/vdb3
vgextend vg0 /dev/vdb3 ###拉伸VG
lvextend -L 1400M /dev/vg0/lv0
xfs_growfs /dev/vg0/lv0 ###拉伸xfs文件系统
操作:
情况1:vg够用
情况2:vg不够用
三、压缩磁盘大小
1.xfs文件系统不可压缩
ext文件系统可压缩
xfs文件系统转换为ext文件系统:
umount /dev/mapper/vg0-lv0 ###卸载
mkfs.ext4 /dev/mapper/vg0-lv0 ###格式化
blkid ###查看
--> /dev/mapper/vg0-lv0: UUID="e89daf99-e186-4a7a-9721-0f8f6d84d25a" TYPE="ext4"
mount /dev/mapper/vg0-lv0 /mnt ###挂载
2.ext文件系统拉伸
lvextend -L 1500M /dev/vg0/lv0 ###LVM拉伸;L后数据为拉伸后大小
resize2fs /dev/vg0/lv0 ###文件系统的拉伸
操作:
3.压缩
监控:watch -n 1 'pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /mnt'
umount /mnt/ ###卸载
e2fsck -f /dev/vg0/lv0 ###扫描检测,必操作,防止压缩太小,已有文件放不下
resize2fs /dev/vg0/lv0 1000M ###先文件系统压缩;若先压缩设备,文件系统损坏
mount /dev/vg0/lv0 /mnt/ ###挂载,监控中可见压缩后文件系统大小
lvreduce -L 1000M /dev/vg0/lv0 ###LVM设备压缩
操作:
4.缩减VG
vgreduce vg0 /dev/vdb3 ###在VG设备组里去掉vdb3
vgextend vg0 /dev/vdb3 ###在VG设备组里增加vdb3
若想去掉已用设备2:
pvmove /dev/vdb2 /dev/vdb3 ###把设备2中文件迁移到设备3
vgreduce vg0 /dev/vdb2 ###此时,设备2为空;去掉设备2
操作:
四、磁盘快照(读的是原文件,更改的是快照文件)
touch /mnt/file ###新建file(在原文件/dev/vg0/lv0挂载/mnt状态下)
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ##产生50M的快照文件;-n名字;-s快照
umount /dev/vg0/lv0 ###卸载原文件
mount /dev/vg0/lv0backup /mnt/ ###挂载快照文件
rm -fr /mnt/file ###删除file(实际动作在快照上)
umount /dev/mapper/vg0-lv0backup ###卸载快照
lvremove /dev/vg0/lv0backup ###删除快照
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ###重新快照
mount /dev/vg0/lv0backup /mnt/ ###挂载新快照
ls /mnt/ ###file文件存在
操作:
五、删除LVM可扩展磁盘分区
vim /etc/fstab
取消之前编辑最后一行
umount /mnt/
lvremove /dev/vg0/lv0backup
lvremove /dev/vg0/lv0
vgremove vg0
pvremove /dev/vdb{2,3}
df -H
fdisk /dev/vdb
d--->2--->d--->3--->wq
partprobe
cat /proc/partitions
操作: