首页 > 其他分享 >openstack hypervisor

openstack hypervisor

时间:2024-10-06 13:00:37浏览次数:7  
标签:虚拟化 Hypervisor 虚拟机 KVM Nova Libvirt hypervisor openstack

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 the nova-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 the virt_type option in the [libvirt] section of nova.conf and restart the nova-compute service. Here are the general nova.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虚拟化基础二(QEMU,KVM,Hypervisor,Libvirt)

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)用户空间就变为了其中一台虚拟机的管理控制台,完全寄生不驱动任何驱动管理程序;
KVM虚拟化基础二(QEMU,KVM,Hypervisor,Libvirt)

Hypervisor 是什么?

通俗来讲 Hypervisor 是一种将操作系统与硬件抽象分离的一种技术实现方法。一种运行在物理服务器和操作系统之间的中间软件层(可以是软件程序,也可以是固件程序);
它允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统;
它可以协调访问服务器上的所有物理设备和虚拟机,当服务器启动并执行Hypervisor时它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统,它能够使得这些虚拟机可高效地去分享物理服务器的硬件资源。也叫虚拟机监视器VMM(Virtual Machine Monitor);
Hypervisor是所有虚拟化技术的核心,非中断地支持多工作负载迁移的能力是Hypervisor的基本功能;
Hypervisor 翻译过来就是超级监督者,被引申为超级管理程序、超多功能管理器、虚拟机管理器、VMM;
Hypervisor(主机虚拟化)的两种类型
1型虚拟化:在硬件上跑的不是宿主机(直接跑的是虚拟化软件,需驱动底层硬件)所创建每个主机都是虚拟机
2型虚拟化:在硬件安装操作系统(操作系统安装虚拟软件vmware,virtualbox)
KVM虚拟化基础二(QEMU,KVM,Hypervisor,Libvirt)

 

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参考?

    libvirt wiki 参考

  • 转自: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

相关文章

  • 云计算Openstack Nova
    OpenStackNova是OpenStack云计算平台中的一个核心组件,主要负责管理和部署虚拟机实例。以下是对OpenStackNova的详细解析:一、定义与功能定义:OpenStackNova是一个计算服务组件,它提供了虚拟机实例的创建、启动、暂停、恢复、删除等功能,并支持对实例进行资源调度、监控和管......
  • CentOS7.4安装部署openstack [Liberty版] (一)
    一、OpenStack简介OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简......
  • CentOS7.4安装部署openstack [Liberty版] (二)
    继上一篇博客CentOS7.4安装部署openstack[Liberty版](一),本篇继续讲述后续部分的内容一、添加块设备存储服务1.服务简述:OpenStack块存储服务为实例提供块存储。存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的。还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等等。块存......
  • OpenStack基础平台部署案例
    OpenStack基础平台部署案例案例描述本案例是讲述如何使用云主机搭建OpenStack云平台。包括两种搭建的方式,一种是直接执行脚本安装,另一种是使用Ansible安装。使用这种方式,不需要重复安装系统去搭建平台,只需要创建云主机去构建OpenStack云平台,使用云主机去练习相应的操作。案......
  • 基于DPU的OpenStack裸金属服务快速部署及存储解决方案
    1方案背景和挑战Openstack作为开源云计算领域的领军项目,凭借其强大的功能、灵活的架构以及活跃的社区支持,在全球范围内得到了广泛的采用。通过Openstack,企业和云服务提供商可以更加高效地管理和利用计算资源、存储资源和网络资源,实现业务的快速部署和灵活扩展,从而赢得市场竞争的先......
  • OpenStack的组件及工作原理
    OpenStack就是一个虚拟化管理平台吗?这样说并不准确。它们存在很多相似性,但并非完全相同。的确,OpenStack和虚拟化管理平台都位于虚拟化资源层之上,都可以帮助用户发现、报告和自动执行位于不同供应商产品环境中的业务流程。但虚拟化管理平台主要是方便利用虚拟资源的特性和功能,而O......
  • 【虚拟化】虚拟化简介 | Hypervisor介绍
    目录一、什么是虚拟化?二、虚拟化的优点三、Hypervisor3.1Hypervisor概述3.2Hypervisor分类3.3Hypervisor与虚拟机协作技术路线(1)全虚拟化(2)硬件辅助虚拟化(3)半虚拟化一、什么是虚拟化虚拟化是一种能够更有效地利用物理计算机硬件的过程,是云计算的基础。虚拟化技术......
  • openstack-cinder
    cinder概念cinder是OpenStack块存储服务,它的主要功能包括:卷管理:cinder可以创建,删除,扩容和缩小卷。管理员可以通过api或者命令行接口创建卷,指定卷的大小,类型,名称和描述等信息。当需要扩容或缩小卷时,管理员可以通过api或者命令行接口进行操作。卷快照:cinder支持卷的快照,......
  • openstack-swift
    对象存储swift对象存储是一种用于存储和管理大量数据的系统。类似于一个超大云盘。可以存储各种文件。(照片,视频,文档等等)。与传统的文件存储不同,对下个存储不关心文件的目录结构和层级关系,而是将每个文件视为一个独立的对象(Object).每个对象都有一个唯一的标识符,我们可以通过这......
  • 使用脚本部署openstack平台
    一、案例分析1.部署架构一台控制节点和一台计算节点组成简单架构OpenStack平台,控制节点安装MySQL、Keystone、Glance、Nova、Neutron、Dashboard等服务,主要作为认证、镜像管理节点,以及提供Nova和Neutron服务的管理节点。提供Dashboard界面服务。计算节点主要安装nova-comput......