虚拟机下Linux系统磁盘扩容

在VM虚拟机中,我们经常会选择默认磁盘大小20G,用着用着才发现20G不够用,服务启动不了,就很尴尬,让我们今天一起来学习下,如何在虚拟机给磁盘扩容。

一:关闭虚拟机,添加硬盘

背景:我们使用df -h命令,发现磁盘使用率已经37%,我们给此磁盘扩容,简单演示下扩容的过程。

虚拟机下Linux系统磁盘扩容_第1张图片

1:虚拟机关机,添加一块20G大小的硬盘,添加硬盘一路选择默认,并单击确定添加完成,就不多赘述,如图所示。然后开启虚拟机

虚拟机下Linux系统磁盘扩容_第2张图片

2:虚拟机开机后,我们用fdisk -l 命令查看新增加的硬盘,如图所示

虚拟机下Linux系统磁盘扩容_第3张图片

3:我们通过fdisk命令来对新增加硬盘进行分区,fidsk +硬盘名,不同环境名字可能不一样,我这里的管理命令是: fdisk /dev/sdb

先输入n 新建分区

后输入 p 主分区

连续输入2次回车确认

然后输入 wq 保存并退出

然后我们就创建了一个新分区,大小是20GB。

[root@GMtest ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x4c4d9e95 的新 DOS 磁盘标签。

命令(输入 m 获取帮助):n  //创建新分区
分区类型
   p   主分区 (0 primary, 0 extended, 4 free)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):p  //输入P,设置为主分区
分区号 (1-4, 默认  1): //输入1保持默认
第一个扇区 (2048-41943039, 默认 2048):  //输入回车,默认
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): //输入回车,默认

创建了一个新分区 1,类型为“Linux”,大小为 20 GiB。

命令(输入 m 获取帮助):wq
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

二:扩容磁盘

1:使用命令mkfs.ext4 硬盘名对刚才创建的分区进行格式化,我的是:mkfs.ext4 /dev/sdb1

[root@GMtest ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
创建含有 5242624 个块(每块 4k)和 1310720 个inode的文件系统
文件系统UUID:dd061fdb-49af-42d4-9f20-8811cc0ce301
超级块的备份存储于下列块: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(32768 个块)完成
写入超级块和文件系统账户统计信息: 已完成 

[root@GMtest ~]# 

2:使用命令pvcreate /dev/sdb1 创建物理卷

[root@GMtest ~]# pvcreate /dev/sdb1 
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
[root@GMtest ~]# 

3:使用pvdisplay命令用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。

需要扩容的磁盘的VG Name是”r1“[也就是默认40G的那块硬盘]

[root@GMtest ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rl
  PV Size               <39.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              9983
  Free PE               0
  Allocated PE          9983
  PV UUID               lj7TOE-p6bV-h2fC-9Gpq-do7K-s5PL-nnDJO1
   
  "/dev/sdb1" is a new physical volume of "<20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               RYESlr-62wA-Q0Gk-bBUi-FsOZ-LOSK-SUpnMa

4:使用vgextend 命令用于扩容卷组大小,这里是:

[root@GMtest ~]# vgextend rl /dev/sdb1
  Volume group "rl" successfully extended

5:我们使用lvextend -L +19.9G +路径名扩容根分区【+那里新增的硬盘多大就输入多大】,不知道路径的可以用df -h命令查看。我扩容了20G,只能加小于20G。

虚拟机下Linux系统磁盘扩容_第4张图片
[root@GMtest ~]# lvextend -L +19.9G /dev/mapper/rl-root
  Rounding size to boundary between physical extents: 19.90 GiB.
  Size of logical volume rl/root changed from <35.08 GiB (8980 extents) to 54.98 GiB (14075 extents).
  Logical volume rl/root successfully resized.
[root@GMtest ~]# 

6:使用xfs_growfs命令增加 XFS 文件系统的大小,实际增加存储空间。

[root@GMtest ~]# xfs_growfs /dev/mapper/rl-root
meta-data=/dev/mapper/rl-root    isize=512    agcount=4, agsize=2298880 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=9195520, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=4490, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 9195520 to 14412800
[root@GMtest ~]# 

7:扩容完成,使用df -h命令查看

之前

虚拟机下Linux系统磁盘扩容_第5张图片

之后

[root@GMtest ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             4.0M     0  4.0M    0% /dev
tmpfs                1.8G     0  1.8G    0% /dev/shm
tmpfs                726M  9.6M  716M    2% /run
/dev/mapper/rl-root   55G   14G   42G   24% /
/dev/sda1           1014M  285M  730M   29% /boot
tmpfs                363M   52K  363M    1% /run/user/42
tmpfs                363M   36K  363M    1% /run/user/0
[root@GMtest ~]# 

至此,扩容就完成。

你可能感兴趣的:(LINUX,linux,运维,服务器,网络,bash)