如何增加分区大小(不使用LVM)而不删除并重新添加

我有/usr在一个单独的分区。 目前,这是服务器的设置:

 [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 4.9G 329M 4.6G 7% / devtmpfs 366M 0 366M 0% /dev tmpfs 372M 0 372M 0% /dev/shm tmpfs 372M 5.0M 367M 2% /run tmpfs 372M 0 372M 0% /sys/fs/cgroup /dev/sda5 997M 871M 127M 88% /usr /dev/sda1 9.8G 33M 9.8G 1% /home [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 9.8G 0 part /home ├─sda2 8:2 0 4.9G 0 part / ├─sda3 8:3 0 1.5G 0 part [SWAP] ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 1000M 0 part /usr sr0 11:0 1 1024M 0 rom 

而几分钟后运行yum update ,我遇到了以下错误:

  installing package swig-2.0.10-4.el7.x86_64 needs 397MB on the /usr filesystem installing package diffstat-1.57-4.el7.x86_64 needs 397MB on the /usr filesystem installing package rcs-5.9.0-5.el7.x86_64 needs 398MB on the /usr filesystem installing package byacc-1.9.20130304-3.el7.x86_64 needs 398MB on the /usr filesystem installing package ctags-5.8-13.el7.x86_64 needs 399MB on the /usr filesystem installing package indent-2.2.11-13.el7.x86_64 needs 399MB on the /usr filesystem Error Summary ------------- Disk Requirements: At least 399MB more space needed on the /usr filesystem. 

目前,我正在考虑缩小/home的大小,并将其分配给/usr (位于/dev/sda5 )。 由于这不是基于LVM的,所以我怎样才能减小/home的大小(比如说1G),并将其分配给/usr 而不删除任何分区?

它是非常困难的,以达到你想要的。

我不build议重新格式化,因为有办法打捞这个。

我将把/usr全部拷贝到/usr挂载的/

像这样的东西应该工作。 我没有testing过。

 mkdir /tmp/reroot mount /dev/sda2 /tmp/reroot cp -a /usr/. /tmp/reroot/usr/. vi /etc/fstab # edit fstab to remove /usr mount reboot 

你可以将一些内容从/ usr移动到/ home,然后将旧的位置软链接到新的位置。 例如,你可以移动yum数据文件夹,我已经在过去的某个服务器上做过。

您不能真正调整基本分区的大小,因为分区是通过磁盘的物理分区创build的,因此:

 sda 8:0 0 20G ├─sda1 8:1 0 9.8G 0 - 9.8G ├─sda2 8:2 0 4.9G 9.8G - 14,7G ├─sda3 8:3 0 1.5G 14,7G - 16,2G ├─sda4 8:4 0 1K 16,2G - 20G (LOGICAL PARTITION) └─sda5 8:5 0 1000M 16,2G(+1K) - 17,2G 

您只能将最后一个分区扩展到磁盘大小。

LVM使用了一个将数据碎片放在磁盘上的逻辑层(没有人工命令)。 然后可以收缩(免费数据)(需要脱机/卸载),并增加每个逻辑卷的数据(通过允许卷分配更多的物理碎片)

在你的情况下,你将不得不重新安排磁盘上的大部分数据。

我会build议备份,使用启动分区+ LVM重新格式化磁盘,并将系统恢复到新的布局。

分区必须连续放在光盘上,而且你的/home/usr不是连续的,你不能完成你提出的任务。 即使有的话,你也不得不把它们开始,这通常很难。

这取决于文件系统如何缩小(如果甚至可以)或扩展它,而没有任何输出显示您使用的是什么文件系统。

RHEL7 ,可以使用xfs_growfs(8)增长文件系统,不用说这是有风险的,在做这样的事情之前,确保你有备份..

我问了一年前的类似问题, @Michael Hampton回答说:

redhat – 如何增加XFS文件系统的大小? – 服务器故障