esxi调整虚拟机磁盘容量

esxi下某虚拟机有两块硬盘,现要为第二块磁盘(/dev/sdb)扩容,此磁盘未分区,直接挂载到指定目录使用的,通过esxi给其增加了一些容量,但是登录虚拟机内部查看容量并没有变化(esxi调整后需要重启机器)

[root@localhost ~]# fdisk -l

磁盘 /dev/sdb:6597.1 GB, 6597069766656 字节,12884901888 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/sdb                ext4      6.0T  5.3T  428G   93% /data1

问题是因为文件系统还没有扩展到新的磁盘空间。尽管磁盘大小已经在 fdisk 中显示正确,但 df -hT 中仍然显示旧的文件系统大小。这是因为文件系统本身没有扩展以利用新增加的空间

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   32G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   31G  0 part 
  ├─centos-root 253:0    0 27.8G  0 lvm  /
  └─centos-swap 253:1    0  3.2G  0 lvm  [SWAP]
sdb               8:16   0  6.5T  0 disk /data1
sr0              11:0    1  973M  0 rom  

从 lsblk 和 fdisk -l 输出来看 /dev/sdb 已经正确识别到新的 6.5T 大小 接下来只需要扩展文件系统以使用新增的空间

[root@localhost ~]# umount /dev/sdb

[root@localhost ~]# e2fsck -f /dev/sdb
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/sdb: 17238888/201326592 files (0.1% non-contiguous), 1417999498/1610612736 blocks

[root@localhost ~]# resize2fs /dev/sdb
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/sdb to 1744830464 (4k) blocks.
The filesystem on /dev/sdb is now 1744830464 blocks long.

[root@localhost ~]# mount /dev/sdb /data1

[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/sdb                ext4      6.5T  5.3T  910G   86% /data1

和上面相似,但是是为指定磁盘的指定分区扩容

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  132G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   31G  0 part 
  ├─centos-root 253:0    0 27.8G  0 lvm  /
  └─centos-swap 253:1    0  3.2G  0 lvm  [SWAP]
[root@localhost ~]# fdisk -l

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

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    67108863    32504832   8e  Linux LVM

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


磁盘 /dev/mapper/centos-swap:3435 MB, 3435134976 字节,6709248 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  7.8G     0  7.8G    0% /dev
tmpfs                   tmpfs     7.8G   16K  7.8G    1% /dev/shm
tmpfs                   tmpfs     7.8G  9.0M  7.8G    1% /run
tmpfs                   tmpfs     7.8G     0  7.8G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        28G  9.1G   19G   33% /
/dev/sda1               xfs      1014M  150M  865M   15% /boot
tmpfs                   tmpfs     1.6G     0  1.6G    0% /run/user/1002
tmpfs                   tmpfs     1.6G     0  1.6G    0% /run/user/0

parted 被用来物理调整分区的大小。即便是在线扩展分区,也只是修改了分区表,让分区能够覆盖更多的磁盘空间。但是,分区表的更改并不会自动扩展包含在该分区中的物理卷(PV)的大小

[root@localhost ~]# parted /dev/sda
GNU Parted 3.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 142GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  标志
 1      1049kB  1075MB  1074MB  primary  xfs          启动
 2      1075MB  34.4GB  33.3GB  primary               lvm

(parted) resizepart 2 100%       #这里的意思是调整分区2的结束位置为100%即把所有可用空间给2                                         
(parted) quit                                                             #保存退出
信息: You may need to update /etc/fstab.

pvresize 用来调整物理卷(PV)在逻辑卷管理(LVM)中的大小。当分区大小被 parted 增加后,该分区上的物理卷并没有自动扩展以使用新增的空间。pvresize 指令会扩展物理卷以填满整个分区的新大小,这样 LVM 才能看到并使用新增的空间。

[root@localhost ~]# pvresize /dev/sda2                                    
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized
[root@localhost ~]# lvextend -l +100%FREE /dev/mapper/centos-root
  Size of logical volume centos/root changed from 27.79 GiB (7115 extents) to <127.80 GiB (32716 extents).
  Logical volume centos/root successfully resized.
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=1821440 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=7285760, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=3557, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 7285760 to 33501184

因此,完成分区大小调整后,必须执行 pvresize,以确保物理卷级别的数据结构更新,从而使得新增的磁盘空间可以被逻辑卷(LV)使用。之后,逻辑卷可以被扩展,最终文件系统才能够使用这些额外的空间。这是一个从底层硬件到文件系统层面逐级上升的过程,每一步都需要相应的命令来确保上一层的变更能被正确识别和利用。

原创文章,作者:witersen,如若转载,请注明出处:https://www.witersen.com

(0)
witersen的头像witersen
上一篇 2024年7月22日 下午10:38
下一篇 2024年10月16日 上午6:26

相关推荐

发表回复

登录后才能评论