为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于分布式存储的在线网盘系统的设计与实现(可编辑)(可编辑)

基于分布式存储的在线网盘系统的设计与实现(可编辑)(可编辑)

2017-11-13 32页 doc 61KB 145阅读

用户头像

is_995397

暂无简介

举报
基于分布式存储的在线网盘系统的设计与实现(可编辑)(可编辑)基于分布式存储的在线网盘系统的设计与实现(可编辑)(可编辑) 基于分布式存储的在线网盘系统的设计与实现 硕 士 学 位 论 文 题目: 基于分 布 式存 储 的在 线 网盘 系 统 的 设 计与 实 现研 究 生 林 由 清 专 业计 算 机 系 统 结 构 指导教师 任 永 坚教 授 完成日 期 2012 年 3 月 杭州电子科技大学硕士学位论文基 于 分 布 式存 储 的 在 线网 盘 系 统 的 设计与实现 研 究 生: 林 由清 指导教师: 任永坚 教授 2013 年3 月Dissertatio...
基于分布式存储的在线网盘系统的设计与实现(可编辑)(可编辑)
基于分布式存储的在线网盘系统的设计与实现(可编辑)(可编辑) 基于分布式存储的在线网盘系统的设计与实现 硕 士 学 位 论 文 题目: 基于分 布 式存 储 的在 线 网盘 系 统 的 设 计与 实 现研 究 生 林 由 清 专 业计 算 机 系 统 结 构 指导教师 任 永 坚教 授 完成日 期 2012 年 3 月 杭州电子科技大学硕士学位论文基 于 分 布 式存 储 的 在 线网 盘 系 统 的 设计与实现 研 究 生: 林 由清 指导教师: 任永坚 教授 2013 年3 月Dissertation Submitted to Hangzhou Dianzi University for the Degree of Master Design and implementation ofonline network disk based ondistributed storage system Candidate: Lin Youqing Supervisor: Prof. Ren YongJian March ,2013 杭 州 电 子 科 技 大学 学 位 论 文 原 创 性声 明 和 使 用 授 权说 明 原创性 声明 本人郑重声明: 所 呈交 的 学 位 论 文 , 是 本 人在 导 师 的 指 导 下 , 独 立进 行 研 究 工 作 所取得的成果。 除文中已经注明引用的内容外, 本论文不含任何其他个人或集体已经发 表或撰写过的作品或成果。 对本文的研究做出重要贡献的个人和集体, 均已在文中以明 确方式标明。 学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名:日期: 年月日 学位论 文使用授权说明 本人完全了解杭 州电子科技大学关于保留和使用学位论文的规定,即:研究生在 校攻读学位期间论文工作的知识产权单位属杭州电子科技大学。本人保证毕业离校后, 发表论文或使用论文工作成果时署名单位仍然为杭州电子科技大学。 学校有权保留送交 论文的复印件, 允许查阅和借阅论文; 学校可以公布论文的全部或部分内容, 可以允许 采用影印、缩印或其它复制手段保存论文。 (保密论文在解密后遵守此规定)论文作者签名:日期: 年月日指导教师签名:日期: 年月日 杭州电 子科 技大 学硕 士学 位论文 摘 要 随着互联网中信息量不 断增长, 数据的管理难 度、存储成本加大,越 来越多的企业 将传统的存储方式向云存储转变 。 云存储服务具有高可靠性、 高扩展性及大容量存储等 特点 , 涉及存储网络技术、 虚拟化技术、 数据传输技术、 分布式存储技术 , 具有良好的 学术研究价值 和商业前景 。本论文涉及基于分布式存储的在线网盘系统 ,主要工作和研究内容如下: 为了适应海量规模存储 环境的要求,提高数据 中心主机的存储空间利 用率, 本文 设 计并实现了一种异构环境下的分布式块存储系统 (InfoStor) 。 该系统 通过带内存储虚拟 化技术将存储资 源利用起来, 代替磁盘阵列提供大容量存储空间, 后端存储节点提供多 副本冗余 存储功 能保护 数据,主 控节点 支持“ 侦听- 检测- 切换 ”的高 可用模式 防止单 点 故障发生。 针对基于 Web 的商业在线网盘, 受到校园网环境的特性和网络 出口的限制, 本文利 用 GlusterFS 分布式文件系统整合 InfoStor 提 供的块级别存储,设计并开发面向校园的 在线个人网盘服务-InfoDisk 。 结合校园网用户的特点和应用需求, 对校园网络存储解决 进行了较为深入的研究, 并设计一个功能完善、 界面友好、 简单易用的网络硬盘系 统, 并且在此基础 之上, 针对校园存储服务高并发、 高数据量、 高吞吐量的特点, 设计 该服务的性能优化方案。 本文研究重点是 (1) 基于带内虚拟化技术实现的分布式块存储系统的整体架构, 介 绍所涉及的主要功能模块:磁盘管理、存储池管理、虚拟卷管理和 LUN Mapping 的实 现流程,主控节点的高可用模式和存储后端多副本冗余实现方式。 (2 )将 Web 技术与 云存储平台相结合,建立一个基于云存储平台的 Web 网络存储应用 系统。通过研究和 对比现有存储技术, 特别是云存储技术, 确定采用了 LAMP 加 GlusterFS 的系统技术架 构。该架构具有以下特征:具有较 高的可靠性,充分保证数 据的安全;具有可扩展性, 存储容量按需弹性扩展;具有易用性, 维护成本低,系统管理方 便。 通过具体的实验和 用户 的反馈,本文所设计的 基于分布式存 储的在线 网盘系统 具有 良好的应用价值,为用户提供安全,便捷的在线存储服务。 关键词: 云存储,存储虚拟化,GlusterFS ,在 线网盘 I 杭州电 子科 技大 学硕 士学 位论文 ABSTRACT With the rapid growing of the data on Internet, enterprise facing the difficult to manage massive data with high cost of and low reliability, then enterprise separate the storage and seek help from cloud storage provider, cloud storage service with high reliability, high scalability and large capacity storage applications, cloud storage system is involved in the storage networking, virtualization, data transmission, distributed storage technology, has good prospects and value of academic researchThe papers related to online network disk based on distributed storage system, the main work and research contents are as follows: In order to adapt to the requirements of the massive scale storage environments, and improve storage space utilization of the data center host, we designed and implemented InfoStor, a heterogeneous environment, distributed block storage system. Through in-band storage virtualization technology that provides the reliability of traditional enterprise arrays with low cost and better scalability; provide redundancy copy of backend and support the adaptive copy of reconstruction; ProxyNodes use “listen-detect-switch” high availability module to avoid single point failure of systemCommercialized online network disk is limited by the characteristics of the campus network and exports, then use GlusterFS file system integration InfoStor, design and implemetation campus-oriented online personal network disk service-InfoDisk. Combine the characteristics and needs of the users of the campus network, in-depth study on the campus network storage solutions, and design a functional, user-friendly network hard drive system, on this basis, for characteristics of the campus storage service with high concurrency, high data volume and high throughput, then design optimization of the performance of this serviceThis study focuses on 1 based on in-band architecture of distributed block storage virtualization technology system, introduce the main function modules: disk management, storage pool management, virtual volume management and LUN Mapping implementation process, ProxyNode high availability mode and back-end multi-redundant store implementations. 2 combination of Web technologies with cloud storage platform, design and implementation of Web-based cloud storage platform. Through study and comparison of existing storage technology, especially cloud storage technology then use the technical architecture of LAMP plus GlusterFS. The architecture has the following characteristics: high reliability, and fully guarantee the security of data; high scalability, storage capacity elastic II 杭州电 子科 技大 学硕 士学 位论文 expansion on demand; ease to use, low maintenance costs and easy managementThrough experiments and the feedback of users, this online network disk based on distribute storage system has a good application value, to provide users with safe, convenient online storage services Keywords : Block-Level Storage, Storage Virtualization, GlusterFS, Online Network Disk III 杭州电 子科 技大 学硕 士学 位论文 目 录 摘要. I ABSTRACT. II 第一章 绪论. 1 1.1 课题相关背景 1 1.2 课题相关领域发展现状2 1.3 课题的意义. 3 1.4 论文的主要工作3 1.5 论文的组织和结构. 4 第二章 云存储系统的相关技术5 2.1 概述. 5 2.2 存储系统的发展5 2.3 GlusterFS 分布式文 件系统研究7 2.4 使用 LAMP 技术构 建 Web 服务. 10 2.5 集群技术 11 2.6 Web 服务性能测试 11 2.7 数据存储服务性能测试 11 2.8 存储虚拟化的概念12 第三章 InfoStor 系统架 构与工作流程设计 14 3.1 InfoStor 系统. 14 3.1.1 系统假设和需求14 3.1.2 整体架构14 3.1.3 ProxyNode. 16 3.1.4 BlockNode. 17 3.1.5 虚拟化流程. 18 3.2 InfoStor 各功能模块 详细设计 19 3.2.1 磁盘管理模块 19 3.2.2 存储池管理. 19 3.2.3 虚拟卷管理. 21 3.2.4 LUN Mapping. 22 3.3 ProxyNode HA 模式. 22 3.4 BlockNode 后端多 副本冗余24 IV 杭州电 子科 技大 学硕 士学 位论文 3.5 本章小结 24 第四章 基于 GlusterFS 的在线网盘设计与实现. 26 4.1 基于 GlusterFS 的 在线网盘需求分析26 4.1.1 在线网盘服务业务流程26 4.1.2 功能需求分析 27 4.2 基于 GlusterFS 的 在线网盘服务系统设计 28 4.2.1 InfoDisk 网盘的体 系结构 28 4.3 基于 GlusterFS 的 在线网盘服务系统实现 28 4.3.1 网络拓扑结构 28 4.3.2 InfoDisk 网盘系统 与 InfoStore 块存储系 统结合29 4.4 在线网盘服务系统的软件结构设计. 30 4.4.1 总体结构设计 30 4.4.2 系统管理模块 31 4.3.3 注册用户管理模块. 32 4.4.4 测试用户管理模块. 33 4.5 在线网盘服务系统的主要数据库设计 33 4.6 本章小结 36 第五章 性能优化及实验结果. 37 5.1 概述37 5.2 在线网盘服务系统性能优化的主要方面37 5.3 系统性能优化方案的分析与设计 38 5.3.1 Web 服务集群系统选型 38 5.3.2 Apache 优化. 39 5.3.3 操作系统的优 化39 5.3.4 SOL 语句优化. 39 5.3.5 PHP 处理模块优化39 5.4 相关实验 40 5.4.1 实验环境40 5.4.2 实验测试42 5.5 本章小结 42 第六章 总结与展望43 6.1 43 6.2 进一步工作及展望43 致谢. 45 V 杭州电 子科 技大 学硕 士学 位论文 参考文献46 附录. 48 VI 杭州电 子科 技大 学硕 士学 位论文 第 一章 绪论 1.1 课题相关背 景 随着信息技术的不断发 展,越来越多的文档被 数字化,全球的 数字化 信息的存储量 正呈现爆发式增长。据 IDC 相关报告指出 ,2006-2010 年间全 球信息存储量以 57% 的 [1] 复合年增长率膨胀。大 量数据密集型应用,如 视频点播、数据挖掘 、大型网站图片存 [2] 储、数字图书馆等,对 现有的网络存储系统提 出了更高的要求。传统 的直接存储模式 [3] (Direct Access Storage, DAS ) 、网络附属存储模式 (Network Attached Storage, NAS ) [4] 和存储区域网模式 (Storage Area Network, SAN )已经无法很好的 满足这些新的需求。 海量信息存储需求和应用的复杂性需要新的存 储模式。 目前, 如何构建一个高性能、 易 扩展、 高可用、 易管理 、 安全的存储系统已经成为网络存储领域所面临的一个重要课题。 随着现代存储技术的发 展,网络存储系统逐步 进入了云存储时代,将 会和云计算一 样成为改变 IT 架构的 革命性技术。未来的存储、计算服务会有专门的企业和人员进行 维护, 而不必由客户花费庞大的成本进行维护, 这是技术进步, 社会分工发展的必然结 果。 云存储就是在这样的背 景下延伸和发展而来的 。与云计算类似,它是 指通过集群技 术、 分布式处理技术和虚拟化技术的应用, 将网络中大量各种不同类型的存储设备通过 虚拟化软件集合起来 协同工作, 共同为用户提供数据存储和业务访问功能。 云存储系统 作 为 一 种 关 注 于数 据 访问 和 存 储 的 云 计算 系 统, 需 要 解 决 两 个重 要 问题 :1 、如何通过 虚 拟 化 技 术 整 合网 络 中异 构 的 存 储 设 备, 为 用户 提 供 统 一 的 存储 ;2、如何利用数据分 发技术, 满足高可用和弹性扩展的需求。 凭借云存储系统的支持, 利用数据中心中各种 异构的存储设备互联而形成的巨大的存储资源池, 根据自身存储需求变化, 动态地调整 其获得的可用存储空间大小, 从而达到存储资源的优化配置。 云存储需要满足的 特征如 表 1.1 所示。 表 1.1 云存 储 的 特征 特征 说明 可管理 性Manageability 以最少 的资 源管 理系 统的 能力 访问方 法Access protocol 访问云 存储 所 需 的协 议 性能Performance 根据宽 带和 延迟 衡量 的性 能 多租户Mutli-tenancy 支持多 个用 户 单 独存 储空 间 可扩展 性Scalability 通过弹性扩 展满 足更 高存储 要求 ,而 对系 统 原有的 数据 分布 造成 较小 影响 1 杭州电 子科 技大 学硕 士学 位论文 数据可 用性Reliability 对一个 系统 的正 常运 行时 间的衡 量 控制Control 控制系 统的 能力 ,特 别是 为成本 、性 能或 其 他特征 进行 配置 存储效 率Storage efficiency 衡量如 何高 效使 用原 始存 储 成本Cost 衡量存 储成 本 1.2 课题相关领 域发 展现状 作为云计算技术的重要 组成部分,云存储技术 同时得到了来自工业界 和学术界的关 注, 发展迅速, 新的云存储系统层出不穷, 提供存储的方式也各不相同。 商品化的云存 储系统一般具有较高的可靠性、 可用性和性能, 具有较好的用户体验, 具有代表性的 产 [5] [6] [7] [8] [9] 品如 Amazon (EC2 、S3 、EBS )等、Google (GFS 、BigTable ) 等以及 Microsoft Azure 等。 这些产品根据其提供存储的方式不同, 又可以分为分布式文件系统如 (GFS ) 、 对象存储如 (Google Storage ) 、 基于数据库的存 储如 (BigTable ) 和块级别存储如 (Amazon EBS ) 等。 然而商用云 存储系统一般与自身云计算平台紧密耦合, 扩展性较差, 同时由 于 其 代 码 的 封 闭 性 , 难 以 对 其 进 行 修 改 与 研 究 。 目 前 主 流 的 开 源 的 云 计 算 平 台 有 [10] [11] [12] CloudStack , Eucalyptus , OpenNebula , OpenStack 等 , 这 些 平 台 都 提 供 了 相 应的云存储系统 , 为中小企业的云存储提供了低成本的 可选参考方案 。 文件级别的云存 储技术主要指的是分布式文件系统和对象存储系统, 它管理一系列分布在网络上的存储 [13] 资 源 , 并 为 用 户 提 供 了 一 整 套 文 件 操 作 接 口 。HDFS 是 典 型 的 分 布 式 文 件 系 统 , Eucalyptus-Walus 、OpenStack-Swift 等 使 用 对象 存 储 技 术为 用 户 虚拟机 提 供 后 台镜 像 存 储。 在全 球云 计算 火热 的背 景下 ,Amazon 提 供的 云计 算服 务无 可置 疑是 最成 功的 ,国 外著名的云存储服务 ??Dropbox , 正是依托 于 Amazon 的 S3 存储 系统, 才 取得了快速 的发展 。S3 是一 个 分布 式 对 象存 储 系统 , 提供 简 单 存储 在 线租 赁 服务 , 用 户只 需 要 支 付少量的费用就可以实时 地访问并接受 Amazon S3 提供的服务,进 行任何 形式的数据 (如文档、 图片、 音乐及视频等) 的存储和传输, 存储空间的 购买也只是按实际使用空 间和对应的数据流量进行付费。 据中国互联网络信息中心于 2005 年 7 月发布 的第 16 次《中国互联网络发展状况统 [14] 计报告》 显示 , 仅在 我国近 5000 万网络即时通讯业务的使用者 ( 占全国 1.03 亿网民 的 44.9%)中,就有约 1600 万的用户经常使用或明确表示期望使用网络硬盘业务。而 且近几年网络硬盘还有高速发展的趋势, 国内几个著名的网 络服务提供商都将网络硬盘 作为增值服务推出: (1)2009 年, 华为公 司提出了一个云存储产品 ??DBANK 数据 银 行。DBANK 具 有页面简洁、 功能全面、 传输速率快、 多终端同步等特 点, 发布后在业界产生了不小的 影响,其规模引起了国内整个业界的关注和重视。 2 杭州电 子科 技大 学硕 士学 位论文 (2)2010 年, 金山也 提出了 云存储服务产品, 称为 金山快盘。 其可 信度要比 99 盘、 115 盘等要高,使用方 式与 dropbox 比较相似, 但相较在国内 dropbox 的存储传输速度 慢且不稳定的缺点 , 快盘就成了国内最有潜力的替代品, 市场前景 良好 , 而且金山公司 结合自身的 office 办公 软件, 可以对存储在云端的可编辑文件进行在线编辑, 用户的本 地电脑上多无需安装 office 软件, 就可以完成 随时随地的办公, 云计算为人们生活带 越 来越多的便捷。 当然还有许多未提及的国内网盘服务如:金山 T 盘、 网盘、盛 大网盘、坚固铺 子, 最有应用价值莫过于 服务商结合自身业务而推出的网盘服务,如 Sina 推出的基于微 博社交分享的 vdisk , 迅雷推出的基于下载资源共享的迅雷随身盘。 1.3 课题的意义 基于分布式存储的在线 网盘系统 ,实现涉及多 种技术,具有高可扩展 和高性能 等特 点, 从理论和实践角度讲, 都有着非常积极的 意义和现实应用价值。 首先, 云存储技术 具有广阔的市场前景, 基于云平台的服务提供会成为接下来数十年中一个主要的商业模 式, 产生巨大的商业价值。 其次, 对云存储技术的研究将带动许多新兴技术的产生和发 展,能够极大的推动信息科技的进步,从多方面改善人们的生活方式和水平。 本文总结了云存储技术 的发展历程、现状和未 来趋势,并在此基础上 结合当前相关 技术和 系统 ,设 计并实 现高可 用性 、高 扩展性 的分布 式块 存储 系统-InfoStor , 同时实现 了基于集群文件系统 GlusterFS 的在线网盘服务。本文的主要创新点和工作如下: 第一 为了适应海量规模存储环境的要求, 提高数据中心主机的存储空间利用率, 设 计并实现了一种异构环境下分布式块存储系统 (InfoStor) 。 它通过带 内存储虚拟化技术 将存储资源充分利用代替 传统的磁盘阵列提供大容量存储空间, 经过虚拟化后的存储空 间按需分 配给上 层应用 服务器, 主控节 点采用 “侦听- 检测- 切 换”的 方式实现 高可用 保 障, 存储后端提供多副本冗余备份的数据安全保障。 第二 通过集群文件系统 GlusterFS 向下整 合 InfoStor 提供的块级别 存储,支持存储 系统的按需容量扩展,向上为在线 Web 网盘 提供文件级别的大容量共享存储空间, 在 线 Web 网盘通过访问 控制,为用户提供单独的存储空间 ,同时提供文件分享服务,方 便了教学信息资源的交流, 给教师之间和师生之间的数据文件交流提供了新途径, 在教 育教学过程中信息资源的存储和共享流通有着非常重要的意义。 本课题受到了国家科技 支撑“支撑智慧城 市的海量数据共享与智 能分析应用示 范(2012BAH24B04 ) ” 、教育部重大专项“中国教育科研网格 ChinaGrid 二期??力学 学 科 应 用 网 格 ” 、 浙 江省 科 技 计 划 重 大专 项 “基 于 存 储 集 群 的内 容 智能 管 理 系 统 研 究 及 产业化(2011C11038 ) ”等重大项目的支持。 1.4 论文的主要工作 为了适应海量规模存储 环境的要求,提高数据 中心主机的存储 空间利 用率,设计并 3 杭州电 子科 技大 学硕 士学 位论文 实现了一种异构环境下的分布式块存储系统 (InfoStor) 。 它通过带内 存储虚拟化技术将 存储资源利用起来, 代替磁盘阵列提供大容量存储空间; 后端提供副本冗余存储功能保 护数据,主控节点支持“侦听- 检测- 切换”的 高可用模式防止单点故障发生。 同时设计并实现了基于集群文件系统 GlusterFS 的在线网盘服务-InfoDisk , 该系统整 合底层整合 InfoDisk 提供的块级别存储,对外为用户提供 Web 形 式的单独存储空间访 问。 首先结 合校园网用户的特点和应用需求, 对校园网络存储解决方案进行了较为深入 的研究, 并设计一个功能完善、 界面友好、 简单易用的网络硬盘系统, 并且在此基础之 上, 针对校园存储服务高并发、 高数据量、 高吞吐量的特点, 设计该服务的性能优化方 案。 1.5 论文的组织和 结构 基于论文的背景和意义 ,本文提出了 基于分布 式存储的 在线网盘系统 , 首先介绍 分 布式块存储系统架构以及组成模块, 在该架构下采用 相应策略提高系统的扩展性和高可 用性, 为了避免系统存在单点故障问题, 本文设计了控制节点下故障检测处理机制, 提 高了系统的高可用 性 方案和多副本冗余机制 ,然后介绍 Web 网盘的 详细设计 ,包括在 线网盘服务系统的用户需求分析、 系统整体方案设计、 软件结构设计、 数据库系统设计 。 本文共分为六章,各章的工作内容如下: 第一章课题的研究背景 介绍,系统地剖析了云 存储技术产生和发展的 原因,通过对 理论和现实 背景 的 分 析 与 综 合 后 指 出 了 开 发 分 布 式 块 存 储 系 统 及 在 线 校园网盘 服务 的 重要性和迫切性 。 在对当前国内外各种类型的云存储系统的特点和存在的不足进行分析 比较的基础上,进一步引证了课题的重要意义。 第二章为基于分布式存 储的在线网盘系统 所涉 及的相关技术,依次介 绍了网络存储 的发展,Glusterfs 分布 式文件系统,LAMP 技 术,相关测试工具和存储虚拟化技术。第三章为分布式块存储系统 InfoStor 的详细设 计,基于带内虚拟化技术实现的分布 式块存储系统的整体架构, 介绍所涉及的主要功能模块: 磁盘 管理、 存储池管理、 虚拟 卷管理和 LUN Mapping 的实现流程,主控节 点的高可用模式和存储后端多副本冗余实 现方式。 第四章为描述了基于 GlusterFS 分布式文件系统的个人 Web 网盘服 务的详细设计, 包括需求分析、整体方案设计、软件架构设计以及数据库设计。 第五章为实验环境描 述,通过实际搭建的 分布式 存储环境和 系 统 服 务 的 调 优 , 使 Web 网盘服务的性能达到最优化, 并通过实验数据对比证明调优后的在线网盘 系统性能 有大幅的提升。 第六章为结论和展望。 对本文作概括性的总结 ,指明了本文的主要工 作和成果,提 出了今后所应作的进一步改进和优化的方向。 4 杭州电 子科 技大 学硕 士学 位论文 第 二章 云存 储 系统 的相关 技术 2.1 概述 本章主要介绍云计算背 景下热门的 云存储 所涉 及的 相关技术,包括开 源分布式文件 系统 GlusterFS 、LAMP 技术、集群技术、 存储虚拟化技术 和相关测试工具 。 2.2 存储系统的发展 最初的文件系统只存在 于单个计算机节点上, 其主要目的是管理本地 的存储 设备如 磁盘、 磁带等, 同时为用户提供访问接口, 被称为本地磁盘文件系统。 存储系统通过标 准接口 (如 SCSI 或 Fiber Channel ) 与计算机 相连, 所以称之为直连式存储系统 (Direct Attached Storage ,DAS),DAS 经常使用冗余磁盘阵列(Redundant Array of Independent Disks ,RAID ) ,以提高 存储的容量和可靠性。 随着互联网的迅速发展 ,对各个计算机节点间 的数据传输与共享需求 越来越强烈, 采用传统的 DAS 方式已经不利于存储资源的共享和资源利用率的提高。因此支 持多服 务 器 主 机 共 享 存 储 的 网 络 存 储 系 统 (Network Attached Storage, NAS ) 和 存 储 局 域 网 (Storage Area Network ,SAN )应运而生。 为了解决 DAS 扩展性 的限制,进而使存储架 构能够具备设备整合和 数据共享的特 点,业界提出了 SAN 。SAN 是一个交换式光纤网络,通过 FC 交换机连接存储阵列和 服务器主机, 建立专用于数据存储的区域网络。SAN 技术经过 10 多年的应用和发展完 善,已经趋于成熟。SAN 存储模式采用的网 络带宽已经从最初的 100MB/s 、200MB/s , 发展到目前的 1Gbps 、2Gbps 。SAN 相比于 DAS 的改进在于它将存储设备从服务器中独 立出来, 并可以通过 FC 实现对存储设备的直接访问, 因此 SAN 可以实现大量的主机和 存储设备的快速、可扩展的互联。但是这也带来更多的安全隐患,因为 SAN 本身只是 一个互联网络, 缺乏安全认证机制。 因此, 在 SAN 中引入了分区 ( 类似 VPN) 和主机 设备的认证以保证光纤网络的安全性。 除此之外,SAN 和 DAS 都是提供基于块的接口, 而存储应用程序 (例如文件系统 ) 需要负责上层数据结构 (例如文件/ 目录) 到底层块之 间的映射。实现上述映射过程的额外数据结构通常称为 元数据 (MetaData ) 。在多个主 机共享数据块的情况下, 他们同样需要共享元数据, 并且要保证元数据的一致性。 上述 过程的实现较为复杂, 使得块共享只能在一些紧耦合性的、 性能敏感的存储应用 ( 例如 集群文件系统和数据库 ) 中使用, 很难实现跨平台的数据共 享。 大多数的情况是底层架 构需要专用的文件服务器来管理数据块的元数据和身份认证, 用户通过访问该文件服务 器来间接访问 SAN 以实现共享数据。在实际应用中,SAN 还存在以下问题: (1) 设备的兼容性较 差。 目前主流的 SAN 互联技术还是 Fiber Channel FC , 不同 5 杭州电 子科 技大 学硕 士学 位论文 制造 商的 FC 并不完全兼容,这在客观上造成不同厂商的产品之间难以互相兼容; (2)SAN 的构建和维护费用较高。目前的 SAN 采用的 FC 网络互 连设备普遍比 较昂贵,同时 SAN 的维护需要专业管理员,其维护成本较高。 上述这些问题都阻碍了 SAN 技术的普及和推广。 NAS 的引入主要是为了实现跨平台的数据共享, 它能提供文件级接口。 由图 2.1 可 以看出,SAN 的文件系统仍然是建立在应用服务器各自的主机上。 而 NAS 则是应用服 [15] [16] 务器通过网络协议 ( 例如 NFS 和 CIFS ) 共享同一个后台文件系统, 而该 文件系统 建立在 NAS 的存储设备上。NAS 和 SAN 存 储系统的差异从表 面来看是块级别存储和 文件级存储的区别,但其根本区别在于 NAS 设备有自己的文件系统。因此 NAS 本质 上仍然是文件服务器 ( 如图 2.1 所示) ,它将 描述文件存储形式和位 置的元数据完全交 由文件服务器来管理的, 安全性也可以有文件服务器来保证。 这种机制间接地实现了跨 平台的数据共享, 但是显而易见的问题是所有的 I/O 引导都通过单一 的文件服务器会带 来性能上的限制。 随着客户端数量增加, 服务请求数量激增, 单一的文件服务器的最终 会成为系统瓶颈。此外,NAS 的文件访问速度要低于 SAN 。因为 NAS 采用了文件级 接口, 放弃直接 I/O 访 问带来的高性能。 客户端和 NAS 之间的 I/O 传输需要经过 TCP/IP 协议封装进行传输,这带来巨大的网络协议开销。在具体实施中,NAS 通常被用来当 作 SAN 或 DAS 的 “头” (如图 2.1 所示) 。 这 两种应用中, 客户端都要受限于单台文件 服务器的性能,而且整个存储系统性能几乎不会随着存储设备的加入而线性增加。 File system NFS Client File system NFS server Network NFS Client File system图2.1 NFS 客户- 服务器 模 型 共享 SAN 文件系统出 现的历史 背景是存储系 统开始独立于计算机, 存储区域网络 SAN 兴起,研究重点 是解决存储系统的可扩展性及面向 SAN 的共 享文件系统,结构图 如图 2.2 所示。 随着互联网对海量数据 存储要求的提高,基于 单个计算机节点的存储 模式的局限越 来越明显。 互联网上的数据量越来越大, 单个文件的大小也在快速增加。 一些文件在普 通的计算机节点上根本无法存储, 即使一些能存储在单个节点上的大文件, 系统吞吐量 也极其低下。基于分片的文件存储系统将一个大文件分割成很多小文件进行单独存储, 这种技术使得一个文件各个部分的数据可以分散在多个计算机节点上。 分片技术使 得多 6 杭州电 子科 技大 学硕 士学 位论文 用户可以并行地访问文件的各个部分, 系统吞吐量得到提高, 避免了性能瓶颈, 结构图 如下所示: 计 算/ 文 件 系 存 储 节 点 统 节 点 计 算/ 文 件 系 SAN 统 节 点 存 储 节 点 计 算/ 文 件 系 统 节 点 存 储 节 点图 2.2 SAN 存 储系 统 控 制 元 数 据 服 路 径 计 算 节 点 务 器 (client ) 存 储 计 算 节 点 高 速 网 节 点 (client ) 络 数 据 路 径 存 储 计 算 节 点 节 点 (client )图2.3 分布 式存 储系 统 对于如何将文件的各个 分片数据映射到存储节 点,实现数据分片的均 衡分布和系统 的负载均衡时, 主要存在两种技术: (1) 基于文件映射表的分散存储。 该方式为每个文 件保存一个元数据表,元数据表的内容即为文件各个分片到存储节点的映射关系。 (2) 基于哈希函数的随机 分散方法, 该方式不需要保存元数据表, 只要知道文件的相关信息 即可计算出文件数据的所在位置, 该技术完全避免了定位表的存在。 据统计, 元数据操 [17] 作占据了文件系统一半的工作负载 , 特别是 元数据存储在一个中心节点上时, 基于定 位表的寻找方式很容易成为系统性能的瓶颈。 使用哈希函数映 射的方式使得文件分片在 概率上均匀分散开了, 但由于这种映射关系是不可改变的, 这使得系统在运行过程中可 能出现热点问题。 拥有多个存储节点的分布式文件系统中, 存储节点出现故障的概率大 大增加, 一旦计算机节点失效就会导致一些数据不可用甚至导致系统不可用。 为了保证 系统的可靠性, 分布式文件系统使用了副本冗余技术, 即将数据或分片冗余存储在多个 节点上。一旦节点失效后,文件的各个部分和系统仍然可用。 2.3 GlusterFS 分布式文件系统 研究 GlusterFS 核心部分是 支持动态横向扩展的 Scale-Out 的分布式文件 系统,能够通过 [18] 扩展支持数 PB 存储容 量和处理数千客户端 。GlusterFS 借助 TCP/IP 或者 Infiband 7 杭州电 子科 技大 学硕 士学 位论文 RDMA 网络将物理分布的存储资源聚集在一起, 使用单一全局命名空间来管理数据, 对 于客户端而言通过 POSIX 标准的文件挂载后 所看到的文件 存储视图是相同的, 如图 2.4 所示。 Clients/Apps. Clients/Apps Gluster Global NamespaceNFS,CIFS,Gluster NativeApplication Data Gluster Virtual Storage Pool图 2.4 GlusterFS 统一的 挂 载点 [19] [20] [21] 相对于其他的分布式存储系统 如开源的系统 Lustre 、MooseFS 、Ceph 等和经 [22] [23] [24] [25] 过 多 年 技 术 积 累 的 商 业 化 文 件 系 统 GPFS 、StorNext 、ISILON 、IBRIX 。 GlusterFS 集群文件系 统架构的显著特点是无元数据服务器设计 , 如图 2.5 所示, 和其他 [26] [27] 无元数据服务架构使用一致性 Hash 或者 Crush 等 Hash 算法一样,GlusterFS 存储客 户端通过自身的弹性 Hash 计算来进行数据的定位。该架构的优点是不受元数据服务器 单点故障的影响,做到系统的线性扩展不受限制。缺点是存储客户端因 Hash 计算而造 成额外负载 。 GlusterFS 采用模块化 的架构, 可通过灵活的配置支持高度定 制化的应用环境, 比如 大 文 件 存 储、 海 量 小文件 存 储 、 云存 储 、 多协议 应 用 等 。GlusterFS 集 群 存 储 的核 心 是 Cluster 模块, 包括的 数据分布有三种基本模式:Distribute 、Stripe 和 Replicate。 如图 2.6 所示,Distribute 是指客户端存储的文件以整体的形式存储到服务端上。Stripe 是指将一 个文件分片存储到服务端。Replicate 是指建立 镜像关系, 将文件或者 其分片以多副本形 式保存到服务端。根据实际存储需求的不同,这三种基本模式可以组合搭配使用。 AFR 相当于 RAID1 , 同 一文件在多个存储节点上保留多份, 主要用于实现高可用性 以及数据自动修复。AFR 所有子卷上具有相同的名字空间, 查找文件时从第一个节点开 始, 直到搜索成功或最后节点搜索完毕。 读数据时,AFR 会把所有请求调度到所有存储 节点, 进行负载均衡以提高系统性能。 写数 据时, 首先需要在所有锁服务器上对文件加 锁, 默认第一个节点为锁服务器, 可以指定多个。 然后,AFR 以日志 事件方式对所有服 务器进行写数据操作,成功后删除日志并解锁。 DHT 即上面所介绍的弹性哈希算法,它采用 hash 方式进行数据分布,名字空间分 布在所有节点上。 查找文件时, 通过弹性哈希算法进行, 不依赖名字空间。 但遍历文件 目录时, 则实现较为复杂和低效, 需要搜索所有的存储节点。 单一文件只会调度到唯一 的 存 储 节点 , 一 旦文 件被 定 位 后, 读 写 模式 相对 简 单 。DHT 不具 备容 错 能 力, 需 要 借 8 杭州电 子科 技大 学硕 士学 位论文 助 AFR 实现高可用性 。Stripe 相当于 RAID0 ,即分片存储,文 件被划分成固定长 度的数据分片以 Round-Robin 轮转方式存储在所有存储节点。Stripe 所有存储节点组成完整的名字空间, 查找文件时需要询问所有节点,这点非常低效。读写数据时,Stripe 涉及全部分片存储 节点,操作可以在多个节点之间并发执行,性能非常高。Stripe 通常与 AFR 组合使用, 构成 RAID10/RAID01 ,同时获得高性能和高可用性,当然存储利用率会低于 50% 。 Client Side Storage Clients GlusterFS Client Glustered Vol Manager Glustered I/O Scheduler Infiniband RDMA (or ) TCP/IP Server Side GlusterFS Clustered Filesystem on x86-64 platform Storage Brick 1 Storage Brick N Storage Brick 2 GlusterFS GlusterFS GlusterFS. Volume Volume Volume图 2.5 GlusterFS 架构和 组成 VFS I/O Cache Read Ahead Distribute/Stripe Replicate Replicate. Client Client Client Client GigE,10GigE - TCPIP/InfiniBand - RDMA Gluster Server Gluster Server Gluster Server Server Server ServerPOSIX POSIX POSIX Ext4 Ext4 Ext4 Brick 2 Brick n Brick 1图 2.6 GlusterFS 模块化 堆栈式 设计 9 GlusterFS Client杭州电 子科 技大 学硕 士学 位论文 通过构建 GlusterFS 的 虚拟化模板 ,使得用户在云计算平台中快速部署 分布式存储 服务,可以在虚拟化宿主包括 ESXi/ESX, XenServer 及 KVM 中以虚 拟机的形式运行, 根据实际的需求动态增减集群规模,如图 2.7 所示。与传统的数据中心不同,如今高性 能的虚拟化云计算环境, 为多雇主提供服务, 根据需求动态地增加或者缩减虚拟机集群 规 模 , 使 宿主 主 机 的资源 利 用 率 更高 。GlusterFS 将 这 个 云 计算 的 特点 考 虑 到 核心 架 构 设计中, 通过管理员简便的操作, 在不破坏原有数据完整性的情况下, 使得存储规模弹 性变化变得简单。 Scale Out Performance & Availability GlusterFS Other GlusterFS Other GlusterFS Other Virtual VM Virtual VM Virtual VM Apps
/
本文档为【基于分布式存储的在线网盘系统的设计与实现(可编辑)(可编辑)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索