ossfs 2.0常见问题

更新时间:2025-03-25 05:39:14

本文为您介绍在使用ossfs 2.0时遇到的常见问题及其解决方案。

通用说明

ossfs 2.0报错信息中均含有HTTP请求的报错信息。排查问题时,可以根据日志中对应的HTTP响应状态码4**5**等,结合OSS所返回的message排查对应问题。

挂载问题

挂载报错ERROR: failed to mount ossfs2, see more details in log file

问题分析:该问题为通用报错,具体信息需要去日志中查看对应报错。常见错误主要是权限或配置参数有误导致的。例如:

image.png

您所使用的Accesskey(访问密钥)不具有该bucket的访问权限,请确认您的Accesskey(访问密钥)是否具备访问权限,同时确保您的Bucket名称配置正确。

image.png

您配置的Accesskey(访问密钥)参数有误。

image.png

解决方案:根据日志中的对应报错信息,修改正确后重新挂载。

挂载报错MOUNTPOINT: Directory does not exist: /mnt/ossfs2

问题分析:未创建该目录导致。

解决方案:先创建对应的目录,之后再进行挂载操作。

挂载报错MOUNTPOINT: directory /mnt/ossfs2 is not empty.

问题分析:要挂载的目标文件夹非空,ossfs 2.0要求挂载文件夹必须为空文件夹。

解决方案:排查该文件夹是否已经挂载其他文件系统,若已经挂载其他文件系统可以尝试使用umount命令先卸载对应文件系统,若未挂载其他文件系统,请排查该文件夹下是否有残留文件。也可以切换到其他空目录进行挂载。

挂载报错version `FUSE_3.12' not found

问题分析:安装文件缺失导致ossfs 2.0尝试使用系统安装的libfuse库但版本过低。

解决方案:卸载对应的安装包重新安装。

读写问题

写入文件报错File too large

问题分析:ossfs 2.0默认配置part大小为8 MiB,最大支持78.125 GiB的文件。当您写入的文件大小超过这个限制时会遇到该报错。

解决方案:挂载Bucket时,通过配置upload_buffer_size选项来增加最大支持的文件大小。请注意配置upload_buffer_size意味着需要更多的内存资源,调整前请确保您所使用的机器内存规格足够。

在挂载点下运行git clone运行失败(读取文件报错非预期的No such file or directory)

问题分析:ossfs 2.0默认不支持对同一个文件同时进行写入和读取,对正在写入的文件进行读取操作可能读到旧的数据或读取报错。git clone命令存在边写边读的访问模式,您可以在日志中找到如下报错信息:

image.png

其中errno 2Linux错误码ENOENT,说明这个文件的数据没有被正确读取到。如果您遇到其他应用读取报错,可以先查看日志中是否有类似报错信息。在读取数据时无法返回文件不存在,则有可能是应用写入的文件还没有关闭导致文件没有上传到OSS中所导致。

解决方案:避免使用相关命令,可以git clone到本地磁盘上再使用cp命令拷贝到挂载点中。

并发写入同一个文件写入报错Device or resource busy

问题分析:ossfs 2.0某个文件同一时间被多次打开时,仅有一个文件句柄支持顺序写入,后续的其他文件句柄写入会报错。报错信息如下:

image.png

解决方案:避免并发写入同一个文件,ossfs 2.0针对顺序写入进行了性能优化,单线程已经具有比较好的吞吐性能。

其他问题

卸载时报错umount: /mnt/ossfs2: target is busy.

问题分析:有进程正在访问挂载目录/mnt/ossfs2下的文件,所以无法卸载。

解决方案:

  1. 使用lsof /mnt/ossfs2找出访问该目录的进程。

  2. 停止该进程访问。

  3. 重新卸载。

  • 本页导读 (1)
  • 通用说明
  • 挂载问题
  • 挂载报错ERROR: failed to mount ossfs2, see more details in log file
  • 挂载报错MOUNTPOINT: Directory does not exist: /mnt/ossfs2
  • 挂载报错MOUNTPOINT: directory /mnt/ossfs2 is not empty.
  • 挂载报错version `FUSE_3.12' not found
  • 读写问题
  • 写入文件报错File too large
  • 在挂载点下运行git clone运行失败(读取文件报错非预期的No such file or directory)
  • 并发写入同一个文件写入报错Device or resource busy
  • 其他问题
  • 卸载时报错umount: /mnt/ossfs2: target is busy.