① 云存储的核心技术:虚拟化存储,究竟虚拟是怎样实现的
虚拟化改变了计算机使用存储的方式。就像物理机器抽象成虚拟机(VM:Virtual Machine)一样,物理存储设备也被抽象成虚拟磁盘(Virtual Disk)。今天我们就来聊聊虚拟化存储(Storage Virtualization)技术,究竟虚拟磁盘是怎样实现的?
虚拟磁盘的实现
我们知道,服务器扩展存储的手段主要有直连存储(DAS)、存储区域网络(SAN)和网络附加存储(NAS)这三种类型。那么哪种存储类型可以用来实现虚拟磁盘呢?
在虚拟化环境中,类似VMWare这样的虚拟机管理程序hypervisor,要同时给很多VM分配存储空间。这个过程中,我们需要先把物理存储资源重新划分成虚拟磁盘,然后再分配给VM。
显然我们不能用DAS方式把物理磁盘直连到VM上,如果这样,需要的物理磁盘就太多了。SAN是以逻辑单元(LUN:Logic Unit)的形式提供存储资源,但是虚拟环境中VM的数量是很大的,而且伦的数量不足以支持这么多虚拟磁盘。
更重要的是,虚拟磁盘是为大量VM共享的,由于VM需要随时创建、删除或迁移,所以需要在迁移VM时共享存储空间,只有原始数据不会丢失。DAS还是SAN,都不适合共享存储。
考虑到资源分配以及共享的问题,虚拟机管理程序以NAS的方式实现虚拟磁盘。VMware通常使用VMFS(虚拟机文件系统)或NFS协议实现虚拟磁盘,VMFS文件系统是专门针对虚拟机环境协议。
每一个虚拟机的数据实际上是一堆文件,及最重要的文件的虚拟磁盘文件(VMDK文件),也有交换分区文件(VSWP文件,等价交换),非易失性存储器(NVRAM的文件相当于BIOS),等等。每个VM对虚拟磁盘的IO操作实际上是对虚拟磁盘文件的读写操作。
设计、施工、和虚拟服务器环境和优化,允许多个虚拟机访问集成的集群存储池,从而大大提高了资源的利用率。使用和实现资源共享,管理员可以直接从更高的效率和存储利用率中获益。
那么我们如何在云计算中使用虚拟磁盘呢?
实例存储
最主要的一种使用虚拟磁盘的方式就是实例存储,每个VM都是虚拟机的一个实例,虚拟机管理程序在每个实例中提供一个仿真硬件环境,它包括CPU、内存和磁盘。这样,虚拟磁盘就是虚拟机实例的一部分,就像物质世界。删除VM后,虚拟磁盘也将被删除。
在这个实例存储模型中,虚拟磁盘与虚拟机之间的存储关系,事实上,它是DAS存储。但是虚拟磁盘的底层实现,我们说,它是以NAS的方式实现的。虚拟机管理程序的作用是存储VM层的存储模型,这是从实施协议分离(VMFS或NFS)的虚拟机的低层。
VMFS协议实现了存储资源的虚拟化,再分配各VMs
卷存储
实例存储有它的限制,开发人员通常希望分离实例数据,例如OS和安装的一些服务器应用程序和用户数据,这样重建VM的时候可以保留用户的数据。
这个需求衍生出另外一种存储模型:卷存储。卷是存储的主要单元,相当于虚拟磁盘分区。它不是虚拟机实例的一部分,它可以被认为是虚拟机的外部存储设备。
该卷可以从一个VM卸载,然后附加到另一个VM。通过这种方式,我们实现了实例数据与用户数据的分离。OpenStack的煤渣是一个体积存储的实现。
除了实例存储和卷存储之外,最后我们还提到另一种特殊的虚拟存储:对象存储。
对象存储
很多云应用需要在不同的VM之间共享数据,它常常需要跨越多个数据中心,而对象存储可以解决这个问题。在前一篇文章中的云计算IaaS管理平台的基本功能是什么?》中曾经提到过对象存储。
在对象存储模型中,数据存储在存储段(bucket)中,桶也可以被称为“水桶”,因为它字面意思。我们可以用硬盘来类推,对象像一个文件,而存储段就像一个文件夹(或目录)。可以通过统一资源标识符(URI:统一资源标识符)找到对象和存储段。
对象存储的核心设计思想实际上是虚拟化,它是文件的物理存储位置,如卷、目录、磁盘等,虚拟化是木桶,它将文件虚拟化为对象。对于应用层,简化了对数据访问的访问,屏蔽了底层存储技术的异构性和复杂性。
对象存储模型
NAS与对象存储各有所长
当然你也许会问,NAS存储技术也是一个可以解决数据共享的问题吗?由于对象存储的大小和成本优势,许多云环境使用对象存储而不是NAS。
因为对象存储将跨多个节点传播,最新数据并不总是可用的 因此,对象存储的数据一致性不强。如果有强一致性的要求,然后你可以使用NAS。目前,在云计算环境中,NAS和对象存储是共存的。
和NAS一样,对象存储也是软件体系结构,而不是硬件体系结构。应用程序通过REST API直接访问对象存储。公共对象存储包括:Amazon S3和OpenStack的Swift。
结语
在实际的云平台应用中,我们需要根据自己的实际情况来合理运用不同的虚拟化存储技术。
对于非结构化的静态数据文件,如音视频、图片等,我们一般使用对象存储。
对于系统镜像以及应用程序,我们需要使用云主机实例存储或者卷存储。
对于应用产生的动态数据,我们一般还需要利用云数据库来对数据进行管理。
② vmware6.5 虚拟机 存储挂不上
检查迁移设置或者重新连接主机服务器。
在服务器之间进行vm迁移首先要求两个服务器启用迁移功能。例如,使用vmware esx或者esxi的两个服务器必须启用vmotion。
vmware esx或esxi服务器上,在配置选项卡为特定的vsphere客户端启用vmotion,所以it管理员必须使用与每个hypervisor匹配的文档并在每个服务器上启用迁移功能。
③ vmware虚拟化怎么给两台linux虚拟机做共享存储
使用windows的CMD程序操作,进入vmware的安装目录,然后执行:
CMD> vmware-vdiskmanager.exe # 不加任何参数会显示完整的帮助信息。
CMD> vmware-vdiskmanager.exe -c -s 200Mb -a ide -t 0 disk.vmdk
这样就生成了一个新的(-c参数),200Mb大小(-s 200Mb),IDE接口(-a ide)的名为'disk.vmdk'磁盘。
关于'-t 0'的含义,请参考该命令的帮助信息。
④ VMware ESX server 如何让挂载外部存储,
在VCenter中找到该台虚拟机,然后右键选择虚拟机,选择“编辑虚拟机设置”,打开虚拟机属性页之后先添加“USB控制器”,再添加“USB设备”,一定是两次添加,第二次添加后如能看到该移动硬盘,则虚拟机可以读取,否则就要选择并添加了。
⑤ VMware做服务器虚拟化高可用时必须要挂存储吗
虚拟机的文件是存放晌帆在存储里。
HA的功能是把虚拟机文件从故兆配障主机上卸载族谨指,后挂载到运行正常的主机上,再开启。
如果企业考虑到成本问题,建议两台服务器安装虚拟化软件后互为备份。
⑥ 如何在虚拟化环境下进行数据存储管理
理解虚拟机存储需求
规划部署方案可以节约时间和资金,并避免在将来出现令人头疼的问题。部署物理存储环境前,因当了解当前环境的具体情况。我们开始研究如何在虚拟化环境下解决存储的需求分配问题。每个环境都不尽相同,尽管如此,还是有一些简单问题可以帮助我们理清数据存储管理规划:
1、工程师需要理解环境中虚拟化的程度。环境中是否大多数服务器都已虚拟化,还是仅仅运行了少量的虚拟机。
2、需要超前规划将来用户、服务与应用增长所需的计算资源。环境会不断演变,既要满足当前应用,也要规划未来发展。
一旦开始规划,工程小组需要对自己即将部署的存储解决方案类型有深入认识。某些虚拟机需要为其存储设置许多固定参数,而其他虚拟机则可以更为灵活的调整。根据大多虚拟机监控(VMM)实现方案,可以大致分为两个主要部分:
1、在创建虚拟磁盘时预先分配所需的整个存储空间。此方案中,虚拟磁盘既可以被拆分为许多水平文件(默认情况下为每文件2GB大小)所组成的文件集,被称做"分割水平文件",也可以采用单一的水平文件。预分配存储机制也被成为"厚配置".
2、按需动态增长存储。若采用此机制,虚拟磁盘可以分割或单一文件保存,但其有一个重要特性--存储可以根据需求进行分配。此种类型的动态增长存储同样被称为"自动精简配置",VMware Inc.和Citrix System都支持此种磁盘配置。
一旦负载评估确定以及相关可行性调查完成,就可着手研究如何将存储添加至环境中。但比这更重要的一环是明确工作负载究竟需要多少存储空间,因为此时已进入存储资源分配过程了。
动态存储分布
管理员现在可以通过虚拟化平台接口进行监控,分配和管理所有虚拟机的存储需求。Vsphere、XenServer和Hyper-V目前都提供了非 常复杂的图形用户接口(GUI),这些管理工具可以提供关于虚拟机的详细信息。例如,管理员可以查看系统所连接的存储仓库,了解其是如何被利用的,也可以 查看每个虚拟机(VM)的磁盘使用状况。虚拟化管理平台的每次更新都加强了针对存储设备的连接能力,包括支持更多厂商的产品,新功能以及通过GUI界面所 能实现的存储设备管理。
在部署自动精简配置(或动态存储分配)作为虚拟磁盘特性时,需要留意存储资源池或数据存储中那些还未被使用的空间。通过跟踪未使用资源,工程师可以 调整最佳实践并决定下一步操作是回收现有未使用资源,或者在应用中断与宕机发生之前往资源池中加入新的可用空间。为避免系统宕机,建议对磁盘使用情况进行 追踪并设置告警等通知,保证在空间不足时能通知到管理员。动态空间分配并不是什么新技术,该功能在现今大部分主流虚拟化软件中都可以实现。尽管如此,关于 这种数据存储机制还是有一些管理技巧的:
1、设置磁盘空间需求告警。添加额外磁盘空间并不困难。现实中,实现空间添加可能只需要大约3次鼠标点击。挑战在于了解有多少资源可以分配,以及数 据存储是否将要用尽。要解决这个问题,工程师应该为虚拟化平台管理工具设置告警策略,以及准确管理自动精简配置。对某些管理平台来说,告警是项新功能,但 十分重要。这些告警可以通
2、过自定义触发规则实现,这样管理员们就可以对“磁盘空间耗尽”这项事故进行预防并才去行动。告警可设置为当数据存储使用率到 达某一百分数值或超额比率达到一定数值时触发相关通知。
3、文档与环境监控。每款主流虚拟化管理平台的GUI工具都很实用,任何IT工程师都应该能够检索存储仓库并对存储使用状况与规划有明确的认识。尽 管如此,在处理存储需求时,数据存储管理是一项永无止境的过程,需要无时无刻关注。空间资源耗尽并不是一个好应对的问题,而且通常情况下,可以通过审计与 对存储环境的维护来避免事故发生。
确保存储和虚拟化管理平台及时更新。经常检查负载状况是件十分重要的例行公事,留意存储硬件和虚拟化软件平台运行情况也十分重要。新硬件和软件更新可提供更好的支持与功能及,提升IT工程师管理环境的能力。微小变更,诸如告警与警示,可以用来增强存储空间管理能力。