在日常生活中,我们在买个人电脑时,无论是笔记本电脑还是台式机,硬盘是必不可少的一部分,在购买时我们通常会关注很多的参数如:容量、速度、品牌等等。
在云计算中,硬盘也是必不可少的一部分,但是云计算中的硬盘和普通PC不一样,是看不到物理实体的,用户可能只需要关注性能和容量就可以。但是作为一个云计算工程师,除了需要知道如何实现客户的需求,更需要知道如何将物理的硬盘一步步转换为按照用户需求生成的云硬盘。
共享目录格式 | 解释 |
---|---|
qcow | QEMU模拟出来的格式(KVM格式下) |
raw | 各大厂商通用格式 |
vmdk | VMware下的格式 |
vhd | HUAWEI的磁盘文件格式 |
优势:
优势 | 支持高级特性多(快照等) |
劣势 | 性能下降 |
底层硬件:物理硬盘
直接进行逻辑划分,产生逻辑卷,逻辑卷直接挂载给计算集群给虚拟机使用。
分布式存储:变成分布式存储池,再进行逻辑划分,形成逻辑卷
虚拟化和非虚拟化存储的区别:
需不需要文件系统。虚拟化需要建立文件系统,非虚拟化不需要。
接下来我们按照架构图,一个部分一个部分详细的介绍。
机械硬盘(hard disk drive,HDD)的历史始于1956年,由IBM公司发明,它拥有50个24英寸的盘片,重量约1吨,容量为5MB。1973年,IBM公司研制成功了一种新型的硬盘IBM 3340。这种硬盘拥有几个同轴的金属盘片,盘片上涂着磁性材料。它们与可以移动的磁头共同密封在一个盒子里,磁头能从旋转的盘面上读取磁信号的变化。这就是我们今天使用的与硬盘最接近的祖先,IBM把它叫作温切斯特硬盘。
硬盘的读取速度在当时受到硬盘转速的限制。提高转速可以加快存取数据的速度,但是硬盘的磁头和盘片是相互接触的,过高的转速会导致磁盘损坏,于是技术人员想到让磁头在盘片上方“飞行”。盘片高速旋转会产生流动的风,因此只要磁头的形状合适,它就能像飞机一样在磁盘表面飞行,盘片就能很快的旋转而不必担心摩擦会造成故障,这就是温切斯特技术。
温切斯特硬盘采用了创新的技术,磁头被固定在一个能沿盘片径向运动的臂上,磁头并不与盘片接触。当磁头与盘片相对运动时,磁头能感应到盘片表面的磁极,并记录或改变磁极的状态来完成数据的读写。由于磁头相对于盘片高速运动,并且二者距离很近,这时哪怕是一点点灰尘也会造成磁盘的损坏,因此硬盘需要封装在一个密封的盒子里,来保持一个清洁的内部环境,确保磁头和盘片能高效可靠地工作。
在现代的计算机系统中,常见的存储介质有硬盘、光盘、磁带、固态硬盘等,硬盘容量大,价格低廉、读取速度可观、可靠性高,有着其它介质无法代替的作用,仍然被人们认为是重要的存储设备。
我们通常说的硬盘主要是指机械硬盘,它主要由盘片和主轴组件、浮动磁头组件、磁头驱动机构、前驱控制电路和接口等组成,如下图
硬盘内部用于存储数据的盘片,是一张表面涂有磁性材料的金属圆盘。盘片表面被划分出一圈圈磁道,当盘片在马达的驱动下高速旋转时,设置在盘片表面的磁头便受到精确的控制,沿着磁道读取和写入数据。当系统向硬盘写入数据时,磁头中便产生随着数据内容而变化的电流,这股电流会产生磁场,使盘片表面磁性物质的状态改变,并且这一状态在电流磁场消失后仍能持久地保持下来,这就相当于是将数据保存了下来。当系统从硬盘中读取数据时,磁头经过盘片指定区域,盘片表面的磁场使磁头产生感应电流或线圈阻抗产生变化,这一变化被捕捉下来,经过一定的处理,便能够还原出原本写入的数据。
早些年电脑配的都时这种硬盘,现在一般性能好的都配SSD,要么就是SSD做系统盘+SATA做数据盘。
SATA,即串行ATA(serial ATA),ATA(advanced technology attachment)。又叫串口硬盘。
ATA接口实际上就是我们常说的IDE(integrated drive electronics)接口
优点
缺点
由于SATA硬盘的接口扩展性差,性能低。为了改善存储系统的效能、可用性、可扩展性。于是有了SAS接口硬盘。
SAS(serial attached SCSI),即串行连接SCSI(small computer system interface,小型计算机系统接口)。与SATA类似,SAS也是从对应的并行SCSI技术发展而来。
优点
缺点
SAS接口硬盘的读写速度要优于SATA硬盘,但是价格也相对要高一些,同时SAS硬盘的容量一般会比SATA小,那有没有一种办法,既要便宜又要存储效能高呢。
所以就产生了NL-SAS硬盘,它是用SAS接口和SATA级盘体组成的硬盘。
NL-SAS全称为“near line SAS”,是一种介于SATA和SAS之间的硬盘。
NL-SAS的IOPS相比15000转速的SAS硬盘差了近一半(7200转),但是从整个RAID的运行情况来看,其性能与SATA硬盘相比有明显的提升,而且NL-SAS硬盘有SATA盘的容量和价格,SAS硬盘的可靠性,因此NL-SAS在市场上很受欢迎。
上面三种硬盘都是用磁技术的。可以叫做磁盘。
历史
世界上第一款固态硬盘(Solid State Drive,SSD)出现于1989年。当时价格很贵,但是性能很高。所以没有广泛应用。但由于固态硬盘独有的抗震、静音、低功耗等特性,却能应用于非常特殊的市场,如医疗工作以及军用市场,因此在这些领域,固态硬盘得到了一定程度的发展。
随着固态硬盘技术的日趋成熟、制造工艺的提升、生产成本的降低,它开始逐渐进入消费领域。2006年,三星发布了第一款带有32GB固态硬盘的笔记本电脑。2007年初,SanDisk发布了两款32GB的固态硬盘产品。
目前,固态硬盘已经成为很日常的一个东西。价格趋于平稳,大家都买得起。256G大概在300元左右。目前主流的个人电脑都会配置SSD。
优点
缺点
固态硬盘由主控芯片、存储芯片构成。存储芯片负责存放数据,主控芯片则控制数据的读/写过程协调。存储芯片按介质分为两种,最常见的一种是采用闪存(Flash芯片)作为存储介质,另一种是采用动态随机存取存储器(DRAM)作为存储介质。
最为常见的固态硬盘采用闪存芯片作为存储介质。闪存芯片根据使用方式不同,可以被制作成多种电子产品,如固态硬盘、存储卡、U盘等,这些设备都具有体积小、便携性高等特点。本章节所讨论的固态硬盘,都是基于闪存的固态硬盘。
这一类固态硬盘采用DRAM(动态随机存取存储器)作为存储介质。这种存储介质目前广泛应用于内存,性能非常好,而且使用寿命很长。美中不足的是,它只有在供电状态下才能保存数据,一旦失去供电,DRAM存储的信息就会丢失,因此它需要额外的电源来保护。目前这类固态硬盘价格很高,应用范围较窄。
固态硬盘 | SAS | NL-SAS | SATA | |
---|---|---|---|---|
性能 | 非常高 | 高 | 较高 | 较高 |
可靠性 | 一般 | 高 | 较高 | 一般 |
价格 | 很高 | 高 | 较便宜 | 便宜 |
能耗 | 一般 | 高 | 较低 | 较低 |
推荐场景 | 适合数据访问非常大的用户使用 | 适合数据较为离散的高中端用户使用 | 适合较大数据块、业务I/O压力不大的用户使用 | 适合大数据块、业务压力不大的用户使用 |
磁盘类型 | 连接方式 | 优势 | 劣势 |
---|---|---|---|
SATA (Serial ATA) (Serial Advanced Technology Attachment) | 串行连接方式 | 便宜 容量大 自动矫正,很大程度提高了数据传输的可靠性 结构简单 可热插拔 | 速度慢,最大支持7200转 |
SAS (Serial Attcached SCSI) | 串行连接方式 | 双端口 改善存储系统的效能 可用性、扩展性提高 接口技术能向下兼容SATA(NL-SAS) | 速度较慢,支持15000转、 很吵 |
NL-SAS | 串行连接方式 | 采用SAS的磁盘接口和SATA的盘体的综合体 由于使用SAS所以寻址和舒服上有提升 | 转速只有7200 性能比SAS差比SATA好 |
SSD (Solid State Disk) | 采用固态电子存储芯片阵列,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成,读写速度快 耐摔、不易坏 质量轻 能耗低 体积小 | 使用寿命短 价格高 |
所谓集中式,指的是所有的资源都集中在某一个中心,然后通过统一接口向外提供服务。集中式存储指的是将所有的物理磁盘集中在硬盘框中,然后通过控制器向外提供存储服务,这里的集中式存储主要指的是磁盘阵列。
磁盘阵列将多个磁盘组成一个逻辑上更大的磁盘,当做单一的存储资源来使用。(相当于用一个硬盘框,里面能装很多硬盘,硬盘装进去之后把多块硬盘看成逻辑上的一块硬盘)
磁盘阵列包括了控制框和硬盘框两大部分。控制框与硬盘框两者有机结合共同为用户提供一个高可用、高性能和大容量的智能化存储空间。
上面说了集中式存储是将多块独立的硬盘组合起来,形成逻辑硬盘,物理上用硬盘框,线连在一起。那怎么形成逻辑硬盘呢?
集中式存储把所有的磁盘集中到硬盘框,使用控制框进行统一控制,可以实现存储容量的动态扩展,同时增强系统的容错能力,提高存储系统的读写性能,而用到的技术就是RAID机制。(将多块独立的硬盘,组合起来形成逻辑磁盘(磁盘组、物理卷、卷组))
RIAD全称是Redundant Arrays of Independent Disks,冗余磁盘阵列。
特点 | 方式 |
---|---|
高效 | 多块磁盘并行读写 |
安全 | 奇偶校验、热备技术 |
RAID技术经过不断的发展,现在已拥有了RAID-0~RAID-6 共7种基本的RAID级别。另外,还有一些基本RAID级别的组合形式,如RAID-10(RAID-1与RAID-0的组合)、RAID-50(RAID-5与RAID-0的组合)等。不同RAID级别代表不同的存储性能、数据安全性和存储成本。这里我们只介绍RAID0、RAID1、RAID5和RAID6。
RAID-0也称为条带化(stripe),其原理是将多个物理磁盘合并成一个大的逻辑磁盘,它代表了所有RAID级别中最高的存储性能,不具有冗余,不能并行I/O,但速度最快。在存放数据时,根据构建RAID-0的磁盘个数对数据进行分段,然后同时将这些数据并行写进磁盘中,因此在所有级别中,RAID-0的速度是最快的。但是RAID-0没有冗余功能,如果一个物理磁盘损坏,则所有的数据都会丢失。
如图中有Disk 1和Disk 2两个磁盘,RAID-0的做法是将要储存的内容(D1,D2……)根据磁盘数目分成两部分同时储存。D1和D2分别储存到Disk 1和Disk 2中,等D1储存完成后,开始将D3储存进Disk 1中,其余数据块同理。这样可以将两个磁盘看成一个大磁盘,并且两侧同时进行 I/O。
有个大胆的想法:居然RAID0能提高读写速度,我拿一百块SATA来做RAID0,速度不是比SSD还要快
从理论上讲,磁盘个数和总磁盘性能应该成倍数关系,总磁盘性能等于“单一磁盘性能×磁盘数”。但实际上受限于总线I/O瓶颈及其它因素的影响,RAID性能随磁盘个数的增加不再是倍数关系,也就是说,假设一个磁盘的性能是50MB/s,两个磁盘的RAID-0性能约为96MB/s,3个磁盘的RAID-0也许是130MB/s而不是150MB/s,所以两个磁盘的RAID-0最能明显感受到性能的提升。
RAID-0的读写性能较好,但是没有数据冗余,如果某块数据坏掉,整个数据就会丢失。因此RAID-0适用于对数据访问具有容错能力的应用,以及能够通过其它途径重新形成数据的应用,如Web应用以及流媒体。
RAID-1又称为Mirror或Mirroring(镜像),其目的是最大限度地保证用户数据的可用性和可修复性。RAID-1的原理是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。
RAID-1在主硬盘上存放数据的同时,也在镜像硬盘上写同样的数据。当主硬盘损坏时,镜像硬盘代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID-1的数据安全性是所有 RAID级别中最好的。但是无论用多少磁盘做RAID-1,有效数据空间大小仅为单个磁盘容量,是所有RAID级别中磁盘利用率最低的一个。
RAID-1是所有RAID级别中单位存储成本最高的,但因其提供了几乎最高的数据安全性和可用性,所以RAID-1适用于读操作密集的OLTP以及其它要求数据具有较高读写性能和可靠性的应用,如电子邮件、操作系统、应用程序文件和随机存取环境等。
总结
最安全、但是磁盘利用率最低
RAID-5是高级RAID系统中最常见的一种RAID级别,由于其出色的性能与数据冗余平衡设计而被广泛采用。其全名为“独立的数据磁盘与分布式校验块”。RIAD使用的是奇偶校验来进行校验和纠错。
RAID5数据存储方式如图中以三个硬盘为例,P为数据的校验值,D为真实的数据。RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且数据和相对应的奇偶校验信息分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息可以恢复被损坏的数据。因此,RAID-5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。
RAID-5尽管有一些容量上的损失,但是能够提供最佳的整体性能,因而也是被广泛应用的一种数据保护方案。它适合于I/O密集、高读/写比率的应用,如联机事务处理等。
总结
数据安全性高。
RAID5坏两块硬盘就无法恢复数据。
RAID-6是为了进一步加强数据保护而设计的一种RAID方式,与RAID-5相比,RAID-6增加了第二种独立的奇偶校验信息块。这样一来,等于每个数据块都有两个校验保护屏障(一个分层校验,一个是总体校验),因此RAID-6的数据冗余性能非常好。但是,由于增加了一个校验,所以写入的效率较RAID-5差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。
常见的RAID-6技术有P+Q和DP两种,这两种技术获取校验信息的方法不同,但是都可以允许整个阵列中两块磁盘数据丢失。
优点
缺点
总结
适合用于对数据准确性、完整性要求更高的环境。
RAID6坏掉三块硬盘就无法恢复数据
类型 | 方式 | 特点 |
---|---|---|
RAID 0 | 将数据分成两份,两块磁盘并行读写 | 高效 没有安全机制 |
RAID 1 | 将数据备份,分别在两块磁盘写入 | 安全 不高效 |
RAID 5 | 将数据均匀分布 | 安全、高效 允许坏一块盘,可将数据恢复过来 数据利用率低(2/3) |
RAID 6 | 更安全、高效 允许坏2块盘,安全级别更高 利用率低 | |
可组合 | RAID 0+RAID 1=RAID 10 | 同时拥有两种机制特点 |
集中式存储按照技术架构分为SAN、NAS
名称 | 中文名称 | 区别1 | 区别2 |
---|---|---|---|
nas存储 | 网络附属存储 | 不能用作非虚拟化存储 | 已有文件系统,在主机上看到的是目录 |
san存储 | 储存区域网络 | 可用 | 向上提供的是裸设备,相当于什么都没有的磁盘 |
最主要的区别:有无文件系统
SAN又可以细分为FCSAN、IPSAN、FCoESAN。目前FCSAN和IPSAN技术都比较成熟,FCoESAN目前还处于发展初期。
存储区域网络(Storage area network,SAN)是一种独立于业务网络系统之外,以块级数据为其基本访问单位的高速存储专用网络。
SAN是一种将存储设备、连接设备和接口集成在一个高速网络中的技术。SAN本身就是一个存储网络,承担了数据存储任务,SAN网络与LAN业务网络相隔离,存储数据流不会占用业务网络带宽。
这种网络的主要实现形式有光纤通道存储区域网络(FC-SAN)、IP存储区域网络(IP-SAN)和SAS存储区域网络(SAS-SAN)。不同的实现形式分别采用不同的通信协议和连接方式在服务器和存储设备之间传输数据、命令和状态。这里我们主要介绍一下FC-SAN、IP-SAN。
早期的SAN采用的是光纤通道(FC,Fibre Channel)技术,所以,以前的SAN多指采用光纤通道的存储局域网络,到了iSCSI协议出现以后,为了区分,业界就把SAN分为FC-SAN和IP-SAN。
在FC-SAN中,存储服务器上通常配置两个网络接口适配器:一个用于连接业务IP网络的普通网卡(network interface card,NIC),服务器通过该网卡与客户机交互;另一个网络接口适配器是与FC-SAN连接的主机总线适配器(hoat bus adaptor,HBA),服务器通过该适配器与FC-SAN中的存储设备通信。
IP-SAN是近年来十分流行的一种网络存储技术。在早期的SAN环境中,数据以块为基本访问单位在光纤通道中传播,即早期的SAN都是 FC-SAN。由于 FC 协议与 IP 协议不兼容,要实现FC-SAN,必须单独采购部署FC-SAN的设备和组件,其高昂的价格、复杂的配置也让众多中小用户望而却步。因此,FC-SAN主要应用于对性能、冗余度和可用性等都有较高要求的中高端存储需求。
为了提高SAN的普及程度和应用范围,并充分利用SAN本身所具备的架构优势,SAN的发展方向开始考虑与已经普及并且相对廉价的IP网络进行融合。因此,使用已有IP网络构架的IP-SAN应运而生,IP-SAN是标准的TCP/IP协议和SCSI指令集相结合的产物,是基于IP网络来实现块级数据存储的方式。
IP-SAN与FC-SAN的区别在于传输协议和传输介质不同。常见的IP-SAN协议有iSCSI、FCIP、iFCP等,其中,iSCSI是发展最快的协议标准,平时我们所说的IP-SAN是指基于iSCSI协议的SAN。
对比FC-SAN,IP-SAN主要有以下几方面的优点:
这些优势使得产品的总体拥有成本(TCO)降低,比如建设一个存储系统,总体拥有成本包括需要购买磁盘阵列、接入设备(HBA 和交换机)、人员培训、日常维护、后续扩容、容灾扩展等。IP-SAN因为IP网络的广泛应用优势,可以大幅降低单次采购的接入设备采购成本、减少维护成本,而且后续扩容和网络扩展成本也大幅降低。
IP-SAN和FC-SAN其它方面的对比如下表:
描述 | IP SAN | FC SAN |
---|---|---|
网络速度 | 1Gb、10Gb、40Gb | 4Gb、8Gb、16Gb |
网络架构 | 使用现有IP网络 | 单独建设光纤网络和HBA卡 |
传输距离 | 理论上没有距离限制 | 受到光纤传输距离的限制 |
管理、维护 | 与IP设备一样操作简单 | 技术和管理较复杂 |
兼容性 | 与所有IP网络设备都兼容 | 兼容性差 |
性能 | 目前主流1Gb,10Gb正在发展 | 非常高的传输和读写性能 |
成本 | 购买与维护成本都较低 | 购买(光纤交换机、HBA卡、光纤磁盘阵列等)与维护(培训人员、系统设置与监测等)成本高 |
容灾 | 本身可以实现本地和异地容灾,且成本低 | 容灾的硬件、软件成本高 |
安全性 | 较低 | 较高 |
NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。
NAS设备支持对公用互联网文件系统(common internet file system,CIFS)或网络文件系统(network file system,NFS)进行读写,也支持同时对两者进行读写。
CIFS(Common Internet File System)是由微软的SMB(Server Message Block)发展而来的一个公共、开放的文件系统。SMB是微软基于NetBIOS设定的一套文件共享协议。通过 CIFS,用户可以访问远程计算机上的数据。此外,CIFS提供了一定的机制来避免读写冲突与写写冲突,从而支持多用户访问。
NFS(Network File System)是由Sun公司开发的,NFS使用户能够共享文件,它的设计是为了在不同的系统之间使用,所以其通信协议设计与主机及作业系统无关。当用户想用远程文件时,只需要使用挂载命令,就可把远程的文件系统挂载在自己的文件系统之下,使用远程文件和使用本机的文件没有什么区别。
NFS与平台无关的文件共享机制是基于XDR/RPC协议实现的。
CIFS | NFS | |
---|---|---|
传输特点 | 基于网络,可靠性要求高 | 独立传输 |
易用性 | 无需额外软件 | 需要安装专用软件 |
安全性 | 无法进行错误恢复 | 可以进行错误恢复 |
文件转换 | 不保留文件格式特性 | 保留文件格式特性 |
集中式存储是将买来的硬盘集中起来,然后再做逻辑化的处理。
分布式存储技术并不是将数据存储在某个或多个特定的节点上,而是通过网络将企业每台机器上的磁盘空间集中起来,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散地存储在企业的各个角落。(购买服务器,服务器上可以有很多的磁盘,但是实际使用中,用不到这么多磁盘。避免浪费,把服务器上不用的磁盘提出来(不是物理的拿出来),组成一个资源池。
分布式存储使用的设备一般是普通服务器,而非存储设备。分布式存储没有控制框和硬盘框,所有的硬盘存储资源都来自于通用的x86架构服务器,对硬盘的识别和管理都需要分布式存储本身提供的客户端,这些客户端负责数据路由的建立、I/O读写的执行等等。
分布式存储的资源来自于各个主机(服务器),然后将资源整合和分布式存储池,再为各个主机所用。
优劣势
采用分布式存储客户端的方式,既有优势,也有一定的劣势。首先在扩容方面,只要给x86架构服务器安装了客户端,它就可以成为分布式存储的一份子,所以这种方式有极大的可扩展性;但是,除了服务器本身所承载的应用外,安装在服务器上的客户端软件也需要一定的计算资源,因此在规划分布式存储时,需要在提供存储资源的服务器上预留一定的计算资源,所以这种方式对服务器的硬件资源有一定的要求;最后,在传统的集中式存储中,I/O读写都是通过控制器来完成,然而控制器的数量有限,在分布式存储中,安装了客户端的服务器可以进行I/O读写,从而可以突破传统集中式存储控制器数量的限制,在一定程度上也能提高I/O读写速度,但是每次读写时都需要计算数据读写的路径,如果客户端太多的话,计算路径就会比较复杂,因此客户端并不是越多越好,达到性能最优时,增加客户端的数量是无法继续提升性能的。
做副本机制之后才形成分布式存储池
如图
数据写入:在数据写入时,首先数据先到分布式存储池,然后在下放到物理磁盘的过程中,复制成三份(三副本机制。两份就为两副本机制),每份数据保存在不同的硬盘上。三副本机制下三个物理硬盘才能提供一个物理硬盘的空间。这样就造成了空间浪费的问题。
数据读取:不是读三分数据。只会读一份数据,然后把数据返回给客户端。如何优先读的数据坏掉了。才会读剩下的两份数据。
分布式存储为什么不用RAID机制
为了保证数据的高可用性和安全性,集中式存储使用的是RAID技术,RAID可以通过硬件和软件的方式来实现,无论是软RAID或者硬RAID,所有的硬盘都需要在一个服务器内(硬RAID需要统一RAID卡,软RAID需要统一操作系统)。
由于分布式存储的硬盘分布在不同的服务器上,所以无法再使用RAID机制。因此,分布式存储是通过副本机制来实现数据的高可靠性的。副本机制是指将数据复制成多份一模一样的内容,并分别保存在不同的服务器上,当某台服务器出现故障后,数据并不会丢失。
常见分布式存储产品
我们这里讲的存储虚拟化是狭义的虚拟化,仅指集群是否有文件系统,如果有即为虚拟化存储,如果没有即为非虚拟化存储。这里的文件系统可以是NFS文件系统,也可以是虚拟化集群的文件系统。如果没有文件系统,虚拟化集群需要直接调动逻辑卷使用。
是否带有文件系统
非虚拟化的文件系统由操作系统提供。(格式化)
前面我们讲了最底层的物理磁盘以及由物理磁盘组成的集中式存储和分布式存储,无论是集中式存储,还是分布式存储,使用RAID或副本机制后,会形成一个物理卷,但大多数情况下都不会把整个物理卷挂载给上层的应用(操作系统或者虚拟化系统,此处我们单指虚拟化系统)使用。因为如果把挂载整个物理卷后,上层应用会格式化所有空间,存储空间使用完后,虽然可以通过添加硬盘的方式进行扩容,但是扩容后需要重新格式化,数据可能丢失。所以,一般会将物理卷组成卷组,然后再将卷组划分成多个逻辑卷,上层应用使用逻辑卷的空间。
在云计算中,虚拟化程序会对逻辑卷进行格式化,各个厂商的虚拟化文件系统各不相同,VMware使用的是VMFS(Virtual Machine File System),华为使用的是VIMS(Virtual Image Manage System),它们都属于高性能的集群文件系统,可以使虚拟化超出单个系统的限制,让多个计算节点同时访问一个整合后的集群式存储池。计算集群的文件系统可以保证某台服务器或某个应用软件不会完全控制对文件系统的访问。
RAID
相当于有多个硬盘组成一个大的物理卷
物理卷是没办法直接给虚拟机使用的,要做逻辑化
LUN
逻辑划分之后生成的单元叫:LUN(Logical Unit Number):逻辑单元
虚拟化程序使用的最小存储单位为LUN,而与LUN对应的是卷Volume,卷是存储系统内部的管理对象,LUN是Volume的对外体现。LUN和卷都是从一个资源池(Pool)中划分出来的。
虚拟化存储和非虚拟化存储的最大区别是否带有文件系统。这里的文件系统指的是:虚拟化集群文件系统
除了虚拟化集群文件系统还有其他的文件系统:
操作系统文件系统:(最常见的)
文件系统是大量文件的分层组织结构,操作系统有了文件系统后,我们看到的数据才能以文件或文件夹的形式体现,才可以随时地复制、粘贴、删除和恢复。文件系统使用目录的方式把数据组织成分层结构,目录就是保存文件指针的地方。所有的文件系统都要维护这个目录,操作系统只维护本机的目录,而集群需要维护NAS或者集群文件系统形成的共享目录。
移动文件的时候其实不是对文件在磁盘的位置进行修改。修改的只是文件在映射的时候映射到那个文件系统块上去了。
有了文件系统就可以实现一些高级特性:快照、热迁移、HA等(下一篇文章介绍)
底层的硬件进行逻辑划分,挂载给计算集群,就可以使用了。虚拟机使用的时候也会形成一个一个的虚拟磁盘。
前面我们在讲虚拟化本质时讲过,虚拟机是由两部分组成的——配置文件和磁盘文件,每个虚拟机磁盘会对应一个磁盘文件,用来保存用户真实的数据。
如果使用虚拟化存储,所有的磁盘文件都会以文件的形式存放到文件系统形成的共享目录中,如果使用非虚拟化存储,每个磁盘文件对应一个LUN。无论是文件还是LUN,从用户和操作系统视角来看,它与普通硬盘一样,在系统的“硬件资源”中看到的都是一个硬盘。对管理员来说,创建虚拟机时需要同时为虚拟机创建磁盘来保存数据,磁盘文件在虚拟机配置文件中对应的是几行配置信息。
与其它文件一样,虚拟机磁盘文件也有自己的固定格式,常见的虚拟机磁盘格式如下:
虚拟机磁盘文件格式 | 支持的厂商 |
---|---|
RAW | 各厂商通用 |
VMDK | VMware |
VHD | 微软Hyper-V、华为FusionCompute |
QCOW | QEMU或KVM虚拟化平台专用的格式 |
QED | QEMU或KVM虚拟化平台专用的格式 |
VDI | Oracle |
各厂商都有自己的虚拟机磁盘格式转换工具,可以将其它的格式转换成自己产品可用的格式,例如,华为的Rainbow可将第三方或者开源的虚拟机磁盘格式转换成VHD格式。
FusionCompute使用的存储资源可以来自本地磁盘或专用的存储设备。专用的存储设备与主机之间应通过网线或光纤进行连接。
数据存储:是FusionCompute对存储资源中的存储单元进行的统一封装。存储资源封装成数据存储并与主机关联后,能进一步创建成若干个虚拟磁盘,供虚拟机使用。
能够封装为数据存储的存储单元包括:
存储设备:这些存储单元在华为FusionCompute中统称为“存储设备”,而向虚拟化提供存储空间的物理存储介质被称为“存储资源”
存储资源:FusionStorage Block、SAN/NAS
数据存储可以是虚拟化或非虚拟化的,也可以将SAN存储上的LUN直接作为数据存储,供虚拟机使用,而不再创建虚拟磁盘,此过程称为裸设备映射。
裸设备映射目前仅支持部分操作系统的虚拟机,适用于搭建数据库服务器等对磁盘空间要求较大的场景。
添加完数据存储后,就可以为虚拟机创建虚拟磁盘了。根据不同用户对虚拟机磁盘的不同需求,比如要求共享同一个虚拟机磁盘,也可能要求尽可能地节省更多的物理空间等。华为虚拟机磁盘可分为以下几种:
可将虚拟机磁盘分为普通和共享:
注意:多个虚拟机使用同一个共享磁盘时,如果同时写入数据,有可能会导致数据丢失。若使用共享磁盘,需要通过应用软件来保证对磁盘的访问控制。
可将虚拟机磁盘分为普通、精简和普通延迟置零:
普通和精简举例:借钱(普通:借100万你直接给100万。精简:借100万,你说用多少给多少,不够再拿)
普通:
精简:
普通延迟置零:
可将虚拟机磁盘分为从属、独立-持久和独立-非持久:
从属和独立的最大区别:会不会受快照影响
从属:
独立-持久
独立-非持久
比喻:持久:刻在岩石上,非持久:可在沙滩上
磁盘类型和配置模式一旦设定后就不支持更改,而磁盘模式设定后还可以相互转换。