是否可以通过 ssh 调整已挂载分区的大小?

是否可以通过 ssh 调整已挂载分区的大小?

背景:我获得了对 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

我经常在虚拟机上执行此操作,使用partedresize2fs

$ 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的命令。partedresizepart

相关内容