Linux下调整磁盘大小后进行分区在线扩容,前提基于LVM不添加新的LV(哎强迫症又犯了)主要用在:
创新互联主要业务有网站营销策划、做网站、成都网站制作、微信公众号开发、小程序开发、成都h5网站建设、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、网络营销推广资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。
假设被调整的磁盘是/dev/sda,以lvm安装centos,采用系统默认的分区,系统原有情况
如果是远程挂载的LUN,请先行umount分区挂载。
# partprobe
运行parted,进入分区管理模式
# parted
使用print all查看调整后的硬盘大小(如:调整后最大容量是21.5GB)
(parted) print all
...
Disk /dev/sda: 21.5GB
...
由于物理磁盘发生改变,根据提示进行'fix'操作。
resizepart调整大小
(parted) resizepart
Partition number? 3 # 此处选择分区号(Number),即Flags为lvm标签的Number,这里是3
End? [15GB] 21.5GB # 此处输入新的结束位置,如21.5GB
...
(parted) quit
# pvresize /dev/sda3
/dev/sda3是需要扩容的卷组对应的物理卷
# lvresize -l +100%FREE /dev/centos-test/root
说明:
-l: 是按照PE块来调整,特别是在按容量分区的时候,能够尽量将所有的闲置PE都用上。
100%FREE:使用剩下的全部空余空间
/dev/centos-test/root:是创建的逻辑卷,可以使用lvdisplay查看。
# resize2fs /dev/centos-test/root
如果是xfs文件系统推荐使用下面的命令
# xfs_growfs /dev/centos-test/root
lvextend -L 120G /dev/mapper/centos-home //增大至120G
lvextend -L +20G /dev/mapper/centos-home //增加20G
lvreduce -L 50G /dev/mapper/centos-home //减小至50G
lvreduce -L -8G /dev/mapper/centos-home //减小8G
resize2fs /dev/mapper/centos-home //执行调整
lvextend -L 120G /dev/mapper/centos-home //增大至120G
lvextend -L +20G /dev/mapper/centos-home //增加20G
xfs_growfs /dev/mapper/centos-home //执行调整
说明:如果要减小xfs分区,只能在减小后将逻辑分区重新通过mkfs.xfs命令重新格式化才能挂载上,这样的话这个逻辑分区上原来的数据就丢失了。