前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >“设备上没有剩余空间” 导致登录不上 SSH 的解决方法

“设备上没有剩余空间” 导致登录不上 SSH 的解决方法

作者头像
饶文津
发布2021-03-02 10:38:49
2.6K0
发布2021-03-02 10:38:49
举报
文章被收录于专栏:饶文津的专栏饶文津的专栏

最近给自己的服务器添加了新的电脑的 SSH 权限,但是新电脑上反复尝试都不能 ssh 上服务器。然而通过旧电脑却可以登录上去。没想到竟是因为设备上没有 inode 了。

inode 是什么呢?

一般 UNIX 操作系统上的每个目录、文件都会有一个“元信息”,存储了文件名、创建者、创建时间等等信息。而 inode 就是存储“元信息”的数据结构,这个 i 就是 index 的意思。 因为 inode 本身也要存在硬盘里,所以也占一定的空间。

使用 df 命令解决“设备上没有剩余空间”的报错

登录到服务器上后,看到了“设备上没有剩余空间”的报错,touch 一个新文件也报这个错,rm 删除东西时就一直卡住了。这个时候就可以通过

代码语言:javascript
复制
df -h

命令查一下空间使用情况,如果是空间使用满了,就用

代码语言:javascript
复制
du -sh

命令来查找大文件,删除无用的文件来腾空间。

然后用

代码语言:javascript
复制
df -i

命令来查看 inode 的使用情况,大概长这个样子:

代码语言:javascript
复制
文件系统    Inode  已用(I)  可用(I) 已用(I)% 挂载点
/dev/vda1  3276800  123327 3153473  4% /

如果发现已用%已达100%,那么就有必要看看什么导致了那么多 inode 的占用。

我这次通过 du -sh 查找到 docker 相关的目录占了很多空间,而 docker 本身却打不开,所以先删掉了也占很大空间的/var/log/ 下的文件,其中 maillog 居然有上 G 大小,tail 了一下发现有好多 “设备上没有剩余空间” 的日志。以及删除了大量的博客备份文件。然后就可以 systemctl start docker了。

之后我用了

代码语言:javascript
复制
docker volume prune

果然开始了长时间的清理工作,最后成功把 inode 的使用率从 100% 下降到 4%。 其实如果平时执行 docker run 时注意加上 --rm,运行完就会自动清理容器的 volume。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • inode 是什么呢?
  • 使用 df 命令解决“设备上没有剩余空间”的报错
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档