对于一个成功的、具有极高可扩展性的NAS存储系统来说,要想架构云存储系统解决方案需要什么?

云存储的概念始于Amazon提供的一项服务(S3),同时还伴随着其云计算产品(EC2)。在Amazon的S3的服务背后,它还管理着多个商品硬件设备,并捆绑着相应的软件,用于创建一个存储池。新兴的网络公司已经接受了这种产品,并提出了云存储这个术语及其相应的概念。

云存储是一种架构,而不是一种服务。你是否拥有或租赁了这种架构是一个次要问题。从根本上来看,通过添加标准硬件和共享标准网络(公共互联网或私有的企业内部网)的访问,云存储很容易扩展云容量和性能。事实证明,管理数百台服务器,使得其感觉上去就像是一个单一的、大型的存储池设备是一项相当具有挑战性的工作。早期的供应商(如Amazon)承担了这一重任,并通过在线出租的形式来赢利。其它供应商(如Google)雇用了大量的工程师在其防火墙内部来实施这种管理,并且定制存储节点以在其上运行应用程序。由于摩尔定律(Moore’s Law)压低了磁盘和CPU的商品价格,云存储渐渐成为了数据中心中一项具有高度突破性的技术。

这十年来,集群NAS系统已经出现了好转。本文综述了构建一个云存储或大规模可扩展的NAS系统的各种不同架构方法,对于那些寻求构建私有云存储以满足其消费的企业IT管理者或是对于那些寻求构建公共云存储产品从而以服务的形式来提供存储的服务提供商来说,这些方法与他们息息相关。架构方法分为两类:一种是通过服务来架构;另一种是通过软件或硬件设备来架构。

传统的系统利用紧耦合对称架构,这种架构的设计旨在解决HPC(高性能计算、超级运算)问题,现在其正在向外扩展成为云存储从而满足快速呈现的市场需求。下一代架构已经采用了松弛耦合非对称架构,集中元数据和控制操作,这种架构并不非常适合高性能HPC,但是这种设计旨在解决云部署的大容量存储需求。各种架构的摘要信息如下:

紧耦合对称(TCS)架构:

构建TCS系统是为了解决单一文件性能所面临的挑战,这种挑战限制了传统NAS系统的发展。HPC系统所具有的优势迅速压倒了存储,因为它们需要的单一文件I/O操作要比单一设备的I/O操作多得多。业内对此的回应是创建利用TCS架构的产品,很多节点同时伴随着分布式锁管理(锁定文件不同部分的写操作)和缓存一致性功能。这种解决方案对于单文件吞吐量问题很有效,几个不同行业的很多HPC客户已经采用了这种解决方案。这种解决方案很先进,需要一定程度的技术经验才能安装和使用。

松弛耦合非对称(LCA)架构:

LCA系统采用不同的方法来向外扩展。它不是通过执行某个策略来使每个节点知道每个行动所执行的操作,而是利用一个数据路径之外的中央元数据控制服务器。集中控制提供了很多好处,允许进行新层次的扩展:

● 存储节点可以将重点放在提供读写服务的要求上,而不需要来自网络节点的确认信息。

● 节点可以利用不同的商品硬件CPU和存储配置,而且仍然在云存储中发挥作用。

● 用户可以通过利用硬件性能或虚拟化实例来调整云存储。

● 消除节点之间共享的大量状态开销也可以消除用户计算机互联的需要,如光纤通道或infiniband,从而进一步降低成本。

● 异构硬件的混合和匹配使用户能够在需要的时候在当前经济规模的基础上扩大存储,同时还能提供永久的数据可用性。

● 拥有集中元数据意味着,存储节点可以旋转地进行深层次应用程序归档,而且在控制节点上,元数据经常都是可用的。

云存储选择

虽然在可扩展的NAS平台上有很多选择,但是通常来说,他们表现为一种服务、一种硬件设备或一种软件解决方案,每一种选择都有它们自身的优势和劣势:

● 服务模式:最普遍的情况下, 当你考虑云存储的时候,你就会想到其所提供的服务产品。这种模式很容易开始,其可扩展性几乎是瞬间的。根据定义,你拥有一份异地数据的备份。然而,带宽是有限的,因此要考虑你的恢复模型。你必须要满足你网络之外的数据的需求。

● HW模式:这种部署位于防火墙背后,并且其提供的吞吐量要比公共的内部网络好。购买整合的硬件存储解决方案非常方便,而且,如果厂商在安装/管理上做的好的话,其往往伴随有机架和堆栈模型。但是,这样你就会放弃某些摩尔定律的优势,因为你会受到硬件设备的限制。

● SW模式:SW模式具有HW模式所具有的优势。另外,它还具有HW所没有的价格竞争优势。然而,其安装/管理过程序要谨慎关注,因为安装某些SW的确非常困难,或者可能需要其他条件来限制人们选择HW,而选择SW。

以下表中概括总结了不同厂商的选择: 

 

带*的表示产品还未上市,所以具体细节还不清楚

伴随着大规模的数字化数据时代的到来,在这个时代里,企业使用YouTube来分发培训录像,在这里,没有必要将这些数字“资料”放的到处都是。像以上这些企业正致力于内容的创建和分布,基因组研究、医学影像等的要求会更加严格准确。LCS架构的云存储非常适合这种类型的工作负载,而且还提供了巨大的成本、性能和管理优势。

作者:布丁
来源:51CTO

在NAS上基础构建云存储系统的两种解决方案相关推荐

  1. SpringBoot2.1.5 (5)---快速构建SpringBoot 项目的两种方式

    快速构建SpringBoot项目的两种方发 一. 通过 http://start.spring.io/ 在线构建 二. 通过IntelliJ IDEA 快速构建 通过 http://start.spr ...

  2. ubuntu安装python3.8_在Ubuntu 18.04系统上安装Python 3.8的两种方法

    本文介绍在Ubuntu 18.04/16.04系统上安装Python 3.8的两种不同方法,第一个选择是从Deadsnakes PPA安装deb软件包,第二个选择是从源代码构建,当前Python 3. ...

  3. python matplotlib在一张画布上画多个图的两种方法,plt.subplot(),plt.subplots()。

    Matplotlib在一张画布上画多个图的两种方法,plt.subplot,plt.subplots. 目录 回顾 plt.subplots()画法 plt.subplot()画法 保存 回顾 之前也 ...

  4. SpringMVC基础学习之Controller的两种实现方式和RequstMapping注解的使用

    前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java半年多时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 这个SpringM ...

  5. 在 Win10 上安装 Redis 4.0 的两种姿势

    Redis 是完全开源免费,遵守 BSD 协议的一个高性能的 key-value 数据库. 1. 使用 msi 安装 Redis 2. 在 WSL 上安装 Redis 2.1 准备工作 2.2 安装 ...

  6. PCL学习(4.5)——点云对象的两种定义方式的区别与转换

    创建与访问 第一种,是一种vector的赋值方式,将point数据push_back到pcl::PointXYZ类型的模板中. pcl::PointCloud<pcl::PointXYZ> ...

  7. Vue2基础-el与data的两种写法(HTML版)

    目录 一.el的2种写法 二.data的2种写法 三. 一个重要的原则 Vue2基础全套教程合集:点击跳转        Vue2高级全套教程合集:点击跳转 一.el的2种写法 new Vue时候配置 ...

  8. win7 u盘 正在计算机,U盘在Win7电脑上读不出来怎么办?两种解决方法全教给你!...

    在我们平日的工作或学习生活中,有很多小伙伴都会用U盘来存储学习或工作上比较重要的资料文件,虽然是现在使用U盘的小伙伴们是越来越少了吧,但是这也不能影响那些习惯使用U盘的小伙伴. 当我们想要处理U盘上的 ...

  9. jpg格式电脑怎么弄_电脑上怎么压缩JPG图片?两种方法帮你轻松解决

    我们在工作中经常会使用到各种图片,尤其做PPT时,需要大量的图片素材.为了方便保存与传输图片,首先我们要进行图片压缩,但在压缩时很容易导致图片质量受损.今天小编向大家分享两种图片压缩的方法,帮助大家在 ...

最新文章

  1. 语音助手再次敲响隐私保护警钟
  2. web项目导入变java项目_eclipse导入web项目变成java项目解决办法
  3. 将文件转成byte[]文件属组
  4. vue-axios 安装和应用
  5. 感知重塑与忠诚建立:车企营销的两大新机遇
  6. 基于stm32、0.96寸OLED实现的俄罗斯方块小游戏(详细源码注释)
  7. Elasticsearch的功能,Elasticsearch的适用场景,Elasticsearch的特点(来自学习资料)
  8. .NET各版本一览表
  9. win10 hyper ubuntu18 共享文件夹
  10. bootstrap --- 鼠标停留提示事件
  11. java静态成员方法_java的静态成员、静态方法的注意事项!
  12. Spring Cloud —— Feign 实现服务调用
  13. 带宽和下载速率的关系
  14. php 赋值给 dom对象,详解PHP原生DOM对象操作XML的方法
  15. 系统简单的UIImagePickerController
  16. en55032最新标准下载_施工升降机事故案例ppt(可下载)
  17. csapp bomb lab (《深入理解计算机系统》lab2)
  18. 有零基础开始学习python的小伙伴吗?学起来难吗?
  19. 微信发朋友圈的测试用例【详细测试用例】
  20. 理解对比表示学习(Contrastive Learning)

热门文章

  1. 开源社交系统ThinkSNS+和ThinkSNS V4区别在哪里
  2. Hadoop集群启动、初体验
  3. SSDTShadow Hook的实现,完整代码。可编译
  4. [转]VI/VIM的键盘图
  5. Golang面向并发的内存模型
  6. SpringCloud 多机搭建Consul集群
  7. ZooKeeper(三) 什么是分布式锁以及使用Redis手写实现
  8. golang 筆記:make 與 new 的差別
  9. 如何在Vue 中管理 Mixins(搞懂这两点就足够了)
  10. jQuery 引用地址{包括jquery和google提供的地址}, 节省你不必要的流量