# s3fs
https://github.com/s3fs-fuse/s3fs-fuse
yum install -y s3fs-fuse
apt-get install -y s3fs
---编译---
https://github.com/s3fs-fuse/s3fs-fuse
yum install -y autoconf libtool gcc libstdc++-devel curl-devel mailcap;
yum install -y automake fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel;
--
apt-get install automake autotools-dev fuse g++ git libcurl4-openssl-dev libfuse-dev libssl-dev libxml2-dev make pkg-config
git clone https://github.com/s3fs-fuse/s3fs-fuse.git
chmod -R 777 s3fs-fuse && cd s3fs-fuse
./autogen.sh && ./configure && make && make install
---
-设置认证
-命令格式:
-echo [IAM用户访问密钥ID]:[ IAM用户访问密钥] >[密钥文件名]
-ACCESS_KEY_ID:SECRET_ACCESS_KEY
echo '6CFr1WpCd7tI9dfk:AjsdYLSCmJxSZDlHWEOOQPbwKX8VF1pY' > /data/site/htmltoo.shell/.passwd && chmod 600 /data/site/htmltoo.shell/.passwd
-挂载
allow_other: 允许其它用户操作
umask=000,实际上就是权限为777
bucket名为htmltoo
-o dbglevel=info -f 进行输出调试信息
-挂载minio存储
# 需要加上 use_path_request_style进行兼容
s3fs -o passwd_file=/data/site/htmltoo.shell/.passwd -o url=http://b.htmltoo.com:9111 -o allow_other -o nonempty -o no_check_certificate -o use_path_request_style -o umask=000 htmltoo /data/backup/htmltoo
-卸载
s3fs -o passwd_file=/data/site/htmltoo.shell/.passwd umount /data/backup/htmltoo
-开机自动挂载
vim /etc/fstab
# 命令格式:s3fs#[S3存储桶名] [本地目录名] fuse _netdev,[options1],[optins2]... 0 0
s3fs#htmltoo /data/htmltoo fuse _netdev,passwd_file=$HOME/.passwd-s3fs,url=http://g.htmltoo.com:9111,allow_other,nonempty,no_check_certificate,use_path_request_style,umask=000 0 0
# goofys
https://github.com/kahing/goofys/releases
-创建用户凭证
mkdir -p ~/.aws
cat >> ~/.aws/credentials << EOF
[default]
aws_access_key_id = backup
aws_secret_access_key = backupSecretKey
EOF
-挂载
# endpoint是minio服务端地址
# region是区域
# htmltoo是bucket名
# /home/minio是本地目录
# 将goofys放到/usr/local/bin目录下之后就可以直接调用了,不需要再写路径
cd /data/site/htmltoo.f/htmltoo.soft/src/common/goofys
wget https://github.com/kahing/goofys/releases/download/v0.24.0/goofys
wget http://up.htmltoo.com/soft/src/common/goofys
cp goofys /usr/local/bin && chmod -R 777 /usr/local/bin/goofys
goofys --endpoint=http://g.htmltoo.com:9111 --region oz htmltoo /data/htmltoo
-开机自动挂载
vim /etc/fstab
goofys#htmltoo /data/htmltoo fuse _netdev,allow_other,--file-mode=0777,--dir-mode=0777 0 0
systemctl daemon-reload
# 重新加载fstab内容生效
mount -a
# 查看挂载情况
df -h
-取消挂载
fusermount -u /data/htmltoo
umount /data/htmltoo
-取消挂载失败, 查看情况
fuser -m -v /data/htmltoo
-杀死使用该目录的进程:
fuser -mv -k /data/htmltoo
-再次卸载,卸载成功后重新挂载:
mount /data/htmltoo /data
-重新挂载为已经挂载了的文件系统(以读写权限挂载)
mount -o remount,rw /data/file/backup
-强制卸载
umount -f /data/file/backup
-想查找占用/dev/sda1设备的进程,可以使用以下命令:
lsof | grep /data/file/backup
--w 是指忽略这些错误
lsof -w | grep /data/file/backup