Seafile深入学习(十) 对接Amazon S3存储后端

客户如果问,怎么和Amazon S3对接,你怎么回答。


首先,你需要安装Seafile服务器,然后购买S3服务。

接下来在Seafile中修改seafile.conf配置文件来为Seafile的三种数据对象commit,fs,block创建三个桶。配置文件中,为桶起名字,key_id和key是你购买S3服务时的“安全证书”里有的,用来验证S3服务。创建桶的时候注意bucket的命名规则。其实这纯属傻瓜式操作,配置文件只是帮忙创建了三个桶。commit对象帮助存储资料库快照,每个Commit对象存储前一个Commit对象的ID,连接在一起就是整个资料库的历史。fs对象是Seafile的元数据对象,包含了文件和目录两种对象,这就相当于保存了资料库的目录结构。block对象就是最底层的数据块,我们的数据都是经过分片之后存储在S3中的。


我们在对象存储中找资料库的时候是通过资料库id来找的,每个id都是独一无二的。

修改 seafile.conf

编辑 /data/haiwen/conf/seafile.conf 文件

[commit_object_backend]
name = s3
# bucket 的名字只能使用小写字母,数字,短划线
bucket = my-commit-objects
key_id = your-key-id
key = your-secret-key
memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100

[fs_object_backend]
name = s3
# bucket 的名字只能使用小写字母,数字,短划线
bucket = my-fs-objects
key_id = your-key-id
key = your-secret-key
memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100

[block_backend]
name = s3
# bucket 的名字只能使用小写字母,数字,短划线
bucket = my-block-objects
key_id = your-key-id
key = your-secret-key
memcached_options = --SERVER=localhost --POOL-MIN=10 --POOL-MAX=100

memcached缓存有助于提高性能,强烈建议配置成集群模式。


很多对象存储产品兼容S3的协议,比如OpenStack Swift 和 Ceph 的 RGW。配置方法完全一样。都非常傻瓜操作,就是创建个桶就完事了。



你可能感兴趣的:(Seafile深入学习(十) 对接Amazon S3存储后端)