服务器磁盘不足是一个运维系统中很常见的问题,我们应该很了解。
- 早上需要安装
PG
的数据库,安装之后发现使用客户端命令无法启用,提示信息显示磁盘空间已经满了且无法启动服务。这才通过df
命令查看,原来真的是根目录100%
了,怪不得无法启动服务了。磁盘信息,大致如下所示:
[root@iZ2ze6s4n0kaabcdmehkiZ opt]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 41151808 6430640 6430600 100% /
devtmpfs 8124320 0 8124320 0% /dev
tmpfs 8133712 0 8133712 0% /dev/shm
tmpfs 8133712 508 8133204 1% /run
tmpfs 8133712 0 8133712 0% /sys/fs/cgroup
tmpfs 1626744 0 1626744 0% /run/user/0
- 因为毕竟是物理机器,所有没办法像虚拟机那样子进行磁盘的扩充。查了一下,服务器是否还有多余的磁盘没有被使用,结果还真的发现真的有,而且还不小,足足
268G
。磁盘信息,大致如下所示:
[root@iZ2ze6s4n0kaabcdmehkiZ opt]# fdisk -l
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 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: 0x000d2717
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83884031 41940992 83 Linux
Disk /dev/vdb: 268.4 GB, 268435456000 bytes, 524288000 sectors
Units = sectors of 1 * 512 = 512 bytes
- 但是还有一个问题,一直让我很是疑问,那就是这个服务器没有做类似于虚拟磁盘系统,如
LVM
等。所有要对根目录进行扩充,还真不知道怎么办好?后来,问一个一个同事,用笨办法:把根目录下大的/opt
目录移到被的服务器上,然后挂载vdb
到/opt
下面,重新移动到该磁盘上。
# 格式化磁盘
[root@iZ2ze6s4n0kaabcdmehkiZ opt]# fdisk /dev/vdb
# 格式化分区
[root@iZ2ze6s4n0kaabcdmehkiZ opt]# mkfs.ext4 /dev/vdb
# 挂载磁盘
[root@iZ2ze6s4n0kaabcdmehkiZ opt]# mount /dev/vdb /opt
- 这样,根的空间一下子就释放了,但是还是感觉这种方法太过于笨了,不知道有没有什么个好的方法。如果各位大佬知道的话,可以在评论区里给我留言哈,哈哈。