一、什么是逻辑卷
磁盘一经分区之后,再想改变磁盘中这个分区的大小就很难了。假如当这个磁盘的空间不够用了,是没有办法扩大这个分区的。所以使用逻辑卷。
什么是逻辑卷?
物理卷(pv):物理磁盘分区。在进行逻辑卷使用时要将ID改为8e
物理卷组(vg):物理卷的集合
逻辑卷(lv):取自物理卷组
由上面的概念可以知道,用户使用的空间是逻辑卷,当逻辑卷的空间不够用时,可以划分新的一块分区作为物理卷添加至物理卷组中。
二、逻辑卷的制作
1.fdisk /dev/vdb改vdb5的id为8e
2.mkdir /weixindata (weixindata存放信息 物理分区)
3.pvcreate /dev/vdb5 (物理分区变成物理卷)
4.watch -n 1 "pvs;echo +++++ ;vgs;echo +++++;lvs;echo +++++;df -h /weixindata" (监控)
5.vgcreate weixingroup /dev/vdb5 (物理卷组)
6.lvcreate -L 50M -n weixindata weixingroup (从物理卷组weixingroup分出50M的叫weixindata的逻辑卷)
7.mkfs.xfs /dev/weixingroup/weixindata (格式化逻辑卷,方便挂载)
8.mount /dev/weixingroup/weixindata /weixindata/ (挂载逻辑卷到保存微信数据的地方)
ll /dev/mapper/weixingroup-weixindata
ll /dev/weixingroup/weixindata 两个名字虽然不一样但内容是一样的
逻辑卷的内存是可以拓展的(在分配的逻辑卷组空间够用的情况下):
lvextend -L 80M /dev/weixingroup/weixindata 拉伸设备(硬件)
xfs_growfs /dev/weixingroup/weixindata 拉伸文件(软件)
当物理卷组不够用时,添加新的物理卷:
先看物理分区:fdisk /dev/vdb 把vdb6改成8e,退出保存
格式化mkfs.xfs /dev/vdb6
partprobe 同步分区列表
物理分区->物理卷:pvcreate /dev/vdb6
物理卷->物理卷组:vgextend weixingroup /dev/vdb6 (因为weixingroup已经存在,所以要用vgextend)
这样wenxingroup物理卷组就有超过90多M的内存了
lvextend -L 150M /dev/weixingroup/weixindata (拓展逻辑卷)
xfs_growfs /dev/weixingroup/weixindata
注意:如果中途创建了错误的卷:
pvremove /dev/vdb6 删除错误的物理卷
vgremove weoixingroup /dev/vdb6 删除错误的物理卷组
缩减:
当前面使用xfs的格式化时,只能进行扩展,不能进行缩减,所以这里要这样做:
umount /weixindata/ 先卸载掉原来的
mkfs.ext4 /dev/weixingroup/weixindata 重新格式化,和前面的xfs格式不一样
mount /dev/weixingroup/weixindata /weixindata/ ##挂载新格式的weixindata逻辑卷
lvextend -L 160M /dev/weixingroup/weixindata (ext4的扩展)
resize2fs /dev/weixingroup/weixindata ##软件缩减
umount /weixindata/
e2fsck -f /dev/weixingroup/weixindata 扫描
resize2fs /dev/weixingroup/weixindata 50M 缩减到50M(软件缩减)
mount /dev/weixingroup/weixindata /weixindata/
lvreduce -L 50M /dev/weixingroup/weixindata 缩减到50M(硬件缩减)
如果缩减的数据在另一块虚拟设备上:
pvmove /dev/vdb5 /dev/vdb6 #先把物理卷数据挪了
vgreduce weixingroup /dev/vdb5 #取消/dev/vdb5分配给weixingroup的物理卷组
pvremove /dev/vdb5 #删除vdb5这个物理卷
对设备进行快照(担心用户删掉数据后找不回来):
touch /weixindata/file{1..10} ##提前建立测试文件
建立快照来挂载:
先卸载原来的挂载:umount /weixindata/
做快照:lvcreate -L 20M -n weixindata_backup -s /dev/weixingroup/weixindata
挂载mount /dev/weixingroup/weixindata_backup /weixindata/
df
cd /weixindata/
ls可以看到之前建立的10个文件
删除rm -rf *
cd
umount /weixindata/
卸载破损快照:lvremove /dev/weixingroup/weixindata_backup
lvcreate -L 20M -n weixindata_backup -s /dev/weixingroup/weixindata ##重新快照
mount /dev/weixingroup/weixindata_backup /weixindata/
ls /weixindata/看到之前的10个文件
##永久设置ext4格式的逻辑卷挂载
1.恢复物理卷的方法:
pvcreate /dev/vdb1
vgextend weixingroup /dev/vdb1
现在假如不小心在fdisk里面删掉了vdb5
partprobe
继续使用vgs还能看到2块
修复方法:vgreduce --removemissing weixingroup
使用vgs查看,看到有1块pv了
假如在vim /etc/fstab
中编辑了错误的信息,系统会启动不起来,这时候会自动登陆root
输入后重新编辑(vim) /etc/fstab里面的内容就好
进入图形界面后编辑vim /etc/fstab里的内容:
/dev/weixingroup/weixindata /weixindata ext4 defaults 0 0
mount -a 检测/etc/fstab内容格式是否正确
df看到重新挂载后的情况
##pe大小怎么看?
当vdb6没有成为物理卷组时:
vgcreate vg0 -s 16m /dev/vdb6
vgdisplay 可以看到pe大小是16m
vgremove vg0
vgcreate vg0 /dev/vdb6
vgdisplay看到pe大小是4