1.简介
s3fs允许Linux和macOS通过FUSE挂载ceph rgw bucket,s3fs保留文件原来的对象格式。本文简要测试在Centos下挂载ceph rgw bucket。
2.环境配置信息说明
ceph版本:Nautilus 14.2.8
操作系统信息:Centos7
3.配置实测
3.1 安装s3fs-fuse
sudo yum install epel-release
sudo yum install s3fs-fuse
3.2配置s3fs密钥文件
命令:
echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs
ACCESS_KEY_ID:测试bucket用户的access_key
SECRET_ACCESS_KEY:测试bucket用户的secret_key
例如:用户test的access_key为123456,secret_key为654321,则:
[root@node44 s3fs]# echo 123456:654321 > ~/.passwd-s3fs
[root@node44 s3fs]# cat /root/.passwd-s3fs
123456:654321
[root@node44 s3fs]# chmod 600 ~/.passwd-s3fs
3.3挂载bucket
命令:
s3fs <bucketname> <mountpoint> -o passwd_file=${HOME}/.passwd-s3fs -o url=http://url:7480 -o use_path_request_style
<bucketname>:替换实践需要挂载的桶名
<mountpoint>:替换挂载点
例如:将test用户的testbucket挂载到/root/mnt_s3fs下,则:
s3fs testbucket /root/mnt_s3fs/ -o passwd_file=~/.passwd-s3fs -o url=http://10.0.9.44:7480 -o use_path_request_style
查看挂载是否成功:
[root@node44 ~]# df | grep s3fs
s3fs 274877906944 0 274877906944 0% /root/mnt_s3fs
[root@node44 ~]#
3.4简要测试
测试写入:
4.s3fs特性
兼容POSIX的较大子集,包括读/写文件,目录,符号链接,模式,uid / gid和扩展属性
与Amazon S3和其他基于S3的对象存储兼容
允许随机写入和追加
通过分段上传大文件
通过服务器端副本重命名
可选的服务器端加密
通过MD5哈希保证数据完整性
内存中缓存元数据
用户指定的区域,包括Amazon GovCloud
可通过v2或v4签名进行身份验证
5.s3fs局限性
通常,S3无法提供与本地文件系统相同的性能或语义。进一步来说:
随机写入或追加文件需要重写整个对象,使用分段上传副本进行了优化
元数据操作(如列出目录)由于网络延迟而导致性能不佳
非AWS提供商可能最终具有一致性,因此读取可以临时生成陈旧数据(AWS自2020年12月以来提供写入后读取一致性)
不支持文件或目录的原子重命名
挂载同一存储桶的多个客户端之间没有协调
不支持硬链接
inotify仅检测本地修改,而不检测其他客户端或工具的外部修改
网友评论