虚拟化技术简介

本文分享自天翼云开发者社区《虚拟化技术简介》,作者:s****n

在计算机科学中,虚拟化技术(Virtualization)是一种资源管理技术,将计算机的各种物理资源予以抽象、转换,然后呈现出来的一个可供分割并任意组合为一个或多个虚拟计算机的配置环境。虚拟化技术是云计算的基础,本文将简介虚拟化技术,同时介绍虚拟化技术在云计算中的重要作用。

虚拟化技术的历史

1959年,牛津大学的计算机教授Christopher提出并论述了虚拟化技术概念,从此拉开了虚拟化发展的帷幕。但受限于服务器架构局限,当时的虚拟化技术发展不足。1998年,VMware软件公司成立,并推出VMware Workstation和ESX Server等虚拟化产品,成为行业领导者。目前主流商业虚拟化产品有VMware、Virtual PC以及开源产品Xen等。虚拟化技术起源于欧美国家,国内虚拟化相关的商业和科研起步相对较晚。近几年,国内云计算领域的快速发展,也推动着虚拟化相关技术和产品的进步[1, 2]。

HYPERVISOR

在虚拟化技术中,有一种软件可以让物理服务器拥有多个虚拟机实例,它被称为Hypervisor。这些实例是在虚拟化环境中创建的虚拟机,管理程序负责监督和控制这些机器进行通信、资源共享和重新分配虚拟机。管理程序有两种类型。第一个称为裸机管理程序,第二个称为托管管理程序。如图1所示,第一种类型直接安装在硬件上并控制所有资源。管理程序在虚拟机之间共享资源,并根据策略对其进行划分。在图2中,我们可以看到其他类型的虚拟化,即我们可以将其安装在具有正常硬件和软件的传统系统上[3]。 

图1 裸机管理Hypervisor[3] 

 

图2 托管管理Hypervisor[3] 

网络虚拟化

在云网通信中,物理设备通过物理连接进行连接,可以与其物理网卡进行通信,而虚拟设备使用分布在主机内部的虚拟网卡。当两台虚拟机需要通过网络进行通信时,有两种场景。第一种场景是同一物理主机上的两个虚拟机之间的通信。在这种情况下,所有设备都将是虚拟设备,如虚拟交换机或虚拟防火墙。在第二种场景中,两台虚拟机位于不同的物理主机上,其通信是物理通信和虚拟通信的结合[3]。网络虚拟化技术可以减少了数据中心技术人员在布线和维护电缆上花费的时间。同时通过网络虚拟化技术,网络资源具有动态可扩展性。

存储虚拟化

为了使存储虚拟化,物理存储不能直接连接到服务器;它们通过网络连接到服务器。存储虚拟化最受欢迎的协议之一是存储区域网络(SAN)和网络附加存储(NAS)。对于快速交互的使用光纤通道和他们使用的协议是iSCSI。这些协议允许使用TCP/IP协议在网络上访问块存储。他们使用TCP进行可靠的通信。存储虚拟化还依赖于一个冗余的独立磁盘(RAID)技术来保护在任何物理故障中丢失的数据。在新的虚拟存储系统中,他们使用最新的技术,称为独立节点(RAIN)的冗余数组,而不是RAID。这种新技术即使有几个服务器下降,也帮助了数据的可用性。存储虚拟化的重要点是隐藏数据在云环境中的位置。对于这个存储虚拟化的重要点,将逻辑存储映射为数据的物理存储块[1, 3]。

内存虚拟化

在虚拟化概念中,我们也有一个虚拟内存环境。加载到不同虚拟机的客户操作系统,使用虚拟地址,这些地址将映射到物理内存地址。但是,客户操作系统不能直接访问实际的物理内存,负责控制这个操作是一个管理程序。Hypervisor是将虚拟设备映射到物理设备的虚拟化的核心。在现实中,有三种不同类型的内存:一个是由客户OS使用的,称之为虚拟内存,另一个内存在管理程序中处理,可以把它称为真实内存,最后一个是物理内存[3]。客户将虚拟内存映射到由管理程序控制的真实内存。在此之后,真正的内存或hypervisor内存映射到物理内存。

虚拟化在云计算中的重要性

虚拟化在云计算中扮演重要角色,它主要有以下几个作用:

1.提供虚拟机。所有操作系统和应用程序都是运行在虚拟机中的,这为云计算提供了基础。

2.帮助实现高可用性。通过虚拟机的动态分配和负载均衡,可以提高云服务的可用性。 如果某个服务器出现问题,可以将虚拟机迁移到其他服务器上,用户端感知不到中断。

3.促进可扩张性。通过动态调整虚拟机的资源(如CPU、内存等),可以按需扩张或收缩云计算服务,实现水平和垂直可伸缩。

4.提高资源利用率。通过将多台物理服务器虚拟化,有效合用资源,提高硬件资源利用率。

5.加强隔离性。虚拟机之间相互隔离,可以有效地在同一物理机上运行多个操作系统或应用,保证各自独立。

6.降低总拥有成本。通过虚拟化,可以实现服务动态分配,节省资金投入。

总结

虚拟化技术历经几十年的发展,已经成为一个非常重要的计算机技术。利用虚拟化技术可以生成虚拟机,并把网络、存储和内存资源虚拟化。虚拟化技术在云计算中扮演总要角色,是云计算蓬勃发展的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/786177.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle21C创建用户

Oracle21C创建用户 1. 连接数据库 在命令行使用: sqlplus system/<password>@//<hostname>:<port>/<service_name> # 示例 sqlplus system/123456 sqlplus / as sysdba使用图形化工具(datgrip2019.3): 使用sys用户时连接会报错。如下所示: The sp…

jmeter操作数据库

jmeter操作数据库 一、jmeter操作数据的前期工作 jmeter是java语言编写的 1、在操作数据库之前要安装jdbc ,数据库驱动,如上图就是驱动下载驱动 2、将驱动存放在指定路径下(jmeter和java的lib与lib\ext目录下)3、在jmeter的测试计划中导入驱动(浏览完成即可)4、新建一个线程…

帝国cms如何解决截图出现黑边的问题

帝国CMS截图出现黑边的问题通常是由于系统在生成缩略图时采用的高度缩放方式导致的。当图片的宽度大于高度时(即横幅图片),帝国CMS会按照高度进行缩放,而宽度不足的部分则用黑色填充,从而产生黑边。 为了解决这个问题,可以采取以下步骤:修改图片缩放方式:将按高度缩放改…

Pgjdbc之CopyManager(二)

引入 CopyManager主要用于远程执行数据库的copy命令,主要分为In和Out两方面。 从 public long copyOut(final String sql, Writer to) 方法开始:解析 流程 新建一个copyOut,不断读取后端传过来的数据,写到Writer流里。 内部实现 cp = copyOut(sql);关注一下CopyOperation o…

阿里云OSS上传图片报错

此类故障是https的问题,基本设置那里要改成https开头的域名,还有就是插件里也要对应起来 阿里云OSS上传图片时如果出现报错,通常有几种可能的原因及解决方法:权限问题:错误代码 AccessDenied 表示没有足够的权限访问对象或执行操作。 解决方法:登录到阿里云控制台,在RAM…

当网站配置好https协议之后 全站url http怎么跳转到https

如果是apache环境,在站点根目录下 .htaccess 文件里新增以下代码,具体位置请看参考下图:# http跳转到httpsRewriteCond %{SERVER_PORT} !^443$RewriteRule ^(.*)$ https://www.xxxxx.cn/$1 [LR=301] 当网站配置好了 HTTPS 协议之后,为了保证网站的安全性和统一性,通常会将…

windows下安装es与elasticsearch报错

发现网上很少关于windows安装elastic search的文章,所以本人结合一天的报错,解决问题的过程,写一下这篇文章,希望对大家有用,有帮助的话请点一个免费的赞,谢谢。安装es 下载:点击https://www.elastic.co/cn/downloads/elasticsearch --> 点击View past releases --&g…

[2027届]NOIP2024模拟赛#5

lalala%%% Larunatrecy 比赛链接 榜:打得还行吧。 T1 光理解题意就看了10min,理解以后写了写有手就行的暴力。 赛后发现输出 -1 能多拿10分,惨痛错过呜呜呜。 正解的话,我们给每个节点定义两个指标:\(a:\) 即使加入一条入边也依旧存在一种合法的 \(W\)。 \(b:\) 即使加入一…

nRF54H20开发板开箱测评

今天收到了Nordic最新的旗舰级BLE芯片 nRF54H20的开发板,做一个简单的开箱测评。包装简洁使用了牛皮纸盒,十分符合北欧人的环保理念(手动狗头)。 一、nRF54H20开发板概览打开包装之后里面是用防静电袋包装的开发板和NFC天线。 nRF54H20开发板在Nordic开发板家族中的代号是…

zblog免费插件分享前端代码支持一键复制

zblog默认的代码文件在网页前端是不支持一键复制的,这会让访客复制长代码的时候不太方便,甚至有可能会出错,影响体验,下面分享一个非常简单的免费插件,安装之后,前端代码就能一键复制了。 插件使用方法: 1、点击最下方链接下载插件 2、打开zblog后台,在插件管理里面上传…

6-SoftMax回归

https://blog.csdn.net/qq_43799400/article/details/131202148 写代码遇到问题 1、使用data.DataLoader时如果使用多进程num_workers,会报错其原因可能是https://blog.csdn.net/KaelCui/article/details/106184158 2、loss的backward 注意backward只能对标量,而不是对张量。 …

浅谈C#中的值类型和引用类型

1. 值类型常见的值类型:int/long/short/byte/float/double/bool/char/Struct(用户建立的结构体通常是值类型的)/Nullable Types(这是一个特殊的值类型,表示一个正常值或者空,比如int?) 值类型的例子:int a=10; int b=a;Console.WriteLine($"a:{a}");//a:10 Co…