这里说的GPT不是ChatGpt哦,这里的GPT是一种磁盘的分区格式。
centos7的磁盘分区表的格式有两种:MBR(Master Boot Record,DOS 分区表) 和 GPT(GUID Partition Table)。 对比表如下:
MBR最多只能支持2T的容量,如果超过2T容量必须用GPT格式的分区。
最近公司的一台服务器磁盘空间不够了,需要从3T扩展到4T,下面开始扩容的具体操作。
在虚拟机管理程序(如 VMware、VirtualBox、Hyper-V 等)中增大磁盘容量后,启动虚拟机并确认系统识别到了新的磁盘空间。
比如这台服务器从3T扩展到了4T。
使用 fdisk -l 查看磁盘信息,确认新的磁盘空间已识别。
fdisk -l
可以看到磁盘的容量是4398G(约4T),磁盘的标签类型为gpt,说明系统是GPT的分区格式。
使用 parted 扩展分区。
sudo parted /dev/sda
print
提示错误:
备份 GPT 表不像应该的那样出现在磁盘的末尾。这可能意味这其它操作系统相信磁盘小一些。通过将备份移动到末尾 (并删除旧备份) 来修正?
这表示磁盘的 GPT 备份表没有正确放置在磁盘的末尾。这通常是由于磁盘容量被扩展后,GPT 备份表没有自动更新到新的磁盘末尾位置。
输入Fix并回车,进行修复:
再次输入print,显示正常:
输入 resizepart 命令来扩展分区。
我们要调整的是第3个分区的大小,从3T扩展到4T:
resizepart 3 100%
resizepart 3 表示扩展第3个分区。
再次输入print可以看到第3个分区已经从3T扩展到4T了。
输入quit退出
quit
重新读取分区表:
sudo partprobe /dev/sda
输入lsblk查看磁盘信息:
可以看到虽然sda3的容量是4T,但是centos-data的容量还是2.9T。
接下来我们要扩展LVM物理卷和逻辑卷。
扩展 /dev/sda3 分区的LVM物理卷:
sudo pvresize /dev/sda3
我们要扩展的逻辑卷名为 centos-data,扩展逻辑卷:
sudo lvextend -l +100%FREE /dev/mapper/centos-data
根据文件系统类型,扩展文件系统。
输入 df -T 查看文件系统类型:
df -T
可以看到该文件系统类型是xfs:
如果分区使用的是 ext4 文件系统,运行以下命令:
sudo resize2fs /dev/sda1(目标文件系统)
如果分区使用的是 XFS 文件系统,运行以下命令:
sudo xfs_growfs /dev/sda1(目标文件系统)
这里我们要扩展的文件系统是 /dev/mapper/centos-data,运行以下命令:
sudo xfs_growfs /dev/mapper/centos-data
扩展的文件系统可能需要点时间,稍微等一下。
输入lsblk查看centos-data,显示扩容成功了。
lsblk
输入df -h查看/dev/mapper/centos-data,显示扩容成功了。
df -h