我希望有人能在这里帮助我。我的 CentOS 8 中有以下分区,它是托管在 hyper-v 2012 中的 VM。
[root@appliance ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 8.5M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda2 4.0G 997M 3.1G 25% /
/dev/sda1 488M 80M 373M 18% /boot
/dev/sda3 1014M 40M 975M 4% /tmp
/dev/sda5 4.5G 4.5G 20K 100% /var/lib/mysql
tmpfs 787M 0 787M 0% /run/user/0
MYSQL 已停止,因为磁盘已满 100%。我已通过 hyper-v 为虚拟磁盘添加了更多存储空间。已将其扩展到 30GB。
[root@appliance ~]# parted -l /dev/sda
Model: Msft Virtual Disk (scsi)
Disk /dev/sda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 538MB 537MB primary ext4 boot
2 538MB 4833MB 4295MB primary xfs
3 4833MB 5907MB 1074MB primary xfs
4 5907MB 10.7GB 4831MB extended
5 5908MB 10.7GB 4830MB logical xfs
但是我不太清楚如何扩展 MYSQL 分区以提供我已添加到磁盘的额外空间。我尝试过按照网上的几篇文章操作,但到目前为止还没有成功。如果有人能在这里帮助我,我将不胜感激。
fdisk -l 的输出也如下所示。
[root@appliance ~]# fdisk -l
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 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
Disklabel type: dos
Disk identifier: 0xf8386911
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1050623 1048576 512M 83 Linux
/dev/sda2 1050624 9439231 8388608 4G 83 Linux
/dev/sda3 9439232 11536383 2097152 1G 83 Linux
/dev/sda4 11536384 20971519 9435136 4.5G 5 Extended
/dev/sda5 11538432 20971519 9433088 4.5G 83 Linux
谢谢。
答案1
首先,在进行任何更改之前,请对虚拟机进行备份或快照,因为任何分区修改都有可能对磁盘造成损害。
您正在寻找的是growpart
。
growpart /dev/sda 4
填充磁盘的剩余部分,然后通过相同的命令(growpart /dev/sda 5
)增加 sda5 的大小,如果您希望它填充整个 sda4。
如果您只希望它填充一部分,sda4
则使用parted resizepart number end
。Number 是分区号,end 是最终的、较大的分区大小。
扩展 sda5 分区后,你需要使用以下命令增加文件系统大小xfs_growfs /var/lib/mysql