背景:我获得了对 Ubuntu 20.04 VPS 的 SSH 访问权限,该 VPS 具有 5G 的根分区(sda 总计 25G)。 VPS 提供商表示 Linux 管理员可以调整/dev/sda1
分区大小。
$ sudo fdisk -l && df -h
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: Virtual disk
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: 0xe1f10bb0
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 10483711 10481664 5G 83 Linux
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 394M 788K 393M 1% /run
/dev/sda1 4.9G 3.0G 1.7G 64% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
tmpfs 394M 0 394M 0% /run/user/1002
我需要调整/dev/sda1
通过/
SSH 安装的分区的大小。据我所知,这是不可能的。
这是不可能的吗?有可能吗?还是与 VPS 提供商的沟通存在错误?我通过第三方与他们联系。
答案1
您可以使用该growpart
实用程序调整分区大小以填充可用空间。growpart
需要磁盘设备和分区号作为单独的参数。因此,您可以/dev/sda1
通过以下方式调整分区大小:growpart /dev/sda 1
。请注意,空间是必需的。完成后,您可以调整文件系统的大小。
答案2
我经常在虚拟机上执行此操作,使用parted
和resize2fs
:
$ sudo parted /dev/sda
(parted) resizepart 1 100%
(parted) quit
$ sudo partprobe /dev/xvda
$ sudo resize2fs -p /dev/xvda1
显然,您需要在第一个分区之后在 sda 磁盘上留出可用空间。
partprobe
(附带parted
)是让内核重新读取分区表所必需的。
resize2fs
调整 ext* 文件系统的大小通常可以在线完成,但它只能增大文件系统。其他 Linux 文件系统将有其他调整大小命令;大多数只能在线增大,而不能缩小。
如果不确定,请使用before 和 afterprint
的命令。parted
resizepart