利用s3fs-fuse挂载甲骨文对象存储
在撸免费的oracle cloud服务器并使用脚本自动化部署云服务器中介绍了如何使用 CLI 申请甲骨文的免费机器。除了默认磁盘外,Oracle Free Tier 还提供对象存储,可以通过 s3fs-fuse 挂载到本地 Linux 目录里使用。
这种方式特别适合放迁移文件、备份文件或跨实例共用的数据。相比只放在单个云盘里,对象存储更容易拆卸、迁移和重新挂载。
- 开通并启用对象存储
- 查看命名空间(namespace)和区域
- 配置对象存储凭证(access key,id)
- 挂载对象存储到本地
安装 s3fs-fuse
如果系统里还没有 s3fs,先安装它。Debian 或 Ubuntu 上通常可以直接执行:
apt update
apt install s3fs -y
开通并启用对象存储
登陆oracle账户,在左边导航栏找到object storage并点击进入
新建一个存储桶冰命名为bobobk

因为oracle免费的存储桶一共就20g,这里就一个存储桶就够了。。
查看命名空间(namespace)和区域
这一步主要是获取配置信息后面挂载需要用到。用到的信息有两个,一个是命名空间,一个是主区域。
首先命名空间查看
右上角点击个人档案图标并点击查看租户信息
在上方可以看到Object Storage Settings,下面的Object Storage Namespace对应的就是对象存储的命名空间,可以看到我的命名空间是cnquu99shcea。

账户区域identifier查看
首先在账户信息左边可以看到区域信息,但是这是文本形式的,然后通过区域信息找到region Identifier,
查看区域
可以看到是韩国首尔,然后到官方文档查看该区域对应的region Identifier
韩国的就是ap-seoul-1
配置对象存储凭证(access key,id)
这一步是在oracle控制台生成一个用户的秘钥用于访问对象存储文件,在用户设置里面找到Customer Secret Keys生成秘钥保存下来。
首先打开用户设置页面,跟用户租户信息一样右上角并且刚好在租户信息下方。
进入Customer secret keys项
生成一个新的key
记录下key值,这里key的秘钥只会显示一次,以后是看不到的,没复制的话就只能重新生成了。
然后查看key的id,点击刚才的bobobk的key就可以直接复制了
然后在主目录下生成配置 ~/.passwd-s3fs,配置文件格式为 id:key。这里不要把真实密钥写进公开脚本或截图里,实际使用时把下面的占位符替换成你自己的值:
echo "your_access_key_id:your_secret_key" > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs
到此对象存储凭证就配置好了
挂载对象存储到本地
接下来就是挂载对象存储了,命令格式如下
s3fs [bucket] [destination directory] -o endpoint=[region] -o passwd_file=~/.passwd-s3fs -o url=https://[namespace].compat.objectstorage.[region].oraclecloud.com/ -onomultipart -o use_path_request_style
###此处真实命令为
mkdir object
s3fs bobobk object -o endpoint=ap-seoul-1 -o url=https://cnquu99shcea.compat.objectstorage.ap-seoul-1.oraclecloud.com/ -o passwd_file=~/.passwd-s3fs -onomultipart -o use_path_request_style
其中
- bucket为存储桶名称,这里是bobobk
- destination directory为目的文件夹,这里选择新建的object文件夹为存储桶目标文件夹
- region 为账户主区域,前面介绍了方法
- namespace 为命名空间,前面介绍了方法
- region 此处region同上
如果命令没有报错,可以通过下面命令查看是否挂载成功并写入测试文件。
cd object
echo "object success by chunjiangmuke tutorial(www.bobobk.com)" > 1
ls -lah
在存储桶位置可以看到已经同步好了该文件1

总结
本文通过 s3fs-fuse 把甲骨文对象存储映射成了本地目录。这样做的重点不只是“多出一些可用空间”,更重要的是可以把需要迁移的数据独立出来,换实例时重新挂载就能继续使用。
如果挂载失败,优先检查 4 件事:命名空间是否正确、区域标识符是否正确、~/.passwd-s3fs 格式是否为 id:key、以及文件权限是否已经设置为 600。
- 原文作者:春江暮客
- 原文链接:https://www.bobobk.com/724.html
- 版权声明:本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。