我有/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
没有删除任一分区?
答案1
实现你的愿望极其困难。
我不建议重新格式化,因为有办法可以挽救它。
我会将/usr
其全部内容复制到/usr
已安装的目录中/
。
类似这样的方法应该可行。我还没有测试过。
mkdir /tmp/reroot
mount /dev/sda2 /tmp/reroot
cp -a /usr/. /tmp/reroot/usr/.
vi /etc/fstab # edit fstab to remove /usr mount
reboot
答案2
您可以使用 cp 将一些内容从 /usr 移动到 /home,然后将旧位置软链接到新位置。例如,您可以移动 yum 数据文件夹,我之前已经在某台服务器上这样做了。
答案3
您实际上无法调整基本分区的大小,因为分区是通过磁盘的物理切片创建的,因此:
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 使用逻辑层将数据碎片放在磁盘上(无需人工排序)。然后可以缩小(释放数据)(需要脱机/卸载)和增加每个逻辑卷的数据(只需允许卷分配更多物理碎片)
对于您来说,您必须重新排列磁盘上的大部分数据。
我建议备份,使用启动分区 + LVM 重新格式化磁盘,然后将系统恢复到新的布局上。
答案4
使用RHEL7
,人们可以使用来扩大文件系统xfs_growfs(8)
,不用说这是有风险的,并且在做任何类似的事情之前,请确保您有备份。
我大约一年前问过类似的问题并@Michael Hampton
回答: