增加 Debian GNU/Linux 10 上 var 分区的空间(buster)

增加 Debian GNU/Linux 10 上 var 分区的空间(buster)

我在我的计算机上运行 docker 容器,将所有内容都放在 /var/ 中。DF 显示 /var/ 为 6.9G,没有可用空间。Linux 系统在 VMWare 下运行,我在 VMWare 控制台中为服务器提供了额外的 100 GB。如何在不重新启动服务器的情况下增加 Linux VM 中的“/var”?

root@TB-IOT02:/var# df -a | grep sda
/dev/sda1       19276020 4530700  13743080  25% /
/dev/sda5        6722700 6706316         0 100% /var
/dev/sda7        1182728    3748   1100852   1% /tmp
/dev/sda8       74238884   65640  70359052   1% /home

root@TB-IOT02:~# fdisk --list
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 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: 0x0b21c5c6

Device     Boot    Start       End   Sectors  Size Id Type
/dev/sda1  *        2048  39436287  39434240 18.8G 83 Linux
/dev/sda2       39438334 209713151 170274818 81.2G  5 Extended
/dev/sda5       39438336  53231615  13793280  6.6G 83 Linux
/dev/sda6       53233664  55326719   2093056 1022M 82 Linux swap / Solaris
/dev/sda7       55328768  57798655   2469888  1.2G 83 Linux
/dev/sda8       57800704 209713151 151912448 72.4G 83 Linux

谢谢

答案1

/var由于服务器使用传统的分区方案,因此如果不重新启动服务器则无法扩展分区。

如果我是你,我会创建一个新的文件系统,并将其挂载到 Docker 包含其文件的目录中。

根据您添加空间的方式,有两个选项:

  1. 如果你增加了现有虚拟磁盘 1.1 的大小。用于fdisk创建/dev/sda9分区 1.2。用于mke2fs /dev/sda9创建文件系统

  2. 如果您向虚拟机添加了新的虚拟磁盘 2.1. 用于fdisk在新设备上创建分区 2.2. 用于mke2fs创建文件系统

然后,执行以下步骤:

  1. 运行mount /dev/sda9 /mnt挂载新的文件系统

  2. 停止 Docker

  3. 跑步mv /var/lib/docker/* /mnt

  4. 跑步umount /mnt

  5. 将以下行添加到/etc/fstab

    /dev/sda9 /var/lib/docker ext4 relatime 0 1

  6. 通过执行挂载新文件系统mount /var/lib/docker

  7. 启动 Docker

替换/dev/sda9为上述说明中添加的虚拟磁盘的分区名称。

此后,Docker 文件将位于添加的空间上的新文件系统中。

答案2

Tero 的回答是正确的。但是,如果您要关闭虚拟机,则可以添加实时可扩展磁盘,这样以后就无需因同样的原因再次关闭它。

您可以实时扩展 ESXi(或其他虚拟机管理程序)上的 Linux VM 磁盘。但前提是:

  1. 使用 LVM(逻辑卷管理器)。

或者(更奇特,但最终更简单,而且有效)

  1. 没有分区,也就是没有fdisk,直接格式化磁盘。例如mkfs.ext4 /dev/sdb,不是mkfs.ext4 /dev/sdb1通常的做法。这是完全可能的。

因此,使用上述任一方法添加新磁盘,将其分配给类似 的磁盘/vartemp,将所有文件从/var复制到/vartemp,然后删除对 的/var更改,然后就可以了。现在可以实时扩展磁盘。/vartemp/var/var

相关内容