这是一个用于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第三方库


热门话题
google chrome我在哪里可以下载Mac OSX Lion的Java 6?   java管道化hadoop映射减少作业   java避免在使用jsoup解析html时删除空格和换行符   java将arrayList中的元素相互比较   如何创建一个计算一组数字之和的程序(Java)?   java JavaFX 8 JVM在退出后保留   升华文本3升华文本3 Java交互控制台?   JAVAutil。扫描仪和维基百科   java Android在RecyclerView中更新TextClock的时间格式(12/24小时格式)   java集合,如果达到限制,则可以在添加新项之前删除旧项   hex Java将十六进制转换为带符号的8位代码   java如何使用SQL中其他列的数据?   java如何确保返回指定类型的列表?   列出如何在java中声明匿名arraylist?   在JavaSpringBoot中使用RESTXML文件   使用Java在ColdFusion中计算HMACSHA256摘要的加密