Linux虚拟机根目录磁盘扩容方式

 更新时间:2024年12月18日 17:32:03   作者:TracyDemo  
VMware虚拟机扩展磁盘空间并进行逻辑卷管理的步骤,包括关闭虚拟机、扩展磁盘大小、启动虚拟机、查看磁盘使用情况、创建磁盘分区、初始化为物理卷、加入逻辑卷组、扩展卷组容量、查看根目录文件系统、扩容根目录文件系统以及验证扩容后的磁盘容量

一、VMWare虚拟机扩展磁盘空间

在vmware软件中,选择对应的虚拟机,点击“硬盘”。【需要先关机再操作】

扩展

更改磁盘大小,点击“扩展”,然后一路“确定”。扩展到45G

二、启动虚拟机并扩展磁盘空间

查看磁盘使用情况

df -Th

查看磁盘挂载空间的大小

[root@node1 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm
sr0              11:0    1 1024M  0 rom

查看磁盘列表

fdisk -l

创建磁盘分区

[root@node1 ~]#  fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

命令(输入 m 获取帮助):n #添加一个新的分区
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p  #选择主分区
分区号 (3,4,默认 3): #默认是3,直接回车
起始 扇区 (41943040-94371839,默认为 41943040):
将使用默认值 41943040 #默认值,回车
Last 扇区, +扇区 or +size{K,M,G} (41943040-94371839,默认为 94371839):
将使用默认值 94371839
分区 3 已设置为 Linux 类型,大小设为 25 GiB

命令(输入 m 获取帮助):w #将分区表写入磁盘
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
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)
正在同步磁盘。

再次查看磁盘列表,发现多了一个/dev/sda3

[root@node1 ~]# fdisk -l

磁盘 /dev/sda:48.3 GB, 48318382080 字节,94371840 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000bedb2

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM
/dev/sda3        41943040    94371839    26214400   83  Linux

磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

重启虚拟机

reboot

查看逻辑卷的组名

lvs
[root@node1 ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g
  swap centos -wi-a-----   2.00g

将磁盘分区初始化为物理卷,以便被LVM使用

[root@node1 ~]# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created.

将分区加入到centos的逻辑卷组中

[root@node1 ~]# vgextend centos /dev/sda3
  Volume group "centos" successfully extended
#如果报“Couldn't create temporary archive name.”,需要先清理一下磁盘空间。
#可以考虑执行以下命令删除掉日志文件,也可以删除其他无用文件。若扩展成功,请忽略。
cd /var/log
rm -rf *

查看逻辑卷组

[root@node1 ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               43.99 GiB
  PE Size               4.00 MiB
  Total PE              11262
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       6399 / <25.00 GiB  #空闲分区
  VG UUID               azeALc-V80j-SKnr-8XmO-EtME-lyMk-kDDFUN
空闲空间(G)=Free PE * PE Size / 1024

查看需要扩展的文件系统名
/dev/mapper/centos-root
df -h
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  6.3G     0  6.3G    0% /dev
tmpfs                   tmpfs     6.3G     0  6.3G    0% /dev/shm
tmpfs                   tmpfs     6.3G   20M  6.3G    1% /run
tmpfs                   tmpfs     6.3G     0  6.3G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G   14G  3.1G   83% /
/dev/sda1               xfs      1014M  150M  865M   15% /boot

扩展卷组的容量

[root@node1 ~]# lvextend -L +20G /dev/mapper/centos-root
  Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to <37.00 GiB (9471 extents).
  Logical volume centos/root successfully resized.

查看卷组

[root@node1 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <19.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4863
  Free PE               0
  Allocated PE          4863
  PV UUID               ScGDBi-j9pc-m5dL-dc1z-EFW3-9zeF-aFWRAo

  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               centos
  PV Size               25.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              6399
  Free PE               1279
  Allocated PE          5120
  PV UUID               L9sFQd-WWck-lcCZ-x4Af-CG9l-e6BT-BLduCC

查看根目录的文件系统格式是否为xfs

[root@node1 ~]# cat /etc/fstab | grep centos-root
/dev/mapper/centos-root /                       xfs     defaults        0 0

根目录文件系统扩容

[root@node1 ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=4455424, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
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 4455424 to 9698304

查看磁盘容量

[root@node1 ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  6.3G     0  6.3G    0% /dev
tmpfs                   tmpfs     6.3G     0  6.3G    0% /dev/shm
tmpfs                   tmpfs     6.3G   20M  6.3G    1% /run
tmpfs                   tmpfs     6.3G     0  6.3G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        37G   14G   24G   38% /
/dev/sda1               xfs      1014M  150M  865M   15% /boot

从17G扩容到37G

查看挂载磁盘的大小,空间大小lsblk

[root@node1 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   45G  0 disk
├─sda1            8:1    0    1G  0 part /boot
├─sda2            8:2    0   19G  0 part
│ ├─centos-root 253:0    0   37G  0 lvm  /
│ └─centos-swap 253:1    0    2G  0 lvm
└─sda3            8:3    0   25G  0 part
  └─centos-root 253:0    0   37G  0 lvm  /
sr0              11:0    1 1024M  0 rom

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论