这是一个用于openstack对象存储(swift)的nbd服务器。

swiftnbd的Python项目详细描述


工作原理

swift nbd 将nbd请求(带偏移量和长度的读/写)转换为swift对象 操作,如下图所示:

https://github.com/reidrac/swift-nbd-server/raw/master/block2object.png

尽管这种策略可以用于任何块接口,但选择NBD是因为它的简单性。 NBD服务器可以通过网络为块提供服务,但建议在本地使用。 因为与swift的通信将成为瓶颈,所以本地主机上nbd可能会产生开销。 预期不显著。

块设备一次只能由一个位置使用。当客户端连接到服务器时, 通过向容器添加元数据信息,将用作存储的容器标记为已锁定 直到客户机断开连接并解锁容器。

服务器实现新版本的NBD协议,NBD客户端3.1或更高版本 推荐。对于较早版本的协议(nbd client<;=2.9.16),请使用swiftnbd 0.9.4。

支持python 2和gevent的最新版本是0.9.8。

参考文献:

  • openstack对象存储:http://www.openstack.org/software/openstack-storage/" rel="nofollow">http://www.openstack.org/software/openstack storage/
  • NBD: http://nbd.sourceforge.net/
  • NBD协议:https://github.com/yoe/nbd/blob/master/doc/proto.txt" rel="nofollow">https://github.com/yoe/nbd/blob/master/doc/proto.txt
  • python中的nbd服务器示例:http://lists.canonical.org/pipermail/kragen-hacks/2004-may/000397.html" rel="nofollow">http://lists.canonical.org/pipermail/kragen hacks/2004-may/000397.html

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法使用JSF访问托管bean方法   java是制作具有多值类型的HashMap的正确方法   javafx中TicTacToe的java更新UI   windows Java文件。getCanonicalFile()无法处理冒号“:”   java在一个布局屏幕中创建多个(26)按钮   java Android Studio:Gradle构建完成,有251个错误   我们如何在Java上为callfireapiclient编写单元/集成测试?   java无法将1715UTC转换为本地/gmt类型   具有已定义的数字序列的JAVA循环   Java程序正在netbeans中编译,但未在CMD中编译,包不存在   java Android构造函数和onCreate()之间有什么区别?   java配置弹性搜索结果评分   java LibGDX纹理是否可绘制?   java如何在Android中设置应用程序默认打开pdf   java是否有一种创造性的方法将多个参数传递给contentEquals()方法?   java在Android上存储Ed25519私钥