故障诊断和分析

错误日志

在挂载的时候,可以用 --log=<log_path> 参数指定日志储存路径。在没有附上该参数时,日志默认以纯文本方式写入 /var/log/juicefs.log 文件。

该日志文件使用 glog 库生成,一共有 4 种日志等级,可以配合 grep 命令过滤不同等级日志做性能分析或者故障诊断:

  1. $ cat /var/log/juicefs.log | grep '<INFO>'
  2. $ cat /var/log/juicefs.log | grep '<WARNING>'
  3. $ cat /var/log/juicefs.log | grep '<ERROR>'
  4. $ cat /var/log/juicefs.log | grep '<FATAL>'

挂载目录下的 .oplog 虚拟文件

JuiceFS 在每个挂载点的根目录下提供了文件名为 .oplog.ophistory 的纯文本格式虚拟文件,记录了实时的文件系统访问日志。

  • .oplog 输出实时的操作日志
  • .ophistory 还包含了从启动日志服务以来的全部历史日志信息

直接分析该日志文件会比较困难,可以使用我们提供的 juicefs profile 工具(详细的用法请参考 命令参考中的详细介绍 )。

挂载目录下的 .stats 虚拟文件

JuiceFS 在每个挂载点的根目录下提供了一个文件名为 .stats 的纯文本格式虚拟文件,记录了实时的统计数据。在进行故障诊断和分析的时候,查看这个文件里面的统计数据将会非常有帮助。在此假设要进行故障诊断和分析的文件系统挂载点为 /jfs,下面是查看一些有帮助的信息:

查看 CPU 和内存占用:

  1. $ cat /jfs/.stats | grep usage

查看运行时间:

  1. $ cat /jfs/.stats | grep uptime

查看对象存储的各项操作请求计数:

  1. $ cat /jfs/.stats | grep object

查看对象存储读写数据量:

  1. $ cat /jfs/.stats | grep _bytes