最近更新时间:2023-08-30 20:10:38
S3fs是基于FUSE的文件系统,允许Linux和macOS挂载KS3存储桶在本地文件系统,即可像访问本地文件系统一样访问KS3存储桶,S3fs能够保持对象原来的格式。
sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel
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
1. 从源码安装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
2. 检查S3fs是否安装成功:
s3fs --version
输出S3fs版本信息表明安装成功:
Amazon Simple Storage Service File System V1.93 (commit:528a617) with OpenSSL
1. 创建密钥文件:
mkdir DIR_NAME //创建认证文件目录
echo AK:SK > PASSWD_FILE //创建用户访问密钥文件;{AK,SK}是访问密钥对,可在金山云控制台的访问控制页面获取;PASSWD_FILE是密钥文件
chmod 600 PASSWD_FILE //设置密钥文件只能被当前用户访问
示例:
mkdir /data/
echo AKLTWr****LaMgK:OKj7Zb/vMDaZVp****CUSYQA== > /data/passwd
chmod 600 /data/passwd
2. 创建mount目录:
mkdir MOUNT_PATH //创建本地目录路径
示例:
mkdir /data/ks3
3. 挂载存储桶:
s3fs BUCKET_NAME MOUNT_PATH -o passwd_file=PASS_FILE -o url=https://KS3_ENDPOINT -o sigv2
参数详情:
参数名称 | 说明 |
---|---|
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版本。 |
示例:
s3fs s3test /data/ks3 -o passwd_file=/data/passwd -o url="https://ks3-cn-beijing.ksyuncs.com" -o sigv2 -o nonempty
4. 验证挂载结果:
df -h
挂载成功显示结果如下所示:
5. 查看桶内文件列表:
cd /data/ks3
至此已完成KS3存储桶的挂载操作,您可以像操作本地文件一样操作KS3挂载的存储桶内文件。
1. 卸载存储桶:
sudo umount MOUNT_PATH
示例:
sudo umount /data/ks3 //将桶从挂载目录/data/ks3卸载
2. 查看是否卸载成功:
df -h
下图所示表明已卸载成功:
输入以下命令查看工具日志:
vi /var/log/messages
输入以下命令挂载调试:
s3fs BUCKET_NAME MOUNT_PATH -o passwd_file=PASS_FILE -o url=https://KS3_ENDPOINT -o sigV2 -d -d -f -o f2 -o curldbg
纯净模式