本人使用的owncloud版本号: 8.2.8
第一步:
使用admin账号在“管理”部分开启外部存储配置:
第二步:
在任意账号(也可以是管理员账号)配置外部存储:
注意:
- 这里支持的keystone协议版本号只能是v2.0 的,不可配置,所以Identity URI 类似于: http://openstack-controller:5000/v2.0/
- 其中的swift就是对象存储服务的名字,可以通过openstack endpoint list查到
- 其中的test(bucket)就是openstack中对象存储部分创建的一个容器的名字,当然,如果没有预先创建的话,会自动创建的,所以,你可以随便写
问题:
- 只要openstack对象存储中的容器被owncloud挂载过,容器根目录就会出现一个名字为 “.” 的文件,该文件在owncloud中看不见的,在openstack-dashboard中可以看见,但是删除总失败,而且,如果不删除该文件的话,容器也是删除不了的; 测试发现,openstack-dashboard中是创建不了一个名字叫做”.” 的目录的,相关issue: https://github.com/owncloud/core/issues/7191
- 解决办法:
- 通过openstack命令删除 “.” 文件:
1openstack --os-project-name openstack-test object delete test . - end
- 通过openstack命令删除 “.” 文件:
- 总结:这里似乎暴露了两个问题:
- owncloud为什么要创建一个 “.” 文件,真的有必要吗?而且,就算是把 “.” 文件删除掉了,只要owncloud一访问,该文件就又出现了,暂且不太影响,pass
- openstack-dashboard为什么就删除不了 “.” 文件,应该是个bug吧
- 解决办法:
owncloud + openstack 对象存储的好处:
- 给owncloud找了一个可靠的存储
- 给openstack对象存储找了一个比较好的前端
- 可以通过浏览器直接访问
- 也可以通过webdav的方式直接mount到各种操作系统和终端(windows、linux、手机端等)
- linux 上mount,eg:
12yum install davfs2 -ymount -t davfs http://pan.i.beebank.com/remote.php/webdav/sa-software/rpm-sources /data2/rpmbuild-sources
- linux 上mount,eg:
参考: