虚拟化分类 根据虚拟化实现的方法,我们可以大概分为 操作系统级别虚拟化(OS-level virtulization),全虚拟化(Full virtualization),类/半虚拟化(Para virtulization ,具体的实现方法通过以下两种方式相结合; 优先级压缩 (由于虚拟化的引入,应用从 Ring 3 -> Ring 3, 操作系统从 Ring 0 -> Ring 1,VMM 将取代 OS 处于 Ring 2.2 类/半虚拟化(Para virtulization) 完全虚拟化中会遇到一些,需要通过二进制代码翻译的方式来处理的不友好的特权指令集合,而类虚拟化采用另一种处理方式来解决这种问题; 类虚拟化(或称之为半虚拟化 根据片上硬件资源,我们将逐步介绍 CPU 虚拟化 / 内存虚拟化 / IO 虚拟化 / GPU 虚拟化 / .. 3. CPU echo "logical_core_per_phy_cpu:" cat /proc/cpuinfo |grep "sib" |sort |uniq |awk -F ' ' '{print $3}
登录时用户名和密码错误 默认账号密码 admin/password 管理节点安装好后,初始化数据库,完了使用admin和password登陆提示用户名密码错误,查看日志: Fail to generate
网络设计 image-e44a5aa7768d491c9df27bf5a45eaf1e.png 1.1 这里使用虚拟网络设备模拟交换机的作用 image-555d310c97134b88a79fb1a9ca07ab7c.png 05278ea06b624c6e8da4c93c6227fdd1.png 按照提示进行安装即可 image-bf7d0fb1175049058708f9d85e575616.png 2.2 proxmox 开虚拟机 2.2.1 上传镜像 image-c4cd03ecd07a4a00b3b3cf95300aa888.png 2.2.2 创建虚拟机 image-5b68b9746014478e851dd831efed4b5a.png image-2a8aa3e8fd8f48cbb4f49bdfdcd7dc0c.png image-fbfdba1985a34545a7ea8a19eeb90ae5.png image-18b237b398464802b46bd533e4e2d90e.png -------------------------- image-ce122fb1b46842f9a0e3335cca394860.png勾选上 [创建完启动] > 点击[完成] 创建完后的虚拟机如图所示
本期我们继续就计算虚拟化的议题来聊聊虚机特性,虚机与物理机区别在于虚机与物理硬件设备解耦,可根据资源利用情况灵活的迁移、同时只要硬件资源够用可以创建多个虚机承载相应业务,所以其扩展性也比物理服务器强很多 当HA特性被触发时业务会短暂中断(用户可感知),待新虚拟机启动后才能恢复。而热迁移可以实现用户无感知的效果。 ? DRS即调度自动化,多个虚机会根据实际情况落地到物理机之上,VRM会根据成员中的负载情况,当负载不均衡时VRM会触发DRS特性把虚机调度到负载较轻的物理服务器之上。
根据在I/O路径中实现虚拟化的位置不同,虚拟化存储可以分为主机的虚拟存储、网络的虚拟存储、存储设备的虚拟存储。根据控制路径和数据路径的不同,虚拟化存储分为对称虚拟化与不对称虚拟化。 通过存储虚拟化,应用程序就不会再与某个物理性的存储程序相联系了。 存储虚拟化可能帮助帮助存储容量扩增自动化。不需要手动的配置,存储虚拟化能够运用策略,分配更多的存储容量给所需的应用。 三层模型 根据云存储系统的构成和特点,可将虚拟化存储的模型分为三层:物理设备虚拟化层、存储节点虚拟化层、存储区域网络虚拟化层。 这个虚拟化层由虚拟存储管理模块在虚拟存储管理服务器上实现,以带外虚拟化方式管理虚拟存储系统的资源分配,为虚拟磁盘管理提供地址映射、查询等服务。 利用虚拟化技术,可以在统一的虚拟化基础架构中,实现跨数据中心的虚拟化管理。 政府信息系统:政府数据存储系统的建设正受到前所未有的重视。
Ring 1、2 和 3 权限依次降低,无法执行操作内核系统级别的指令集合,只拥有对于虚拟内存的直接访问控制权。 解决方案的思路也由此分为 3 个方向: 改动 VMM:即 CPU 全虚拟化(CPU Full-Virtualization),优点是兼容性最强,OS 和 CPU 都无需改动,缺点是效率最低。 在 Intel 公司的 VT-x 解决方案中,运行于非根模式下的 Guest OS 可以像在非虚拟化平台下一样运行于 Ring 0 级别,无论是 Ring 0 发出的特权指令还是 Ring 3 发出的敏感指令都会被陷入到根模式的虚拟层 3、内存虚拟化 大型操作系统(比如 Linux)的都是通过虚拟内存进行内存管理,内存虚拟化需要对虚拟内存再进行虚拟化。 内存虚拟化技术主要包含两个方面:内存地址转换和内存虚拟化管理。 获得 L3 页表项的GPA 后,CPU 通过查询 EPT 页表来将 L3 的 GPA 转换为 HPA。
目前为止还没有连载完. 2021年10月10日 1 虚拟化技术简介 1.1 虚拟化概念 顾名思义,虚拟化是指计算元件在虚拟的基础而不是在真实的基础上运行。 ,只需在虚拟层上运行操作系统和应用软件,和物理平台无关 在家用计算机的上安装常规软件属于非虚拟化,而在办公计算机上安装虚拟化软件就属于虚拟化应用了,典型的非虚拟化和虚拟化的物理架构如图1-1 所示 ) 可以移植 通过相应工具可以实现原物理机到虚拟机的转换 部署灵活 虚拟机以文件的形式,可以在不同的服务器之间灵活部署服务器虚拟化主要有以下两种架构: 完全虚拟化 在完全虚拟化架构中,操作系统处于隔离的环境中 图2-1 对于完全虚拟化来说,也就是在常规的虚拟化应用来说,一般通过本机的显卡和显示器以及外设来直接操作虚拟机;而对于硬件辅助虚拟化而言,由于在服务器上同时开启了多个虚拟机,每个虚拟机可以应用于不同的场合 3 虚拟化部署 3.1 基本配置过程 虚拟化部署的基本配置过程分为服务器安装、管理机配置和客户机连接三个步骤,如图3-1 所示。
yum install -y docker* docker pull nignx docker pull centos docker version docker search centos docker images docker pull centos docker ps -a docker -i -t -d centos /bin/bash
虚拟化 發佈於 2021-08-16 今天给公司搭建虚拟化平台,对其中用到的一些知识进行整理。 虚拟化平台 ---- 我们常说的虚拟化可以分为两种类型: TYPE I 和 TYPE II。 我们常见的 VMWare Workstation、VirtualBox、Parallels Desktop、Hyper-V 等均属于二型虚拟化软件,他们需要运行于宿主操作系统。 而企业级虚拟化平台例如 VMWare vSphere、KVM、Hyper-V server 等则属于一型虚拟化,他们直接运行于裸金属服务器。 公司虚拟化平台 ---- 公司新买的 DELL 服务器今天到了,要搭建虚拟化平台,由于自己对 ESXi 比较熟悉,因此决定采用该软件进行平台搭建。 安装 新买的服务器有三块 3T 磁盘,我们先对服务器磁盘进行 RAID5,DELL 服务器 RAID 操作非常简单,使用 F2 进入系统设置,选择 Device Setting,选中 RAID 卡,然后进行
目录虚拟化技术实现1. GPU虚拟化技术2. CPU虚拟化技术3. 容器化虚拟化技术4. 存储和网络虚拟化技术5. 算力并网技术容器和虚拟化1. 隔离性2. 资源利用率3. 启动时间4. 部署方式实例说明一种软件实现各类厂商多种型号算力资源池化和虚拟化的虚拟化技术实现算力共享平台在实现过程中,通常会采用多种虚拟化技术来优化算力资源的分配和利用。 CPU虚拟化技术CPU虚拟化是算力共享平台中的基础技术之一。通过CPU虚拟化,平台可以在物理服务器上运行多个虚拟机(VM),每个虚拟机都拥有独立的CPU资源。 硬件辅助虚拟化:如Intel的VT-x和AMD的AMD-V技术,利用处理器特性直接支持虚拟机,减少虚拟化层的干预,提高性能。3. 这种轻量级的隔离方式使得容器在资源利用率上远高于虚拟机。例如,在Docker中,可以轻松地创建和销毁容器,而不会影响到宿主机的性能或稳定性。3.
继下面三篇文章完成了kvm虚拟化管理平台webvirtmgr环境的部署安装: 一般情况下,虚拟机(下面称vm)跟宿主机通过网桥方式进行通信,只要宿主机能联网,那么vm也就能顺利联网。 em1 inet6 fe80::46a8:42ff:fe21:a600/64 scope link valid_lft forever preferred_lft forever 3: inet6 fe80::46a8:42ff:fe21:a601/64 scope link valid_lft forever preferred_lft forever 4: em3: iptables的nat端口转发实现: 比如: 宿主机:外网ip-111.101.186.163,内网ip-192.168.1.17 虚拟机1:ip-192.168.1.150 虚拟机2:ip-192.168.1.151 虚拟机3:ip-192.168.1.152 要求通过访问宿主机的8088、8089、8090端口,分别nat转发到虚拟机1、虚拟机2、虚拟机3的80端口 虚拟机的操作 1)关闭防火墙iptables
如何实现不同租户和应用间的地址空间和数据流量的隔离是实现数据中心网络虚拟化首先需要解决的几个问题之一。所谓地址空间的隔离是指不同租户和应用之间的网络(ip)地址之间不会产生相互干扰。 如图 3所示,为了实现虚拟网络内部虚拟机之间的相互通信,首先所有相关的VTEP需要通过IGMP协议加入多播组(239.0.0.1)。 ? 图 3. VXLAN虚拟网络的初始化/加入多播组 此时,假设VM1需要向VM2发送数据。由于是第一次通信,VM1并没有VM2的MAC地址。因此,如图 4所示,VM1首先发出ARP请求。 上一节介绍Cisco的虚拟化平台时,我们提到了NSH的概念,在此我们再进行简单的回顾。 Overlay方式是在主机端实现虚拟化,Hop-by-hop方式是在控制器实现虚拟化。
) 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内存,分配给内存使用较高的虚拟机。内存的回收和分配由虚拟化层实现,虚拟机上的应用无感知,提高物理内存利用率。 ---- 3.内存复用Qos 内存资源Qos有: 内存预留:VM预留最低的物理内存 内存份额:适用资源复用场景,按比例分配内存资源。 ---- 4.内存复用举例 物理内存6G,部署三台虚拟机。 开启了内存虚拟化(这里以物理内存150%)物理内存由6G变为逻辑上的9G(虚拟上的9G)则每台虚拟机内存为3G. ---- 二.I/O虚拟化 1.I/O虚拟化类型 ---- 全虚拟化 通过软件模拟的形式模拟
虚拟化资源 1.1 虚拟化对象 CPU虚拟化: 目标是使虚拟机上的指令能被正常执行,且效率接近物理机 内存虚拟化: 目标是能做好虚拟机内存空间之 间的隔离,使每个虚拟机都认为自己拥有了整个内存地址 1.2 虚拟化过程 全虚拟化: 使用VMM实现CPU、内存、设备I/O的虚拟化,而Guest OS和计算机系统硬件都不需要进行修改。 优点 缺点 不需要修改guest os 虚拟化层的开销大 半虚拟化: 使用VMM实现CPU和内存虚拟化,设备I/O虚拟化由Guest OS实现。 优点 缺点 让物理硬件直接支持虚拟化功能能够识别敏感指令 需要CPU支持虚拟化 1.3 IO 虚拟化 全虚拟化 VM–>Hypervisor–>QEMU(Domain0)–>IO设备 半虚拟化 3.
前面 虚拟化技术总览 中从虚拟平台 VMM 的角度,将虚拟化分为 Hypervisor 模型和宿主模型,如果根据虚拟的对象(资源类型)来划分,虚拟化又可以分为计算虚拟化、存储虚拟化和网络虚拟化,再细一些 ,又有中断虚拟化,内存虚拟化,字符/块设备虚拟化,网络功能虚拟化等。 虚拟化的实现也是基于这个思想,VMM 本质上是个 Host OS,运行在 Ring 0 上,Guest OS 运行在 Ring 1 上,再往上是相应层次的应用程序运行在 Ring 2 和 Ring 3 比如下面这个例子,Host 机有两个物理 CPU,上面起了两个虚拟机 VM1 和 VM2,VM1 有两个 vCPU,VM2 有 3 个 vCPU,VM1 和 VM2 分别有 2 个 和 3 个线程在 2 VM1 和 VM2 中又分别有 3 个任务线程在被 vCPU 调度。
负载均衡技术可以方便的去增加集群中设备或链路的数量 高可靠性:单个甚至多个设备发生故障,也不会导致业务中断 可管理性:管理员可以方便的进行集中管理 透明性:对用户透明,用户感知不到也不必要只要网络结构 易扩容:在虚拟化 当计算节点上虚拟机的数量一定的时候,可以节省计算节点的内存数量 虚拟机特性: 虚拟机的快速部署 可以通过模板和复制的方式实现虚拟机的快速部署 模板部署虚拟机 模板本质也是一台虚拟机,同样包含磁盘文件和配置文件 模板部署出来的虚拟机是相互独立的,适用于大批量部署虚拟机。 可以保证虚拟机系统的一致性,同时还能去除差异性参数(IP、SID、MAC) 虚拟机克隆: 使用虚拟机本身快速部署出一台虚拟机。 虚拟机克隆是在某一个时间点对源虚拟机进行完全的复制,被克隆出来的虚拟机和源虚拟机配置信息一模一样,包括IP、SID、MAC。 虚拟机资源的热添加 在虚拟机处于开机状态下, 可以增加虚拟机的计算、存储、网络等资源 虚拟机的Console控制 可以不依赖虚拟机的网络,只求虚拟化平台有网,那么就可以对虚拟机进行控制和管理 虚拟机快照
内存虚拟化 除了 CPU 虚拟化,另一个关键是内存虚拟化,通过内存虚拟化共享物理系统内存,动态分配给虚拟机。 虚拟机的内存虚拟化很象现在的操作系统支持的虚拟内存方式,应用程序看到邻近的内存地址空间,这个地址空间无需和下面的物理机器内存直接对应,操作系统保持着虚拟页到物理页的映射。 ? VMM 内存虚拟化的实现方式: 软件方式:通过软件实现内存地址的翻译,比如 Shadow page table (影子页表)技术 硬件实现:基于 CPU 的辅助虚拟化功能,比如 AMD 的 NPT 和 除了降低各部虚拟机器在切换时所造成的效能损耗外,硬体指令集也比虚拟化软体处理来得可靠与稳定。 使用方法,需要3步: mkdir /dev/hugepages mount -t hugetlbfs hugetlbfs /dev/hugepages 保留一些内存给巨页 sysctl vm.nr_hugepages
这种机制正是虚拟化软件做的事,也就是 MMU 内存管理单元。 ? 本文要说的不是这种虚拟内存,而是基于虚拟机的内存虚拟化,它们本质上是一样的,通过对虚拟内存的理解,再去理解内存虚拟化就比较容易了。 内存虚拟化也分为基于软件的内存虚拟化和硬件辅助的内存虚拟化,其中,常用的基于软件的内存虚拟化技术为「影子页表」技术,硬件辅助内存虚拟化技术为 Intel 的 EPT(Extend Page Table, 如下图是 EPT 的基本原理图示,EPT 在原有 CR3 页表地址映射的基础上,引入了 EPT 页表来实现另一层映射,这样,GVA->GPA->HPA 的两次地址转换都由硬件来完成。 ? 假设现在 Guest 中某个进程需要访问内存,CPU 首先会访问 Guest 中的 CR3 页表来完成 GVA 到 GPA 的转换,如果 GPA 不为空,则 CPU 接着通过 EPT 页表来实现 GPA 总结 内存虚拟化经历从虚拟内存,到传统软件辅助虚拟化,影子页表,再到硬件辅助虚拟化,EPT 技术的进化,效率越来越高。
前言: 这里作者再次自不量力了,以一点微末的道行分析一下KVM的CPU虚拟化部分的代码。 3,KVM_CREATE_VM 从kvm_dev_ioctl中选择KVM_CREATE_VM分支,即kvm_dev_ioctl_create_vm函数: ? 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部分介绍 在虚拟机中,这就是一个cpu。