如何增加 /dev/mapper/centos-root 的大小?

如何增加 /dev/mapper/centos-root 的大小?

我当前的设置如下,其中/dev/mapper/centos-root分区几乎已满。

看起来这个分区在磁盘上/dev/mapper/centos-root。但是还有另一个磁盘/dev/vda,它仍然有足够的可用空间

这两个磁盘是独立的物理磁盘吗?

如何增加 /dev/mapper/centos-root分区?

[root@devbox ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   18G   17G  1.4G  93% /
devtmpfs                 3.9G     0  3.9G   0% /dev
tmpfs                    3.9G   48M  3.8G   2% /dev/shm
tmpfs                    3.9G   74M  3.8G   2% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/vda1                497M  297M  201M  60% /boot
tmpfs                    783M   48K  783M   1% /run/user/1001

[root@devbox ~]# fdisk -l

Disk /dev/vda: 85.9 GB, 85899345920 bytes, 167772160 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
Disk label type: dos
Disk identifier: 0x0001ec6a

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     1026047      512000   83  Linux
/dev/vda2         1026048    41943039    20458496   8e  Linux LVM
/dev/vda3        41943040    52428799     5242880   8e  Linux LVM

Disk /dev/mapper/centos-root: 18.8 GB, 18756927488 bytes, 36634624 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


Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 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

[root@devbox ~]# 

答案1

首先要检查您的卷组中是否有可用的范围,为此,您将使用:

vgdisplay

这将返回有关 VG 的详细信息,您必须检查的重要行是显示的内容Free PE / Size。您将在那里看到可用于创建或扩展逻辑卷的大小。例如,在我的例子中,我有一台服务器,它显示:

Free PE / Size           3834 / 14.98 GiB

假设您具有所需的可用空间,您应该使用:

lvextend /dev/mapper/centos-root -L +2G

在后一种情况下,我将扩展逻辑卷,增加 2GB。请注意+,如果您仅提供大小,它将达到指定的大小,我通常使用此语法,因为它对卷组中可用的空间更透明。

成功扩展卷后(使用 检查lvscan),您必须扩展文件系统,您可以使用:

resize2fs /dev/mapper/centos-root

正如@tinmarino 和@y-melo 在评论中提到的那样。上面的命令仅适用于 ext2、ext3 和 ext4。对于 xfs,您应该使用xfs_growfs /dev/mapper/centos-root

再次运行df,检查可用空间是否发生变化。

如果 VG 中没有空间怎么办?

您必须先扩展卷组才能扩展逻辑卷。为此,您必须添加一个新磁盘。由于磁盘的大小,我假设 CentOS 盒是一个虚拟机,但当然这也可以在物理服务器上完成,只是您必须物理添加一个磁盘。

一旦服务器上有了磁盘,您就必须创建一个 LVM 物理卷 (PV),这可以在分区上甚至磁盘上创建,我不知道在磁盘上执行此操作的优点,但根据我的经验,我发现它很令人困惑,因为您将无法看到分区表,所以我建议先创建一个分区。

要在磁盘“/dev/vdb”分区 1 上创建 PV,请执行以下操作:

pvcreate /dev/vdb1

一旦您有了 PV,就扩展 VG(我不知道名字,但我敢打赌它是centos,请检查您的 vgdisplay):

vgextend centos /dev/vdb1

总结

对于 VG: vg0、LV:lv0和新磁盘/dev/sdb。扩展5GB

  1. 检查 VG 上的可用空间:vgdisplay。如果足够,请转到 4
  2. 如果没有空间,请添加磁盘并创建 PV:pvcreate /dev/sdb1
  3. 扩展 VG:vgextend vg0 /dev/sdb1
  4. 扩展 LV:lvextend /dev/vg0/lv0 -L +5G
  5. 查看:lvscan
  6. 调整文件系统大小:(resize2fs /dev/vg0/lv0或 xfs_growfs /dev/vg0/lv0)
  7. 查看:df -h | grep lv0

答案2

如果您有空闲的范围,这可以很容易地判断您的输出,那么lvextendxfs_growfsresize2fs可能是您正在寻找的命令。

答案3

我知道它有点旧,但是对我来说,这是占用空间的 mysql 二进制日志。

以 mysql root 身份运行

PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 3 DAY) + INTERVAL 0 SECOND;

这清理了我的大部分空间,回到了大约 20%

相关内容