百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

啥都玫说之网络篇-7.1虚拟机和虚拟化

nanshan 2024-11-15 22:49 11 浏览 0 评论

您阅读本文如果觉得符合大人您的口味,请关注一下本君,点个关注和评论,说一下您的观点。创作不易,还请多多支持!

7.1 虚拟机和虚拟化

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统

虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。

虚拟机技术是虚拟化技术的一种,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,最常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。

这里说白了,虚拟机是完整模拟整个硬件平台的。

虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最,大化的利用物理硬件。虚拟化使用软件的方法重新定义划分资源,可以实现资源的动态分配、灵活调度、跨域共享,提高资源利用率,使资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

虚拟机出现的比较早,其实虚拟机可以理解为现在虚拟化技术的一个细分。如果说虚拟机是虚拟一个完整的硬件平台来用,那么虚拟化可以虚拟出我们需要的任意硬件。甚至在某些情况,用多台计算机提供的虚拟化组件来组成一个完整的硬件平台也是有可能的。

流行的虚拟机软件有VMware、Virtual Box、Virtual PC和开放源代码的Bochs,当然还有很多虚拟化产品,都虚拟或仿真了Intel x86硬件环境,可以让我们在运行这些软件的系统平台上运行多种其它的“客户”操作系统。

这里有几个概念要说明:

  • [x] VM(Virtual Machine):虚拟机,指由Vmware模拟出来的一台虚拟的计算机,也即逻辑上的一台计算机。
  • [x] HOST:指物理存在的计算机,Host′s OS指HOST上运行的操作系统。
  • [x] Guest OS:指运行在VM上的操作系统。

例如在一台安装了Win 10的计算机上安装了Vmware,那么,HOST指的是安装Win 10的这台计算机,其Host′s OS为Win 10。VM上运行的是Linux,那么Linux即为Guest OS。

除了这些以外,还有其他硬件的模拟环境,比如WinKawaks就很好的模拟了街机硬件、epsxe可以模拟索尼的PlayStation游戏主机、还有安卓手机app在开发过程中所使用的安卓模拟器,也都属于虚拟机的性质。

当然我们上边所说的都是单纯的桌面级虚拟机。还有大型的虚拟化解决方案类的产品,比如说剑桥大学开发的Xen、Linux下的全功能虚拟化架构的KVM、微软的Hyper-V、VMware提供应用、云计算和业务的基础的VMware vSphere等等。当然有兴趣自己百度。不过在以上这么多种类和级别的虚拟化方案中。默认就提供安装Mac OS的貌似真没有,无论用什么,都得修改或者破解以下才能安装Mac OS。

当然除了虚拟计算机硬件(虚拟机)以外,虚拟化技术还提供了虚拟网络,目前最典型的应用就是VXLAN,即Virtual Extensible LAN。虽然看起来很向之前说到的VLAN,但是两者有很大的不同。

VLAN技术的弊端逐渐显现出来,具体表现为如下3个方面:

  1. 虚拟化技术的发展促使大数据、云计算技术公司采用单个物理设备虚拟多台虚拟机的方式来进行组网,随着应用模块的增加,对于支持VLAN数目的要求也在提升,802.1Q标准中的最多支持4094个VLAN的能力已经无法满足当下需求。

  2. 公有云提供商的业务要求将实体网络租借给多个不同的用户,这些用户对于网络的要求有所不同,而不同用户租借的网络有很大的可能会出现IP地址、MAC地址的重叠,传统的VLAN仅仅解决了同一链路层网络广播域隔离的问题,而并没有涉及到网络地址重叠的问题,因此需要一种新的技术来保证在多个租户网络中存在地址重叠的情况下依旧能有效通信的技术。

  3. 两台以上主机的通信连接才足以满足应用需求,而虚拟化技术使得单台主机可以虚拟化出多台虚拟机同时运行,而每台虚拟机都会有其唯,一的MAC地址。这样,为了保证集群中所有虚机可以正常通信,交换机必须保存每台虚机的MAC地址,这样就导致了交换机中的MAC表异常庞大,从而影响交换机的转发性能。

相比VLAN技术,VXLAN技术具有以下的优势:

  1. 24位长度的VNI字段值可以支持更多数量的虚拟网络,解决了VLAN数目上限为4094的局限性的问题。

  2. VXLAN技术通过隧道技术在物理的三层网络中虚拟二层网络,处于VXLAN网络的终端无法察觉到VXLAN的通信过程,这样也就使得逻辑网络拓扑和物理网络拓扑实现了一定程度的解耦,网络拓扑的配置对于物理设备的配置的依赖程度有所降低,配置更灵活更方便。

  3. VLAN技术仅仅解决了二层网络广播域分割的问题,而VXLAN技术还具有多租户支持的特性,通过VXLAN分割,各个租户可以独立组网、通信,地址分配方面和多个租户之间地址冲突的问题也得到了解决。

为了保证VXLAN机制通信过程的正确性,RFC7348标准中规定,涉及到VXLAN通信的IP报文一律不允许分片,这就要求物理网络的链路层实现中必须提供足够大的MTU值,保证VXLAN报文的顺利传输,这一点可以理解为当前VXLAN技术的局限性。

现在我们可以简单给虚拟化分个类了:

  • [x] 硬件虚拟化
  • [x] 虚拟机:可以像真实机器一样运行程序的计算机的软件实现
  • [x] 虚拟内存:将不相邻的内存区,甚至硬盘空间虚拟成统一连续的内存地址
  • [x] 存储虚拟化:将实体存储空间分隔成不同的逻辑存储空间
  • [x] 网络虚拟化:将不同网络的硬件和软件资源结合成一个虚拟的整体

当然,虚拟化技术还提供了其他的一些,比如数据库虚拟化、服务虚拟化、存储虚拟化等等。

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: