虚拟化

news2024/11/26 16:57:34

什么是虚拟化

虚拟化(Virtualization)是一种资源分配和管理技术,是将计算机的各种实体资源,比如CPU、内存、磁盘空间、网络适配器等,进行抽象转换后虚拟的设备,可以实现灵活地分割、组合为一个或多个计算机配置环境,并还支持重新分割、重新组合,以达到最大化合理利用物理资源的目的。

虚拟化优势

虚拟化技术提供了多种优势,使其成为现代数据中心和云计算环境中不可或缺的一部分。以下是虚拟化技术的一些主要优势:

  1. 资源利用率提高

    • 虚拟化允许多个虚拟机(VM)共享同一物理硬件资源,如 CPU、内存和存储,从而提高硬件资源的利用率。
    • 资源超分:实际物理内存只有128G,可给虚拟机分配200G内存。先定额度再按需分配。
  2. 成本节约

    • 通过减少对物理服务器的需求,可以降低硬件采购、维护和能源消耗的成本。
  3. 灵活性和可扩展性

    • 虚拟化提供了快速部署新虚拟机的能力,可以根据需要轻松调整资源分配,实现水平和垂直扩展。
  4. 隔离和安全性

    • 每个虚拟机都是独立的,它们之间相互隔离,这有助于提高安全性并减少潜在的系统间冲突。
  5. 灾难恢复和业务连续性

    • 虚拟机可以快速迁移到其他物理服务器,这在灾难恢复和确保业务连续性方面非常有用。
  6. 简化管理

    • 虚拟化管理工具提供了集中管理界面,简化了服务器配置、监控和维护工作。
  7. 测试和开发环境

    • 虚拟化技术可以快速创建和销毁测试环境,支持软件开发和测试的敏捷性。
  8. 环境一致性

    • 虚拟机可以在不同的物理服务器之间迁移,保持应用和配置的一致性,这对于开发和生产环境的一致性至关重要。
  9. 能源效率

    • 虚拟化可以减少数据中心的能源消耗,因为服务器可以运行在更高的负载下,而不需要额外的硬件。
  10. 负载均衡

    • 通过在多个虚拟机之间分配工作负载,可以提高整体系统的性能和可靠性。
  11. 快速部署和迁移

    • 虚拟机可以在几分钟内部署,并且可以在不同的物理服务器之间快速迁移,这对于快速响应市场变化和业务需求至关重要。
  12. 兼容性

    • 虚拟化技术可以模拟不同的硬件和操作系统环境,使得在新硬件上运行旧软件或在不同操作系统之间迁移应用变得更加容易。

发展史

在这里插入图片描述

类型

虚拟化技术可以根据其应用的领域和目的分为多种类型。

  1. 服务器虚拟化(Server Virtualization)

    • 创建多个虚拟服务器(虚拟机)在单一物理服务器上运行,允许多个操作系统和应用程序共享硬件资源。
  2. 网络虚拟化(Network Virtualization)

    • 通过软件定义网络(SDN)技术,将网络资源(如交换机、路由器)从物理硬件中抽象出来,实现网络资源的动态配置和管理。
  3. 桌面虚拟化(Desktop Virtualization)

    • 允许用户通过远程连接访问虚拟化的桌面环境,这些环境可以在数据中心的服务器上运行,提供集中管理和安全性。
  4. 应用虚拟化(Application Virtualization)

    • 将应用程序与其运行环境解耦,使得应用程序(office 365、钉钉、企业微信等)可以在不同的操作系统和硬件平台上运行,无需重新安装或修改。
  5. 存储虚拟化(Storage Virtualization)

    • 将物理存储资源抽象成统一的存储池,简化存储管理,提高存储资源的利用率和灵活性。如SAN、NAS、NFS、Samba、ceph
  6. 库虚拟化(Library Virtualization)

    • 库虚拟化允许不实际安装依赖库的情况下进行使用。如在Linux使用wine来运行Windows程序
  7. 容器虚拟化(Container Virtualization)

    • 使用容器技术(如 Docker、Podman、LXC)在单个操作系统实例上运行多个隔离的应用实例,容器共享宿主机的操作系统内核,但拥有自己的文件系统、进程空间和网络栈。
  8. 资源池虚拟化(Resource Pooling)

    • 将计算资源(如 CPU、内存)集中管理,形成一个资源池,可以根据需求动态分配给不同的虚拟机或应用。
  9. 功能虚拟化(Function Virtualization)

    • 通过软件实现传统硬件功能,如虚拟网络功能(VNF)和虚拟安全设备,减少对专用硬件的依赖。
  10. 客户端虚拟化(Client Virtualization)

    • 在客户端设备上创建虚拟环境,允许用户在本地设备上运行多个操作系统或应用实例。

虚拟机

虚拟机(Virtual Machine,简称 VM)是一种软件模拟的计算机系统,它可以在物理服务器(宿主机)上模拟出多个独立的计算机环境。每个虚拟机都包含自己的操作系统和应用程序,它们可以像在物理机上一样运行,但实际上它们共享宿主机的硬件资源。

虚拟机(VM)的主要特性提供了多项优势

  1. 分区(Partitioning)

    • 一台物理服务器可以运行多个虚拟机,每个虚拟机都可以运行不同的操作系统。这种分区能力允许资源的有效利用和多任务处理。
  2. 资源分配(Resource Allocation)

    • 系统资源(如 CPU、内存、存储)可以在多个虚拟机之间动态分配。这种灵活性使得资源管理更加高效,可以根据需求调整资源分配。
  3. 隔离(Isolation)

    • 虚拟机提供了硬件级别的故障和安全隔离。这意味着即使一个虚拟机出现问题,也不会影响到其他虚拟机的运行,从而提高了系统的稳定性和安全性。
  4. 封装(Encapsulation)

    • 虚拟机的完整状态(包括操作系统、应用程序和数据)可以保存到文件中。这种封装特性使得虚拟机的备份、迁移和复制变得简单,就像处理普通文件一样。
  5. 硬件独立性(Hardware Independence)

    • 虚拟机不依赖于特定的硬件平台。这意味着虚拟机可以在任何兼容的物理服务器上运行,不受硬件兼容性的限制。这为硬件升级和维护提供了极大的灵活性。
  6. 系统安装的灵活性

    • 虚拟机允许在不同的硬件上安装和运行相同的操作系统,不受硬件差异的影响。这简化了系统部署和维护工作。

Hypervisor

在这里插入图片描述

Hypervisor是一种运行在基础物理服务器和操作系统之间的中间软件层,其可以允许多个操作系统和应用共享底层的内存、CPU、磁盘等物理硬件,也可叫做VMM( virtual machine monitor),即虚拟机监视器

Hypervisor是所有虚拟化的核心。

Hypervisor 允许多种操作系统在相同的物理系统中运行。

Hypervisor 控制硬件并向来宾操作系统提供访问底层硬件的途径。

Hypervisor 向来宾操作系统提供虚拟化的硬件。

分类

类型I:裸金属型

在这里插入图片描述

直接运行到物理机的Hypervisor上,称为裸机虚拟化环境。如:KVM、XEN、VMware ESXI、RHEV Hypervisor、Hyper-v Server。

类型II:宿主型

在这里插入图片描述

需要运行在具有虚拟化功能的操作系统上的Hypervisor,称为主机虚拟化环境。如:VMware Workstation、Microsoft Hyper-V、virtual Box

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

rt-thread组件之audio组件(结合mp3player包使用)

前言 继上一篇RT-Thread组件之Audio框架i2s驱动的编写的编写,应用层使用rt-thread软件包里面的wavplayer组件以及 rt-thread组件之audio组件(结合wavplayer包使用)的文章本篇使用的是 mp3player软件包,与wavplayer设计框架基本上是一样的,只…

万字完整版【C语言】指针详解~

一、前言 初始指针(0):着重于讲解指针的概念、基本用法、注意事项、以及最后如何规范使用指针深入指针(1):讲解指针变量常见的类型,如何去理解这些类型、最后就是如何正确的使用深入指针&#…

语音情感基座模型emotion2vec

在语音技术领域,准确理解用户的语音指令和意图是构建高效人机交互系统的基础。一个高品质的语音交互系统不仅需要理解字面上的语言内容,更应捕捉到说话者语音中蕴含的情感信息。这正是语音情感识别(SER)技术要解决的问题&#xff…

【libwebrtc】基于m114的构建

libwebrtc A C++ wrapper for binary release, mainly used for flutter-webrtc desktop (windows, linux, embedded).是 基于m114版本的webrtc 最新(20240309 ) 的是m122了。官方给出的构建过程 .gclient 文件 solutions = [{"name" : src,"url

Caffeine缓存

本地缓存基于本地环境的内存,访问速度非常快,对于一些变更频率低、实时性要求低的数据,可以放在本地缓存中,提升访问速度 使用本地缓存能够减少和Redis类的远程缓存间的数据交互,减少网络 I/O 开销,降低这…

Python 导入Excel三维坐标数据 生成三维曲面地形图(体) 5-1、线条平滑曲面且可通过面观察柱体变化(一)

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata fro…

【软考中级】网络工程师:11.网络管理

11.1 网络管理五大功能域 故障管理、配置管理、计费管理、安全管理和性能管理。 故障管理:尽快发现故障,找出故障原因,以便找出补救措施。 配置管理:初始化、维护和关闭网络设备或子系统。 计费管理:计费监视主要是跟…

dubbo调用的自定义过滤器中设置MDC无法生效的问题

AI的解释 Dubbo自定义过滤器不生效可能有多种原因&#xff0c;以下是一些常见的原因及解决方法&#xff1a; 过滤器未正确配置&#xff1a; 检查过滤器是否已经在Dubbo的配置文件中正确声明&#xff0c;并且已经添加到过滤器链中。在XML配置中&#xff0c;应使用<dubbo:se…

Ubuntu 14.04:PaddleOCR基于PaddleServing的在线服务化部署(失败)

一、 二、安装 注&#xff1a; 安装 PaddleOCR 2.3 。 因为 PaddleOCR 2.4 的 推荐环境 PaddlePaddle > 2.1.2。 https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.4/doc/doc_ch/environment.md 安装前的环境准备 在使用Paddle Serving之前&#xff0c;需要完…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的常见车型识别系统(Python+PySide6界面+训练代码)

摘要&#xff1a;本文深入探讨了如何应用深度学习技术开发一个先进的常见车型识别系统。该系统核心采用最新的YOLOv8算法&#xff0c;并与早期的YOLOv7、YOLOv6、YOLOv5等版本进行性能比较&#xff0c;主要评估指标包括mAP和F1 Score等。详细解析了YOLOv8的工作机制&#xff0c…

【力扣白嫖日记】1321.餐馆营业额变化增长

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1321.餐馆营业额变化增长 表&#xff1a;Customer 列名类型cutomer_idintnamevarcharvisited_ondateamounti…

阻塞队列学习

1、什么是阻塞队列&#xff1f; 顾名思义&#xff0c;就是支持阻塞的队列&#xff0c;相比于其他的队列&#xff0c;阻塞队列支持以下特性&#xff1a; 队列为空的时候&#xff0c;获取元素的线程会等待队列变为非空。队列为满的时候&#xff0c;存储元素的线程会等待队列可以…

初学者必会的Python3文件操作

文件操作的步骤&#xff1a; 打开文件 -> 操作文件 -> 关闭文件 切记&#xff1a;最后要关闭文件。 打开文件 文件句柄 open(文件路径, 模式) 指定文件编码 文件句柄 open(文件路径,模式,encodingutf-8) 为了防止忘记关闭文件&#xff0c;可以使用上下文管理器来…

计算机steam_api.dll丢失的解决方法,轻松搞定steam游戏问题

在计算机运行相关游戏软件时&#xff0c;我们常常会遇到一些错误提示&#xff0c;其中之一就是“由于找不到steamapi.dll&#xff0c;无法继续执行代码”&#xff0c;如果找不到steam_api.dll文件&#xff0c;将无法正常启动并运行基于Steam平台的游戏。。那么&#xff0c;如何…

镜面不锈钢氮气柜主要功能和应用领域介绍

镜面不锈钢氮气柜是一种专为特殊物品储存设计的高级储存设备&#xff0c;它结合了不锈钢材质的优良耐腐蚀性、易清洁性和氮气储存技术&#xff0c;确保内部储存的物品处于高度洁净、干燥且稳定的低氧环境中。以下是其主要功能介绍&#xff1a; 防潮保护&#xff1a;氮气柜通过填…

字节跳动也启动春季校园招聘了(含二面算法原题)

字节跳动 - 春招启动 随着各个大厂陆续打响春招的响头炮&#xff0c;字节跳动也官宣了春季校园招聘的正式开始。 还是那句话&#xff1a;连互联网大厂启动校招计划尚且争先恐后&#xff0c;你还有什么理由不马上行动&#xff1f;&#xff01; 先来扫一眼「春招流程」和「面向群…

双环PID控制详细讲解

参考博客&#xff1a; &#xff08;1&#xff09;PID双环控制&#xff08;速度环和位置环&#xff09; &#xff08;2&#xff09;PID控制&#xff08;四&#xff09;&#xff08;单环与双环PID&#xff09; &#xff08;3&#xff09;内外双环pid算法 0 单环PID 目标位置→系…

【spring】-多模块构建二-问题整理

1、bean注入问题 The injection point has the following annotations: - org.springframework.beans.factory.annotation.Autowired(requiredtrue) 解决1&#xff1a; 由于引入的bean类 不属于启动类的子模块下&#xff0c;需要在启动类手动声明扫描的类 也适用于公共子模…

探索HDFS读写流程、节点机制和数据完整性

目录 写在前面一、HDFS的读写流程1.1 HDFS写数据流程1.2 机架感知1.3 HDFS读数据流程1.4 小结 二、 NameNode和SecondaryNameNode2.1 NN和2NN工作机制2.2 Fsimage和Edits解析2.2.1 oiv查看Fsimage文件2.2.2 oev查看Edits文件 2.3 CheckPoint时间设置 三、DataNode3.1 DataNode工…

每日一题——LeetCode2129.将标题首字母大写

方法一 个人方法 将字符串转为数组&#xff0c;遍历数组&#xff0c;对数组的每一个元素&#xff0c;先全部转为小写&#xff0c;如果当前元素长度大于2&#xff0c;将第一个字符转为大写形式 var capitalizeTitle function(title) {titletitle.split( )for(let i0;i<tit…