首先讲讲怎么创建lvm,在添加一块40G磁盘后,可以通过fdisk -l查看。已/dev/sdb是新磁盘为例。
注:磁盘超过2T,要用到parted来分区。
parted /dev/sdb
mklabel gpt
mkpart primary 0 -1
p
quit
fdisk /dev/sdb
此处输入n,n为new,新建分区意思
这里选p,p是主分区,e是扩展分区。
选择分区号,选1,接下来回车默认
其中这一步是选择分区的大小,自行设定。如这个分区要10G。就输入+10G
然后重新输入n,继续进行分区。这里分了三个区。
最后按w保存。
首先创建lvm。
1、创建pv,输入pvcreate /dev/sdb1 /dev/sdb2,表示把这两个分区组成一个卷组。
可以pvs查看下
2、制作vg,命令:vgcreate +卷组名 +物理卷
输入vgs查看下
3、制作lv。使用命令:lvcreate -n +逻辑卷名 + -L 大小 +卷组名
如果要使用全部vg :lvcreate -l 100%VG -n +逻辑卷名 +卷组名
输入lvs查看下
可以输入pvdisplay查看细节。
如果需要使用,需要格式化。
xfs:
mkfs.xfs /dev/vg1/lv1
ext4:
然后再挂载
mount /dev/vg1/lv1 /u01
再添加至/etc/fstab
接下来扩容lvm分区。先把之前还没加入pv的/dev/sdb3加入pv
pvcreate /dev/sdb3
如果这一步提示
Device /dev/sdb3 not found
则需要更新分区表
partprobe
cat /proc/partitions
查看到/dev/sdb3则成功。
接下来开始扩容。
若/目录为lvm。
先pvdisplay查看。可以看到VG Name
其中下面还有一块pv的VG Name是空的,就是我们刚刚加入pv的/dev/sdb3(此处没展示)
首先扩展卷组。加/dev/sdb3加入到centos卷组中。
vgextend centos /dev/sdb3
接着,直接扩展5G给/分区。
lvextend -L +5G /dev/mapper/centos-root
要给全部空间,则
lvextend -l 100%FREE /dev/mapper/centos-root
接着,使用df -T命令查看磁盘格式。
可以看到为xfs格式。则输入xfs_growfs /dev/mapper/centos-root
(这一步不会丢失数据,不过最好做好备份,缩小则会丢失)
如果df -T看到的是ext格式
则输入(尚未验证):
e2fsck -f /dev/mapper/centos-root
resize2fs /dev/mapper/centos-root
如果要删除已经挂载的lvm。或者将lvm退回到制作pv的步骤以便扩容其他lvm。
首先需要取消挂载。
unmout /u01
lvremove /dev/vg1/lv1
vgremove vg1