计算机领域的虚拟化是指什么

2025-04-26 06:30:15
推荐回答(2个)
回答1:

首先,计算机的硬件大体分三种:
计算,存储,网络和接口
对应出来大体对应的就是:
服务器,存储,网络

虚拟化最多的时候常常指的是针对这三种物理设备的虚拟化
那么如何去理解它呢?

首先谈服务器虚拟化
通常来讲我们部署一台服务器是买一套硬件,装一个系统,跑几个应用,做一段运维
我们可能常常会遇到几个问题:
1.cpu内存磁盘带宽利用率低:
一个应用也不是核心应用跑也不占什么资源,但就是有环境要求,非独立占一个主机,平时高负载时cpu内存也就跑个20~30%,但电一直要开着,这样就会造成一种巨大的电能浪费,何况电力成本是数据中心第一大成本。
2.物理空间占用量大
既然每个物理机都只跑一两个应用,那么就需要很多实体物理机才能把大量服务撑起来,数据中心是个寸土寸金的地方,即便是塔式转机架,机架转刀片,还是要占用大量物理空间,又是一大成本。
3.硬件问题
硬件总有个故障率,一旦发生问题就可能会造成系统停摆,服务终止,这对于SLA要求高的关键性应用是不可接受的,目前常用的解决方案主要是软件层面的主备机,负载均衡等方式,但依然会带来备机硬件和维护成本的上升和切换的风险;另外当做硬件升级的时候,则又不可避免的不停机停服务。

那么服务器虚拟化是怎么做呢?
简单来讲,服务器虚拟化就是在操作系统和硬件之间多插了那么一个中间层,通常叫做hypervisor层,把操作系统和硬件从逻辑依赖关系上分离了,用领导的话叫”解耦合“,操作系统和hypervisor层通信,hypervisor层再和硬件通信,这样解决了以上的三个问题。

那么是如何解决的呢?
对于硬件来讲hypervisor层就是它的控制系统,对于hypervisor层来讲,主机操作系统就是个文件而已,这样的话,这个主机操作系统就可以从又控制应用又控制硬件的角色中解脱出来只管应用接口了
那么
1.既然操作系统对于hypervisor层来讲只是个文件,那么一个hypervisor层同时多跑几个操作系统也就没什么所谓了,反正对于硬件只认识hypervisor一个系统而已,从此实现一个物理设备其实可以跑一堆操作系统,那么硬件的有效利用率一下子就可以提升了,通常做完服务器虚拟化可以轻松将硬件利用率提升至60%以上。
2.既然好几个操作系统都能跑在一台物理设备上,那就可以省掉许多硬件开销了,自然空间利用率就上去了。
3.既然虚拟出来的操作系统不过是个文件而已,那么把虚拟机放在一个存储或文件服务器上是不是也OK啊,这样如果使用共享存储的话一台物理机宕机了,它自然可以用另一台物理机把它从存储中恢复回来,这种方式从系统层面实现了HA,并不依赖软件;那么它也自然应该可以在物理机之间来回传输罢,如果硬件升级的话,提前将这个虚拟机在线不停服务的迁移到其他物理机上也就OK了,从而实现了系统级Motion。

再谈存储虚拟化
其实存储虚拟化的定义在各个厂家看来并不十分一致,核心需求都是要存储硬件设备和存储逻辑结构解耦。
最常见的解决方向就是,在主机端装个软件或者和存储间加台设备,把企业内各式各样的存储拼成一个大资源池,不论厂家,不论功能,只按高低性能和生命周期分开,统一管理起来。
当然,这样做的大前提就是解决企业内存储各种管理难的问题,通过某种抽象的方式将其对主机来看就是块儿管理空间而已,这样就免去了针对各个厂商各个功能的了解和掌握,也可以以一种集中的管理方式对存储进行管理。
厂商主要针对的都是这一块儿谈存储虚拟化,但往往这种推进并不十分理想,原因如下:
1.如果通过某种形式将其统一管理,不论品牌和高低性能的话,那么就需要各厂家的设备功能高度规范和统一,所有功能都依照木桶原理向下对齐,这对于比如netApp这种存储功能逻辑非常奇葩但却优秀的厂家来讲是十分不公平的,各存储厂家之间的功能差异化就没什么意义了。
2.很多时候,公司更倾向于买某个固定厂家的不同类型产品来实现其存储需求,而相同厂家的产品往往又有着可以实现自身统一管理的平台类软件,没必要非得费劲的支持第三方产品。
3.统一存储的概念还没推行多少年,多数公司的存储系统还都处于孤岛状态,想要连起来统一管理缺少必要条件和实现动力。

还有一种说法把存储虚拟化看成分布式存储甚至分布式文件系统,简单说就是干脆不要外接存储,直接主机本地盘存数据,然后通过网络和其他主机本地盘实现冗余,以此让存储的逻辑和物理彻底分开无关。
从某个角度讲这其实是非常理想的一种方式,但这种方式适用性目前还比较有限,成型的产品也不多,更多的是软件实现。

再谈网络虚拟化
其实一些网络虚拟化技术我们用了很久了,只是当时没叫这个名词而已,但凡网络技术前面+V的基本都可以看做网络虚拟化,比如说vlan和vpn,vlan技术就是指在交换机上针对接口虚拟出来逻辑的广播域,vpn技术是指在公共互联网上虚拟出一条私人隧道,其目的要不是分割网络要不就是合并网络,这种使网络设备机构和网络逻辑结构分离解耦的方式即是网络虚拟化,当然也包括什么vrrp和vss之类的。
最近一段时间谈的比较热门网络虚拟化技术都是针对服务器虚拟化的,因为服务器虚拟化造成了设备和系统解耦还来回飘,所以网络层面也必须针对其做相应的优化,比较常见的方案有虚拟网卡和分布式虚拟交换机等,其核心思想都是想要通过层平面的角度去规划管理做完服务器虚拟化后的网络。
还得说说SDN,虽然SDN本身不能称作虚拟化技术,但其实质却真正实现了完全的解耦,即策略与管理和网络设备的解耦,最终能实现一个大脑控制全身,在超大规模虚拟化后的网络面前,这东西才是王道,没有它的情况下即便虚拟化了网络管理也是问题,所以在思考网络虚拟化的时候也一定要把SDN考虑进去。

回答2:

虚拟的
意思是假的