Linux 在VMware虚拟机上扩容

博主的虚拟机昨天用着用着发现内存不足了,因为没有设置LVM分区,一开始按照网络上的方法输入vgdisplay,pvdisplay,lvdisplay 都没有任何显示,中途浪费了好长时间。最后才发现根分区没有使用LVM,白瞎了不少时间(o(╥﹏╥)o),转载一下解决我问题的文字。

一、背景,概述

  • MBR(Master Boot Record)(主引导记录)和GPT(GUID Partition Table)(GUID意为全局唯一标识符)是在磁盘上存储分区信息的两种不同方式

    对于传统的MBR分区方式,有很多的限制:

    1:最多4个主分区(3个主分区+1个扩展分区(扩展分区里面可以放多个逻辑分区)),无法创建大于2TB的分区,使用fdisk分区工具,而GPT分区方式不受这样的限制。

    2:GPT分区方式将不会有这种限制,使用的工具是parted;

  • 逻辑卷管理(LVM),是 Logical Volume Manager(逻辑卷管理)的简写,lvm是卷的一种管理方式,并不是分区工具(也可不采用这种LVM管理方式)。

img

LVM管理导图1

img

LVM管理导图2

上图所示: 如果直接扩展/home逻辑卷目录,会提示逻辑卷组没有空间。

LVM扩容思维流程:创建一个物理分区–>将这个物理分区转换为物理卷–>把这个物理卷添加到要扩展的卷组中–>然后才能用extend命令扩展此卷组中的逻辑卷 。。。还是有些乱,根据上图理解。

问:如何查看本地机器是否使用LVM管理?

​ pvdisplay #查看物理卷

​ vgdisplay #查看卷组

​ lvdisplay #查看逻辑卷

答:执行上面命令,如果没有采用LVM管理的话,是查看不到上面卷组,物理卷,逻辑卷的(有可执行fdisk -l查看)。 逻辑卷即是挂载在目录上的卷。

img

非LVM

下面分别介绍LVM 和 非LVM 扩展根分区:

二、CentOS7,LVM根分区扩容步骤:

1.查看现有分区大小

df -TH

img

LVM分区,磁盘总大小为20G,根分区总容量为17G

2.关机增加大小为30G(测试环境使用的Vmware Workstation)

img

扩展分区到30G

3.查看扩容后磁盘大小

df -TH
lsblk

img

磁盘总大小为30G,根分区为17G

4.创建分区

fdisk /dev/sda

img

将sda剩余空间全部给sda3

5.刷新分区并创建物理卷

partprobe /dev/sda
pvcreate /dev/sda3

img

6.查看卷组名称,以及卷组使用情况

vgdisplay

img

VG Name为centos

7.将物理卷扩展到卷组

vgextend centos /dev/sda3

img

使用sda3扩展VG centos

8.查看当前逻辑卷的空间状态

lvdisplay

img

需要扩展LV /dev/centos/root

9.将卷组中的空闲空间扩展到根分区逻辑卷

lvextend -l +100%FREE /dev/centos/root

img

10.刷新根分区

xfs_growfs /dev/centos/root

img

11.查看磁盘使用情况,扩展之前和之后是不一样的

img

根分区已经变成27G

三、CentOS7,非LVM根分区扩容步骤:

1.查看现有的分区大小

img

非LVM分区,目前磁盘大小为20G,根分区总容量为17G

2.关机增加磁盘大小为30G

img

3.查看磁盘扩容后状态

lsblk
df -h

img

现在磁盘总大小为30G,根分区为17G

4.进行分区扩展磁盘,记住根分区起始位置和结束位置

img

5.删除根分区,切记不要保存

img

6.创建分区,箭头位置为分区起始位置

img

7.保存退出并刷新分区

partprobe /dev/sda

img

8.查看分区状态

img

这里不知道为啥变成19G了。。

9.刷新根分区并查看状态

xfs_growfs /dev/sda3 (这里先看自己的文件系统是xfs,还是ext4…)

使用 resize2fs或xfs_growfs 对挂载目录在线扩容 :

  • resize2fs 针对文件系统ext2 ext3 ext4 (我在本地用ubuntu18是ext4,我用的是resize2fs /dev/sda3)
  • xfs_growfs 针对文件系统xfs

img

根分区大小已变为27G
  • 16
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
准备分区 在command 时,t l 8e 则分区id 为lvm 的 partx –a 硬盘 1. pv创建 1. pv: pvcreate /dev/sda{5,6,7} (sda{5,6,7}是随便分区,但是不能挂载,是自由的) 2.pvdisplay (查看pv的创建) 2. vg创建: 1.vgcreate vgo(名字) /dev/sda{5,6,7} 2.vgdisplay (查看vg的创建) Notice :在vg的创建过程中在 名字 后面加 –s 可以指定PE的大小 3.从vg中划出lv 供使用 1. lvcreate –L 1G –n lv1 vgo (-n lv1 是创建的lv的名字) 2. // –I 100 –n lv1 vgo (-I可以指定PE的数量) 3. lvdisplay (查看lv的信息) 如果查看某个必须要全称(/dev/vgn/lvn) 4. mkfs.ext4 /dev/vgo/lv1 (格式化) /dev/vgo/lv1为前面自己取的名字路径 5. mount /dev/vgo/lv1 /mnt (挂载使用) 6. df (查看是否挂载成功) ①.lv空间的拓展 1.lvextend –L +1G /dev/vgo/lv1 (前面的路径) 2.df –H (查看到此时lv的大小没变) 3.resize2fs /dev/vgo/lv1 4.df –H (此时lv的空间扩大) ②.vg 空间的拓展: 通过pv的增加: 1. pvcreate /dev/sda8 2. vgextend vgo /dev/sd8 (扩展vg) 3. vgdisplay ③减小lvm: 1. umount /mnt (将挂载的lv的地方卸载) 2. e2fsck –f /dev/vgo/lv1 (检测lv) 3. resize2fs /dev/vgo/lv1 100M (设置缩小到的空间大小) notice:此时大小还未改 变,仅告知系统 4. lvreduce /dev/vgo/lv1 –L 100M 5. lvdisplay 6. mount /dev/vgo/lv1 /mnt (重新挂载看数据情况) 7. df –H ④.缩小vg: 1. umount /mnt 2. pvdisplay 3. 移除pv设备 ????? 4. vgdisplay 5. vgreduce vgo /dev/sd8 ⑤删除;vm并还原系统 1. lvremove /dev/vgo/lv1 (移除lv) 2. vgremove /dev/vgo (移除vg) 3. pvdisplay 4. pvremove /dev/sda{5,6,7} (移除pv) NOTICE:在REHL5中在创分区时disk 的id 要改为8e 快照, 即为备份

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值