在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
2014-4-29阅读1144 评论0
注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明。
存储入门存储技术:DAS(Direct Attached Storage):将存储设备通过SCSI线缆或FC(FiberChannel)直接连接到服务器上。 NAS(Network Attached Storage):按照TCP/IP协议进行通信,以文件的I/O方式进行数据传输。它拥有自己的文件系统,通过网络文件系统NFS或通用文件系统CIFS(common Internet file system)对外提供文件访问服务。 SAN(Storage Area Network):SAN是一种通过网络方式连接存储设备和应用服务器的架构,这个网络专用于服务器和媰设备支架的访问。SAN代表的是一种专用于存储的网络架构,与协议和设备类型无关。有FC SAN和IP SAN两种方案。
存储方式:对象存储,基于文件系统,通过文件系统来存储访问数据。 块存储,是以块为基本单元的存储方式,其传输不存在数据打包/解包的过程,可提供更高的传输性能 文件存储设备通过以太网与服务器连接。服务器通过NFS、CIFS、HTTP、FTP等协议进行数据访问。数据通过以太网传输,有打包/解包的过程。
iSCSI: iSCSI是网络存储标准,其核心是在TCP/IP网络上传输SCSI协议,用TCP/IP报文、和ICSI报文封装SCSI报文,使得SCSI命令和数据可以在普通一台网络上进行传输。
Raid(redundantarray of independent disks,独立磁盘冗余数组),不同的raid等级在增加数据可靠性以及增加存储器(群)读写性能间取得平衡。 RAID 0 ,将数据按磁盘的个数来进行分段。速度最快,没有冗余,如果一个磁盘(物理)损坏,则所有的数据都会丢失。 RAID 1,两组以上的N个磁盘相互作备份,在一些多线程操作系统中能有很好的读取速度,但写入的速度有微小的降低。可靠性最高。 RAID 2,是RAID 0 的改良版,以汉明码的方式将数据进行编码后分区为独立的比特,写入硬盘。因为在数据中加入了错误修正码(ECC,Error Correction Code),所以数据整体的容量会比原始数据大一些,RAID 2至少要三台磁盘驱动器方能运作。 RAID 3,4,5,6 RAID 1+0,先镜射在分区数据,再将所有硬盘分为两组,视为是RAID 0 的最低组合,然后将这两组各视为RAID 1运作。 RAID0+1则是与之相反,先分区再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0 运作。 性能上,RAID 0+1比RAID 1+0有着更快的读写速度。 可靠性上,当RAID1+0有一个硬盘受损,其余三个硬盘会继续运作。RAID 0+1 只要有一个硬盘受损,同组RAID 0的另一只硬盘亦会停止运作,只剩下两个硬盘运作,可靠性较低。 因此,RAID 10远较RAID 01常用,零售主板绝大部份支持RAID0/1/5/10,但不支持RAID 01。
LVM(logic volumemanagement)逻辑卷管理: LVM是建立在磁盘分区和文件系统之间的一个逻辑层,来为文件系统屏蔽下层磁盘文件分区布局,提供一个逻辑的盘卷,再在盘卷上来建立文件系统。 物理卷(physical volume,PV),指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备,与普通物理存储介质的区别是该设备包含有LVM相关的管理参数。 卷组(volume group,VG),卷组是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个“LVM分区”(逻辑卷)。 逻辑卷(logical volume,LV),LVM的逻辑卷类似于非LVM系统中的硬盘分区,它建立在卷组智商,是一个标准的块设备,在逻辑卷上可以建立文件系统。 物理块(physical extent,PE),物理卷以大小相等的物理块为存储的基本单位,同时也是LVM寻址的最小单元。 逻辑块(logical extent,LE),逻辑卷以大小相等的逻辑块为存储的基本单位,在同一个卷组中,LE的大小和PE是相等的,并且一一对应。 卷组描述区域(VolumeGroupDescription Area,VGDA),和磁盘将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷的VGDA中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述符。系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作室,就会根据VGDA建立的应设计值来访问实际的物理位置。
创建逻辑卷步骤:1, 创建分区 2, 创建物理卷 3, 创建卷组 4, 激活卷组 5, 创建逻辑卷 6, 创建文件系统
虚拟化镜像格式——raw:是一种原生的二进制镜像格式,具备高度可移植性。可以直接挂在到物理机;也可以转换成其他格式的虚拟机镜像(如果其他格式需要转换,有时候还需要它作为中间格式);占用的存储空间可以由记录的数据决定,可以在原盘追加空间;不支持snapshot(可以使用版本管理软件对raw格式的文件做版本管理从而达到snapshot的能力)。 其他一些格式:cow, qcow, qcow2, vmdk(VMware), vdi(virtualBox), ami(amazon)
参考:存储基础入门
---------------------------------------------------------------------------
OpenStack块存储服务——cinder:目前,cinder对本地存储和NAS的支持比较不错,可以提供完整的Cinder API V2支持,而对于其他类型的存储设备,Cinder的支持会受到一些限制。 volumetype是卷的一种标识,各个OpenStack的发行者可根据自身对系统的约束来定义卷类型的使用。
---------------------------------------------------------------------------
计算节点的存储主要用来给虚拟机提供系统盘空间(和cinder的后端存储不同),所以我们一般会把虚拟机的磁盘目录(默认是/var/lib/nova/instances)作为单独的挂载点,提供一个较大的空间,依赖可以满足创建虚拟机对存储空间的需求,而来可以满足虚拟机迁移的需求。关于计算节点上的存储方案;一般有以下三种: 1, 使用独立的共享存储 这种方案需要一个独立的共享存储节点,典型的是使用NFS服务器,意味着虚拟机和它的存储不在一个节点上,对应的,对这两类节点的要求也不一样:计算节点可能需要更多地CPU和内存,而存储节点需要关注磁盘IO性能。 优势: 1、 降低计算节点维护成本,不影响虚拟机当前的运行状态 2、 计算节点的宕机不会引起虚拟机的磁盘数据丢失 3、 虚拟机迁移功能效率更高 4、 共享存储可以用作他用 劣势: 1、 需要额外的存储节点 2、 一些重负载的虚拟机可能会影响其他虚拟机的性能,无论是否在同一节点 3、 因为需要通过网络访问存储资源,性能不会很好 2, 使用统一共享存储 不使用独立的存储节点(典型的如Ceph、sheepdog等),而是将计算节点上的存储连接起来形成一个存储池,提供共享、高可靠、高可用的存储特性。 优势: 1、 不需要额外的存储节点 2、 充分利用分布式存储的优势 劣势: 1、 因为中间层的存在,会失去对磁盘的逻辑管理 2、 对虚拟机数据的恢复变得复杂 3、 这种方式仍然需要从网络访问存储资源,降低性能 3, 本地存储 最常见的方式,不需要额外的配置。 优势: 1、 重负载的虚拟机不会对其他节点的虚拟机造成影响 2、 因为是直接磁盘IO,性能是最好的(配合SSD效果更好) 劣势: 1、 无共享,意味着一个节点宕机会造成该节点上虚拟机数据不可用 2、 虚拟机迁移变得复杂 参考:计算节点上的存储
---------------------------------------------------------------------------
Cinder
0、简介及基本概念OpenStack 到 Folsom 版本有比较大的改变,其中之一就是将之前在 Nova 中的部分持久性块存储功能(Nova-Volume)分离了出来,独立为新的组件 Cinder。主要核心是对卷的管理,允许对卷、卷的类型、卷的快照进行处理。它并没有实现对块设备的管理和实际服务,而是为后端不同的存储结构提供了统一的接口,不同的块设备服务厂商在 Cinder 中实现其驱动支持以与 OpenStack 进行整合。在CinderSupportMatrix中可以看到众多存储厂商如 NetAPP、IBM、SolidFire、EMC 和众多开源块存储系统对 Cinder 的支持。Havana 版本中 Cinder 新增特性如下:
1、架构
图1:
图2:
/- ( LDAP ) [ Auth Manager ] --- | \- ( DB ) | | cinderclient | / \ | [ Web Dashboard ]- -[ api ] -- < AMQP > -- [ scheduler ] -- [ volume ] -- ( iSCSI ) \ / | novaclient | | | | < REST > 2、服务
Cinder通过添加不同厂商的指定drivers来为了支持不同类型和型号的存储。具体可以参考Cinder官方的支持列表 CinderSupportMatrix 。
3、Cinder 如何支持典型存储从目前的实现来看,Cinder 对本地存储和 NAS 的支持比较不错,可以提供完整的 Cinder API V2 支持,而对于其它类型的存储设备,Cinder 的支持会或多或少的受到限制,下面是 Rackspace 对于 Private Cloud 存储给出的典型配置: 1.本地存储 对于本地存储,cinder-volume 可以使用 LVM 驱动,该驱动当前的实现需要在主机上事先用 LVM 命令创建一个 cinder-volumes 的卷组 , 当该主机接受到创建卷请求的时候,cinder-volume 在该卷组 上创建一个逻辑卷, 并且用 openiscsi 将这个卷当作一个 iscsi tgt 给输出.当然还可以将若干主机的本地存储用 sheepdog 虚拟成一个共享存储,然后使用 sheepdog 驱动。 2.EMC 图 5. EMC 块存储架构3.Netapp 图 6. Netapp 块存储架构HuaWei图 7. HuaWei 块存储架构
传统存储与 OpenStack 云存储对比表 2.对比
参考:
|
请发表评论