S3fs在EC2 Linux实例上挂载S3

在aws为用户创建访问密钥并记录密钥ID和私密

安装s3fs

安装必要的依赖包

yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel 


下载,编译并安装s3fs

git clone https://github.com/s3fs-fuse/s3fs-fuse.git
cd s3fs-fuse
./autogen.sh
./configure
make
make install

测试是否安装成功
运行s3fs
输出:
s3fs: missing BUCKET argument.
Usage: s3fs BUCKET:[PATH] MOUNTPOINT [OPTION]...


创建IAM用户访问密钥文件
命令格式:echo [IAM用户访问密钥ID]:[ IAM用户访问密钥] >[密钥文件名]
命令举例:echo AKIAIOEO4E2VOHLxxxxx:2LXBboddEpRLmWl48i3+b4ziwPL3bJ4vxxxxxxxx > /home/ec2-user/.passwd-s3fs
设置密钥权限chmod 600  [密钥文件名]

个人把密钥放在/etc/passwd-s3fs,权限设置为chmod 655

手动挂载s3fs

s3fs的命令格式是:s3fs [S3存储桶名] [本地目录名] [OPTION]


手动挂载AWS海外区域S3存储桶


命令格式:s3fs [S3存储桶名] [本地目录名] -o passwd_file=[密钥文件名] -o endpoint=[区域名]
命令举例:下面的例子将名为“s3fs-mount-bucket”的新加坡区域S3存储桶挂载到指定的本地目录“/home/ec2-user/s3mnt”。


s3fs s3fs-mount-bucket /home/ec2-user/s3mnt -o passwd_file=/home/ec2-user/.passwd-s3fs -o endpoint=ap-northeast-1


查看挂载结果
运行df -h
文件系统        容量  已用  可用 已用% 挂载点


devtmpfs        488M   56K  488M    1% /dev


tmpfs           498M     0  498M    0% /dev/shm


/dev/xvda1      7.8G  1.2G  6.6G   15% /


s3fs            256T     0  256T    0% /home/ec2-user/s3mnt



卸载s3fs挂载
参考网站:http://blog.csdn.net/intel80586/article/details/7682522
命令:umout

umount /www/magento/pub/media/import/aws-s3


错误:有程序占用解决方法
使用fuser命令,先确认有那些进程需要杀掉
查看占用的有哪些
[root@localhost /]# fuser -cu /mnt


/mnt:                15060c(root)


其次向进程发出SIGKILL信号
干掉战胜进程
[root@localhost /]# fuser -ck /mnt


/mnt:                15060c


确认


[root@localhost /]# fuser -c /mnt


[1]+  Killed                  dd if=1g of=/dev/null bs=1M  (wd: /mnt)


猜你喜欢

转载自blog.csdn.net/gejian1208/article/details/79355732