/dev/mapper/centos-root 100% 运行 CentO

/dev/mapper/centos-root 100% 运行 CentO

我们有一个托管我们的 docker 的虚拟机,但目前空间不足,我已经尝试了网上的所有方法,但还没有解决任何问题,它太满了,我什至无法运行yum autremove

系统类型是 XFS,我正在尝试解决此问题,而无需删除分区并创建另一个分区。如果我无法弄清楚,我的最后一个解决方案是从以前的虚拟机版本恢复映像。

如果我在描述这个问题和术语方面缺乏知识,我深表歉意,感谢任何帮助。

df -h显示如下

Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                  24G     0   24G   0% /dev
tmpfs                     24G     0   24G   0% /dev/shm
tmpfs                     24G   18M   24G   1% /run
tmpfs                     24G     0   24G   0% /sys/fs/cgroup
/dev/mapper/centos-root   39G   39G   20K 100% /
/dev/sda1               1014M  197M  818M  20% /boot
/dev/sdb1                4.0T  275G  3.5T   8% /data/prom_tsdb
/dev/mapper/centos-home   19G   33M   19G   1% /home
tmpfs                    4.8G     0  4.8G   0% /run/user/0

ls -la来自 /dev/mapper

total 0
drwxr-xr-x  2 root root     120 Feb 27 17:10 .
drwxr-xr-x 20 root root    3280 Feb 27 17:10 ..
lrwxrwxrwx  1 root root       7 Feb 27 17:10 centos-home -> ../dm-2
lrwxrwxrwx  1 root root       7 Feb 27 17:10 centos-root -> ../dm-0
lrwxrwxrwx  1 root root       7 Feb 27 17:10 centos-swap -> ../dm-1
crw-------  1 root root 10, 236 Feb 27 17:10 control

lsblk -f输出这个

NAME            FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda
├─sda1          xfs                         8f8242f9-7c24-4b84-a63e-bdf525dc1050   /boot
├─sda2          LVM2_member                 RoHLXd-Co1E-4UZ5-TeTD-JXx0-ySlG-hPjR7m
│ ├─centos-root xfs                         1329ba02-4819-43a6-b98c-64af4881b353   /
│ ├─centos-swap swap                        f9dfdb0b-1f24-45a9-939b-2ee49ace1461   [SWAP]
│ └─centos-home xfs                         33f236ac-07aa-4552-916c-1eb34d273fab   /home
└─sda3
sdb
└─sdb1          ext4                        c897a887-7bdc-4ba8-b134-f76a3e96efc4   /data/prom_tsdb
sr0             iso9660     CentOS 7 x86_64 2020-11-02-15-15-23-00

答案1

看起来可能/dev/sda3没用过。如果它实际上未使用并且足够大,可以使用,则可以将其添加到centosLVM 卷组(简称 VG)中,然后使用其容量来扩展/dev/mapper/centos-root.此外,如果sda3由于某种原因不可重用,但磁盘上有未分区的空间/dev/sda,那么现在是通过从未分区的空间创建新分区来使用它的好时机。

要验证,请使用lsblk不带该-f选项的选项,或fdisk -l /dev/sda

您可能必须先清理一点空间,以便 LVM 工具在每次操作之前成功进行 LVM 配置备份。在许多情况下,yum clean all通过清理包管理缓存可以很好地做到这一点。

yum clean all
pvcreate /dev/sda3
vgextend centos /dev/sda3
lvextend -r -L <new size> /dev/mapper/centos-root

/dev/mapper/centos-root所有这些都可以在安装和使用时完成。无需重新启动。

如果/dev/sda3不够大并且sda磁盘已完全分配(检查fdisk -l /dev/sda是否lsblk有该-f选项),那么您可能需要扩展sda虚拟磁盘。如何执行此操作取决于您使用的虚拟化主机。但完成此操作后,使用新容量还需要执行一些步骤。

首先,安装该cloud-utils-growpart软件包,因为growpart其中的命令使扩展分区虚拟磁盘变得非常容易。

sda使用lsblk或验证虚拟机的操作系统是否可以识别新增加的虚拟磁盘大小fdisk -l。如果没有,请运行echo 1 > /sys/block/sda/device/rescan并再次检查。

现在您可以扩展sda3以覆盖增加的空间:

growpart /dev/sda 3

(或者如果sda3被其他东西使用,则用于fdisk创建一个新分区sda4。验证是否lsblk可以看到它;如果没有,则用于partprobe /dev/sda重新扫描。)

如果您已经添加sda3centos卷组,请使用pvresize /dev/sda3让 LVM 知道分区的较大大小,然后lvextend将容量添加到文件系统,与上面相同。

相关内容