虚拟化

什么是虚拟化

虚拟化(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.hqwc.cn/news/527184.html

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

相关文章

el-form-item内的el-select如何自适应宽度

最近在使用element-ui做后台管理的时候,有个需求是在弹窗组件里面,添加一个el-select下拉框选项,但是给el-select设置的宽度无法自适应,原因很简单,我们不需要设置固定宽度,设置百分比就行了,让…

CURE-Net: A Cascaded Deep Network for Underwater Image Enhancement

文章目录 论文结构 及 读论文的方法总结论文理解看图AbstractIntroductionRELATED WORKPROPOSED METHODA Philosophy of Model DesignB Framework of CURE-NetC Proposed GESNet and ORSNetD Proposed DEB and SRBE Loss Function Experiment And ResultA Implementation Detai…

Python算法题集_在排序数组中查找元素的第一个和最后一个位置

Python算法题集_在排序数组中查找元素的第一个和最后一个位置 题34:在排序数组中查找元素的第一个和最后一个位置1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【二分法两次左边界】2) 改进版一【二分法左右边界】3) 改进版二【第三…

JavaScript基础5之作用域、执行上下文的顺序执行、可执行代码、执行上下文栈

JavaScript基础 作用域思考 执行上下文顺序执行可执行代码执行上下文栈案例一案例二case1:case2 作用域 作用域:程序源代码中定义变量的区域。作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限。作用域分类:静态作用域&…

Tensorflow2.0+部署(tensorflow/serving)过程备忘记录Windows+Linux

Tensorflow2.0部署(tensorflow/serving)过程备忘记录 部署思路:采用Tensorflow自带的serving进模型部署,采用容器docker 1.首先安装docker 下载地址(下载windows版本):https://desktop.docke…

数学建模【时间序列】

一、时间序列简介 时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来,本篇将主要介绍时间序列分析中常用的三种模型:季节分解…

一键部署Tesseract-OCR环境C++版本(Windows)

环境:Windows 10 工具:git vcpkg vscode cmake 库:Tesseract 一键部署Tesseract-OCR环境C版本(Windows) 分享这篇文章的原因很简单,就是为了让后续的朋友少走弯路。自己在搜索相关C版本的tesseract部署时…

Vue class和style绑定:动态美化你的组件

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

wps由于找不到krpt.dll,无法继续执行代码的解决方法

遇到由于找不到krpt.dll,无法继续执行代码的问题时,理解如何修复这个问题变得至关重要。本文会教大家krpt.dll的恢复流程,并介绍该DLL文件的相关属性。我们将一步步指导你如何处理缺失文件的情况,让你能够解决阻碍代码正常运行的障碍&#xf…

round四舍五入在python2与python3版本间区别

round()方法返回数值的小数点四舍五入到n个数字。 语法 以下是round()方法的语法: round( x ,n) 参数 x --这是一个数值,表示需要格式化的数值 n --这也是一个数值,表示小数点后保留多少位 返回值 该方法返回 数值x 的小数点四舍五入到n个数字 …

部署LVS负载均衡集群架构

目录 一、ipvsadm 工具 二、NAT模式下部署LVS负载均衡 1、部署NFS共享存储服务器 1.1 安装NFS软件 1.2 新建共享目录和站点文件 1.3 设置共享策略 2、部署节点服务器1 2.1 安装并启动nginx软件 2.2 挂载共享目录到网页站点目录 2.3 修改网关 3、部署节点服务器2 3.…

ubuntu 20.04 安装 huggingface transformers 环境

1. 安装 cuda 大多数新发布的大语言模型使用了较新的 PyTorch v2.0 版本,Pytorch 官方认为 CUDA 最低版本是 11.8 以及匹配的 GPU 驱动版本。详情见Pytorch官方 如下图: 1.1 下载 cuda cuda 12.1 官方网站: 下载: $wget htt…