云计算与大数据课程笔记(八)之虚拟化技术(上)

news2024/10/6 14:23:46

本文所有图片来自于刘鹏《云计算》系列PPT。


虚拟化技术

虚拟化技术是一种资源管理技术,它通过抽象硬件的物理特性,使用户可以在单个物理硬件上运行多个虚拟实例,如操作系统、存储设备或网络资源。虚拟化可以提高资源利用率、降低成本、增加灵活性和可扩展性。

以下是虚拟化技术的几个主要类型:

服务器虚拟化——CPU/内存/IO虚拟化

这就是OS课程中讲的那些传统虚拟化技术,其他的大多关注于多台设备的集群环境虚拟化

服务器虚拟化允许多个虚拟机(VMs)在单个物理服务器上并行运行。每个虚拟机都可以运行自己的操作系统和应用程序,彼此完全隔离。这种技术可以显著提高服务器的资源利用率,因为它允许物理服务器的计算能力在多个虚拟环境之间共享。

  • 技术实现:通过使用虚拟机监控器(VMM,也称为Hypervisor)来实现,Hypervisor直接运行在物理硬件上(Type 1)或在宿主操作系统之上(Type 2)

存储虚拟化

存储虚拟化涉及到将来自多个物理存储设备的存储资源汇集在一起,形成一个统一的存储池,而这个存储池可以从网络的任何地方访问。这种方式简化了存储管理,提高了数据的可用性和灵活性。

  • 技术实现:可以通过软件定义存储(SDS)来实现,SDS将存储设备的管理抽象化,使得管理员可以通过软件接口来配置和管理存储资源,而不需要直接操作物理存储设备。

网络虚拟化

网络虚拟化通过软件将物理网络资源抽象化,形成独立的、隔离的虚拟网络环境。这使得不同的虚拟网络可以在同一物理网络基础设施上共存,每个虚拟网络都有自己的策略和配置,提供了更高的灵活性和安全性。

  • 技术实现:常见的实现方式包括虚拟局域网(VLAN)和网络功能虚拟化(NFV)。VLAN可以将一个物理网络分割成多个逻辑上分离的网络,而NFV则是将网络服务(如负载均衡、防火墙等)从专用硬件上移至虚拟环境。

桌面虚拟化

桌面虚拟化技术允许将用户的桌面环境从物理机器抽象化和分离出来(当成文件一样),部署在中心化或云端服务器上。用户可以通过任何设备从任何地点访问自己的虚拟桌面环境,这不仅提高了灵活性,也简化了桌面的管理和维护。

  • 技术实现:包括虚拟桌面基础设施(VDI)和远程桌面服务(RDS)。VDI为每个用户提供了一个独立的虚拟机,而RDS则允许多个用户共享同一个服务器上的桌面和应用程序。

虚拟化技术的这些不同形式在现代IT架构中扮演着重要角色,它们通过提高资源利用率、简化管理和提供更高的灵活性和可扩展性,支持了各种复杂的计算需求。


JVM

Java虚拟机(JVM)是Java平台的核心组成部分,提供了一个可以执行Java程序的运行时环境。JVM的设计允许Java程序实现“一次编写,到处运行”(Write Once, Run Anywhere, WORA)的目标。下面是JVM主要职责的概述:

字节码到物理CPU指令的转换

  • 字节码执行:Java源代码被编译成一种平台无关的二进制格式,称为字节码(.class文件)。JVM负责读取这些字节码文件,然后执行它们。
  • 即时编译器(JIT):在运行时,JVM内的即时编译器(JIT编译器)可以将热点字节码(执行频率高的代码)编译成特定平台的机器码,以提高程序执行的效率。这个过程称为即时编译。
  • 解释执行:对于非热点代码,JVM还可以通过解释器逐条解释执行字节码,这样做虽然比直接执行机器码慢,但可以减少编译等待时间,对于执行频率不高的代码是一种经济有效的执行方式。

堆内存的管理

  • 内存分配JVM管理着Java程序中的内存分配,包括堆内存和方法区。堆内存用于存放对象实例,而方法区用于存放类信息、常量、静态变量等数据。
  • 垃圾回收(GC):JVM负责自动管理内存的回收,即垃圾回收(GC)。当对象不再被引用时,GC将自动回收这些对象占用的内存空间,以防止内存泄漏。

跨平台的能力

  • 平台无关性:JVM是Java跨平台特性的关键。不同的操作系统平台(如Windows、Linux、macOS)上有不同的JVM实现,但它们都提供相同的Java API和运行时环境。因此,只要JVM被正确安装,相同的Java程序(字节码)就可以在不同的平台上运行,无需修改代码

JVM不仅提供了跨平台执行Java程序的能力,还通过其垃圾回收和内存管理机制,简化了程序员在内存管理方面的工作。此外,JVM还支持多种语言(如Kotlin、Scala、Groovy等),这些语言都可以编译成JVM可以执行的字节码。


服务器虚拟化与Hypervisor

服务器虚拟化是一种技术,它允许我们在单一的物理服务器上创建多个独立的虚拟环境,称为虚拟机(VM)每个虚拟机都像是一台独立的服务器,拥有自己的操作系统和应用程序,但实际上它们共享同一台物理服务器的硬件资源服务器虚拟化的一个关键组件是Hypervisor,它负责创建虚拟机,并管理虚拟机与物理硬件资源之间的交互

Hypervisor 简介

Hypervisor,也称为虚拟机监视器(VMM),是服务器虚拟化中的核心软件。它允许多个操作系统在同一台物理服务器上并行运行,每个操作系统都在自己的虚拟机内运行,并且彼此隔离。Hypervisor负责分配硬件资源给每个虚拟机,如CPU时间、内存空间等,并确保虚拟机之间不会相互干扰。

两种类型的Hypervisor服务器虚拟化

寄居虚拟化(Type 2 Hypervisor)

  • 寄居虚拟化运行在宿主操作系统之上。首先,你有一台服务器,这台服务器上安装了一个常规的操作系统(如Windows、Linux等),然后在这个操作系统上安装Hypervisor软件。这种类型的Hypervisor相当于是宿主操作系统上的一个应用程序。
  • 例子:VMware Workstation, Oracle VirtualBox。
  • 特点:部署简单,适合测试环境和开发环境,但因为多了一层宿主操作系统,可能会有性能上的损失。

裸机虚拟化(Type 1 Hypervisor)

  • 裸机虚拟化直接运行在物理硬件上,没有宿主操作系统。这种Hypervisor直接安装在服务器硬件上,然后直接管理物理硬件和虚拟机。由于减少了操作系统层,性能通常优于寄居虚拟化。
  • 例子:VMware ESXi, Microsoft Hyper-V(在Windows Server上运行时可视为Type 1)。
  • 特点:提供更高的性能和效率,适合生产环境。

Hypervisor的作用

  • 资源管理:Hypervisor负责管理物理服务器的资源,如CPU、内存、存储和网络,确保这些资源被公平且有效地分配给每个虚拟机。
  • 隔离环境:Hypervisor在虚拟机之间提供隔离,确保一个虚拟机中的应用程序和操作系统不会影响到其他虚拟机。
  • 迁移和复制:Hypervisor使得虚拟机可以轻松地在物理服务器之间迁移,甚至可以在运行时进行迁移,这对于负载均衡和系统维护非常有用。

Hypervisor使服务器虚拟化成为可能,它提供了一个平台,让多个虚拟机能够共享单个物理服务器的资源,同时保持彼此的独立和隔离。这种技术极大地提高了硬件资源的利用率,同时也为系统管理和灾难恢复提供了更多的灵活性和选项。


存储虚拟化

其实完全可以通过SAN技术架构记忆存储虚拟化。

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

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

相关文章

DP练习_P1002 [NOIP2002 普及组] 过河卒_python_蓝桥杯

P1002 [NOIP2002 普及组] 过河卒 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 1.DFS做超时40分 n, m, x, y map(int,input().split())flag [[0]*(n10) for _ in range(m10)] maps [[0]*(n10) for _ in range(m10)] d [[2,1],[2,-1],[-2,1],[-2,-1],[1,2],[1,-2],[-1,2]…

如何实现小程序滑动删除组件+全选批量删除组件

如何实现小程序滑动删除组件全选批量删除组件 一、简介 如何实现小程序滑动删除组件全选批量删除组件 采用 uni-app 实现,可以适用微信小程序、其他各种小程序以及 APP、Web等多个平台 具体实现步骤如下: 下载开发者工具 HbuilderX进入 【Dcloud 插…

【利器篇】前端40+精选VSCode插件,总有几个你未拥有!

前言 姊妹篇: 【利器篇】35精选chrome插件,含15前端插件,总有一款值得你停留 关于关于 【前端工具系列】: 有句话,事半功倍,其必然是借助了某些思想和工具。 VSCode是我们前端开发的武器,本文…

[工具使用]绕过付费-适用于谷歌/火狐/Edge浏览器

绕过付费-适用于谷歌/火狐/Edge浏览器 bypass-paywalls是一款浏览器插件,可以帮助绕过选定网站的付费 链接:https://github.com/iamadamdev/bypass-paywalls-chrome 一、谷歌/Edge浏览器安装说明(支持自定义网站) 1、从Github下…

用动态IP采集数据总是掉线是为什么?该怎么解决?

动态IP可以说是做爬虫、采集数据、搜集热门商品信息中必备的代理工具,但在爬虫的使用中,总是会遇到动态IP掉线的情况,从而影响使用效率,本文将探讨动态IP代理掉线的几种常见原因,并提供解决方法,以帮助大家…

libVLC 提取视频帧使用OpenGL渲染

在上一节中,我们讲解了如何使用QWidget渲染每一帧视频数据。 由于我们不停的生成的是QImage对象,因此对 CPU 负荷较高。其实在绘制这块我们可以使用 OpenGL去绘制,利用 GPU 减轻 CPU 计算负荷,本节讲解使用OpenGL来绘制每一帧视频…

2024-简单点-python中的多重继承mro和super的联系

在Python的多重继承中,super()函数的作用主要是确保父类的方法被正确地调用,同时避免了直接调用父类可能带来的问题,如方法覆盖或名称冲突。super()的使用是Python实现合作式多重继承的关键。 具体来说,当一个类从多个父类继承时…

Java数据结构-队列

目录 1. 队列概念2. 模拟实现队列2.1 链式队列2.2 循环队列 3. 双端队列4. 队列的应用4.1 用队列实现栈4.2 用栈实现队列 1. 队列概念 队列是一种只能在一端进行插入数据操作,另一端进行删除数据操作的数据结构,插入数据的叫队尾,删除数据的…

基于巴法云物联网云平台构建可视化控制网页(以控制LED为例)

0 前言 如今大大小小的物联网云平台非常多,但大部分要收取费用,免费的物联网云平台功能则有很多限制使用起来非常不方便。以百度云物联网云平台为例,它的物可视不支持发布主题,等于可视化界面只能作为数据监控而不具备双向通信的…

小红书广告推广如何开户及费用攻略?

随着小红书平台影响力的日益增强,越来越多的品牌和商家选择在此进行广告推广,以触达其庞大的年轻且具有高度消费力的用户群体。面对复杂的开户流程、多样化的计费模式以及激烈的竞争环境,许多广告主难免感到困扰。云衔科技的专业服务应运而生…

RISC-V特权架构 - 模式切换与委托

RISC-V特权架构 - 模式切换与委托 1 导致模式切换的常见动作2 异常处理规则3 异常处理时模式切换3.1 在U模式下,发生异常3.2 在S模式下,发生异常3.3 在M模式下,发生异常 4 系统调用时模式切换5 中断处理时模式切换 本文属于《 RISC-V指令集基…

通过网络api获取日期对应的节假日信息

网络接口获取链接&#xff1a;免费节假日API_原百度节假日API HolidayJudge.h #pragma once#include <QtWidgets/QWidget> #include "ui_HolidayJudge.h"enum DATESTATE {WORK0,//工作日DAYOFF,//休息日HOLIDAY//节假日 };class HolidayJudge : public QWidg…

隐藏在计算过程中的数据超限

【题目描述】 输入两个正整数&#xff0c;输出&#xff0c;保留5位小数。输入包含多组数据&#xff0c;结束标记为n&#xff1d;m&#xff1d;0。提示&#xff1a;本题有陷阱。 【样例输入】 2 4 65536 655360 0 0 【样例输出】 Case 1: 0.42361 Case 2: 0.00001 【题…

AI日报:北大Open Sora视频生成更强了;文心一言可以定制你自己的声音;天工 SkyMusic即将免费开放;

&#x1f916;&#x1f4f1;&#x1f4bc;AI应用 北大Open Sora视频生成更强了!时长可达10秒&#xff0c;分辨率更高 【AiBase提要:】 ⭐️ Open-Sora-Plan v1.0.0模型发布 显著提升视频生成质量和文本控制能力 ⭐️ 支持华为昇腾910b芯片&#xff0c;提升运行效率和质量。 ⭐…

如何实现OpenHarmony的OTA升级?

OTA简介 随着设备系统日新月异&#xff0c;用户如何及时获取系统的更新&#xff0c;体验新版本带来的新的体验&#xff0c;以及提升系统的稳定性和安全性成为了每个厂商都面临的严峻问题。OTA&#xff08;Over the Air&#xff09;提供对设备远程升级的能力。升级子系统对用户…

麻了,一面就这么难

总体而言&#xff0c;整个过程更看你回答的条理与深度&#xff0c;不太需要面面俱到&#xff0c;有自己的理解和思考反而会加分&#xff0c;不需要每道题都回答得百分百&#xff0c;有些问题属于面试官顺带提一嘴&#xff0c;但重点问题要答好。 一面 介绍下项目&#xff0c;因…

《最佳实践之》GPS NMEA-0183 协议, 解析 $GPRMC 协议

一&#xff0c;了解 GPS NMEA-0183 协议 需要基础物联网对接知识&#xff0c;需要对解析协议有一定认识。 如果不知道怎么连接硬件&#xff0c;请看我的另一篇博客&#xff1a;https://blog.csdn.net/Crazy_Cw/article/details/126613967 这篇文章只说明&#xff0c;如何解析协…

AI编程案例002/ 根据草图设计小红书封面

之前看OpenAI发布会&#xff0c;给个草图能设计个网站。 今天试了一下&#xff0c;给ChatGpt一个封面的设计草图&#xff0c;让ChatGpt编程实现一个拼图封面。 需求如下&#xff1a; 上传四张图片图片按草图排列成不同的布局&#xff0c;每一种布局是一个封面。下面草图的布…

Godot 常用UI+布局容器简单介绍

文章目录 前言相关链接Canvasitem&#xff1a;画布Control&#xff1a;UI布局基类Container&#xff1a;布局容器基类AspectRatioContainer&#xff1a;伸缩居中布局BoxContainer&#xff1a;盒子布局ColorPicker:取色器 CenterContainer&#xff1a;不伸缩居中FlowContainer&a…

软件设计师:下午题(试题三)历年真题

2021年下半年 2021年上半年 2020年下半年 2019年下半年 2019年上半年 2018年下半年 2018年上半年 2017年下半年 后续知识引入 2017年上半年 2016年下半年 2016年上半年 2015年下半年 2015年上半年 2014年下半年 2014年上半年 2013年下半年 2013年上半年 2012年下半年 2012年…