挂载OBS失败
用户在挂载OBS时可能会遇到的不同现象,本章节总结了常见挂载OBS失败的可能原因及解决办法。
挂载OBS时出现“The specified bucket does not exist”类似错误
问题定位:
需要挂载并行文件系统不存在。
解决办法:
创建一个并行文件系统后再重新挂载。创建的方法参见创建并行文件系统。
挂载并行文件系统时出现“file system not support this request: this bucket not support filesystem”类似错误
问题定位:
挂载的桶不是并行文件系统。
解决办法:
创建一个并行文件系统后再重新挂载。创建的方法参见创建并行文件系统。
挂载OBS时出现“The request signature we calculated does not match the signature you provided. Check your key and signing method.”类似错误
问题定位:
鉴权失败,访问密钥(AK和SK)配置不正确。
解决办法:
检查密钥文件中的AK和SK信息是否配置正确。检查方法可参照初始化obsfs章节中的步骤3。
挂载OBS时出现“specified passwd_file is not readable”类似错误
问题定位:
passwd_file配置的密钥文件路径不正确。
解决办法:
检查passwd_file挂载参数配置的密钥文件路径是否配置正确、密钥文件是否不存在、当前用户是否无读取权限、路径是否包含软链接等,请参照初始化obsfs章节中的3进行排查处理。
挂载OBS时出现“unable to access MOUNTPOINT /obsfs: Transport endpoint is not connected”类似错误
问题定位:
挂载路径已被另一个obsfs挂载进程占用,或FUSE内核模块运行不正常。
- 可能是obsfs进程已经崩溃但挂载点残留 ,通过fusermount -u /mnt/obs 后重新挂载看是否成功;
- 可能是FUSE内核模块未加载;
- 可能是/dev/FUSE不存在。
解决办法:
使用df命令,查看当前已挂载分区及路径,选择一个未被占用的路径重新挂载。检查之前请确保进程挂载的挂载点已正常清理、检查FUSE依赖已正确安装。
挂载OBS时出现“unable to access MOUNTPOINT /mnt/obsfs: No such file or directory”类似错误
问题定位:
挂载目录未创建。
解决办法:
使用mkdir创建该目录,或替换一个已存在的目录。
挂载OBS时出现“obsfs: Accesskey, secretekey and token(optional) should be encrypted before mounting.”类似错误
问题定位:
新版本不再提供明文访问密钥挂载方式。
解决办法:
需要先对访问密钥进行加密,再进行挂载。
挂载OBS时出现“device not found”类似错误
问题定位:
- 没有启动fuse组件导致报错失败。
- 在docker容器场景下,没有--privileged参数导致无法挂载。
解决办法:
- 系统缺少fuse组件,可以执行find / -name libfuse.so*命令查看是否有安装此组件,没有安装请安装fuse组件,详见配置运行环境。
- 在docker容器场景下,需要在docker run命令添加--privileged参数,没有--privileged会导致无法挂载。
挂载OBS时出现“The difference between the request time and the current time is too large.”类似错误
问题定位:
当前系统时间与存储服务器时间相差过大,导致请求鉴权失败。
解决办法:
校准当前系统时间。
挂载OBS时出现“credentials file should not have others/group permissions.”类似错误
问题定位:
密钥文件权限不为600。
解决办法:
通过chmod将密钥文件权限修改为600即可解决。
挂载OBS时出现“Check bucket failed.”类似错误
问题定位:
如果日志中有curl code,则根据curl code进行问题查询,此code遵循libcurl的错误码规范(例如curl code 6 表示DNS查询不通或者endpoint的URL配置错误、curl code 7 表示网络不通或者防火墙拦截、curl code 60 表示SSL证书验证失败等)。
解决办法:
通过chmod将密钥文件权限修改为600即可解决。