阿里云的oss有自己客户端工具 ossexplort 和对应的命令工具,天翼云的oos 自己没有提供对应的工具,但天翼云的oos兼容亚马逊的 S3存储,所以,可以使用s3fs 工具来直接mount bucket来访问
步骤如下:
1·,git clone https://github.com/s3fs-fuse/s3fs-fuse.git
2,安装依赖库文件 yum install -y yum install libcurl-devel libxml2-devel fuse-devel autoconf automake
3,cd s3fs-fuse && ./autogen.sh 产生 configure文件
4,./configure --prefix=/usr/local/s3fs;make;make install
5,把s3fs 命令加入环境变量
6,建立accessID和secrect_key 文件
echo 9bc1514d2432943ca9e8:5483a95744a36ba8eee984710c539118a5908ae3 > ~/.passwd-s3fs
冒号前面是accessId,后面是secrect_key
7,chmod 600 ~/.passwd-s3fs 否则使用s3fs 挂在时候报 权限错误
8,s3fs dqnfile /mnt -o passwd_file=/root/.passwd-s3fs -o url=http://oos-gz.ctyunapi.cn -o use_path_request_style
9,卸载的时候,使用 umount /mnt 即可,如果kill 进程会导致:cannot access /mnt: Transport endpoint is not connected
只需要 umount /mnt 目录即可
从性能优化的角度,推荐的一组挂载参数
s3fs bucket_name /root/s3fs-test -o passwd_file=/root/.passwd-s3fs -o url=http://192.168.56.103:7480 -o use_path_request_style -o allow_other -o umask=0 -o use_cache=/dev/shm -o enable_noobj_cache -o sigv2 -o del_cache -o multipart_size=64 -o max_write=131072 -o big_writes -o kernel_cache -o max_background=1000 -o max_stat_cache_size=100000 -o parallel_count=30 -o multireq_max=30 -o dbglevel=warn
-o allow_other
本参数用于设置挂载目录可以被任意登录服务器的用户使用。
-o umask=0
本参数用于设置挂载后资源的访问权限,确保挂载后所有用户能够对挂载目录下资源具有访问权限。umask与chmod配套,当设置umask=0时对于文件权限为777,若需要设置权限为755,则设置umask=022,以此类推配置所需权限。
-o use_cache
使用内存作为缓存目录,而非本地磁盘作为cache将提升文件读写性能,即将该值设置为-o use_cache=/dev/shm。如果系统内存使用较高,则建议另外挂载一个SSD盘作为缓存目录。
-o enable_noobj_cache
使用本参数后,将减少s3fs发送的列举桶的请求,从而提升性能
-o sigv2
缺省值为采用V4鉴权,使用V2鉴权效率更高,兼容性更好
-o del_cache
文件使用完成后及时清理缓存中的数据。
-o multipart_size(default=”10”(10MB))
设定上传是单个分段的大小,缺省值为10MB。
-o max_write
本参数用于设置vfs的上传块大小,默认值为4096,可将该数值设置为fuse所支持的最大值128k(即设置-o max_write=131072),以提升性能。
-o big_writes
开启本参数后,内核会进行IO合并,对于大块读写,提升性能。
-o kernel_cache
支持 s3fs 安装点上的内核缓冲区高速缓存。这意味着对象将仅由 s3fs 读取一次,因为同一文件的重复读取可以通过内核的缓冲区高速缓存进行处理。内核缓冲区高速缓存将仅使用未被其他进程使用的可用内存。如果在存储区安装期间预期存储区对象会被其他进程/机器覆盖,并且您的用例需要实时访问最新的内容,那么建议不要使用此选项。
-o max_background
可提高 s3fs 并行文件读取性能。缺省情况下,FUSE 支持最多 128 KB 的文件读请求。当要求读取的对象超过此大小时,内核会将大请求拆分为较小的子请求,并允许 s3fs 以异步方式处理这些子请求。max_background 选项用于设置此类并行异步请求的全局最大数目。缺省情况下,此值设置为 12,但将其设置为任意高值 (1000) 可避免读请求被阻止,即使同时读取大量文件。
-o max_stat_cache_size
可减少 s3fs 发送的冗余 HTTP HEAD 请求数,并缩短列出目录或检索文件属性所用的时间。典型的文件系统用法会通过 stat() 调用频繁访问文件的元数据,该调用将映射到对象存储系统上的 HEAD 请求。缺省情况下,s3fs 会高速缓存最多 1000 个对象的属性(元数据)。每个高速缓存的条目最多需要 0.5 KB 内存。理想情况下,您会希望高速缓存能够保存存储区中所有对象的元数据。但是,您可能需要考虑这种高速缓存对内存使用量的影响。将其设置为 100000 需要的内存不超过 0.5 KB * 100000 = 50 MB。
-o parallel_count
设置每个文件读/写操作中并行发送给 ZOS 的最大请求数。缺省情况下,此值设置为 5。对于超大对象,可以通过增大此值来获取更多吞吐量。与先前选项一样,如果只读取每个文件的少量数据,请使此值保持较小。
-o multireq_max
列出目录时,会针对列表中的每个对象发送对象元数据请求 (HEAD),除非在高速缓存中找到元数据。此选项用于限制针对单个目录列示操作发送到 ZOS 的此类并发请求数。缺省情况下,此值设置为 20。请注意,此值必须大于或等于上面的 parallel_count 选项。
-o dbglevel
将调试级别设置为 warn,而不设置为缺省值 (crit),以将消息记录到 /var/log/messages
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!