01 macvlan 简介 前面的文章讲过了几种 Linux 虚拟网络设备:tap/tun、veth-pair、bridge,它们本质上是 Linux 系统 提供的网络虚拟化解决方案,今天要讲的 macvlan...也是其中的一种,准确说这是一种网卡虚拟化的解决方案。...因为 macvlan 这种技术能将 一块物理网卡虚拟成多块虚拟网卡 ,相当于物理网卡施展了 多重影分身之术 ,由一个变多个。 ?...macvlan 会根据收到包的目的 MAC 地址判断这个包需要交给哪个虚拟网卡,虚拟网卡再把包交给上层的协议栈处理。 ?...05 总结 macvlan 是一种网卡虚拟化技术,能够将一张网卡虚拟出多张网卡。 macvlan 的四种通信模式,常用模式是 bridge。
一、定义 虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。...二、虚拟化的类别 虚拟化的类别有很多,定义也很宽泛;无法做到全面详述。...5、库虚拟化:wine 6、应用程序虚拟化:jvm 虚拟化的实现方式: 两种类型: Type-I:Hypervisor;在虚拟机的管理上更加的彻底和可靠。...Type-II:宿主机运行在硬件上;可以依赖宿主机的各种管理软件进行虚拟机管理。 ? 三、内存(Memory)虚拟化 内存虚拟化是虚拟机实现中的重要部分。...nat:地址转换;在虚拟网卡和物理网卡之间建立一个nat转发服务器;对数据包进行源地址转换。 ? 到此基本虚拟化基础以详解完成。
虚拟化就解决了这个问题,将多台服务器整合到一台服务器中,运行多个虚拟环境,每个VM都有自己的操作系统(这些操作系统可以是不同的),可以在其上安装应用程序。...虚拟化还有利于可扩展性,因为VM是可移植的,例如,可能存在这样一种情况:两个应用程序在一个虚拟主机上的VM中运行,但是其中一个应用程序需要更多的资源,以至于这两个VM不能再在同一主机上共存。...如果没有虚拟化,将一个应用程序移动到一个新服务器将是一项艰巨的任务。但是VM是以计算机文件的形式存在的,因此这个文件可以很容易地通过网络(甚至通过存储介质)复制或移动到新的虚拟主机上。...容器 与虚拟化相反,容器主机需要运行自己的操作系统以及容器系统。 容器由单个应用程序(或微服务)以及需要运行的其他重要文件组成,利用容器主机的操作系统内核、二进制文件和库来运行。...不仅如此,容器和虚拟机也可以共存,容器可以在虚拟机中运行,企业可以利用现有的虚拟化基础设施(例如虚拟机管理系统)来管理其容器。
在传统的应用场景中,服务器资源过剩情况普遍,为了充分利用服务器资源,产生了虚拟化技术。...半虚拟化方案中,Guest OS知道自己是虚拟机,通过前端驱动和后端模拟设备互相配合实现IO虚拟化。这种方式与全虚拟化相比,可以大幅度提高虚拟机的IO性能。...KVM负责CPU虚拟化和内存虚拟化,但是不能模拟其他设备。QEMU模拟IO设备(包括网卡),运行在用户空间。...virtio的半硬件卸载 virtio设备虚拟化的功能一直都是由软件来实现,在Host上因虚拟化而产生的额外开销无法避免。...硬件卸载的方式实现的网络虚拟化,性能有跨越式提升。 回归本质,网络虚拟化是为了提升资源使用率,丰富资源的功能性,单纯的虚拟化对CPU占用较大,同时会对性能产生较大的影响。
根据在I/O路径中实现虚拟化的位置不同,虚拟化存储可以分为主机的虚拟存储、网络的虚拟存储、存储设备的虚拟存储。根据控制路径和数据路径的不同,虚拟化存储分为对称虚拟化与不对称虚拟化。...通过存储虚拟化,应用程序就不会再与某个物理性的存储程序相联系了。 存储虚拟化可能帮助帮助存储容量扩增自动化。不需要手动的配置,存储虚拟化能够运用策略,分配更多的存储容量给所需的应用。...三层模型 根据云存储系统的构成和特点,可将虚拟化存储的模型分为三层:物理设备虚拟化层、存储节点虚拟化层、存储区域网络虚拟化层。...这个虚拟化层由虚拟存储管理模块在虚拟存储管理服务器上实现,以带外虚拟化方式管理虚拟存储系统的资源分配,为虚拟磁盘管理提供地址映射、查询等服务。...利用虚拟化技术,可以在统一的虚拟化基础架构中,实现跨数据中心的虚拟化管理。 政府信息系统:政府数据存储系统的建设正受到前所未有的重视。
yum install -y docker* docker pull nignx docker pull centos docker version ...
虚拟化 發佈於 2021-08-16 今天给公司搭建虚拟化平台,对其中用到的一些知识进行整理。 虚拟化平台 ---- 我们常说的虚拟化可以分为两种类型: TYPE I 和 TYPE II。...我们常见的 VMWare Workstation、VirtualBox、Parallels Desktop、Hyper-V 等均属于二型虚拟化软件,他们需要运行于宿主操作系统。...而企业级虚拟化平台例如 VMWare vSphere、KVM、Hyper-V server 等则属于一型虚拟化,他们直接运行于裸金属服务器。...公司虚拟化平台 ---- 公司新买的 DELL 服务器今天到了,要搭建虚拟化平台,由于自己对 ESXi 比较熟悉,因此决定采用该软件进行平台搭建。...创建虚拟机 创建虚拟机前,我们要先在存储中上载对应操作系统的镜像文件,创建虚拟机过程非常简单,在此不再赘述。
目前为止还没有连载完. 2021年10月10日 1 虚拟化技术简介 1.1 虚拟化概念 顾名思义,虚拟化是指计算元件在虚拟的基础而不是在真实的基础上运行。...,只需在虚拟层上运行操作系统和应用软件,和物理平台无关 在家用计算机的上安装常规软件属于非虚拟化,而在办公计算机上安装虚拟化软件就属于虚拟化应用了,典型的非虚拟化和虚拟化的物理架构如图1-1 所示...) 可以移植 通过相应工具可以实现原物理机到虚拟机的转换 部署灵活 虚拟机以文件的形式,可以在不同的服务器之间灵活部署服务器虚拟化主要有以下两种架构: 完全虚拟化 在完全虚拟化架构中,操作系统处于隔离的环境中... 硬件辅助虚拟化 在硬件辅助虚拟化中,使用Hypervisor(虚拟化管理系统)作为服务器宿主系统,虚拟机通过标准驱动访问硬件,这需要IT 技术(Intel VT/AMD-V)的支持,如图1-5 所示...图2-1 对于完全虚拟化来说,也就是在常规的虚拟化应用来说,一般通过本机的显卡和显示器以及外设来直接操作虚拟机;而对于硬件辅助虚拟化而言,由于在服务器上同时开启了多个虚拟机,每个虚拟机可以应用于不同的场合
1、Intel® VT 虚拟化技术概述 狭义的 Intel® VT 主要提供分别针对处理器、芯片组、网络的虚拟化技术。...抽象化的虚拟机硬件:即虚拟层呈现的虚拟化的硬件设备。虚拟机能够发现哪种硬件设施,完全由 VMM 决定。...2.4 X86 平台的虚拟化 ---- 正是因为 x86 平台指令集有上述缺陷,所以为了计算虚拟化技术在 x86 平台应用,各大虚拟化厂商推出了五花八门的虚拟化技术,其目的都是围绕“如何捕获模拟这 19...3、内存虚拟化 大型操作系统(比如 Linux)的都是通过虚拟内存进行内存管理,内存虚拟化需要对虚拟内存再进行虚拟化。 内存虚拟化技术主要包含两个方面:内存地址转换和内存虚拟化管理。...3.2 内存虚拟化管理技术 ---- 在虚拟化环境中,内存是保证虚拟机工作性能的关键因素。
) 3.虚拟网络类型 3.1桥接 Guest和Host连接到同一个交换机上(同一个网络内),通过桥接物理网卡,相当于直接连接到Host所在的网络 3.2 隔离模式 Guest可以访问统一虚拟交换机上的其他...充当路由器,开启转发(需要额外设置外网与Guest之间互访的路由) 二、安装KVM 1.安装KVM虚拟化相关包组 [root@svr5 桌面]# yum groupinstall virtualization...virtualization Client” “virtualization Platform” 注意:如果操作系统语言是中文的话,需要使用中文.例如↓: [root@svr5 桌面]# yum groupinstall 虚拟化...虚拟化平台 虚拟化工具 虚拟化客户端 2.启动服务/设置服务为开机启动 [root@svr5 桌面]# /etc/init.d/libvirtd restart [root@svr5 桌面]# chkconfig...2.新建并安装一台虚拟机 ? ? ? ? ? ? ? 至此,一台新的KVM虚拟机就创建完成了。
座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 前言 本章将会讲解云计算,内存虚拟化的知识 一.内存虚拟化 内存虚拟化抽象了物理内存,虚拟机每个进程都被赋予一块连续的,超大的虚拟内存空间...1.内存虚拟化类型 全虚拟化 半虚拟化 硬件辅助内存虚拟化 ---- 全虚拟化 为每个VM维护一个影子页表记录虚拟化内有与物理内存的映射关系。...内存复用技术有: 内存气泡:虚拟化层将较空闲VM内存,分配给内存使用较高的虚拟机。内存的回收和分配由虚拟化层实现,虚拟机上的应用无感知,提高物理内存利用率。...开启了内存虚拟化(这里以物理内存150%)物理内存由6G变为逻辑上的9G(虚拟上的9G)则每台虚拟机内存为3G. ---- 二.I/O虚拟化 1.I/O虚拟化类型 ---- 全虚拟化 通过软件模拟的形式模拟...硬件辅助虚拟化 通过硬件的辅助可以让虚拟机直接访问物理设备,而不需要通过VMM。
前面 虚拟化技术总览 中从虚拟平台 VMM 的角度,将虚拟化分为 Hypervisor 模型和宿主模型,如果根据虚拟的对象(资源类型)来划分,虚拟化又可以分为计算虚拟化、存储虚拟化和网络虚拟化,再细一些...,又有中断虚拟化,内存虚拟化,字符/块设备虚拟化,网络功能虚拟化等。...,这两个词基本上是虚拟化的终极定义了,带着这两个词去看每一种虚拟化类型,会发现很容易理解和记忆。...CPU 软件虚拟化 基于软件的 CPU 虚拟化,故名思议,就是通过软件的形式来模拟每一条指令。通过前面的文章我们知道常用的软件虚拟化技术有两种:优先级压缩和二进制代码翻译。...CPU 硬件虚拟化 上面的这种截获再模拟的纯软件的虚拟化方式,势必是性能非常低的。
前言 网络虚拟化相对计算、存储虚拟化来说是比较抽象的,以我们在学校书本上学的那点网络知识来理解网络虚拟化可能是不够的。...带着这样一种思路去理解网络虚拟化可能会感觉云里雾里——这样一个庞大的网络如何实现虚拟化?...如果把传统的网络看作「宏观网络」的话,那网络虚拟化关注的就是「微观网络」。网络虚拟化的目的,是要节省物理主机的网卡设备资源。从资源这个角度去理解,可能会比较好理解一点。...虚拟化网络架构 为了解决这个问题,可以借助虚拟化技术对一台物理资源进行抽象,将一张物理网卡虚拟成多张虚拟网卡(vNIC),通过虚拟机来隔离不同的应用。...总结下来,网络虚拟化主要解决的是虚拟机构成的网络通信问题,完成的是各种网络设备的虚拟化,如网卡、交换设备、路由设备等。
虚拟化技术 如果要用简单的语句来阐述虚拟化技术的话,那么可以这么解释: 虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术。...虚拟化的分类 说完虚拟化的起源和应用,我们得说说虚拟化的分类了。所谓虚拟化的分类,其实主要指的是我们在实现虚拟化的方式上的区别。...对于虚拟化技术的分类,有很多种不同的方式,有的之间也有互相重合的部分,但总体来说可以区分为两大类:硬件虚拟化、软件虚拟化。 所谓硬件虚拟化,指的是物理硬件本身就提供虚拟化的支持。...这些都是硬件虚拟化的体现。 而软件虚拟化则指的是通过软件的方式来实现虚拟化中关键的指令转换部分。...应用程序虚拟化:在操作系统和应用程序间实现虚拟化,只让应用程序运行在虚拟化环境中。 内存虚拟化:将不相邻的内存区,甚至硬盘空间虚拟成统一连续的内存地址,即我们常说的虚拟内存。
内存虚拟化 除了 CPU 虚拟化,另一个关键是内存虚拟化,通过内存虚拟化共享物理系统内存,动态分配给虚拟机。...虚拟机的内存虚拟化很象现在的操作系统支持的虚拟内存方式,应用程序看到邻近的内存地址空间,这个地址空间无需和下面的物理机器内存直接对应,操作系统保持着虚拟页到物理页的映射。 ?...可见,KVM 为了在一台机器上运行多个虚拟机,需要增加一个新的内存虚拟化层,也就是说,必须虚拟 MMU 来支持客户操作系统,来实现 VA -> PA -> MA 的翻译。...VMM 内存虚拟化的实现方式: 软件方式:通过软件实现内存地址的翻译,比如 Shadow page table (影子页表)技术 硬件实现:基于 CPU 的辅助虚拟化功能,比如 AMD 的 NPT 和...除了降低各部虚拟机器在切换时所造成的效能损耗外,硬体指令集也比虚拟化软体处理来得可靠与稳定。
Proxmox VE是一个完整的企业虚拟化开源平台。...创建虚拟机 -> 初始化 -> 转换成模板 proxmoxer模块 pip install proxmoxer requests paramiko import pprint from proxmoxer
前言: 这里作者再次自不量力了,以一点微末的道行分析一下KVM的CPU虚拟化部分的代码。...kvm_create_vm函数主要用来创建并初始化kvm数据结构,包括lock,memslot,mmu notifier等,并把数据结构加入到vm_list(双链表,用来保存本机上KVM创建的的所有vm...函数中初始化vcpu,并分配vmx数据结构,同时申请vmcs(vmcs很复杂,需要参考文档:https://software.intel.com/en-us/articles/intel-sdm,3B部分介绍.../x86.c)->__vcpu_run->vcpu_enter_guest->vmx_vcpu_run(linux-4.0.4/arch/x86/kvm/vmx.c) cpu进入到了vm模式,就在跑虚拟机中的代码...在虚拟机中,这就是一个cpu。
这种机制正是虚拟化软件做的事,也就是 MMU 内存管理单元。 ? 本文要说的不是这种虚拟内存,而是基于虚拟机的内存虚拟化,它们本质上是一样的,通过对虚拟内存的理解,再去理解内存虚拟化就比较容易了。...结合前面的文章,我们知道,虚拟化分为软件虚拟化和硬件虚拟化,而且遵循 intercept 和 virtualize 的规律。...内存虚拟化也分为基于软件的内存虚拟化和硬件辅助的内存虚拟化,其中,常用的基于软件的内存虚拟化技术为「影子页表」技术,硬件辅助内存虚拟化技术为 Intel 的 EPT(Extend Page Table,...常规软件内存虚拟化 虚拟机本质上是 Host 机上的一个进程,按理说应该可以使用 Host 机的虚拟地址空间,但由于在虚拟化模式下,虚拟机处于非 Root 模式,无法直接访问 Root 模式下的 Host...总结 内存虚拟化经历从虚拟内存,到传统软件辅助虚拟化,影子页表,再到硬件辅助虚拟化,EPT 技术的进化,效率越来越高。
KVM 简介 基于内核的虚拟机 Kernel-based Virtual Machine(KVM)是一种内建于 Linux® 中的开源虚拟化技术。...具体而言,KVM 可帮助您将 Linux 转变为虚拟机监控程序,使主机计算机能够运行多个隔离的虚拟环境,即虚拟客户机或虚拟机(VM)。 KVM 是 Linux 的一部分。...# genisoimage 为镜像生成工具,用于生成 cloud-init 初始化内容并挂载 # 安装 cloud-init 后,由于开机过程或自动启动 cloud-init 服务,会增长开机时间...小提示 暂未探索使用 Cloud-init 方式来初始化 Windows,后续补充。...(采用 CC BY-NC-SA 4.0 许可协议进行授权) 本文标题:《 KVM 虚拟化 》 本文链接:https://lisz.me/tech/kvm/kvm.html
计算机内存分为物理内存与虚拟内存。物理内存是计算机的实际内存大小,由RAM芯片组成。虚拟内存则是虚拟出来的、使用磁盘代替内存。虚拟内存的出现,让机器内存不够的情况得到部分解决。...当程序运行起来由操作系统做具体虚拟内存到物理内存的替换和加载(相应的页与段的虚拟内存管理)。 毋庸置疑,虚拟内存绝对是操作系统中最重要的概念之一。主要是由于内存的重要”战略地位”。...根据虚拟内存的概念,在32位系统上运行64位软件也并无不可,但由于系统对虚拟内存地址的结构设计,64位的虚拟地址在32位系统内并不能使用。 2....JVM进程占用虚拟内存过多 使用top查看系统性能时,我们会发现在VIRT这一列,Java进程会占用大量的虚拟内存, ?...导致这种问题的原因是Java使用Glibc的Arena内存池分配了大量的虚拟内存并没有使用。此外,Java读取的文件也会被映射为虚拟内存,在虚拟机默认配置下Java每个线程栈会占用1M的虚拟内存。
领取专属 10元无门槛券
手把手带您无忧上云