--------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/chinagissoft
QQ群:16403743
宗旨:专注于"GIS+"前沿技术的研究与交流,将云计算技术、大数据技术、容器技术、物联网与GIS进行深度融合,探讨"GIS+"技术和行业解决方案
转载说明:文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
--------------------------------------------------------------------------------------
题记
存储是指根据不同的应用环境,通过采取合理、安全、有效的方式将数据保存到某些介质上并能保证有效的访问。
存储包含两个方面的含义:
数据临时或长期驻留的物理媒介。
保证数据完整安全存放的方式或行为。
数据备份越来越受到人们的重视,并成为网络建设过程中必考虑的内容。网络存储设备根据存储技术的不同,主要分为三类:DAS(Direct Attached Storage)、NAS(Network Attached Storage)和SAN(Storage Area Network)。
•优点:DAS购置成本低,配置简单
•缺点:服务器本身成为瓶颈、多个服务器来说,设备分散,无法管理,备份操作复杂。
•优点:通过网络将文件分发多台客户端,易于部署,应用于高效的文件共享任务。
•缺点:小文件传输效率低。
•优点:专有的网络可以满足吞吐率、可用性、可靠性、可扩展性和可管理性等方面的要求。
•缺点:较前两种的成本增加。
SAN主要有如下两种存储方案:
FC SAN
早期的SAN采用的是FC技术,称为FC SAN。FC SAN在20世纪末得到大规模应用。FC SAN技术较为成熟,且性能较为优异,但存在兼容性差,成本高昂,扩展能力差和异构化严重等问题,在一定程度上限制了其的继续发展。
IP SAN
IP SAN遵循IETF的iSCSI标准,通过高速以太网络连接服务器和后端存储系统,将SCSI指令和数据块经过高速以太网传输。
IP SAN具有高可靠性、高可扩展性、低成本的特性,在千兆以太网环境下IP SAN的数据交换流量性能逊色于FC SAN。但IP SAN发展迅速,其竞争力日益加强。
主流的存储阵列由于同时提供光纤通道接口和普通网线接口,因此能够利用FC SAN和IP SAN结构与服务器连接。
更多参考:http://mp.weixin.qq.com/s?__biz=MzA5MjUzMDUwNg==&mid=211749563&idx=1&sn=d2cb3fbeb87b77e373e7ee3616faa787#rd
文件存储和块存储是比较传统的存储方式。随着数据可扩展性和安全性的要求不断提高,这两种存储方式逐渐不能满足需要。对象存储被提出,受到广泛关注,逐渐成为主流的存储方式。
=======================对象存储=======================
概念
对象存储OBS(Object Based Storage)是以对象(Object)为基本单元的存储方式,如图下图所示。对象存储基于文件系统,通过文件系统来存储访问数据。
组成
对象存储系统由以下几个部分组成:
对象
每个对象都是数据和数据属性集的综合体。数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。对象维护自己的属性,简化了存储系统的管理任务,增加了灵活性。对象的大小可以不同,可以包含整个数据结构,如文件、数据库表项等。
基于对象的存储设备OSD
每个OSD(Object-based Storage Device)都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的对象,是对象存储系统的核心。OSD的主要功能为数据存储和安全访问。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。
元数据服务器MDS
MDS(Metadata Server)为客户端提供元数据,主要是文件的逻辑视图,包括文件与目录的组织关系、每个文件所对应的OSD等。同时为客户端提供高速缓冲存储器Cache一致性保证及客户端认证服务。
文件系统
文件系统对用户的文件操作进行解释,并在元数据服务器和OSD间通信,完成所请求的操作。
网络连接
网络连接是对象存储系统的重要组成部分。它将客户端、MDS和OSD连接起来,构成一个完整的系统。
在OpenStack私有云组件中,通常使用Swift来实现对象存储,我们可以通过廉价的服务器而且在不适用RAID的方式(无需花费RAID卡)也可以实现数据的冗余和可靠,实现类似于百度云盘或者360云盘的功能,我们可以将相关数据进行上传或下载等操作。
===========================块存储================================
概念
块存储是以块为基本单元的存储方式,如下图所示。块泛指底层磁盘上的扇区组合,某个文件可以对应一个或者多个这样的块。块设备需要记录每个存储数据块在设备上的位置,增加了存储系统的管理任务。
块存储设备也称为裸设备,通过SCSI、SAS或FC SAN与服务器连接。服务器直接通过SCSI、SAS或FC SAN协议控制和访问数据。
块传输方式不存在数据打包/解包的过程,可提供更高的传输性能。绝大多数数据库使用块存储设备,如FC磁盘存储系统。
对OpenStack来说,通过Cinder来实现块存储的功能,我们可以将整个存储池划分为小块存储单元,然后将某个存储单元挂载到相应的虚拟机,类似与我们的笔记本存储不够,挂载一个移动硬盘。
当然,对于快存储的使用,我们可以参考后面介绍不同的硬盘材质来实现不同的业务需求,里面我们可以将SATA盘、SAS盘、SSD盘这种不同性能的存储进行混搭,然后为用户不同的需求。
例如SATA盘可以存储大容量的但是无需高IOPS性能的数据
SAS盘就是普通的服务器硬盘,我们的一般数据就可以采用这个材质
SSD就是一个高性能盘,价格较高,但是我们可以存储热数据来提高IOPS
==============================文件存储==============================概念
文件存储是以文件为基本单元的存储方式,如图所示。
文件存储设备通过以太网与服务器连接。服务器通过NFS、CIFS、HTTP、FTP等协议进行数据访问。数据通过以太网传输,数据有打包/解包的过程。文件存储设备以NAS为主,主要用于用户文件共享。
文件存储主要应用于以下场景:
针对虚拟服务器的存储
文件服务
数据保护
归档和内容目录
高性能计算
常见的存储接口包括SCSI、iSCSI、SAS、SATA、FC、FCoE等。
存储的可靠性技术主要有RAID、备份、快照、镜像、群集并发存取等。
关于RAID,一般情况下有RAID0,RAID1,RAID5,RAID01,RAID10,不过以RAID5,RAID01,RAID10最为常见。
RAID0可将同一文件系统的多个小部分,以条带的单元存储在多个物理磁盘中。
RAID1可将写入一个磁盘的内容以复本存储在另一个磁盘中。
RAID5 在多个磁盘中分条带存储数据,然后将整个条带的同位元信息存储为一个附加区块。如果阵列中有一个磁盘离线,则 RAID处理器可依靠其他磁盘和同位元信息重新构建所丢失的数据。
RAID5 的优点:性能提高,实现低成本冗余。
更多参考:http://mp.weixin.qq.com/s?__biz=MzA5MjUzMDUwNg==&mid=211853760&idx=1&sn=303f7084c4220966ad250f3b2b0a87d3#rd
存储容量
关于存储容量,用户无需一步到位,本身云环境的所有角色都可以实现横向扩展,所以我们对于容量够用即可,最好能够考虑多材质混合使用,提供效率,而且如果需要 保证存储数据的高可靠性,我们一般需要采用1:3的存储需求,例如1GB的存储,需要3GB的容量保证可靠性。
还需要了解裸容量和可用容量的区别:
裸容量
裸容量是指所有硬盘物理容量之和,如:5块300G硬盘的裸容量为5×300G=1.5T
可用容量
可用容量是指硬盘在经过raid技术处理之后,实际能够使用的容量,如:5块300G硬盘做raid,无热备盘,可用容量为(5-1)×300G=1.2T
存储性能
当考虑OpenStack块设备的性能时,硬件和架构的选择就显得非常重要。块存储可以使用企业级后端系统如NetApp或EMC的产品,也可以使用横向扩展存储如GlusterFS和Ceph,更可以是简单的在节点上直接附加的存储。块存储或许是云所关注的贯穿主机网络的部署,又或许是前端应用程序接口所关注的流量性能。无论怎么,都得在控制器和计算主机上考虑使用专用的数据存储网络和专用的接口。
当考虑OpenStack对象存储的性能时,有几样设计选择会影响到性能。用户访问对象存储是通过代理服务,它通常是在硬件负载均衡之后。由于高弹性是此存储系统的天生特性,所以复制数据将会影响到整个系统的性能。在此例中,存储网络使用10 GbE(或更高)网络是我们所建议的。
存储关键因素
通用型OpenStack云有很多属性,影响存储硬件的选择的关键因素有以下:
参考文献:@华为云计算 @OpenStack架构设计指南