阿里云ECS挂载OSS
系统:CentOS 7
操作步骤
1.在本地创建一个目录,用于挂载OSS的bucket
2.安装ossfs
3.将OSS bucket的信息写入ossfs的配置文件(passwd-ossfs)
4.将OSS bucket挂载到本地目录
5.在挂载目录创建文件进行验证
[root@ali_abc ~]# mkdir /oss [root@ali_abc ~]# ll / drwxr-xr-x 2 root root 4096 Apr 19 17:34 oss #创建本地目录 [root@ali_abc ~]# wget https://github.com/aliyun/ossfs/releases/download/v1.80.4/ossfs_1.80.4_centos7.0_x86_64.rpm [root@ali_abc ~]# yum install ossfs_1.80.4_centos7.0_x86_64.rpm #安装osspf #本例使用rpm软件包的方式安装,最新版本可到https://github.com/aliyun/ossfs/releases查看 #...省略很多字... Dependencies Resolved ==================================================================================== Package Arch Version Repository Size ==================================================================================== Installing: ossfs x86_64 1.80.4-1 /ossfs_1.80.4_centos7.0_x86_64 4.1 M Installing for dependencies: fuse x86_64 2.9.2-8.el7 base 85 k fuse-libs x86_64 2.9.2-8.el7 base 93 k Transaction Summary ==================================================================================== Install 1 Package (+2 Dependent packages) #...省略很多字... Installed: ossfs.x86_64 0:1.80.4-1 Dependency Installed: fuse.x86_64 0:2.9.2-8.el7 fuse-libs.x86_64 0:2.9.2-8.el7 Complete! [root@ali_abc ~]# echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs #my-bucket:OSS bucket的名称 #my-access-key-id:OSS bucket的access-key-id #my-access-key-secret:OSS bucket的access-key-secre #以上信息需要在OSS操作界面查找 [root@ali_abc ~]# echo ali-abc:g9MjjlqmAAAAAcbw:hEHaaAAAAAA3LlX4jydwfZfpTqhi > /etc/passwd-ossfs #使用echo命令将配置写入/etc/passwd-ossfs #echo命令会自动创建passwd-ossfs这个文件,也可以先创建文件,再写入配置 [root@ali_abc ~]# chmod 640 /etc/passwd-ossfs #给passwd-ossfs文件赋予640权限 [root@ali_abc ~]# ll /etc/passwd-ossfs -rw-r----- 1 root root 58 Apr 22 01:23 /etc/passwd-ossfs #验证passwd-ossfs文件是否已经创建,权限是否正确 [root@ali_abc ~]# ossfs my-bucket my-mount-point -ourl=my-oss-endpoint #使用ossfs命令挂载OSS bucket,而不是使用mount命令 #my-bucket:OSS bucket的名称 #my-mount-point:挂载点,即刚才创建的目录 #my-oss-endpoint:OSS bucket的endpoint地址,在OSS操作界面查找 #在OSS操作界面中,复制endpoint栏下面的内网地址(经典网络或VPC网络) [root@ali_abc ~]# ossfs ali-abc /oss -ourl=http://ali-abc.oss-cn-shenzhen-internal.aliyuncs.com ossfs: bad request <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>InvalidBucketName</Code> <Message>The specified bucket is not valid.</Message> <RequestId>5AAAAA3D636D268EF36AAA6B</RequestId> <HostId>ali-agc.ali-abc.oss-cn-shenzhen-internal.aliyuncs.com</HostId> <BucketName>ali-abc.ali-abc</BucketName> </Error> #因为OSS bucket的endpoint填写错误(使用了“访问域名”下面显示的地址),出现上面的错误提示 #OSS bucket的endpoint仅包括oss-cn-shenzhen-internal.aliyuncs.com,不包括OSS bucket的名称(如本例中的ali-abc) [root@ali_abc ~]# ossfs ali-abc /oss -ourl=http://oss-cn-shenzhen-internal.aliyuncs.com #正确的挂载命令 [root@ali_abc ~]# ll /oss total 0 [root@ali_abc ~]# ll /oss total 1 drwxrwxrwx 1 root root 0 Apr 22 01:28 ecs_blog_backup #在OSS操作界面创建一个文件夹之后,在挂载目录/oss下可以看到刚才创建的目录 [root@ali_abc ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 1.9G 36G 6% / devtmpfs 487M 0 487M 0% /dev tmpfs 497M 0 497M 0% /dev/shm tmpfs 497M 336K 496M 1% /run tmpfs 497M 0 497M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/0 ossfs 256T 0 256T 0% /oss #使用df命令可以看到OSS bucket以文件系统的形式挂载到系统上
重启后不能挂载OSS的问题
重启系统后,使用df命令已经看不到OSS这个文件系统,但是目录/oss仍然存在,/oss目录下的目录也能看到
重新挂载
[root@ali_abc ~]# ossfs ali-arbc /oss -ourl=http://oss-cn-shenzhen-internal.aliyuncs.com ossfs: MOUNTPOINT directory /oss is not empty. if you are sure this is safe, can use the 'nonempty' mount option. 提示错误 [root@ali_abc ~]# ossfs ali-abc /oss -ourl=http://oss-cn-shenzhen-internal.aliyuncs.com -o nonempty 如果没有任何提示就是成功挂载了
查看重新挂载后的目录,有底色的两个目录是空的,在OSS控制台中都有这三个目录,绿色底色是什么意思?
开机自动挂载的方法
https://github.com/aliyun/ossfs/wiki/FAQ
参考资料:
ossfs工具github项目
ossfs工具rpm安装包
文章评论