千家信息网

如何解决生产环境分布式文件系统崩了问题

发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要讲解了"如何解决生产环境分布式文件系统崩了问题",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何解决生产环境分布式文件系统崩了问题"吧!问
千家信息网最后更新 2025年11月11日如何解决生产环境分布式文件系统崩了问题

这篇文章主要讲解了"如何解决生产环境分布式文件系统崩了问题",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何解决生产环境分布式文件系统崩了问题"吧!

问题定位

通过登录服务器查看系统的访问日志,发现日志文件中输出了如下异常信息。

org.csource.common.MyException: getStoreStorage fail, errno code: 28  at org.csource.fastdfs.StorageClient.newWritableStorageConnection(StorageClient.java:1629)  at org.csource.fastdfs.StorageClient.do_upload_file(StorageClient.java:639)  at org.csource.fastdfs.StorageClient.upload_file(StorageClient.java:162)  at org.csource.fastdfs.StorageClient.upload_file(StorageClient.java:180)

很明显,是系统无法上传文件导致的问题,这个日志信息很重要,对问题的排查起到了至关重要的作用。

分析原因

既然是上传文件出现了问题,那我先试试能不能访问以前上传的文件呢?经过验证,以前上传的文件是可以访问的,再次验证了是上传文件的问题。

既然生产环境是使用的分布式文件系统,一般情况下是没啥问题的,上传文件出现了问题,大概率的事件是服务器磁盘空间不足了。那我就来顺着这个思路排查下问题。

于是乎,我使用df -h 查看服务器的存储空间使用率,已经达到91%了。

嗯,磁盘空间有可能是引起问题的原因。接下来,再来进一步确认下是否是磁盘空间造成的问题。

于是,我再打开/etc/fdfs/目录下的tracker.conf的配置,看到预留的存储空间为10%(注:这里的分布式文件系统使用的是FastDFS)。

看到这里,可以确定就是磁盘空间不足造成的无法上传文件的问题。

总体原因就是:服务器磁盘空间已使用91%,而在分布式文件系统的配置中预留的磁盘空间为10%,实际在上传文件的时候,系统已经检测到当前服务器剩余的磁盘空间不足10%,抛出异常,拒绝上传文件。

到此,问题出现的原因已经确定了,接下来就是要解决问题了。

解决问题

首先,有两种方式可以解决这个问题,一种就是删除不需要的文件;另一种就是扩容磁盘空间。

删除不需要的文件

这种方式慎用,这里,我也简单的介绍下这种方式。我给小伙伴们提供了几种递归删除的方式。

递归删除.pyc格式的文件。

find . -name '*.pyc' -exec rm -rf {} \;

打印当前文件夹下指定大小的文件

find . -name "*" -size 145800c -print

递归删除指定大小的文件(145800)

find . -name "*" -size 145800c -exec rm -rf {} \;

递归删除指定大小的文件,并打印出来

find . -name "*" -size 145800c -print -exec rm -rf {} \;

下面是对上述命令的一些简要说明。

  • "." 表示从当前目录开始递归查找

  • " -name '*.exe' "根据名称来查找,要查找所有以.exe结尾的文件夹或者文件

  • " -type f "查找的类型为文件

  • "-print" 输出查找的文件目录名

  • -size 145800c 指定文件的大小

  • -exec rm -rf {} \; 递归删除(前面查询出来的结果)

扩容磁盘空间

这里,冰河推荐使用这种方式,我修复生产环境的故障也是使用的这种方式。

通过查看服务器的磁盘空间发现,/data目录下的空间足足有5TB,呵呵,运维哥们为啥不把文件系统的数据存储目录指向/data目录呢。于是乎,我开始将文件系统的数据存储目录迁移到/data目录下,整个过程如下所示。

注意:这里,我就简单的模拟将 /opt/fastdfs_storage_data下的数据迁移至/data下。

(1)拷贝文件,迁移数据

cp -r /opt/fastdfs_storage_data  /data cp -r  /opt/fastdfs_storage  /data cp -r /opt/fastdfs_tracker /data

(2)修改路径

这里需要修改文件系统的 /etc/fdfs/storage.conf ,mod_fastdfs.conf ,client.conf,tracker.conf文件。

  • /etc/fdfs/storage.conf

store_path0=/data/fastdfs_storage_data  base_path=/data/fastdfs_storage
  • /etc/fdfs/mod_fastdfs.conf

store_path0=/data/fastdfs_storage_data  (有两处) base_path=/data/fastdfs_storage
  • /etc/fdfs/client.conf

base_path=/data/fastdfs_tracker
  • /etc/fdfs/tracker.conf

base_path=/data/fastdfs_tracker

重新建立 M00 至存储目录的符号连接:ln -s /data/fastdfs_storage_data/data /data/fastdfs_storage_data/data/M00

(3)杀掉进程, 重启存储服务 (追踪器和存储器)

依次执行以下命令

pkill -9 fdfs  service fdfs_trackerd start  service fdfs_storaged start

(4)修改文件的读取路径 nginx配置

location ~/group1/M00{  root /data/fastdfs_storage_data/data; }

(5)重启nginx

cd /opt/nginx/sbin ./nginx -s reload

感谢各位的阅读,以上就是"如何解决生产环境分布式文件系统崩了问题"的内容了,经过本文的学习后,相信大家对如何解决生产环境分布式文件系统崩了问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

文件 问题 系统 空间 磁盘 目录 分布式 存储 服务 环境 生产 就是 方式 服务器 递归 原因 大小 数据 日志 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机网络技术卢晓丽课件 网络安全知识手抄报 学生 如何连接redis服务器 作为大学生如何看待网络安全 软件开发英语要好吗 智慧城管软件开发电话 关系数据库中 主键是 数据库select语句视频讲解 网络数据库课程设计 服务器防火墙监控搭建 网络安全管理与安全设计方案 网络安全教育公开课的策划 传奇开双区需要什么配置的服务器 数据库应用与管理第二版习题答案 数据库原子级是什么意思 无线网络安全基础期末 山东省网络安全工程师 软件开发 共通设计 用什么软件开发威纶触摸屏 国家网络安全周开幕式主持词 ftp 服务器 端口 网安网络安全检查都应该检查什么 作为大学生如何看待网络安全 5G这一全新网络技术 中国国家网络安全会议 财新网络安全平台 岳阳楼记课件软件开发 软件开发网络兼职网 数据库与web技术 计算机科学技术和网络技术
0