面向云存储的存储网关

上传人:公**** 文档编号:509582885 上传时间:2023-06-26 格式:DOC 页数:2 大小:16.50KB
返回 下载 相关 举报
面向云存储的存储网关_第1页
第1页 / 共2页
面向云存储的存储网关_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《面向云存储的存储网关》由会员分享,可在线阅读,更多相关《面向云存储的存储网关(2页珍藏版)》请在金锄头文库上搜索。

1、面向云存储的存储网关 随着计算机网络的开展与网络带宽的不断增长,利用网络技术来进步存储系统的容量、可靠性与可扩展性成为可能. 近年来, 分布式网络存储已经成为存储技术开展的新趋势. 分布式文件系统可以将分散在网络中的存储资源组织起来, 构成大容量的虚拟磁盘存储空间. 该系统可以更好地解决多客户端并发操作下, 有限的网络带宽和磁盘 I/O 对数据访问速度的限制; 同时, 由于该系统在重复利用原有设备、动态扩大虚拟空间容量、容灾备份等多方面具有的优越性, 因此受到了开源社区和相关技术公司的追捧, 并在很短的时间内出现了很多开源的分布式文件系统, 如 KFS、moosefs、FastDFS、Ceph

2、、HDFS、GFS 等, 以及闭源的分布式文件系统 LoogStore、BWFS等. 就开源分布式文件系统而言, 多数不支持在Windows 操作系统上进展应用开发. 即使某些分布式文件系统支持, 也只是提供些动态库或者静态库, 这对已经存在于Windows操作系统上的原有应用程序而言, 不但要考虑重新编码, 还要考虑当前应用程序和分布式文件系统提供的动态库或静态库之间的接口和语言兼容性等问题. 假设分布式文件系统的接入网关可以以网络虚拟磁盘的方式提供效劳, 这样既可以减少程序之间的耦合性, 又可以防止对原有应用程序的修改. 本文主要对分布式文件系统的 Windows 网络虚拟磁盘的实现方式进

3、展研究, 并实现了一个 Windows版存储网关程序 dfsclient. 1 基于Linux存储网关的实现分析 基于 Linux 系统的存储网关实现方法有两种: 一种实现方式如 Open-ISCSI, 其所有功能都在内核态实现, 用户态只完成网络连接收理和磁盘设备的挂接操作. 本质是在网络设备对象 net_device 上抽象出一个虚拟的磁盘驱动设备对象, 然后通过一个网络连接对象 sock 将网络设备对象和虚拟磁盘设备关联起来, 以实现网络虚拟磁盘功能. 当将这个磁盘设备挂接到根文件系统上的时候, 就将这个设备对应的文件系统挂接到根文件系统上了, 对挂载点内文件的操作通过网络对应为对远端存

4、储设备的操作. 2 基于Windows存储网关的设计与实现 基于 Windows 系统存储网关的实现方法和基于Linux 系统存储网关的实现方法相似, 也有两种. 本文介绍 Windows 版存储网关的实现方法和基于 Linux 下fuse 的存储网关实现方法相似. 2.1 RDFL 文件系统驱动 RDFL 文件系统驱动在操作系统启动时候, 由后台效劳进程 RDFSMounter 自动将之加载到操作系统内核中, 当 RDFL 文件系统驱动被加载到内核中时,RDFL 会创立一个名称为 RDFLCtl 的设备对象, 用户态可以通过该设备对象设置和查询RDFL驱动的状态,以及创立和删除文件系统对象和

5、虚拟磁盘设备对象. 2.2 RDFL 用户态动态库 RDFL 内核驱动的用户态局部, 对内核态 RDFL驱动程序提供的功能进展了封装, 提供了一组管理函数. 这些函数包括三局部: (1) 文件系统对象和虚拟磁盘对象的创立、删除、查询和设置, 其中创立函数在dfsclient 启动的时候被调用, 删除函数在 dfsclient 函数完毕的时候被调用, 查询和设置函数被 RDFSMounter调用, 用以对文件系统对象和虚拟磁盘对象状态进展查询和设置. (2) 文件系统回调函数 MajorFunction 到用户态的映射函数, 这些回调函数包括 createFile、OpenDirectory、c

6、reateDirectory、ReadFile、WriteFile、CloseFile 等函数, dfsclient 存储网关的主要功能就是将这些回调函数转换成对分布式文件系统的操作. (3) 最后一些包括调试开关的翻开关闭, 版本信息的查询等函数. 2.3 dfsclient 存储网关 从程序设计上而言, dfsclient 包含三局部: (1) 调度转发子系统通过分布式文件系统操作原语实现RDFL.dll 中要务实现的类似 Windows 文件系统标准接口的回调接口, 调度转发子系统也包括了多线程数据并发读写, 读写数据缓存, 元数据缓存等功能. (2)RDFL.dll 模块接收来自 RD

7、FL.sys 的对文件进展操作的事件, 并将事件转发给调度转发子系统, 由调度转发子系统 翻译成分布式文件系统操作原语, 实现对分布式文件系统的操作. (3) 分布式文件系统操作原语是由分布式文件系统提供的, 基于 socket 的可以对文件及文件夹进展操作的函数集合. 3 Windows系统存储网关性能测试 以下是基于 HDFS 分布式文件系统的 Windows 版存储网关和 Linux 版存储网关的读写性能比照, 读写数据为 4G 大小的大文件, 效劳器配置如下: 元数据效劳器(NameNode)配置: 一块千兆网卡,8G 内存, 4 个 2 核 CPU. 存储数据效劳器(DataNode

8、)配置: 两块千兆网卡(bonding), 15000 转 8M 缓存磁盘, 4 磁盘 RAID0, 8G 内存, 4 个 2 核 CPU. 存储网络客户端配置: 一块千兆网卡, 15000 转8M 缓存磁盘, 4 磁盘 RAID0, 8G 内存, 4 个 2 核 CPU. 通过两层千兆交换机将元数据效劳器, 存储数据效劳器和 Windows, Linux 版存储网关连接起来. 数据存储采用一个副本方式存储, 存在三台存储数据效劳器. 4 总结 使用 Windows 文件系统过滤驱动开发类似于Linux 下 fuse 的驱动程序 RDFL, 可以比拟容易的开发Windows 版存储网关, 极大的缩短开发周期. 当然, 在开发过程中存在很多问题, 主要是 Windows 操作系统和Linux操作系统之间的兼容性问题, 但是, 这些问题对数据访问的影响根本可以忽略. 对基于 RDFL 开发存储网关而言 , pthread_win32 可以使从 Linux 到Windows 下的移植变得容易简单, 特别对 Windows 多线程接口不熟悉的开发者.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号