热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

横向扩展的NAS:在混合云中存储的关键

目前,世界上绝大部分的数据中心仍然在为其存储使用垂直扩展的解决方案,这显然是一个问题。这种传统的存储方法在其设计之初并没有考虑到今天泽字节的数据。现如今

目前,世界上绝大部分的数据中心仍然在为其存储使用垂直扩展的解决方案,这显然是一个问题。这种传统的存储方法在其设计之初并没有考虑到今天泽字节的数据。现如今的企业组织机构需要比以往任何时候都存储更多的数据,而与此同时,他们还需要在不损害性能的前提下,以一种经济实惠的方式这样做。而软件定义的存储的出现使得横向扩展的存储解决方案成为了一种现实的可能。

另一项相对较新的技术:混合云,则能够使得企业组织机构享有云架构的最大的业务灵活性,这将有助于他们最大限度地提高预算效率和性能目标。简而言之,混合云是一款实用企业内部部署、私有云和公共云服务,在两个平台之间拥有业务流程的云计算环境的混合。

而与任何新的架构一样,部署一款混合云的方法都同时具有其优点和缺点。在本文中,我们将与广大读者朋友们共同讨论一些您所在的企业可以借鉴使用的设计元素,进而帮助确保您企业的混合云所交付的性能,满足您企业所需要的灵活性和可扩展性。

横向扩展(Scale-Out)NAS的角色作用

横向扩展的NAS(网络附加存储)是混合云存储解决方案的基础。由于混合云架构对于市场而言还仍然相对较新——甚至对于全面部署更新——故而许多企业组织机构都不了解在横向扩展NAS中的一致性的重要性。许多环境是最终一致的,这意味着您企业所编写的到一个节点的文件是不能立即从其他节点访问的。这种情况可能是由于缺乏合适的实施协议,或与虚拟文件系统的集成整合不够充分所造成的。与之相反的情况则是严格一致的:文件能够在同一时间从所有节点访问。兼容的协议部署实现和与虚拟文件系统的紧密集成整合是一个很好的成功秘诀。

基于横向扩展NAS的混合云架构应该基于三层。在集群中的每台服务器都会运行一个基于这些层的软件堆栈。第一层是持久存储层。其是基于一个对象存储,提供了包括诸如极端的可扩展性的优势。但该层在其自身必须严格一致。虚拟文件系统是任何横向扩展NAS的核心。其在这个第二层,具有诸如高速缓存、锁、分层、配额和快照处理等功能。第三层含有诸如SMB和NFS等协议,以及虚拟机管理程序的集成点。

保持架构的对称和清洁是非常重要的。如果您的企业能够设法做到这一点,未来的许多架构挑战都将更容易克服。

现在,我们需要更仔细地关注一下存储层。因为其是基于一个对象存储,现在我们可以很容易地扩展我们的存储解决方案。借助干净的和对称的架构,我们可以扩展到兆字节的数据和万亿的文件。

存储层需要一个快速和有效的自我修复机制来履行其确保冗余的责任。为了让数据在数据中心保持尽可能低的足迹占用空间,存储层需要支持不同的文件编码。有些用于优化性能的,而有些则是为减少足迹占用空间。

元数据找到其合适的存储位置

元数据是虚拟文件系统的一个重要方面。元数据是描述文件系统结构的信息块。例如,一个元数据文件可以包括文件系统中的一个单一的文件夹包含了哪个文件和文件夹的信息。这意味着对于虚拟文件系统中的每个文件夹都将会有一个元数据文件。随着虚拟文件系统的发展,我们将获得越来越多的元数据文件。

对于一家仅仅只有较小的存储需求的企业组织机构而言,元数据的集中存储将是一项备选方案——但并不是当我们谈论横向扩展的时候。所以,让我们分析一下不要将元数据存储在哪些地方。在单个服务器中存储元数据会导致可扩展性差、性能差和可用性差。由于我们的存储层是基于一个对象存储,故而用来存储所有的元数据的一个更好的地方便是在对象存储——特别是当我们谈论数量繁多的元数据的时候。这种方法将确保良好的可扩展性,良好的性能和良好的可用性。

缓存以实现更好的性能

为了提高性能,软件定义的存储解决方案需要缓存设备。从一个存储解决方案的角度来看,无论是速度、规模以及价格;找到一个合适点是很重要的。对于一款SDS解决方案,通过在将其是降级到存储层之前,将其复制到另一个节点,以便在一个较高的水平保护数据也是重要的。

鉴于存储解决方案在容量能力和功能特性两方面的发展,特别是在虚拟或云环境中,支持多个域变得更加重要。支持多个文件系统也是相当重要的。不同的应用程序和使用案例倾向于不同的协议。有时,能够跨不同的协议访问相同的数据也是有必要的。

当然,虚拟机管理程序对于混合云的云元素的支持是必要的。因此,横向扩展的NAS还必须能够像超融合(hyperconverged)一样运行。软件定义的意义即在于此。

如果说架构是扁平化的,缺乏外部存储系统,横向扩展的NAS必须能够像一台虚拟机一样运行,并 利用虚拟机管理程序主机的物理资源。guest虚拟机(VM)的图像和数据将被存储在横向扩展的NAS提供的虚拟文件系统。guest虚拟机可以使用此文件系统在虚拟机之间共享文件,同时使VDI环境更完美。

那么,为什么支持许多协议是重要的呢?在一个虚拟环境中,许多不同的应用程序正在运行,每款应用程序都有其各自不同的协议需求。而通过支持多种协议,我们保持了体系结构的扁平化,使得我们在一定程度上有能力在不同协议的应用程序之间共享数据。

支持裸机和虚拟环境,有一个架构,让我们能够从小事做起,并逐步实现规模化扩展,成为软件定义的,同时支持快速和高效节能的硬件,并具有对于所有主要协议的支持,将有助于打造一个非常灵活和有用的存储解决方案。

在混合云中的文件

通常的情况是这样的:不同的办公室同时需要私有领域和能够与其他分支机构共享的领域。每个站点都有其自己独立的文件系统,所以只有部分的文件系统将能够与其他人共享。

选择一个文件系统的一部分,让其他部分能够在其他文件系统提供的灵活性的任何点上安装,以实现文件系统在办公室范围之外的扩展。确保发生在文件系统水平的同步能够跨多个站点拥有一个一致的文件系统视图。能够在不同的站点具体说明不同的文件编码是相当有用的,例如,如果是将一个站点作为备份目标的话。

规模化扩展的性能

通过汇集了上面所列出的所有功能,所创建的一款混合的云系统能够提供线性缩放,满足今天数据中心的需要。只有一个文件系统跨越所有服务器,能够改善可能影响性能的瓶颈。通过添加节点、本地协议支持和高性能的Flash支持所带来的横向规模扩展的灵活性都包含在这款基于横向扩展的NAS的架构的基础上。采用了这款系统的数据中心,将拥有他们可以负担得起的可扩展性。

关于作者

本文作者Stefan Bernbo是Compuverde公司的创始人兼首席执行官。20年来,Stefan设计并打造了大量的企业级的数据存储解决方案,旨在实现海量数据集存储的成本效益。从2004年到2010年,他曾供职于Storegate公司,该公司主要为消费者和企业市场提供满足他们最高的可用性和可扩展性要求,具有广泛影响的基于互联网的存储解决方案。此前,Stefan曾就几个项目与全球领先的电信设备和移动和固定网络服务运营商、瑞典巨头爱立信在系统和软件架构方面进行过合作。
本文转自d1net(转载)



推荐阅读
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 随着网络安全威胁的不断演变,电子邮件系统成为攻击者频繁利用的目标。本文详细探讨了电子邮件系统中的常见漏洞及其潜在风险,并提供了专业的防护建议。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 探讨架构师在项目中应如何平衡对产品的关注和对团队成员的关注,以实现最佳的开发成果。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 创建项目:Visual Studio Online 入门指南
    本文介绍如何使用微软的 Visual Studio Online(VSO)创建和管理开发项目。作为一款基于云计算的开发平台,VSO 提供了丰富的工具和服务,简化了项目的配置和部署流程。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文详细解释了如何使用@IfProfileValue注解来检测Spring框架中的配置文件是否处于活动状态,并探讨其与@Profile和@activeProfiles的区别。 ... [详细]
author-avatar
岩蕃wy之人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有