我当前的设置如下,其中/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
- 检查 VG 上的可用空间:
vgdisplay
。如果足够,请转到 4 - 如果没有空间,请添加磁盘并创建 PV:
pvcreate /dev/sdb1
- 扩展 VG:
vgextend vg0 /dev/sdb1
- 扩展 LV:
lvextend /dev/vg0/lv0 -L +5G
- 查看:
lvscan
- 调整文件系统大小:(
resize2fs /dev/vg0/lv0
或 xfs_growfs /dev/vg0/lv0) - 查看:
df -h | grep lv0
答案2
如果您有空闲的范围,这可以很容易地判断您的输出,那么lvextend
和xfs_growfs
或resize2fs
可能是您正在寻找的命令。
答案3
我知道它有点旧,但是对我来说,这是占用空间的 mysql 二进制日志。
以 mysql root 身份运行
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 3 DAY) + INTERVAL 0 SECOND;
这清理了我的大部分空间,回到了大约 20%