什么是虚拟化?| 裸机 vs 虚拟机 vs 容器

news2024/10/6 10:40:37

“云计算!DevOps!Docker!Kubernetes!……”

如果您是一名软件工程师,还没有遇到过以上这些流行词,那么您可能一直生活在与世隔绝的地方。

所有这些技术都与同一样东西有关,对,就是虚拟化!!!

但是,虚拟化到底是什么?

我认为最好用一个例子来描述——让我们接着往下看……

假设公司“XYZ”需要运行两个不同的应用程序—应用程序 A 和应用程序 B。但这两个应用可能对操作系统和库的要求不同。

在没有虚拟化的情况下,公司需要为每个应用各自配备一台物理机器,这不仅成本高昂,而且管理复杂。

请注意,应用程序 A 只使用了第一台机器 30% 的资源,而应用程序 B 也只使用了第二台机器 40%的资源。

我们可以很明显的看到这种方法的主要缺点:

  • 需要为每个新应用程序购买额外的硬件,需要管理的物理资源数量随着所需应用程序的数量线性增长
  • 每个应用程序都没有充分利用可用的物理资源,即浪费资源。

幸运的是,计算机科学家们已经找到了解决这个问题的办法——虚拟化…

虚拟化是一种强大的技术,能够将单台物理计算机转变为多个独立的虚拟环境,让每个环境都可以运行不同的操作系统和应用程序。

“这是个玩笑吗?!”

绝对不是!

引入虚拟化后,XYZ公司可以在一台物理服务器上创建多个虚拟机,每个虚拟机都相当于一台完全独立的计算机,分别运行应用程序A和B。这样不仅节省了硬件成本,还提高了资源的使用效率。

可以看到虚拟化给我们带来了一些好处:

  • 节省硬件成本:虚拟化使得公司可以在一台物理计算机上部署多个应用。
  • 应用程序隔离:每个虚拟环境都像一台独立的计算机,因此不会干扰在另一个环境中运行的应用程序(例如,不会引起依赖冲突)。这也意味着每个应用程序都可以单独开发和部署。
  • 提高可扩展性和可用性:与购买新硬件相比,创建、管理和建立虚拟资源的过程更加简单快捷。这使得虚拟资源具备更好的可扩展性,并能够构建更高可用性的系统。
  • 集中管理和安全:由于物理资源与应用程序隔离,可以集中管理这些资源,并统一执行安全策略,从而提高了管理效率和安全性。

虚拟化的类型有很多,包括:

  • 硬件虚拟化(虚拟机)
  • 操作系统虚拟化(容器)
  • 网络风险
  • 数据虚拟化

然而,在本文中,我们将重点关注前2种类型,其他类型超出了了本文的讨论范围。

裸机、虚拟机和容器

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

裸机

这是 XYZ 公司运行应用程序采取的第一个方法。

运行应用程序的传统方式是直接在专用硬件上运行。

裸机的主要优势在于它能够提供最佳的性能,因为在主机和应用程序之间没有虚拟化层。不过,需要注意的是,对于大多数用例而言,虚拟化的性能损失通常很小且微不足道。

但是裸机部署的最大缺陷是导致物理资源的严重浪费,因为每添加一个新的应用程序就必须购买和维护新的硬件,成本高昂。

虚拟机 (VM)

虚拟机(VM)在20世纪90年代开始流行,成为解决裸机部署问题的有效方案。其关键技术是虚拟机管理程序(Hypervisor)。

虚拟机管理程序是一种模拟特定计算机硬件或整个计算机的软件,它允许将可用的物理资源划分为多个虚拟资源。

运行虚拟机管理程序的计算机称为宿主机,而虚拟机管理程序创建和管理的虚拟机称为客户系统。

虚拟机管理程序可以直接位于硬件之上(类型 1),也可以位于操作系统之上(类型2)。

虚拟机非常棒,因为它们解决了我们在裸机环境中面临的许多问题,例如更好的资源利用率、环境隔离等。

然而,它也存在一个主要缺点:每个虚拟机都虚拟化了一个整个操作系统及其底层硬件。看起来有点多余?我们可以做得更好吗?

接下来,让我们继续探索……

容器

容器是一种轻量级的虚拟化技术,它只虚拟化操作系统,而不是像虚拟机那样虚拟化整个物理机。

容器不需要单独的客户操作系统或虚拟机管理程序,而是与宿主机共享操作系统内核,它仅包含应用程序及其必需的库和依赖项。这种设计使得容器的启动速度非常快!

同时由于容器不关心底层硬件,因此容器还具有便于迁移的优势。将容器从笔记本电脑迁移到云上,之后再迁移到数据中心的虚拟机或者物理机之上,都是很简单的事情。

然而,容器并不是万能的解决方案。由于多个容器在同一台主机上运行,并且不虚拟化硬件,因此与虚拟机相比,它们提供的隔离级别较低。这可能会引发安全或合规性问题,这在某些行业或项目中可能是需要重要考虑的因素。

但这对于当今的大多数应用程序来说并不是一个问题,所以…放心使用容器吧!

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

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

相关文章

openEuler 24.03 (LTS) 部署 K8s(v1.31.1) 高可用集群(Kubespray Ansible 方式)

写在前面 实验需要一个 CNI 为 flannel 的 K8s 集群之前有一个 calico 的版本有些旧了,所以国庆部署了一个v1.31.1 版本 3 * master 5 * work时间关系直接用的工具 kubespray博文内容为部署过程以及一些躺坑分享需要科学上网理解不足小伙伴帮忙指正 😃,生活加油 99…

IEC104规约的秘密之七----配置参数t1,t2,t3

104通讯前需要配置通讯参数,一般有如下参数: IP地址,端口号,k,w,t1,t2,t3,公共地址,遥控超时参数,104主规约还有一个t0参数。 本次只讲解t1&#…

2-113 基于matlab的图像的配准融合

基于matlab的图像的配准融合,采用互信息配准,PV差值,powell算法,小波变换的图像融合算法。在GUI界面输入两幅图像,完成图像的配准融合。融合图像要求像素 一样。程序代码已经有详细的注释。程序已调通,可直…

对操作系统中的用户态和内核态的理解

目录 引言 为什么要有用户态和内核态?只有一个内核态不行么? 一、用户态(User Mode) 定义 特点 应用 二、内核态(Kernel Mode) 定义 特点 应用 三、用户态与内核态的联系和区别 四、用户态和内…

通过dem2terrain生成MapboxGL地形服务

概述 MapboxGL在2的版本之后通过地形服务开始支持三维的展示了,之前也有文章“mapboxGL2中Terrain的离线化应用”对该服务进行过说明与分析。前些天在翻公众号的时候翻到了dem2terrain可以生成地形服务,同时做了一些优化,今天就给大家分享一…

2024全面升级!从零开始的大模型开发学习路线图——精通之路

第一阶段:基础理论入门 目标:了解大模型的基本概念和背景。 内容: 人工智能演进与大模型兴起。 大模型定义及通用人工智能定义。 GPT模型的发展历程。 第二阶段:核心技术解析 目标:深入学习大模型的关键技术和工…

多文件并发多线程MD5工具(相对快速的MD5一批文件),适配自定义MD5 Hash I/O缓存。

自己写的多文件 MD5校验工具,一个文件开一个线程,有最大I/O 缓存设置,兼容读写MD5后缀文件。 共计91个文件,合计180G左右 12分钟左右,UI基本卡废,但程序没蹦,属于正常。 卡的原因是基本是用 I/O…

每日OJ题_牛客_牛牛冲钻五_模拟_C++_Java

目录 牛客_牛牛冲钻五_模拟 题目解析 C代码 Java代码 牛客_牛牛冲钻五_模拟 牛牛冲钻五 (nowcoder.com) 描述: 牛牛最近在玩炉石传说,这是一款一对一对战的卡牌游戏,牛牛打算努力冲上钻五分段,获得丰厚的天梯奖励。…

力扣 中等 78.子集

文章目录 题目介绍解法解法一&#xff1a;解法二&#xff1a; 题目介绍 解法 有两种解法&#xff0c;对于计算[1,2]的子集问题&#xff1a; 解法一&#xff1a; 站在输入的角度思考&#xff1a;每个元素都可以选/不选 代码如下&#xff1a; class Solution {List<List&…

ReGCL Rethinking Message Passingin Graph Contrastive Learning

AAAI24 推荐指数&#xff1a; #paper/⭐ 总体说&#xff1a;利用梯度对对比正负样本加权的。个人觉得和与正负样本加权没有区别&#xff0c;读完之后不想做笔记了。

成都睿明智科技有限公司真实可靠吗?

在这个日新月异的电商时代&#xff0c;抖音作为短视频与直播电商的佼佼者&#xff0c;正以前所未有的速度重塑着消费者的购物习惯。而在这片充满机遇与挑战的蓝海中&#xff0c;成都睿明智科技有限公司以其独到的眼光和专业的服务&#xff0c;成为了众多商家信赖的合作伙伴。今…

RAG再总结之如何使大模型更好使用外部数据:四个不同层级及查询-文档对齐策略

我们来看看RAG进展。《Retrieval Augmented Generation (RAG) and Beyond: A Comprehensive Survey on How to Make your LLMs use External Data More Wisely》(https://arxiv.org/abs/2409.14924)&#xff0c;主要讨论了如何使大型语言模型&#xff08;LLMs&#xff09;更明智…

【Canvas与标志】白座红芯辐射标志

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>白座红芯辐射标志</title><style type"text/css"…

23.1 k8s监控中标签relabel的应用和原理

本节重点介绍 : relabel的源码在 7.7节做过详细的解读强大的relabel能力 在k8s中的应用 应用1&#xff1a; labelmap 在采集cadvisor指标时 对服务发现标签key名字截取应用2&#xff1a; 采集pod自定义指标中replace 和 keep的应用应用3&#xff1a; k8s服务组件采集时的endpo…

资产管理系统建设方案,资产盘点,rfid,出入库,消耗品管理,系统方案,系统源码(word原件)

固定资产管理系统需求要点&#xff1a; 1. 实现公司内部固定资产管理全生命周期管理&#xff0c;包括资产采购、资产入库、资产领用、资产借用、资产归还、资产报废、资产维修、资产调拨等全过程管理。 2. 可实现集团内部固定资产盘点管理&#xff0c;包括盘点计划、盘点查询等…

【深度解析】从电视广播到互联网接入:通信卫星如何改变我们的世界?

1.通信卫星的发展历程和现状 1.1 早期发展 通信卫星的发展历程可以追溯到20世纪50年代末期和60年代初期。 1957年10月4日&#xff0c;苏联成功发射了第一颗人造卫星“斯普特尼克1号”&#xff0c;标志着人类进入了太空时代&#xff0c;也推动了通信卫星的发展。 1958年12月18…

.NET 一款支持天蝎的免杀WebShell

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

【ubuntu】【VirtualBox】VirtualBox无法加载USB移动设备的解决方法(支持U盘启动盘)

TOC 提示&#xff1a;测试可用 一、安装VirtualBox VirtualBox-7.1.2-164945-Win。 下载路径。 Download_Old_Builds_7_0 – Oracle VirtualBox 二、安装Oracle_VirtualBox_Extension_Pack-7.1.2 下载路径见上文。 三、安装增强功能 四、挂载USB 4.1 设置USB协议 4.2 挂…

深度学习基础—目标检测算法

目录 1.滑动窗口算法 2.滑动窗口的卷积实现 &#xff08;1&#xff09;1*1卷积的作用 &#xff08;2&#xff09;全连接层转化为卷积层 &#xff08;3&#xff09;在卷积层上实现滑动窗口 3.Bounding Box预测&#xff08;YOLO算法&#xff09; 1.滑动窗口算法 假如要构建一…

YOLOv10改进 | 融合篇,YOLOv10改进主干网络为GhostNetV3+MLCA注意机制

摘要 GhostNetV3 引入了多分支重参数化机制,通过在卷积层中添加额外的平行分支来改善性能。这些分支在训练过程中提供更多的表征能力,最终通过将多个分支重组为一个卷积层来实现推理时的高效性。通过添加配备 BatchNorm 层的重复分支将再参数化引入紧凑型模型。因此作为YOLO…