IaaS--云硬盘(何恺铎《深入浅出云计算》笔记整理)
【概念】
云硬盘,又叫做“云盘”或者“云磁盘”,就是云虚拟机上可以挂载和使用的硬盘。这里,它既包含了用于承载操作系统的系统盘,也包括了承载数据的数据盘。云厂商对于云盘,不仅仅会保障数据的顺利写入,一般还会在存储端同步和保留至少三份副本的数据。所以说,云硬盘的冗余度和可用性是非常之高的,一般极少发生云硬盘数据丢失的情况。但即使如此,也非常有必要定期为云磁盘创建快照、异地备份数据文件等方式,来保护关键数据,毕竟云厂商会发生的意外没有人可以预料到。
【架构】
云硬盘与传统磁盘的真正差异在于,绝大多数的云硬盘都是远程的。通常,在计算机的体系结构中,硬盘是通过本地机器内部主板的高速总线,与硬盘等部件相连接;而在云端,硬盘则很可能并不在宿主机上,而是在专用的磁盘服务器阵列中,两者是通过数据中心内部的特有 IO 线路进行连接。没错,这也正是计算存储分离架构的一种体现。所以增加IO,更确切来说,是指优化云虚拟机与云硬盘之间的网络传输。有些云上的IO 优化实例,就是提升这个的,现在较新型号、较强性能的云虚拟机,一般都自动启用了这个优化。
【性能】
云硬盘,由于有多副本写入的开销,同时也比较依赖于远程传输,性能确实存在一些短板。当下的云硬盘经过了多次的软硬件迭代,尤其是 SSD 的迅速发展,吞吐量和随机读写能力等各项性能指标都已经不再是问题了。在现代云计算中,已经发展出了基于不同存储介质的、丰富的性能等级选择,单盘也有 IOPS 在数十万量级甚至达到百万的云硬盘产品了。解决了性能问题,我们主要思考的就是怎么挑选最适合应用场景的硬盘,权衡好成本。
1、第一个等级的云硬盘,是基于传统 HDD 硬盘构建而成的。这类云盘的性能一般,最高 IOPS 大概在数百左右。在很多的云上,已经不把它作为推荐的选择了。但它并非一无是处,成本低就是它的最大优势,在不注重性能的测试环境,或者是个人自用的服务器,它就是一个很好的选择;
2、第二个等级,往往是基于混合硬盘,也就是结合 HDD 和 SSD 硬盘构建的云硬盘。它会综合发挥 SSD 的性能优势和 HDD 的容量优势。比如它可以用 SSD 部分来承载热点区域数据,或是作为缓存,来提高响应性能。在这个等级下,典型的 IOPS 为数千左右,是很多云上创建硬盘的默认选项,比较适合像是操作系统启动盘这样的常规负载;
3、第三个等级的云硬盘,它的存储介质就是纯 SSD 硬盘了。虽然贵一些,但一分价钱一分货,这个等级下的云硬盘能够提供非常稳定的 IO 能力,IOPS 通常能够上万,也有相当不俗的吞吐量和较低的访问延时。你可以用它来承载生产环境中重要的关键业务应用,或是各类数据库等 IO 密集型应用;
4、第四个等级,也是当下业界的最高等级,就是进一步优化增强的最新 SSD 云盘。它一般会采用更新一代的企业级闪存硬件,配合自研或改进后的底层传输协议,和虚拟化技术栈的优化来提供服务。因此它能够达到惊人的性能水平,满足我们最为苛刻的性能场景需求,比如承载 SAP HANA(SAP 的高性能计算平台)、高并发 OLTP 数据库等等。这类 SSD 云盘的 IOPS 通常能够突破十万以上。
如下是各个云对于不同等级云硬盘的命名方法:
【容量】
不论是哪种磁盘类型,它的容量大小几乎都与性能正向相关。同等的性能等级下,云硬盘的容量越大,一般来说它的性能就越高,直到达到这个等级的上限。这是由云上磁盘能力共享的底层设计所决定的。所以在某些时候,你可能需要刻意地增大所申请的云硬盘的容量,以获取更高的性能,即便这些额外的空间不一定能被用上。
【使用】
云盘的热挂载特性让它使用起来特别灵活方便,而且大小性能任你调度。挂载后的云硬盘真正使用起来,和你熟悉的硬盘操作也并没有什么两样。同时,也可以选择挂在本地磁盘,方式为:本地磁盘一般不需要自行创建,只要你选择了带有本地磁盘的机型,启动后,该型号对应大小和规格的本地磁盘就会自动被挂载。那些自带有大容量、高性能本地磁盘的虚拟机型号。它们或是配备了高性能的本地 NVMe SSD 磁盘,或是装备有高吞吐的先进 HDD,数量可能还不止一块。妥善使用这些本地磁盘,在合适的场景下,能够帮你发挥很大的作用。
一些可以考虑使用本地磁盘的场景:1)当一些应用软件系统本身考虑到了硬件的不可靠性,较少依赖云硬盘的高可用性,自身已经设计了上层的存储冗余机制时,你就可以考虑采用本地磁盘;2)对数据丢失不敏感的临时性存储的场景,也是本地磁盘可以发挥的舞台。毕竟本地磁盘性能也更好,成本有更低。但在本质上,还是易失性(Ephemeral)的存储,当机器关机或删除,以及出现硬件故障时,本地磁盘上的数据就可能损坏或丢失。这一点我们必须牢记,不适用的场合必须使用更可靠的远程云硬盘。
IaaS--云硬盘(何恺铎《深入浅出云计算》笔记整理)的更多相关文章
- 复盘价值1000万的腾讯云硬盘固件"BUG"
摘要: 除了吃瓜,还是得吸取教训啊同学们! 这次,我从纯技术角度分析腾讯云与前沿数控的磁盘数据丢失事件,不站队. 硬盘门 这里说的硬盘门不是10年前陈老师的那一次,而聊的是最近"腾讯云&qu ...
- 桉树IAAS云架构(转载)
您可在 IaaS 云中建立和管理混合多虚拟机集群环境,并将现有 vSphere™. ESX™.ESXi™.KVM 和 XEN 虚拟环境作为 AWS 兼容 Eucalyptus桉树混合云管理.现在 Eu ...
- 完善的IaaS云服务的个人理解
此文已由作者王盼授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前情提要 本文仅讨论云主机(虚拟机).云硬盘(块存储).云网络(普通虚拟网络或SDN)相关的IaaS服务,相关 ...
- 容器服务 TKE 存储插件与云硬盘 CBS 最佳实践应用
引言 随着自研上云的深入,越来越多的有状态服务对于在 TKE 集群中使用云上存储能力的需求也越来越强烈. 目前腾讯云容器服务 TKE(Tencent Kubernetes Engine已支持在 TKE ...
- 云硬盘error、error deleting、deleting状态(数据库基本操作小记)
起因是发现云硬盘显示删光了,但还是创建不了新的云硬盘,在api节点上用cinder list可以看到已经没有硬盘了,但是创建硬盘时,还是会提示配额满了,这是因为数据库里的记录没有更新,对数据库的操作记 ...
- [Linux] PHP程序员玩转Linux系列-腾讯云硬盘扩容挂载
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...
- OpenStack实践系列⑨云硬盘服务Cinder
OpenStack实践系列⑨云硬盘服务Cinder八.cinder8.1存储的三大分类 块存储:硬盘,磁盘阵列DAS,SAN存储 文件存储:nfs,GluserFS,Ceph(PB级分布式文件系统), ...
- 云硬盘性能测试工具FIO介绍
一.云硬盘的性能衡量指标 云硬盘的性能指标一般通过以下几个指标进行衡量 IOPS:每秒的读写次数,单位为次(计数).存储设备的底层驱动类型决定了不同的IOPS 总IOPS:每秒执行的I/O操作总次数 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(2)--云硬盘等后续配置
继上一篇博客介绍了完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建,本篇继续讲述后续部分的内容 1 虚拟机相关1.1 虚拟机位置介绍 openstack上创建的 ...
- Windows Server 2012 云硬盘如何挂载
那么首先科普一下,云服务器的数据盘(也就是我们买的云硬盘)默认是脱机状态,不自动挂载的.下面来教大家win2012环境如何挂载硬盘,其实和03.08的大同小异就是入口不同了. 点击“工具”中的“计 ...
随机推荐
- 数值的扩展方法以及新增数据类型BigInt
二进制和八进制表示法 ES6提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o或(0O)表示 0b111110111 === 503 // true; 0o767 === 503; / ...
- LG P4146 序列终结者
\(\text{Problem}\) 支持区间加区间翻转区间最大值 \(\text{Solution}\) \(\text{FHQ-Treap}\) 两个标记加与翻转 然后维护区间最大值 \(\tex ...
- CentOS7一键安装RPM版LNMP(NGINX+PHP+MySQL)环境
转载:简书 CentOS7一键安装RPM版LNMP(NGINX+PHP+MySQL)环境 - 简书 (jianshu.com) (需要配置nginx.conf文件) 转载:csdn (35条消息) V ...
- let 和 var 的区别
var 关键字 在块级作用域中使用var声明变量,外面同级的块级作用域也可以访问.if.switch.for 等语句的作用域都没有块级作用域,所以说,在这些语句中声明的变量都能被外界访问,这是非常不安 ...
- Linux内存占用过高排查过程
1 查看服务器状态 系统是 CentOS Linux release 7.5.1804 (Core)使用top命令看了下系统的状态 系统的整体负载和cpu并不高,但是内存使用比较高(总8G使用了7.2 ...
- jquery获得标签元素
一.根据元素name值获取元素 $("元素[name="name的值"]"); 例子:1.$("a[name="apoint"]& ...
- Software_programming_tools_IDEA
13:45:55 key promtoer 快捷键提示插件
- 关于DIFF插件的使用
diff插件主要是对比 两个字符串/数组/json对象 等等 差异得问题,多数情况用到测试,甄别错误场景 我主要使用得场景就是在系统日志中对比两组json得差异 1. 安装插件 npm install ...
- mysql创建存储过程造数据
delimiter $$$ DROP PROCEDURE zqtest6; create procedure zqtest6() begin declare i int default 0; set ...
- laravel 服务容器,容器概念
Laravel 服务容器 发现一篇讲服务容器的文章,讲的很好,转载过来laravel 服务容器 实质是工厂模式的升级,类的传递动态加载 ####以下内容转载 容器,字面上理解就是装东西的东西.常见的变 ...