nas私有云的缺点(如何实现一个公有云的大厂分布式NAS)
任何一个分布式存储产品,业务的述求就是在满足业务需求的前提下,稳定性和运维能力要足够简单可靠,如果是公有云产品,则存储成本也是一个考虑因素。
理想存储功能
存储产品概述 – 云存储厂商的产品对比通过登陆TOP10的云厂商产品,在官网侧我们可以看到三款核心的存储产品:块存储(EBS)、对象存储(OSS)和文件存储(NAS)
各大云厂商的核心存储产品
存储模型EBS、NAS / OSS
- 弹性扩展、高可用
- EBS FS = NAS
- EBS 无法容量弹性扩展,单盘最大只能32TB,并且对共享访问的支持有限
产品的接入对比
性能和场景:不同的存储产品,因为接入协议不同、元数据的管理不同、性能不同,业务适配的场景也有一定的区别
性能对比
NAS的发展和演进 – 企业级NAS话说70多年前,一个牛逼哄哄的人,托马斯·约翰·沃森(IBM创始人)继苹果电脑问世后,主攻可记忆和分享的软件(程式)的研发,后来并购了国际时间记录公司、计算尺公司和制表机器公司三家(Computing-Tabulating-Recording Company,即C-T-R公司),1924年更名为IBM.IBM在50年代开始生产通用电脑时,将穿孔卡片用于存储及输入数据,很快其他许多电脑厂商也开始采用各种类型的穿孔卡片。
许多厂商使用80列卡片,每列存储一个字符。一直到2002年,IBM仍在研究穿孔卡片技术:一种系统能够在一张邮票大小的表面上存储2500万页的数据,至此存储时代兴起。而后30多年,存储介质百花齐放,穿孔卡片、数据磁带(1951 IBM)、移动磁盘(1963 IBM)、盒式磁带、软盘(1971 IBM)、小型带盒(1972 飞利浦) 、ROM卡匣(1976仙童半导体公司)、各种新式软盘、光盘(1982 索尼和飞利浦)、磁光存储介质、光软盘(1992 Insight Peripherals) 、百花齐放的移动存储介质、闪存、迷你移动存储盘(IBM&东芝)、USB、硬盘、固态硬盘(DRAM&Flash)。
演进对比
DAS(Direct Attached Storage)直接附加存储
直接附加存储是指将存储设备通过总线(SCSI、PCI、IDE等)接口直接连接到一台服务器上使用。DAS购置成本低,配置简单,因此对于小型企业很有吸引力。
DAS存在问题:
①服务器本身容易成为系统瓶颈。
②服务器发生故障,数据不可访问。
③对于存在多个服务器的系统来说,设备分散,不便管理。同时多台服务器使用DAS时,存储空间不能在服务器之间动态分配,可能造成相当的资源浪费。
④数据备份操作复杂。
DAS
SAN(Storage Area Network)存储区域网络
是一种高速的、专门用于存储操作的网络,通常独立于计算机局域网(LAN)。SAN将主机(管理server,业务server等)和存储设备连接在一起,能够为其上的任意一台主机和任意一台存储设备提供专用的通信通道。SAN将存储设备从服务器中独立出来,实现了服务器层次上的存储资源共享。SAN将通道技术和网络技术引入存储环境中,提供了一种新型的网络存储解决方案,能够同时满足吞吐率、可用性、可靠性、可扩展性和可管理性等方面的要求。
通常SAN由磁盘阵列(RAID)连接光纤通道(Fibre Channel)组成(为了区别于IP SAN,通常SAN也称为FC-SAN)。其中,SAN网络又被细分为FC-SAN网络和IP-SAN网络。
1、FC-SAN
FC-SAN顾名思义就是直接通过FC通道来连接磁盘阵列,数据通过发送SCSI命令来直接与硬件进行通信,从而提高了整体的速率。
FC-SAN的优点:
面对迅速增长的数据存储需求,企业和服务提供商渐渐开始选择FC-SAN作为网络基础设施,因为SAN具有出色的可扩展性。事实上,SAN比传统的存储架构具有更多显著的优势。例如,传统的服务器连接存储通常难于更新或集中管理。每台服务器必须关闭才能增加和配置新的存储。相比较而言,FC-SAN不必宕机和中断与服务器的连接即可增加存储。FC-SAN还可以集中管理数据,从而降低了总体拥有成本。
利用光纤通道技术,FC-SAN可以有效地传输数据块。通过支持在存储和服务器之间传输海量数据块,SAN提供了数据备份的有效方式。因此,传统上用于数据备份的网络带宽可以节约下来用于其他应用。
2、IP-SAN
简单来讲,IP-SAN(IP存储)的通信通道是使用IP通道,而不是光纤通道,把服务器与存储设备连接起来的技术,除了标准已获通过的iSCSI,还有FCIP、iFCP等正在制定的标准。而iSCSI发展最快,已经成了IP存储一个有力的代表。
像光纤通道一样,IP存储是可交换的,但是与光纤通道不一样的是,IP网络是成熟的,不存在互操作性问题,而光纤通道SAN最令人头痛的就是这个问题。IP已经被IT业界广泛认可,有非常多的网络管理软件和服务产品可供使用。
SAN
NAS(Network Attached Storage)网络附加存储
在NAS存储结构中,存储系统不再通过I/O总线附属于某个服务器或客户机,而直接通过网络接口与网络直接相连,由用户通过网络访问。实际上是一个带有文件服务器的存储设备,其作用类似于一个专用的文件服务器。这种专用存储服务器去掉了通用服务器原有的不适用的大多数计算功能,而仅仅提供文件系统功能。与传统以服务器为中心的存储系统相比,数据不再通过服务器内存转发,直接在客户机和存储设备间传送,服务器仅起控制管理的作用。
NAS的特点:
①NAS使用了传统以太网协议,当进行文件共享时,则利用了NFS和CIFS以沟通NT和UNIX系统。由于NFS和CIFS都是基于操作系统的文件共享协议,所以NAS的性能特点是进行小文件级的共享存取。
②NAS设备是直接连接到以太网的存储器,并以标准网络文件系统如NFS、SMB/CIFS over TCP/IP接口向客户端提供文件服务。NAS设备向客户端提供文件级的服务。但内部依然是以数据块的层面与它的存储设备通讯。文件系统是在这个NAS 存储器里。
NAS的优点:
①NAS适用于那些需要通过网络将文件数据传送到多台客户机上的用户。NAS设备在数据必须长距离传送的环境中可以很好地发挥作用。
②NAS设备非常易于部署。可以使NAS主机、客户机和其他设备广泛分布在整个企业的网络环境中。NAS可以提供可靠的文件级数据整合,因为文件锁定是由设备自身来处理的。
③NAS应用于高效的文件共享任务中,例如UNIX中的NFS和Windows NT中的CIFS,其中基于网络的文件级锁定提供了高级并发访问保护的功能。
分布式NAS的设计架构通过分布式分层设计的理念,接入层必须有一套标准的POSIX协议,才能将远端的NAS作为本地FS使用,所以首先必须有自己的协议层。用户请求经过协议处理后,必须有文件的Meta管理的能力,主要表现在对一个文件的分片和布局设计,分片就是NAS的KV Meta, 布局就是整个NAS文件的表征,所以第二层必须是Meta层即KV引擎层。真正的数据必须写入一个存储底座,所以还有一个数据存储层,整体架构如下。
整体架构
分布式NAS的元数据的强一致性设计
基于LSM的存储引擎
分区Partition的Raft强一致
节点故障后的分区迁移
参考- nfs-ganesha - https://github.com/nfs-ganesha/nfs-ganesha.git
- rocksdb - https://github.com/facebook/rocksdb.git
- raft - https://raft.github.io/
- Bigtable - https://research.google/pubs/pub27898/
- GFS - https://research.google/pubs/pub51/
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com