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

Hon*_*Liu 12 partition storage hard-drive centos

我目前的设置如下,/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 ~]# 
Run Code Online (Sandbox Code Playgroud)

Jor*_*ini 14

第一件事是检查您的卷组中是否有空闲区,为此,您将使用:

vgdisplay

这将返回有关 VG 的详细信息,您必须检查的重要行是声明Free PE / Size. 在那里您将看到可用于创建或扩展逻辑卷的大小。例如,在我的情况下,我有一个服务器说:

Free PE / Size           3834 / 14.98 GiB
Run Code Online (Sandbox Code Playgroud)

鉴于您有所需的可用空间,您应该使用:

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

在后一种情况下,我将逻辑卷扩展为 2GB。注意+,如果你只给出大小,它会变成指定的大小,我通常使用这种语法,因为它对你在卷组中可用的空间更加透明。

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

resize2fs /dev/mapper/centos-root

df再次运行以检查可用空间是否已更改。

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

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

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

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

pvcreate /dev/vdb1

获得 PV 后,扩展 VG(我不知道名称,我敢打赌centos,请检查您的 vgdisplay):

vgextend centos /dev/vdb1

TL; 博士

对于 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
  7. 查看: df -h | grep lv0

  • 谢谢兄弟,我花了一天时间寻找这个解决方案。高效、实用、完美。 (3认同)
  • 在 centos 上,我必须将 `resize2fs` 替换为 `xfs_growfs` 作为建议[那里](/sf/answers/1842419421/) (2认同)

har*_*gut 2

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