云计算中的存储基础知识
云计算中的存储基础知识
1.云计算虚拟化的存储架构
(1.)虚拟机使用的存储资源
san存储,本地服务器本地硬盘ssd,分布式存储。虚拟机使用的时候本质上没有区别。
如果使用本地硬盘,虚拟机不能不能迁移。因为存储无法共享。
San和分布式存储可以共享的。
(2.)虚拟化中的存储架构
NAS网络访问系统:(linux)nfs网络文件系统,(windows)cifs通用internet文件系统 ftp
SAN存储区域网络
以下磁盘格式可以建立在的共享目录或者文件系统上。
qcow kvm的文件系统
raw 无格式文件系统
谁都支持
vmdk vmware文件系统
vhd 华为文件系统6.0版本以后
只要是带文件系统的就是虚拟化存储,反之非虚拟化存储。虚拟化存储有两层文件系统,非虚拟化存储少了一层文件系统转化,性能好很多,但少了很多的高级特性(快照等)。
Lun本身不带文件系统,在物理卷的基础上可以按照指定容量创建一个或多个逻辑单元,这些逻辑单元成为lun(logical unit number),可以作为映射给主机的基本块设备。
Vims华为的虚拟镜像管理系统
非虚拟化转换路径无中间文件系统
2.物理硬盘类型
(1.)SATA盘(serial advanced technology attachment)
SATA口的的硬盘又叫串口硬盘。SATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动校正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单,支持热插拔的优点。
SATA:5400转/分钟,7200转/分钟。
(2.)SAS盘(serial attached SCSI)
即串行连接SCSI,是新一代的SCSI技术,与目前流行的SATA硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能,可用性和扩展性,并且提供与SATA硬盘的兼容性。
SAS:10000转/分钟,15000转/分钟。
(3.)NL-SAS盘
采用了SAS的磁盘接口和SATA的盘体的综合体。NL-SAS硬盘的转速只有7200转,因此性能比SAS硬盘差。但由于使用了SAS接口,所以在寻址和速度上有了提升。
(4.)SSD固态硬盘(solid state disk)
固态硬盘,是用固态电子存储芯片阵列而制成的硬盘,有控制单元和存储单元(FLASH芯片、DRAM芯片)组成。SSD在接口的规范和定义,功能与使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。SSD虽然具有传统机械硬盘所不具备的快速读写,质量轻,能耗低以及体积小等特点,但使用寿命有限,且价格较高。
3.集中式存储和分布式存储
(1.)集中式存储
集中存储:指建立一个庞大的数据库,把各种信息存入其中,各种功能模块围绕信息库的周围并对信息库进行录入、修改、查询、删除等操作的组织方式。
典型代表就是SAN,NAS
SAN使用块设备存储池通过fc/ip连接。
NAS网络访问系统:(linux)nfs网络文件系统,(windows)cifs通用internet文件系统 ftp,使用文件系统连接。
2.)分布式存储
分布式存储是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。
分布式存储系统
分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
3.)常用的RAID类型
RAID由几个硬盘组成,从整体上看相当于由多个硬盘组成的一个大的物理卷。
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。
RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。
RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID 0模式,那么磁盘容量就会是240GB。其速度方面,和单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。
RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1多用在保存关键性的重要数据的场合。
RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。
RAID5(分布式奇偶校验的独立磁盘结构)。从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3 与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID6是带两种分布存储的奇偶校验码独立磁盘结构。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。
RAID10(高可靠性与高效磁盘结构)
RAID10(高可靠性与高效磁盘结构)。这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于数据容量不大,但要求速度和差错控制的数据库中。
(参考百度百科)
(4.)副本机制
同一数据写多份,同步存储到不同硬盘。
5.)常见的分布式存储产品
Ceph开源的不要钱随便用
Hadoop的HDFS
华为的 Fusionstorage
VMware的 Vsan
4.虚拟化储存与非虚拟化存储
(1.)RAID与LUN的关系
RAID由几个硬盘组成,从整体上看相当于由多个硬盘组成的一个大的物理卷
Lun在物理卷的基础上可以按照指定容量创建一个或多个逻辑单元,这些逻辑单元成为lun(logical unit number),可以作为映射给主机的基本块设备。
(2.)pool与volume和lun
Pool即存储池,是存放存储空间资源的容器,所有应用服务器使用的存储空间都来自于存储池。
Volume即卷,是存储系统内部管理对象。
Lun是可以直接映射给主机读写的存储单元,是volume对象的对外体现。
(3.)常见文件系统
虚拟化集群文件系统(常见的有华为的vims虚拟镜像管理系统)
NAS存储文件系统
操作系统文件系统
(4.)文件映射到磁盘的过程
用户-创建-文件-存储-文件系统-通过文件系统映射-文件系统块-对应-LVM的逻辑区域-通过LVM映射-磁盘的物理区域-磁盘的扇区
5.虚拟机磁盘介绍
(1.)常见的虚拟机磁盘格式
6.华为虚拟化产品的存储特性
(1.)华为虚拟化产品存储架构/模型
(1.1)数据存储
数据存储:裸设备映射,虚拟化存储,非虚拟化存储
数据存储表示系统中可管理、操作的存储逻辑单元。一个数据存储和一个存储设备对应。数据存储承载了具体的虚拟机业务,例如创建磁盘等。
数据存储是fusion compute对存储资源上的存储单元进行的统一封装。存储资源封装成数据存储并与主机关联后,就能够进一步创建出若干虚拟磁盘,供虚拟机使用。
数据存储是在存储设备上创建的逻辑管理单元:
数据存储需要创建在指定的存储设备上,且一个存储设备只能创建一个数据存储。
数据存储和主机关联,为主机提供资源,数据存储可以关联到多个主机,一个主机也可以使用多个数据存储。
数据存储的使用
存储设备必须被添加为数据存储才能被使用。
数据存储可用于存放虚拟机磁盘、快照文件。
数据存储的大小依赖与存储设备的大小。
虚拟化、非虚拟化存储,裸设备映射
虚拟化存储:存储虚拟化技术可以将不同存储设备进行格式化,屏蔽存储设备的能力、接口协议等差异性,将各种存储资源转化为统一管理的数据存储资源。
非虚拟化存储:基于逻辑卷管理,较虚拟化存储有更高的性能,速度更快,效率更高。但功能少,对快照、精简配置等支持的程度没有存储虚拟化高。
裸设备映射:将物理裸设备直接映射给虚拟机,虚拟机磁盘能够处理SCSI命令。适用于关键业务场景,如数据库业务。不能做系统盘,只能做数据盘。
(1.2)存储设备
存储设备:lun,共享目录
存储设备表示存储资源中的管理单元,类似LUN,Advanced SAN存储池、NAS共享目录等。一个存储资源可以有多个存储设备。
Fusion compute的存储设备有五种:LUN、本地磁盘、advanced SAN存储池、fusion storage存储池和NAS共享目录。
LUN在使用前需要在存储侧或者交换机侧进行配置。该配置根据不同的厂家会不一样,具体需要参照存储或交换机配置。
存储设备需要通过主机探测的方式进行扫描来发现
主机需要链接存储资源后才能扫描存储资源所包含的存储设备。
每个主机都能发现各自的存储设备,也能发现共享的存储设备。
(1.3)存储资源
存储资源:fusionstorage block SAN/NAS
存储资源表示物理存储设备,例如IP SAN、Advanced SAN、NAS和fusion storage等。
IP SAN是通过iSCSI链路和主机建立连接。
FC SAN是通过光纤通道和主机连接的,主机连接SAN设备(wwn号)后可以扫描存储设备(LUN)。
Fusion storage是通过其管理结点提供的接口管理存储的。
NAS通过NFS协议扫描和挂载共享目录。
主机访问存储资源:先需要添加存储资源。再选定主机并关联存储资源。
存储资源使用对比
存储卸载:指将部分存储操作(模板部署、删除清零等操作)下移到存储侧进行,这样做可以不浪费主机侧资源,同时也可以提升操作效率。
虚拟化:对于LUN或者本地磁盘,在不支持虚拟化的场景不能支持快照,链接克隆等高级功能,但是所创建的卷具有很好的性能。虚拟化后的数据存储,支持各种高级功能,卷格式也支持多种,但是性能低于非虚拟化的存储设备。
本地磁盘
通常情况下是指使用服务器本地的磁盘资源,经过RAID化后提供给虚拟化平台进行使用。
此种类型的磁盘,使用方便,但是速度相对较慢。无共享框架,无跨服务器的冗余机制。一般不支持热迁移。
SAN(storage area network)
主机、存储设备可以可以独立扩展
SAN:存储区域网络,提供在主机和存储系统之间数据传输,网络内部数据传输的速率块。
存储容量利用率高
IP SAN速率10GE
以TCP/IP协议为底层传输协议,采用以太网作为承载介质构建起来的存储区域网络构架。
实现IP-SAN的典型协议是iSCSI,它定义了SCSI指令集在IP中传输的封装方式。
FC SAN速率16GE通过光纤通道和主机连接
SAN架构组网特点
共享框架,为热迁移,HA等特性提供了共享存储资源。
SAN架构组网通常位于业务网络后端,数据可靠性和隔离性好
无需服务器本地进行存储指令处理,效率高。性能优于本地磁盘。
NAS(network attached storage)
网络附加存储,是一种将分布、独立的数据进行整合,集中化管理,以便于对不同主机和应用服务器进行访问的技术。
NAS网络访问系统:(linux)nfs网络文件系统,(windows)cifs通用internet文件系统。
默认支持虚拟化数据存储。
支持磁盘精简分配。
支持快照等高级特性。
(2.)虚拟磁盘特性
(2.1)类型:普通,共享
普通:普通磁盘只能单个虚拟机使用
共享:共享磁盘可以绑定给多个虚拟机使用。需要锁机制,保证数据安全性。
(2.2)配置模式:普通,精简
普通延迟置零:立马分配空间,在写数据的时候再写零。
普通:立马分配空间,写零。
精简:随着数据的写入对磁盘的使用,再分配,写零。
(2.3)磁盘模式:从属,独立-持久,独立-非持久
从属:快照中包含改该磁盘,更改将立即并永久写入磁盘
独立-持久:快照中不包含该磁盘,更改将立即并永久写入磁盘。
独立-非持久:关闭虚拟机电源或恢复快照时,会放弃对磁盘的更改。
(2.4)快照:内存快照,一致性快照
内存快照:将虚拟机当前内存状态及数据保存至快照中。
一致性快照:将虚拟机当前未保存的缓存数据先保存,再创建快照。
(3.)存储虚拟化
存储虚拟化(Storage Virtualization)最通俗的理解就是对存储硬件资源进行抽象化表现。通过将一个(或多个)目标(Target)服务或功能与其它附加的功能集成,统一提供有用的全面功能服务。典型的虚拟化包括如下一些情况:屏蔽系统的复杂性,增加或集成新的功能,仿真、整合或分解现有的服务功能等。虚拟化是作用在一个或者多个实体上的,而这些实体则是用来提供存储资源或/及服务的。