【恒天云技术分享系列10】OpenStack块存储技术

原文:http://www.hengtianyun.com/download-show-id-101.html

块存储,简单来说就是提供了块设备存储的接口。用户需要把块存储卷附加到虚拟机(或者裸机)上后才可以与其交互。这些卷都是持久的,它们可以被从运行实例上解除或者重新附加而数据保持完整不变。OpenStack 中的实例是不能持久化的,需要挂载 volume,在 volume 中实现持久化。Cinder 就是提供对 volume 实际需要的存储块单元的实现管理功能。

1.单机块存储

1.1 LVM

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelsha- gen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如“sales”、 “development”)代替物理磁盘名(如“sda”、“sdb”)来标识存储卷。

Device-mapper是一种支持逻辑卷管理的通用设备映射机制,为存储资源管理的块设备驱动提供了一个高度模块化的内核架构。LVM是基于Device-mapper的用户程序实现。

Device-mapper在内核中它通过一个模块化的Target Driver插件实现对IO请求的过滤或者重定向工作,当前已经实现的Target Driver插件包括软Raid、软加密、逻辑卷条带、多路径、镜像、快照等。整个 device mapper 机制由两部分组成–内核空间的 device mapper 驱动、用户空间的device
mapper 库以及它提供的 dmsetup 工具。内核中主要提供完成这些策略所需要的机制。Device-mapper 用户空间相关部分主要负责配置具体的策略和控制逻辑,比如逻辑设备和哪些物理设备建立映射,怎么建立这些映射关系等等,而具体过滤和重定向 IO 请求的工作由内核中相关代码完成。

LVM使得文件系统可以跨多个磁盘,因此大小不会受物理磁盘的限制。可以在系统运行状态下动态地扩展文件系统大小。可以增加新磁盘到 LVM 的存储池中。可以镜像的方式冗余重要数据到多个物理磁盘上。还能很方便地导出整个卷组,并导入到另外一台机器上。

然而LVM缺点也是明显的,当卷组中的一个磁盘损坏时,整个卷组都会受影响。仅支持有限个文件系统类型的减小操作(ext3不支持减少文件系统大小的操作)。因为加入了额外的操作,存储性能会受影响。

1.2 SAN

存储区域网络(SAN)是一种高速网络或子网络,提供在计算机与存储系统之间的数据传输。存储设备是指一张或多张用以存储计算机数据的磁盘设备。一个 SAN 网络由负责网络连接的通信结构、负责组织连接的管理层、存储部件以及计算机系统构成,从而保证数据传输的安全性和力度。

大部分SAN使用SCSI协议在服务器和存储设备之间传输和沟通,通过在SCSI之上建立不同镜像层,可以实现存储网络的连接。常见的有iSCSI,FCP,Fibre Channel over Ethernet等。

SAN通常需要在专用存储设备中建立,而iSCSI是基于TCP/IP的SCSI映射,通过iSCSI协议和Linux iSCSI项目我们可以在常见的PC机上建立SAN存储。

SAN有两个较大的缺陷:成本和复杂性,特别是在光纤信道中这些缺陷尤其明显。使用光纤信道的情况下,合理的成本大约是1千兆或者两千兆大概需要五万到六万美金。从另一个角度来看,虽然新推出的基于iSCSI的SAN解决方案大约只需要两万到三万美金,但是其性能却无法和光纤信道相比较。在价格上的差别主要是由于iSCSI技术使用的是现在已经大量生产的吉比特以太网硬件,而光纤通道技术要求特定的价格昂贵的设备。

2. 分布式块存储

在面对极具弹性的存储需求和性能要求下,单机或者独立的SAN越来越不能满足企业的需要。分布式块存储可以为任何物理机或者虚拟机提供持久化的块存储设备,管理块设备的创建、删除和attach/deattach。支持强大的快照功能,快照可以用来恢复或者创建新的块设备。分布式存储系统能够提供不同IO性能要求的块设备。能够满足动态扩展的要求。

目前,开源的分布式块存储有Ceph,GlusterFS,Sheepdog等。与Ceph相比,最大优势就是代码短小好维护和hack的成本很小。Sheepdog也有很多Ceph不支持的特性,比如说Multi-Disk, Cluster-wide Snapshot等。

在文中,日本NTT的研究人员对比了sheepdog,glusterfs以及ceph在各种情况下的读写性能,这份测试在今年的5月份的日本openstack大会上公布。在大部分情况下,sheepdog的读写速度都比glusterfs以及ceph表现的出色。

3. openstack块存储

3.1 存储架构

3.2 Cinder简介

Cinder是OpenStack中提供块存储服务的API框架。它并没有实现对块设备的管理和实际服务,而是为后端不同的存储结构提供了统一的接口[2],不同的块设备服务厂商在Cinder中实现其驱动支持以与OpenStack进行整合。后端的存储可以是DAS、NAS、SAN,对象存储或者分布式文件系统。Cinder的块存储数据完整性、可用性保障是由后端存储提供的。

时间: 2024-10-25 20:44:12

【恒天云技术分享系列10】OpenStack块存储技术的相关文章

恒天云技术分享系列4 – OpenStack网络攻击与防御

恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-13.html 云主机的网络结构本质上和传统的网络结构一致,区别大概有两点. 1.软网络管理设备(如nova-network,open switch)部分替代硬件网络设备 . 2.多虚拟服务器共享一个宿主机物理网卡(使用Trunk技术). 那么对于云服务器的安全,我们也可以采用传统的网络安全技术去防御.对于云主机,我们同时也需要做好宿主机的防火墙配置,以及安全设置. 1.对于虚拟机进行虚拟

UWP 手绘视频创作工具技术分享系列

开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做一个全新的 “来画Pro” 出来,历经三个月的世间,这个产品终于正式上架. (做个小广告,在 Windows 应用商店搜索 “来画Pro” 就可以找到,目前公司定位为收费应用,但是有一个月试用期,如果大家感兴趣,可以跟我要免费代码.这里是 IT之家的报道:https://www.ithome.com

UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制

本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持. 首先我们来看一下 SVG 的文件结构和组成 SVG (Scalable Vector Graphics) 是一种可缩放矢量图形,使用 XML 格式来定义,是一种 W3C 标准,图像在放大或改变尺寸的情况下其图形质量不会有所损失. 下面是一个简单的 SVG 的文件结构例子: <?xml version="1.0" standalone=&

UWP 手绘视频创作工具技术分享系列 - 全新的 UWP 来画视频

从2017年11月开始,我们开始规划和开发全新的来画Pro,在12月23日的短视频峰会上推出了预览版供参会者体验,得到了很高的评价和关注度.吸取反馈建议后,终于在2018年1月11日正式推出了全新版本的 UWP App,定名为"来画视频".(根据微软应用商店的命名规则,大家可以继续搜索"来画Pro") 全新版本的 UWP 来画视频,适配了来画平台的手绘视频模板,对创作工具做了全新的改版. 适配来画平台手绘视频模板 来画成立两年多的时间里,一直在积累手绘视频模板,目前

AWS云计算技术分享系列直播课-第一讲课程邀请函

科技的不断创新与演进时刻在改变我们所处的时间,人们从未停止用科技的力量去探索和实现.越来越多的企业和人们正在通过 AWS 重新构建,构建更好的用户体验,构建更强大的业务平台,构建更安全的系统架构- 今天光环云社群为大家带来AWS云计算技术分享系列直播课,帮助大家由浅入深的了解和使用AWS云服务. 直播课程规划如下: 第一讲 快速开始使用AWS 第二讲 计算.存储和访问权限管理 第三讲 利用 Amazon VPC 服务搭建经典 Web 三层架构 第四讲 弹性与负载均衡 第五讲 使用 Amazon

【恒天云技术分享系列11】Sheepdog简介

sheepdog是近几年开源社区新兴的分布式块存储文件系统,采用完全对称的结构,没有类似元数据服务的中心节点.这种架构带来了线性可扩展性,没有单点故障和容易管理的特性.对于磁盘和物理节点,SheepDog实现了动态管理容量以及隐藏硬件错误的特性.对于数据管理,SheepDog利用冗余来实现高可用性,并提供自动恢复数据数据,平衡数据存储的特性.除此之外,sheepdog还有具有零配置.高可靠.智能节点管理.容量线性扩展.虚拟机感知(底层支持冷热迁移和快照.克隆等).支持计算与存储混合架构的特点等.

OpenStack —— 块存储服务Cinder(六)

一.Cinder介绍 Cinder(Block Storage service)提供对volume从创建到删除整个生命周期的管理,从instance的角度看,挂载的每一个volume都是一块硬盘. OpenStack早起版本使用nova-volume为云平台虚拟机提供持久性块存储.从F版本后,就把最为Nova组成部分的nova-volume分离了出来,形成了独立的Cinder组件. 二.Cinder主要组件 1.cinder-api 负责接收和处理外界的API请求,通过消息队列服务调用cinde

UWP 手绘视频创作工具 “来画Pro” 技术分享系列

今年年初时,我还在北京,在 Face++,做着人脸识别技术的 Windows 和 Android 端,做着人工智能终将实现世间所有美好的梦.这时的我已经离开 UWP,甚至 C# 很久了,写着 C++ 和 Java,当时真的没想过会再次回到 UWP 的阵营,直到 4 月份的时候,一次很偶然的机会,我的一位微软的朋友,也是 Face++的老朋友找到我询问我在 Face++ 的工作近况,本以为只是很久没联系之后的简单交流,直到他提到:在深圳,有一家叫做 "来画" 创业公司,做手绘视频工具和平

apache kafka技术分享系列(目录索引)--转载

原文地址:http://blog.csdn.net/lizhitao/article/details/39499283 kafka开发与管理: 1)apache kafka消息服务 2)kafak安装与使用 3)apache kafka中server.properties配置文件参数说明 4)apache kafka中topic级别配置 5)Apache kafka客户端开发-java 6)kafka的ZkUtils类的java版本部分代码 7)kafka log4j配置 8)apache ka