《虚拟数据中心构建指南》——3.6 数据存储-阿里云开发者社区

开发者社区> 华章计算机> 正文

《虚拟数据中心构建指南》——3.6 数据存储

简介: 本节书摘来自华章出版社《虚拟数据中心构建指南》一 书中的第3章,第3.6节,作者:(法)麦里(Maillé, V.),(法)门内尔(Menecier, R. F.)著;姚军等译.更多章节内容可以访问云栖社区“华章计算机”公众号查看。
+关注继续查看

3.6 数据存储

在VMware中,存储空间被称作数据存储(datastore)。数据存储是保存VM、模板或者ISO映像的存储资源的虚拟表现形式。数据存储隐藏了不同技术和存储解决方案的复杂性,为ESX服务器提供一个统一的模型,无须考虑实现的存储类型。数据存储的类型有VMFS和NFS。

注意:VMware的最佳实践建议适当地将用于存储模板或者ISO映像的数据存储与用于VM的数据存储分离。我们还建议监控数据存储的可用空间。应该始终有至少25%至30%的可用空间。这些空间对快照或者备份操作以及VM交换来说是必需的。缺乏空间可能造成严重的后果,并且可能影响虚拟环境的总体性能。

数据存储群集又称数据存储池(Pool Of Datastore,POD)是一组集合起来形成单个实体的数据存储,如图3-15所示。创建数据存储群集时,可以使用存储 DRS。

image

数据存储群集可能包括来自不同存储阵列(从性能和容量的角度看)的卷,而且可以混合不同的VMFS(VMFS-3和VMFS-5),但是通常不建议这么做。在数据存储群集中不支持混合VMFS和NFS卷。

3.7 Storage vMotion

Storage vMotion允许不同存储空间之间VM虚拟磁盘的热迁移。组成VM的所有文件从一个数据存储迁移到同一个存储阵列或者不同存储阵列中的另一个数据存储不会造成服务中断。存储阵列可以来自不同的制造商。

注意:vMotion从一个物理服务器上将VM迁移到另一个服务器,但是不移动组成VM的文件。Storage vMotion移动虚拟磁盘。这两个操作不能同时在同一个VM上进行,除非关闭这个VM。

3.7.1 何时使用Storage vMotion
Storage vMotion用于存储阵列的预防性维护操作,对于购买新的存储阵列也可能很有用,因为它不需要服务中断。迁移很容易以完全透明的方式进行。这将管理员从这一在传统物理环境中常常很麻烦和敏感的任务中解放出来。Storage vMotion允许管理员更换存储阵列制造商和迁移VM,而不需要复杂的兼容性矩阵。
注意:在存储级活动很少时使用Storage vMotion是首选。用Storage vMotion进行迁移之前,必须确认源和目标ESXi服务器之间有足够的存储带宽。

3.7.2 Storage vMotion的工作原理
vSphere 5中对Storage vMotion进行了一些改进。过去曾经使用多种技术。在vSphere4.1中,用脏数据块跟踪(Dirty block tracking)在源和目标之间复制磁盘数据块:全复制,然后仅向目标发送修改过的块
。(脏数据块跟踪是变更数据块跟踪模式的一种形式)这种技术的问题是切换到目标VM的时间以及源VM中大量I/O负载下的故障风险。在vSphere 5中,如图3-16所示,Storage vMotion建立VM的全复制,然后使用一个镜像驱动程序在源和目标VM之间分离写入修改的数据块。

image

I/O镜像对于连续的磁盘复制是首选的方法,因为它的优点是即使在目标VM速度缓慢的情况下也能保证迁移成功。迁移将更简短,更可预测。

使用Storage vMotion时会发生如下现象:
1)VM的工作文件夹被复制到目标数据存储。
2)VM的一个映像(称作影子VM,shadow VM)使用复制的文件在目标数据存储上启动。影子VM处于暂停状态。
3)Storage vMotion激活一个驱动器(称作镜像驱动器,mirror driver)将已经复制的数据块镜像写入目标数据存储。
4)目标数据存储的VM磁盘文件复制完成,同时I/O被镜像。
5)Storage vMotion暂停源VM并将正在执行的源VM传送给影子VM。
6)旧的文件夹和VM磁盘文件被从源数据存储中删除。

注意:原始文件只在目标文件被正确写入且发送了确认消息之后才被删除,确保了操作的成功。

Storage vMotion在企业版中可用,可以用于具有快照的VM,也支持链接复制的迁移。

3.8 存储 DRS
存储 DRS(SDRS)能够自动化选择VM使用的数据存储,有利于更平衡的性能和更有效的存储空间利用。这节约了管理员的时间,他们不再需要花费时间选择所用的数据存储。为此,数据存储被集中到数据存储群集中。

SDRS负责如下操作:
VM初始定位
根据如下因素在数据存储之间均衡负载:
存储空间的使用
根据延时确定的I/O负载
初始定位发生在VM创立、移动或者复制的时候。根据集群数据存储的已用空间和I/O负载,SDRS提供特定的数据存储来保存vmdk。

3.8.1 数据存储负载均衡

负载均衡每两个小时根据已用空间,每8个小时根据最近24个小时的历史数据确定的I/O负载进行。如图3-17所示,在数据存储超过用户定义的磁盘已用空间(默认为80%)和I/O延迟(默认为15毫秒)阈值时,SDRS做出迁移建议。


image

自动化有多个级别:
手工(默认)
自动化
规划(定时)。例如,规划模式在备份期间很有趣,它不必移动虚拟磁盘,因而可以在备份操作期间禁用SDRS。

数据存储维护模式。数据存储的维护模式从数据存储中删除所有vmdk,并将它们分布到群集的其他数据存储中。

这时,你可以问,“SDRS如何检测数据存储I/O负载?”

SDRS使用SIOC功能和注入器机制选择最佳的目标数据存储。注入器用于随机地“注入”I/O以确定每个数据存储的特征,这能确定与每个数据存储的响应时间和延时。

3.8.2 亲和性规则

如图3-18所示,可以应用多种亲和性规则。

VM内vmdk亲和性:所有相同的vmdk VM被放在同一个数据存储中。
VM内vmdk反亲和性:这条规则可以用来确保vmdk被放在不同的数据存储上。这条规则很有用,例如,这条规则可以用于分离数据库VM的日志磁盘和数据磁盘。该规则适用于VM中的所有或者部分磁盘。
VM-VM反亲和性:不同VM被放在不同的数据存储中。这提供了VM在数据存储故障时的冗余性。


image

SDRS目前有如下限制:
SRM不支持SDRS。
SDRS只能用于ESXi5或者更高版本的主机。

3.8.3 配置驱动存储

配置驱动存储(Profile-driven storage)维护VM和规定存储需求的相容性。这种功能消除了初始定位错误,通过自动化简化了管理员的日常管理工作。管理员建立包含存储特征的配置文件。这些配置可以使用vSphere Storage 存储检测API(VASA)实施,或者与用户定义的指标关联(例如,Gold、Silver、Bronze)。

VM配置文件在部署、创建、迁移、复制等期间使用。如果VM被放在提供存储配置文件定义的容量的存储空间中,这个存储就是相容的。配置驱动存储补充了SDRS的初始定位和vmdk的自动化迁移。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
双11特刊 | 一文揭秘云数据库RDS如何顺滑应对流量洪峰
从绿色低碳到硬核科技,看RDS如何用绿色科技助力2021“双11”?
3 0
关于 SAP 产品 UI 的搜索引擎优化 SEO - Search Engine Optimization
关于 SAP 产品 UI 的搜索引擎优化 SEO - Search Engine Optimization
3 0
高频面试题-请聊一下JVM的内存结构!
凡是三年以上开发经验的人,都会在简历上写上这么一句话,了解/熟悉JVM(内存结构),对垃圾回收机制有一定的理解。 但是往往大部分人是一问三不知的,或者是没准备充分,又或者是根本就是瞎编,最起码背一下概念,说不准面试官也不会呢。 接下来的文章会围绕着JVM、JMM、垃圾回收算法、垃圾回收器、如何调优几个方面的知识来聊一下。
5 0
Redis教程08(ZSet有序集合介绍)
上文中介绍了Redis中的Set集合,Set集合是无序的不可重复的。而我们本文要介绍的ZSet其实是在Set的基础上绑定了一个score来实现集合数据按照score排序的集合。 Redis教程07(Set集合介绍) 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。
3 0
Redis教程06(List类型命令介绍)
在上文中介绍了Hash类型的数据相关的命令,本文介绍下List列表相关的命令 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。
3 0
Redis教程07(Set集合介绍)
上文介绍的list列表是有序集合,可以保存重复记录,在Redis中的Set集合是无序的,不可以存储重复记录的。本文主要介绍Set集合中的常用命令
4 0
使用开源微前端框架 Luigi 创建一个基于微前端架构的工程
使用开源微前端框架 Luigi 创建一个基于微前端架构的工程
4 0
Redis教程10(事务)
redis是NOSQL数据库,所以也存在事务,只是此事务和关系型数据库的事务是有区别的。
3 0
10059
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载