云主机如何用虚拟磁盘扩容?

softyun3年前云服务器45

互联网的数据量不断在增长,寻求更大的存储空间是每个网站的需求,如果服务器的容量不足,那么网站就无法继续支撑运作,这样对企业的损害是非常大的。不仅仅面临着用户的流失,也面临着数据丢失的风险。今天,云主机来跟大家聊聊虚拟磁盘。

虚拟磁盘的实现

我们知道,服务器扩展存储的手段主要有直连存储(DAS)、存储区域网络(SAN)和网络附加存储(NAS)这三种类型。那么哪种存储类型可以用来实现虚拟磁盘呢?

在虚拟化环境中,类似VMWare这样的虚拟机管理程序hypervisor,要同时给很多VM分配存储空间。这个过程中,我们需要先把物理存储资源重新划分成虚拟磁盘,然后再分配给VM。

显然我们不能用DAS方式把物理磁盘直连到VM上,如果这样,需要的物理磁盘就太多了。SAN是以逻辑单元(LUN:Logic Unit)的形式提供存储资源,但虚拟环境下的VM数量很大,LUN的数量也不足以支撑这么多虚拟磁盘。更重要的一点,虚拟磁盘对于众多的VM来说是共享的,因为VM需要随时创建、删除或者迁移,在迁移VM的时候就需要共享存储,只有这样原来的数据才不会丢失。无论DAS还是SAN,都不适合共享存储。

考虑到资源分配以及共享的问题,hypervisor采用NAS的方式来实现虚拟磁盘。VMware通常采用VMFS(Virtual Machine File System)或NFS协议来实现虚拟磁盘,VMFS是专门针对虚拟机环境的文件系统协议。


每个虚拟机的数据实际上就是一堆文件,最主要的文件就是虚拟磁盘文件(VMDK文件),此外还有交换分区文件(vswp文件,相当于swap)、非易失性内存文件(nvram相当于bios)等。每个VM对虚拟磁盘的IO操作,实际上是对这个虚拟磁盘文件的读写。

VMFS的设计、构建和优化针对虚拟服务器环境,可让多个虚拟机共同访问一个整合的群集式存储池,从而显着提高了资源利用率。采用 VMFS 可实现资源共享,使管理员轻松地从更高效率和存储利用率中直接获益。

那么我们如何在云计算中使用虚拟磁盘呢?

实例存储

最主要的一种使用虚拟磁盘的方式就是实例存储,每一个VM就是一个虚拟机实例,hypervisor在每个实例中提供仿真的硬件环境,包括CPU、内存和磁盘。这种方式,使得虚拟磁盘成为虚拟机实例的一部分,就像物理世界一样。VM删除后,虚拟磁盘也会被删除。

这种实例存储模型中,虚拟磁盘与虚拟机之间的存储关系,实际上是DAS存储。但虚拟磁盘的底层实现,上面我们说了,是用NAS方式实现的。而hypervisor的作用就是把VM层的存储模型,与虚拟机下层的实现协议(VMFS或NFS)分离开了。


卷存储

实例存储有它的限制,开发者一般希望把实例数据(比如OS以及安装的一些服务器应用软件)和用户数据分开,这样重建VM的时候可以保留用户的数据。

这个需求衍生出另外一种存储模型:卷存储。卷是存储的主要单位,相当于一个虚拟的磁盘分区。不属于虚拟机实例的一部分,可以认为是虚拟机的外置存储设备。

卷可以从一个VM卸下,然后附加给另外一个VM.这样我们就实现了实例数据与用户数据的分离。OpenStack的Cinder就是一个卷存储的实现。

除了实例存储和卷存储,最后我们再说一说另外一种比较特殊的虚拟化存储:对象存储。

对象存储

很多云应用需要在不同的VM之间共享数据,经常需要跨越多个数据中心,对象存储可以解决这个问题。

在对象存储模型中,数据存储在存储段(bucket)中,按字面意思bucket也可以被称为“桶”。我们可以用硬盘进行类比,对象就好比文件,存储段就像是文件夹(或目录)。对象和存储段可以通过统一资源标识符(URI: Uniform Resource Identifier)查找。

对象存储的核心设计思想其实也是虚拟化,具体说来,就是把文件的物理存储位置,比如卷、目录、磁盘等,虚拟化为bucket,把文件虚拟化为对象。对应用层来说,简化了对数据的存取访问,屏蔽了底层存储技术的异构性和复杂性。


当然你也许会问,NAS存储技术不是也可以解决数据共享的问题吗?

由于对象存储的规模优势和成本优势,很多云环境采用对象存储来代替NAS。由于对象存储将遍布于很多节点且最新的数据并非总是可用, 所以对象存储的数据一致性不强。如果对强一致性有要求,那么可以使用NAS.目前在云计算环境下,NAS和对象存储是共存的关系。和NAS一样,对象存储也是软件架构,不是硬件架构。应用直接通过REST API来访问对象存储。

但是,这一操作具体到实际的云平台中,我们要根据实际情况去进行操作才合适,最好有专门的技术人员进行操作分析。如果企业没有相关资源,不妨联系你的云主机服务商。


免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

怎么把项目部署到云主机

把项目部署到云主机的方法:先使用yum install lrzsz命令下载rz ,下载完后输入rz就可以在Windows桌面上传输文件到linux服务器。然后使用yum install zip unz...

云主机服务商怎么选择

云主机服务商选择的方法:1、选择能提供安全运行能力的云服务器提供商,如是否有云计算平台安全保障、查看防火墙、风险管理等安全策略;2、选择有足够深厚云计算平台维护技术和经验的云服务器提供商,所提供的云主...

云主机有哪些用法

云主机的用法:1. 云主机可用于网络业务拓展,有利于吸引用户购买,加速业务快速拓展。2. 云主机可搭建数据共享平台,提供数据共享、下载,实现数据的调用。3. 云主机可部署在线游戏平台,保证游戏的稳定运...

云主机怎么选?云主机租用的挑选技巧

云主机以其强大的性能,吸引了很多企业选择它来作为网站的服务器,让企业网站得到了很好的建设配置。那么,我们云主机租用要怎么挑?首先,在云主机租用时,最重要的是要考虑这些因素,具体包括CPU配置和运行速度...

云主机怎么设置防御SYN攻击

云主机设置防御SYN攻击的方法:1、使用相关命令减少SYN-ACK数据包的重发次数;2、然后使用SYN Cookie技术;3、再增加backlog队列;4、最后限制SYN并发数即可。具体内容如下:1、...

影响美国云主机速度的因素有哪些

影响美国云主机速度的因素有:1、美国云主机部署的网站后期发展流量增多,宽带配置不足,从而导致美国云主机速度变慢;2、使用美国云主机的配置资源无法满足当前业务需求导致主机速度卡慢;3、美国云主机本地网络...