openstack hypervisor
https://docs.redhat.com/en/documentation/red_hat_openstack_platform/8/html/configuration_reference_guide/section_compute-hypervisors#kvm-intel
Red Hat OpenStack Platform is only supported for use with the libvirt driver (using KVM as the hypervisor on Compute nodes). With this release of Red Hat OpenStack Platform, Ironic is now fully supported. Ironic allows you to provision bare-metal machines using common technologies (such as PXE boot and IPMI) to cover a wide range of hardware while supporting pluggable drivers to allow the addition of vendor-specific functionality. Red Hat does not provide support for other Compute virtualization drivers such as the deprecated VMware "direct-to-ESX" hypervisor, and non-KVM libvirt hypervisors.3.11.1. Hypervisor configuration basics
Copy link The node where thenova-compute
service is installed and operates on the same node that runs all of the virtual machines. This is referred to as the compute node in this guide. By default, the selected hypervisor is KVM. To change to another hypervisor, change thevirt_type
option in the[libvirt]
section ofnova.conf
and restart thenova-compute
service. Here are the generalnova.conf
options that are used to configure the compute node's hypervisor: Table 3.30, “Description of hypervisor configuration options”. Specific options for particular hypervisors can be found in the following sections.
https://www.cnblogs.com/guowei-Linux/p/11484925.html
Openstack Nova与Hypervisor对接
https://blog.csdn.net/cyq6239075/article/details/110356790#:~:text=OpenStac
OpenStack支持的Hypervisor
OpenStack提供了一个开放的云计算管理架构,OpenStack自身不提供服务器虚拟化功能,但是支持与不同服务器虚拟化Hypervisor对接。我们熟悉的Hyervisor,例如KVM/Xen和基于他们衍生出来的Hypervisor,在openStack社中也提到Nova-Compute也可以支持LXC(如Docker)、UML、VMware vSphere、Power VM、Hyper-V等虚拟化软件。
Nova-comupte与KVM关系
由于KVM在OpenStack社区中代码贡献非常高,所以在OpenStack中首选和默认的Hypervisor就是KVM。接下来我们就重点介绍下Nova与KVM是怎么工作的。
我们从KVM部署入手解析整个对接过程,假如有10台物理服务器用来部署整个OpenStack KVM环境,用第一台服务器部署Nova-Api /Nova-Conductor /Nova-Scheduler作为控制节点,而剩下的9台服务器都作为计算节点,安装部署了Hypervisor KVM和Nova-Computer。
当需要创建虚拟机时,控制节点将通过Nova-Scheduler通过一系列算法(在Openstack社区中定义了30几种Scheduler调度算法)算出计算节点10比较适合建立虚拟机,比如根据CUP使用情况、内存使用情况等。然后Nova-scheduler就通知该计算节点(例如节点10)的Nova-computer完成虚拟的创建。
Nova-Scheduler组件和Nova-Computer组件之间通信是通过消息队列Queue来完成。Nova-Computer接着会通过Driver来告诉KVM需要的虚拟化资源,Driver(Nova-compute Driver)是由不同虚拟化Hypervisor厂商提供,进行接口和功能适配。
Nova-Computer通过Driver并且通过Libvirt来与KVM对接。由于Libvirt 本身构建于一种抽象的概念之上。它为受支持的Hypervisor提供的常用功能提供通用的API。Nova-Computer通过Driver并且通过Libvirt来与KVM对接。
Libvirt架构介绍
Libvirt是开源虚拟化方案的一个重要模块,实质上是基于虚拟化的语言函数库,介于Openstack和底层虚拟化Hypervisor(如KVM/Xen等)之间。Libvirt将底层具体虚拟化实现屏蔽,对Openstack呈现统一个管理接口调用来完成各类虚拟机的动作(如虚拟机启动、休眠唤醒、热迁移等操作)。
Libvirt采用了CS架构设计,对外承接整合服务器的云管理,对内监控整合服务器的虚拟任务完成情况。Libvirt客户端直接对接OpenStack云管理平台,以API的形式下发的各种管理命令,Libvirt服务端(Libvirtd)接收并处理命令,Libvirtd收到命令后,通过事件机制检测命令,如果任务可以由Libvirtd独立完成的,则处理并返回结果;否则通过Socket通信机制将命令发给下层虚拟化Hypervisor来完成。
简单概括下Openstack Nova与Hypervisor对接整个过程。虚拟机创建等需要提交后,通过安装了Nova-Scheduler等模块的控制节点找到Nova-computer,然后通过Libvirt在发送消息给具体的KVM虚拟化管理程序,在OpenStack KVM方案中,Nova-scheduler根据不同调度策略通过Nova-Computer找到一台满足要求且安装了KVM的服务器,当然还需要Nova-Compute Driver和Libvirt的协助。
KVM 和openstack 之间的区别与联系
https://zhuanlan.zhihu.com/p/89629790#:~:text=OpenStac
KVM(Kernel-based Virtual Machine)基于内核的虚拟机KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度
、内存管理与硬件设备交互等。
区别与联系
OpenStack几乎支持所有的虚拟化管理程序,不论是开源的(Xen与KVM)还是厂商的(Hyper-V与VMware)。但在以前,OpenStack是基于KVM开发的,KVM常常成为默认的虚拟机管理程序。两者都使用相同的开放源理念与开发方法。
KVM-虚拟化技术之Hypervisor-架构
https://blog.csdn.net/Saintyyu/article/details/100846089#:~:text=KVM%EF%BC%88Kern
Hypervisor 是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中 的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫 虚拟机监视器(Virtual Machine Monitor)。
Hypervisor 是所有虚拟化技术的核心。非中断地支持多工作负载迁移的能力是Hypervisor 的基本功能。当服务器启动并执行 Hypervisor 时,它会给每 一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。
虚拟化技术架构
Hypervisor,常见的 Hypervisor 分两类:
Type-I(裸金属型)
指 VMM 直接运作在裸机上,使用和管理底层的硬件资源,GuestOS 对真 实硬件资源的访问都要 通过 VMM 来完成,作为底层硬件 的直接操作者, VMM 拥有硬件的驱动程序。裸金属虚拟化中Hypervisor 直接管理调用硬件资源,不需要底层操作系统,也可以理解为 Hypervisor 被做成了一个很薄的操作系统。 这种方案的性能处于主机虚拟化与操作系统虚 拟化之间 。代表是VMware ESX Server、Citrix XenServer 和 Microsoft Hyper-V,Linux KVM。
Type-II 型(宿主型)
指 VMM 之下还有一层宿主操作系统,由于 Guest OS 对硬件的访问必须 经过宿主操作系统,因而带来了额外的性能开销,但可充分利用宿主操作系统 提供的设备驱动和底层服务来进行内存管理、进程调度和资源管理等。主机虚 拟化中 VM 的应用程序调用硬件资源时需要经过:VM 内核->Hypervisor->主机内核 ,导致性能是三种虚拟化技术中最差的 。主 机虚拟化技术代表是VMware Server(GSX)、Workstation 和 Microsoft Virtual PC 、 Virtual Server 等。
由于主机型 Hypervisor的效率问题 ,多数厂商采用了裸机型 Hypervisor 中的 Linux KVM 虚拟化,即为 Type-I(裸金属型)。
KVM虚拟化基础(QEMU,KVM,Hypervisor,Libvirt)
https://www.cnblogs.com/pipci/p/12953599.html#:~:text=KVM%EF%BC%88Kern
QEMU是什么?
QEMU is a generic and open source machine emulator and virtualizer QEMU官网
QEMU是一套由 Fabrice Bellard 开发者编写的模拟处理器的自由软件,是一个完整的可以单独运行的软件。可独立模拟出整台计算机(CPU/内存/IO设备)它是通过一个特殊的“重编译器”对特定的处理器(CPU)的二进制代码进行翻译转换来提供一系列的硬件模拟,使Guest OS认为自己和硬件直接打交道(其实是同QEMU模拟出来的硬件打交道)。QEMU再将这些指令翻译给真正硬件进行操作,通过这种模式Guest OS可以和主机上的各种IO类及USB设备等进行交互。但由于其所有指令都需要经过QEMU来翻译因而性能会比较差(存软件模拟);
QEMU有两种工作模式:系统模式:可模拟出整个电脑系统
用户模式:可运行不同与当前硬件平台的其他平台上的程序(如在x86平台上运行跑在ARM平台上的程序)
代码地址:目前最新的版本是3.1,在1.3之后QEMU和QEMU-KVM合二为一叫QEUMU-KVM
QEMU 代码KVM 是什么?
红帽的官网KVM知识点参考 红帽官网
KVM的知识点社区参考 KVM社区
KVM(Kernel -base-virtual machine)实际上是类Linux发行版内核中提供的虚拟化技术(内核级虚拟化),可将内核直接充当Hypervisor来使用,在内核中独立存在可动态加载。
注意:其处理器(CPU)自身必须支持虚拟化扩展
工作原理:
KVM包含一个内核模块kvm.ko其用来实现核心虚拟化功能,以及一个和处理器强相关的模块 kvm-intel.ko或kvm-amd.ko。KVM本身不实现任何模拟仅仅是暴露了一个 /dev/kvm 接口。这个接口可被宿主机用来主要负责vCPU的创建、虚拟内存的地址空间分配、vCPU寄存器的读写以及vCPU的运行。有了KVM以后Guest OS的CPU指令不用再经过QEMU来转译便可直接运行,大大提高了运行速度。但KVM的kvm.ko本身只提供了CPU和内存的虚拟化,其它网络等IO的支持需配合另一组件 QEMU-KVM;
动态装载:
如果装载了kvm模块内核立即变为僵尸并变成了Hypervisor(悄悄并腐蚀了寄生在内核级宿主机之上的Hypervisor)用户空间就变为了其中一台虚拟机的管理控制台,完全寄生不驱动任何驱动管理程序;Hypervisor 是什么?
通俗来讲 Hypervisor 是一种将操作系统与硬件抽象分离的一种技术实现方法。一种运行在物理服务器和操作系统之间的中间软件层(可以是软件程序,也可以是固件程序);
它允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统;
它可以协调访问服务器上的所有物理设备和虚拟机,当服务器启动并执行Hypervisor时它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统,它能够使得这些虚拟机可高效地去分享物理服务器的硬件资源。也叫虚拟机监视器VMM(Virtual Machine Monitor);
Hypervisor是所有虚拟化技术的核心,非中断地支持多工作负载迁移的能力是Hypervisor的基本功能;
Hypervisor 翻译过来就是超级监督者,被引申为超级管理程序、超多功能管理器、虚拟机管理器、VMM;
Hypervisor(主机虚拟化)的两种类型1型虚拟化:在硬件上跑的不是宿主机(直接跑的是虚拟化软件,需驱动底层硬件)所创建每个主机都是虚拟机
2型虚拟化:在硬件安装操作系统(操作系统安装虚拟软件vmware,virtualbox)
Libvirt 是什么?
社区站点:libvirt 社区站点
这是 RedHat 开始支持KVM后搞的一个用户空间虚拟机管理工具。目标是提供一个单一途径以管理多种不同虚拟化方案以及虚拟化主机,其包括:KVM/QEMU,Xen,LXC,OpenVZ 或 VirtualBox hypervisors等 ;
它Libvirt内置的API广泛用于云解决方案开发中的虚拟机监视器编排层(Orchestration Layer)。常用的管理工具如,virsh,virt-install,virt-manager等;
Libvirt 的一些主要功能
- VM management(虚拟机管理)
各种虚拟机生命周期的操作,如:启动、停止、暂停、保存、恢复和迁移等;多种不同类型设备的热插拔操作,包括磁盘、网络接口、内存、CPU等
- Remote machine support(支持远程连接)
Libvirt 的所有功能都可以在运行着 libvirt 守护进程的机器上执行,包括远程机器。通过最简便且无需额外配置的 SSH 协议,远程连接可支持多种网络连接方式
- Storage management(存储管理)
任何运行 libvirt 守护进程的主机都可以用于管理多种类型的存储:创建多种类型的文件镜像(qcow2,vmdk,raw,...),挂载 NFS 共享,枚举现有 LVM 卷组,创建新的 LVM 卷组和逻辑卷,对裸磁盘设备分区,挂载 iSCSI 共享,以及更多......
- Network interface management(网络接口管理)
任何运行 libvirt 守护进程的主机都可以用于管理物理的和逻辑的网络接口,枚举现有接口,配置(和创建)接口、桥接、VLAN、端口绑定
- Virtual NAT and Route based networking(虚拟 NAT 和基于路由的网络)
任何运行 libvirt 守护进程的主机都可以管理和创建虚拟网络。Libvirt 虚拟网络使用防火墙规则实现一个路由器,为虚拟机提供到主机网络的透明访问
安装:安装 libvirt 以及至少一个虚拟运行环境(hypervisor)
基于守护进程/客户端架构的 libvirt 只需装在需要实现虚拟化的机器上,服务及客户端可以是相同的物理机器
Libvirt 的 KVM/QEMU 驱动
KVM/QEMU驱动站点Archlinux站点上的Libvirt参考?
- 转自:https://blog.51cto.com/51eat/2360346
kirtstart
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/system_design_guide/performing_an_automated_installation_using_kickstart#register-and-install-from-cdn-using-kickstart_register-and-install-from-cdn
graphical
lang en_US.UTF-8
keyboard us
rootpw 12345
timezone America/New_York
zerombr
clearpart --all --initlabel
autopart
syspurpose --role="Red Hat Enterprise Linux Server" --sla="Premium" --usage="Production"
rhsm --organization="12345" --activation-key="test_key" --connect-to-insights --proxy="user:password@hostname:9000"
reboot
%packages
vim
%end
标签:虚拟化,Hypervisor,虚拟机,KVM,Nova,Libvirt,hypervisor,openstack From: https://www.cnblogs.com/lightsong/p/18448999