vmware下linux非lvm管理的根目录扩容(代码片段)

CarltonXu CarltonXu     2023-02-18     283

关键词:

1. 需求描述


VMware上面一台CentOS7.3操作系统,在安装软件时候发现提示空间不足,通过查看磁盘容量,根分区只有8Gb的空间容量,导致空间满了,无法正常安装,此时需要将虚拟机硬盘从20Gb调整到40G,然后再把根分区扩大到30Gb,以下是扩容的整体操作步骤。

2. 操作环境


运行平台:VMware虚拟化
操作系统:CentOS7.3.1611
源磁盘容量:20Gb
根分区容量:14Gb
调整磁盘容量:50Gb
调整后根分区容量:47Gb

3. 步骤分析


对Linux下标准分区或者LVM分区扩容问题,主要分为以下三个步骤,需要按照顺序依次执行即可完成分区扩容。

💡 如果是缩容,则是反向操作,缩容一般只有LVM分区可以做到,标准分区暂时没有好办法进行处理

Step01: 扩磁盘    <先将磁盘容量增加到一定容量>
Step02: 扩分区    <在将磁盘下需要扩容的分区进行拉伸,扩展到所需大小容量>
Step03: 刷新文件系统容量 <分区扩展完成后,需将分区的文件系统进行刷新,根据不同文件系统选择刷新指令>

4. 具体操作实现


扩容的具体操作步骤,按照步骤分析的三大步骤来完成扩容,操作细化步骤如下内容。

4.1. 磁盘扩大


VMware 管理平台VSphere Client登陆,将需要扩容的虚拟机进行关机操作,然后编辑设置,将磁盘大小进行调整

4.2. 扩分区


4.2.1. 查看当前分区信息

以下指令可以查看到根分区是sda3,sda3分区总容量只有14G大小

[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        14G   13G  795M  95% /
devtmpfs        899M     0  899M   0% /dev
tmpfs           913M     0  913M   0% /dev/shm
tmpfs           913M  8.9M  904M   1% /run
tmpfs           913M     0  913M   0% /sys/fs/cgroup
/dev/sda1       297M  195M  103M  66% /boot
tmpfs           183M     0  183M   0% /run/user/0

可以看到当前磁盘容量已经增加到50Gb了,但是分区仍是之前的大小,所以接下来我们需要按照步骤,将分区大小进行调整

[root@localhost ~]# fdisk -l

Disk /dev/sda: 51.5 GB, 51539607552 bytes, 100663296 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000e780b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      616447      307200   83  Linux
/dev/sda2          616448     3762175     1572864   82  Linux swap / Solaris
/dev/sda3         3762176   100663295    48450560   83  Linux

4.2.2. 增加根分区大小

💡注意:标准分区的扩容方式其实是将原有分区删除掉,然后再重建时增加容量,但是千万要记住以下步骤,通过fdisk操作时,不要将根分区删除后就执行w保存,这样会导致所有数据写盘丢失

[root@localhost ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p  //这里输入p,列出分区列表,记住下面的start和end,后续操作才能保证数据不会丢失。

Disk /dev/sda: 51.5 GB, 51539607552 bytes, 100663296 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000e780b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      616447      307200   83  Linux
/dev/sda2          616448     3762175     1572864   82  Linux swap / Solaris
/dev/sda3         3762176    31457279    13847552   83  Linux

Command (m for help): d   //这里输入d,表示删除一个分区
Partition number (1-3, default 3): 3     //这里输入3,是因为之前的分区是/dev/sda3(记住一定不要执行执行w保存)
Partition 3 is deleted

Command (m for help): n    //删除完,输入n新建一个分区
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p   //选择主分区
Partition number (3,4, default 3): 3  //还是/dev/sda3
First sector (3762176-100663295, default 3762176):      //这里直接回车
Using default value 3762176
Last sector, +sectors or +sizeK,M,G (3762176-100663295, default 100663295):    //这里明显可以看到,不仅包含了之前的sda3的start和end,而且远大于了,使用默认的将剩余的空间都给这个新建的分区。
Using default value 100663295
Partition 3 of type Linux and of size 46.2 GiB is set

Command (m for help): w      //最后写入保存
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
You have new mail in /var/spool/mail/root

4.2.3. 查看扩容分区信息

sda3经过分区重建后,大小已经有了变化

[root@localhost ~]# df -T /dev/sda3
Filesystem     Type 1K-blocks     Used Available Use% Mounted on
/dev/sda3      xfs   13837312 13022968    814344  95% /

4.3. 刷新文件系统


分区扩容完成后,就可以执行执行来刷新文件系统,让文件系统得知分区已经发生变化可以更新信息,这里需要根据不同的文件系统类型来执行不同的刷新指令,前边我们查看sda3的文件系统是xfs,所以这里我们使用xfs_growfs来刷新

[root@localhost ~]# reboot //先重启操作系统
[root@localhost ~]# xfs_growfs /dev/sda3
meta-data=/dev/sda3              isize=256    agcount=4, agsize=865472 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=3461888, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3461888 to 12112640

最后我们有看到执行后的输出,数据块发生了改变,则表示已经成功刷新文件系统,文件系统并做了更新

  • 查看最终根目录容量大小

已经将根分区扩容成功,后续就可以正常使用了

[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        47G   13G   34G  27% /
devtmpfs        899M     0  899M   0% /dev
tmpfs           913M     0  913M   0% /dev/shm
tmpfs           913M  8.9M  904M   1% /run
tmpfs           913M     0  913M   0% /sys/fs/cgroup
/dev/sda1       297M  195M  103M  66% /boot
tmpfs           183M     0  183M   0% /run/user/0

vmware基于lvm实现根目录磁盘扩容(代码片段)

VMware基于LVM实现根目录磁盘扩容VMware虚拟机上的磁盘空间如果不够用了,可以使用LVM自行扩容1.VMware控制器添加磁盘将VM关机,并将20G磁盘扩容为40G2.登录查看磁盘fdisk-l可以看到sda已经扩容到40G,但实际只分配了20G3.创建新磁盘fdi... 查看详情

centos7下使用lvm给系统硬盘扩容(代码片段)

简单介绍:LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,... 查看详情

centos7下使用lvm给系统硬盘扩容(代码片段)

简单介绍:LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,... 查看详情

centos7下使用lvm给系统硬盘扩容超详细(代码片段)

简单介绍:LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,... 查看详情

lvm基础详细说明及动态扩容lvm逻辑卷的操作记录

...----------------------------------它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个... 查看详情

lvm基础详细说明及动态扩容lvm逻辑卷的操作记录

...区上创建文件系统。而LVM它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个... 查看详情

lvm基础详细说明及动态扩容lvm逻辑卷的操作记录

LVM概念:--------------------------------------------------------------------------------------------------------------------------------------------------------它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个 查看详情

lvm磁盘扩容

LVM磁盘管理一、LVM简介LVM是LogicalVolumeManager(逻辑卷管理)的简写,它由HeinzMauelshagen在Linux2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬... 查看详情

linux下根目录为一般磁盘分区,现在满了,想将其转换为lvm方式管理,具体操作思想?

.../bbs.chinaunix.net/thread-1977360-1-1.html追问这个我已经看过了。根目录下的文件大小大概为400G。我新建lvm逻辑分区,现在想不改变根目录下的文件属性将文件备份到lvm逻辑分区,再将逻辑分区挂载到根目录下。请教下需要什么样的备... 查看详情

基于centos6系统创建逻辑卷lvm,执行扩容,缩减,删除等操作

什么是逻辑卷?LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。LVM的工作原理其实很简单,它就是通过... 查看详情

redhat6.5lv扩容(代码片段)

...V扩容一、LVM概述在Linux系统中,我们经常使用LVM(逻辑卷管理)的方式去管理和使用磁盘,LVM可以动态扩容,给我们的使用带来了很多的便捷性LVM结构图如下:物理卷(PhysicalVolume,PV)指磁盘分区或从逻辑上与磁盘分区具有同... 查看详情

linux磁盘lvm在线扩容

 LVM逻辑卷管理LVM是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但... 查看详情

lvm的创建与挂载(代码片段)

LVM的诞生:  由于传统的磁盘管理不能对磁盘进行磁盘管理,比如我把/dev/sdb1挂载到了/liu目录下,但是因为数据量过大的原因,此文件系统磁盘利用率已经高达98%,那么我可以直接对这个磁盘进行扩容吗?扩容的话又会丢数... 查看详情

原centos7下创建lvm流程

...介绍请自行Google,这里仅给出简单的介绍:基本的逻辑卷管理概念: PV(PhysicalVolume)-物理卷物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬 查看详情

磁盘管理-lvm介绍

4.10:lvm介绍: 1、lvm是linux系统对磁盘分区管理的机制,方便磁盘的扩容和缩容,提高磁盘分区管理的灵活性,对磁盘分区来创建物理卷---->划分为卷组--->划分为逻辑卷---->格式化,挂载,扩容。基本逻辑图如下:2、lv... 查看详情

磁盘管理-lvm介绍

4.10:lvm介绍: 1、lvm是linux系统对磁盘分区管理的机制,方便磁盘的扩容和缩容,提高磁盘分区管理的灵活性,对磁盘分区来创建物理卷---->划分为卷组--->划分为逻辑卷---->格式化,挂载,扩容。基本逻辑图如下:2、lv... 查看详情

根分区扩容

前言:    默认情况下linux的根目录做成了lvm,比如: 但如果前期分区分的不合理,那么这个空间可能很小,会影响存储数据多少。那么如何去扩展根目录的空间大小呢?  原料:    比如虚拟... 查看详情

linux之lvm分区扩容

...理磁盘组)里面划分出来的可以说成是PV就是硬盘,而VG就是管理硬盘的操作系统,而LV就是操作系统分出来的各个分区.PV->VG->LV->文件系统使用(挂载到某个目录)对新磁盘/dev/sdb进行分区[root@xt-prod-mydb02~]#parted/dev/sdbGNUParted3.1Using/... 查看详情