【超详细保姆级】解决Linux服务器根目录空间不足

服务器 0

本文关于根目录空间不足的四个方法,如果没有LVM格式的情况下,可以通过软链接进行;如果有LVM推荐减少其他分区空间来扩充根目录,或者通过增加硬盘的方式。如果不能增加硬盘,且其他分区也没有空间,可以考虑清空空间。

方法一:软链接(没有用LVM的情况下)

如果没有LVM可以用linux运用软链接解决目录空间不足

假设系统只有一个/分区。另加一块硬盘也只有一个分区,挂载在/new目录中

/中的/usr和/home占用空间最多,想把这两个目录内容都转移到新硬盘中,但又不想挂载两个分区,可以用软链接。

就是用root身份登录,不启动其他程序,把/usr和/home移动到/new中。然后在/中建立两个软链接。

cd /

mv /usr /new

如果正在运行的进程目录,需要先停止再迁移

mv /home /new

ln -s /new/usr /usr

ln -s /new/home /home

这样,/usr和/home目录中的文件就都移到新硬盘中了,但是不会占用原来根目录的空间。 

如果有LVM,看下面方法

du -sk ./* | sort -n 查看系统中文件,按大小排序

df -lh查看内存  

vgdisplay 查看未分配内存

方法二:减少其他挂载空间,再给根目录扩容(推荐)

减少到4G,而不是减少4G

lvextend -L -4G /dev/mapper/rhel-ptc

或减少4G

lvreduce -L -4G /dev/mapper/rhel-home

增加35G内存

lvextend -L +35G /dev/mapper/rhel-ptc

将剩下的空闲空间都加到此卷下

lvextend -l +100%FREE /dev/centos/newlv

生效新分配的内存或减少的

xfs_growfs /dev/mapper/rhel-ptc 

Xfs是CentOS7.0的默认文件系统类型,而不同文件系统类型对应的创建、检查、调整命令不同,要注意区分。

调整Xfs分区大小(xfs格式分区只能增大,不能缩减,ext格式可以增大和缩减)

lvextend -L 120G /dev/mapper/centos-root  # 增大至120G

lvextend -L +20G /dev/mapper/centos-root  # 增加20G

xfs_growfs /dev/mapper/centos-root        # 执行调整

注:ext2/ext3/ext4的调整命令是resize2fs,如下:

lvextend -L 120G /dev/mapper/centos-root  # 增大至120G

lvextend -L +20G /dev/mapper/centos-root  # 增加20G

lvreduce -L 50G /dev/mapper/centos-home   # 减小至50G

lvreduce -L -8G /dev/mapper/centos-home   # 减小8G

#调整一次执行一次,不要连续加减再一起执行

resize2fs /dev/mapper/centos-root         # 执行调整

修复命令:

xfs_repair   /dev/sdb1

注:以下分别是Jfs, Ext2, Ext3的修复命令:

fsck.jfs  -y /dev/sdb1

fsck.ext2 -y /dev/sdb1

fsck.ext3 -y /dev/sdb1

调整中遇到的问题:

1、对Xfs文件系统使用mke2fs命令后变为ext2,需要修改文件/etc/fstab中对应的文件系统类型

2、不同文件系统类型对应的创建、检查、调整命令不同,要注意区分

确认文件系统是xfs, xfs文件系统的调整命令是xfs_growfs(只支持增大)

df -TH 查看文件类型

LVM扩容出错

方法二:减少交换空间,给根目录扩容(不推荐)

free 查看交换空间大小

swapoff swapfile

//swapoff -a 

方法三:增加硬盘(推荐)

1.把/home内容备份

tar cvf /tmp/home.tar   /home       #备份/home

2.然后将/home文件系统所在的逻辑卷删除

umount /home              #卸载/home,如果无法卸载,先终止使用/home文件系统的进程

lvremove /dev/centos/home #删除/home所在的

3.扩大/root文件系统

lvextend -L +50G /dev/centos/root    #扩展/root所在的lv,增加50G

xfs_growfs /dev/centos/roo

4.新建/home

lvcreate -L 56G -n home centos     #重新创建home lv

mkfs.xfs /dev/centos/home          #创建文件系统

mount /dev/centos/home /home

5.查看

df -h

Linux下对lvm逻辑卷分区大小的调整(针对xfs和ext4不同文件系统)Linux下对lvm逻辑卷分区大小的调整(针对xfs和ext4不同文件系统)icon-default.png?t=N7T8http://www.360doc.com/content/17/0614/16/41572081_663088254.shtml

分区错误问题,重新分区

删除home 分配为data目录,且root目录分配太少

fuser -km /home/

umount /home

lvdisplay

lvremove /dev/centos/home

lvcreate -L 500G -n data centos

mkfs.ext4 /dev/centos/data        #创建文件系统

mkdir /data

mount /dev/centos/data /data

lvextend  -l +100%FREE /dev/centos/root 将剩下的空闲空间都加到此卷

xfs_growfs /dev/centos/root

也许您对下面的内容还感兴趣: