0

0

rsync 报 "no space left on device" 的目标磁盘 inode / 权限检查

冷漠man

冷漠man

发布时间:2026-02-13 14:03:09

|

294人浏览过

|

来源于php中文网

原创

rsync报“no space left on device”但df -h显示空间充足,大概率是inode耗尽或目标路径权限不足;需用df -i检查inode使用率,确认目标目录可写权限,并注意nfs、符号链接等特殊场景。

rsync 报 \

rsync 报 "no space left on device" 但 df -h 显示空间充足

这大概率不是磁盘容量耗尽,而是 inode 耗尽或目标路径权限不足。Linux 下每个文件(包括空文件、硬链接、目录)都占用一个 inode,df -h 只看 block 使用率,df -i 才看 inode 使用率。

实操建议:

  • 立刻运行 df -i /target/path,重点关注 Use% 列 —— 若接近或等于 100%,就是 inode 耗尽
  • 检查目标目录是否可写:ls -ld /target/path 看权限和 owner/group;再用 touch /target/path/test.$$ && rm /target/path/test.$$ 验证实际写入能力
  • 常见陷阱:目标是 NFS 挂载点时,df -i 可能不准确,需登录到 NFS 服务端查真实 inode 使用情况

rsync 写入失败时的权限相关错误特征

当 rsync 因权限问题卡在“no space left on device”时,典型伴随现象是:rsync: mkstemp “xxx” failed: Permission denied (13) 或静默失败后目标目录无新文件。这不是磁盘满,而是 rsync 默认用临时文件机制(.filename.XXXXXX)写入,再原子重命名 —— 这要求目标目录对运行用户有 w 权限,且父目录必须有 x(执行)权限才能进入。

实操建议:

  • 确认 rsync 进程运行用户(如非 root,常为普通用户或 www-data),再检查目标路径每一级的 ls -ld /path/to/target
  • 特别注意:若目标路径含符号链接,rsync 默认不跟随(--no-links),但权限检查仍按真实路径走;若链接指向不可写位置,也会触发该错
  • 绕过临时文件(不推荐长期用):rsync --inplace 直接覆盖原文件,省去 mkstemp 步骤 —— 但会丢失原子性,断电/中断可能导致损坏文件

小文件多导致 inode 快速耗尽的识别与清理

Web 缓存、日志归档、Git LFS 对象、PHP session 文件等场景下,百万级小文件极易吃光 inode。即使单个文件仅几 KB,inode 也照占不误。一旦 df -i 显示 100%,新建任何文件(包括 rsync 临时文件)都会失败。

简篇AI排版
简篇AI排版

AI排版工具,上传图文素材,秒出专业效果!

下载

实操建议:

  • 定位高 inode 占用目录:find /target -xdev -type d | while read d; do echo "$(find "$d" | wc -l) $d"; done | sort -nr | head -20
  • 常见元凶:/var/lib/php/sessions/tmp/var/log/journal(systemd-journald 日志)、.cache 子目录
  • 清理前先确认用途:du -sh /target/dir/* | sort -hr | head 看大小,find /target/dir -type f -mmin +1440 | wc -l 查 24 小时未访问文件

rsync 命令本身如何规避这类问题

不能指望 rsync 自动修复底层存储问题,但可以调整行为降低触发概率。关键不是加更多参数,而是理解哪些选项真正影响写入路径和临时文件策略。

实操建议:

  • 强制指定临时目录(最实用):rsync -av --temp-dir=/other/disk/tmp/ source/ target/,把临时文件甩到 inode 充足的分区
  • 禁用临时文件(仅限可信环境):--inplace + --no-whole-file 组合,避免创建 .filename.XXXXXX,但要注意中断风险
  • 跳过已存在且大小/时间戳一致的文件:--size-only--ignore-times,减少不必要的写入尝试
  • 不要用 --delete 在 inode 将满的盘上清理 —— 删除操作本身也要分配 inode(用于日志、journal 等),可能雪上加霜

真正麻烦的是那种 /var 分区既小又堆满 session 文件还跑着 rsync 的老系统 —— inode 耗尽后连 rm 都可能失败,得先腾出几十个 inode 才能开始清理。这种时候,别急着敲 rsync,先 find /var/lib/php/sessions -name 'sess_*' -mmin +60 -delete 试两秒,比调参数管用。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

399

2023.09.04

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

102

2023.09.25

session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

325

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

772

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

96

2025.08.19

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

412

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

587

2023.08.10

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

287

2023.11.13

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

8

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 7万人学习

前端基础到实战(HTML5+CSS3+ES6+NPM)
前端基础到实战(HTML5+CSS3+ES6+NPM)

共162课时 | 19.9万人学习

第二十二期_前端开发
第二十二期_前端开发

共119课时 | 12.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号