文章

Ks3挂载宿主机

挂载工具-S3fs

命令安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 1. 安装依赖包

CentOS安装命令:
sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

Ubuntu安装命令:
sudo apt-get install build-essential git libfuse-dev libcurl4-openssl-dev libxml2-dev mime-support automake libtool
sudo apt-get install pkg-config libssl-dev

# 2. 安装S3fs
git clone https://github.com/s3fs-fuse/s3fs-fuse.git   //下载s3fs源码
cd s3fs-fuse   
./autogen.sh    //执行autogen.sh脚本
./configure     //执行configure脚本
make   //编译
sudo make install

配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1. 配置密钥文件
mkdir DIR_NAME  //创建认证文件目录 

echo AK:SK > PASSWD_FILE  //创建用户访问密钥文件;{AK,SK}是访问密钥对,可在金山云控制台的访问控制页面获取;PASSWD_FILE是密钥文件

chmod 600 PASSWD_FILE  //设置密钥文件只能被当前用户访问

2. 创建挂载目录
mkdir MOUNT_PATH  //创建本地目录路径


3. 挂载存储桶
s3fs BUCKET_NAME MOUNT_PATH  -o passwd_file=PASS_FILE -o url=https://KS3_ENDPOINT -o sigv2

挂载整个bucket

1
2
s3fs s3test /data/ks3 -o passwd_file=/data/passwd -o url="https://ks3-cn-beijing.ksyuncs.com" -o sigv2 -o nonempty

挂载子目录

1
2
3
4
s3fs s3test:/test /data/ks3 -o passwd_file=/data/passwd -o url="https://ks3-cn-beijing.ksyuncs.com" -o sigv2 -o nonempty

# 推荐组合使用
s3fs s3test:/test /data/ks3 -o passwd_file=/data/passwd -o url="https://ks3-cn-beijing.ksyuncs.com" -o sigv2 -o use_path_request_style  -o compat_dir -o ro

验证结果

1
2
3
df -h

ls -l /data/ks3

参数详情

| 参数名称 | 说明 | | ———————- | ——————————————————————————————————————————————— | | BUCKET_NAME | 挂载KS3指定的桶名,若桶不为空,挂载时需要添加-o nonempty参数 | | MOUNT_PATH | 挂载目录,例如已创建的/data/ks3 | | PASS_FILE | 密钥文件,例如已创建的/data/passwd | | KS3_ENDPOINT | 金山云KS3各地域对应的Endpoin,例如挂载北京地域的存储桶,则输入:ks3-cn-beijing.ksyuncs.com。点击查看 | | sigv2 | 签名版本号,默认为v2,可选v2和v4版本 | | nonempoty | 如果挂载的目录不为空,强制挂载 | | use_path_request_style | # 强制使用路径风格(KS3 必需) | | compat_dir | 可选:若路径仍不存在,同时开启兼容模式 | | ro | 挂载路径只读 |

本文由作者按照 CC BY 4.0 进行授权