test

[云计算]OpenStack - Nova组件(未完善)

目录

Nova系统架构

架构

test

模块

模块 功能 一般部署位置
nova-api 接受rest消息 控制节点
nova-scheduler 选择合适的主机 控制节点
nova-conductor 数据库操作、复杂流程控制 控制节点
nova-compute 虚拟机生命周期管理和资源管理 计算节点
nova-novncproxy novnc访问虚拟机代理 控制节点
nova-consoleauth novnc访问虚拟机鉴权 控制节点

特点

  1. 基于Rest API
    • 友好的服务访问方式
  2. 支持线性扩展(水平扩展)
    • 支持虚拟机实例数量随着节点的增加,线性增长
  3. 与硬件无关,支持多种标准硬件
    • 无需定制专门的硬件设备
  4. 与虚拟化平台无关,支持多种Hypervisor
    • 例如:KVM、LXC、QEMU、ESX、Xen、Hyper-V
    • 支持主流虚拟化平台,不依赖特定的厂商

Nova计算资源模型

test

可用区(Avaliability Zone):可以理解为一组节点的集合,这组节点具有独立的电力供应设备,如一个个独立的供电机房,一个个独立供电的机架都可以被划分为可用区,因此,可用区主要通过冗余来解决可用性的问题。

可用区是一个面向用户的概念,用户在创建实例的时候可以选择创建到哪些可用区中,以保证实例的可用性。

主机聚合(Host aggregate):主机组是管理员用来根据硬件资源的某一属性来对硬件进行划分的功能,仅管理员可见,主要用于给nova-scheduler通过某一属性来进行实例的调度,从而形成主机组。

VM操作与对象

Nova典型操作

分组 说明
虚拟机生命周期管理 虚拟机创建、删除、启动、关机、重启、重建、规格更改、暂停、解除暂停、挂起、继续、迁移、在线迁移、锁定、解锁、疏散,拯救,解拯救,搁置,删除搁置, 恢复搁置,备份,虚拟机导出镜像、列表、详细信息、信息查询更改,密码修改。
卷和快照管理操作 本质上是对Cinder API的封装。卷创建、删除、列表、详细信息查询。快照创建、删除、列表、详细信息查询。
虚拟机卷操作 虚拟机挂卷、虚拟机卸卷、虚拟机挂卷列表、虚拟机挂卷详细信息查询。
虚拟网络操作 本质上是对Neutron API的封装。虚拟网络创建、删除、列表、详细信息查询。
虚拟机虚拟网卡操作 虚拟机挂载网卡、虚拟机卸载网卡、虚拟机网卡列表。
虚拟机镜像的操作 本质上是对Glance API的封装,支持镜像的创建、删除、列表、详细信息查询。
虚拟机HA 自研虚拟机的可靠性操作。可手动触发(FS5.1)。
其他资源其他操作 Flavor,主机组,keypairs,quota等。
...
  • 名词解释
    • 疏散:把一个实例从一个有故障或已停止运行的 compute 节点上移到同一个环境中的其它主机服务器上。
    • 拯救:虚拟机正常,但是系统有问题(如忘记密码,系统文件损坏),可以通过拯救从一个新的镜像启动,将原来的系统挂载到一个分区进行恢复。解拯救:再从原来的系统盘启动。
    • 搁置:将长时间不使用的VM从底层释放,从而节约服务器资源。用户要使用时可再次恢复。
    • 备份:对镜像启动的虚拟机进行做备份,上传到glance,并保留用户指定的最新个个数。目前不支持卷后端的。
    • 导出镜像:支持导出本地和卷的。卷启动的虚拟机所有卷都会做快照,本次磁盘启动的只对本地系统盘做快照。

Nova重要概念

名称 简介 说明
Server/instance 虚拟机 Nova管理提供的云服务资源。Nova中最重要的数据对象。
Server metadata 虚拟机元数据 通常用于为虚拟机附加必要描述信息:key/value。
Flavor 虚拟机规格模板 用于定义一种虚拟机类型,如一种具有2个VCPU、4GB内存、40GB本地存储空间的虚拟机。Flavor由系统管理员创建,供普通用户在创建虚拟机时使用。
Quota 资源配额 用于指定租户最多能够使用的逻辑资源上限。
Hypervisor / node 节点 对于KVM、Xen等虚拟化技术,一个node即对应于一个物理主机。对于vCenter,一个node对应于一个cluster。
Host 主机 对于KVM、Xen等虚拟化技术,一个host即对应于一个物理主机,同时对应于一个node。对于vCenter,一个host对应于一套vCenter部署。

Nova重要对象 - Flavor实例模板

属性
Property
描述
Description
示例
Value for example
name 描述性名称 m1.small
ram 虚拟机内存大小(MB) 2048
disk 虚拟根磁盘大小(GB) 50
ephemeral 次要数据盘大小(GB) 100
swap 实例交换空间大小 1
vcpu vCPU个数 8
is_public 实例类型私有还是公共 True
extra_specs 键值对(额外规格) {"hw:mem_page_size":"2048“,"aggregate_instance_extra_specs:aggregate01": "true“, "quota:cpu_period": "1000000", "quota:cpu_shares": "1024", "quota:cpu_quota": "10000"}

“quota:cpu_period”: “1000000”:Specifies the enforcement interval (unit:microseconds) for QEMU and LXC hypervisors
“quota:cpu_shares”: “1024”:Specifies the proportional weighted share for the domain,For example, a VM configured with value 2048 gets twice as much CPU time as a VM configured with value 1024
“quota:cpu_quota”: “10000“:Specifies the maximum allowed bandwidth (unit: microseconds); You can use this feature to ensure that all vCPUs run at the same speed.

Nova重要对象 - Image

属性
Property
描述
Description
示例
Value for example
name 镜像名 cirros-0.3.2-x86_64
disk_format 磁盘格式,可用格式:ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, and iso. qcow2
container_format 镜像容器(理解为打包格式),可用格式: ami,ari, aki, bare, and ovf. bare
is_public 镜像是否可公共使用 True
min_disk 启动镜像所需的最小磁盘大小(GB) 20
min_ram 启动镜像所需的最小内存大小(MB) 2048
status 镜像大小(Bytes) queued/active
Property‘hw_disk_bus’ 与镜像关联的任意属性(键值对) scsi
  1. Property属性,一方面可以用于scheduler中的调度,选择合适的主机,另一方面对底层hypervisor的一些配置。可选的如下:
    • Property ‘hw_scsi_model
    • Property ‘hw_watchdog_action’(优先级高于在flavor的extra_spec中的设置)
    • Property ‘architecture’
    • Property ‘hw_video_ram’
    • Property ‘hw_vif_model’
    • Property ‘hw_qemu_guest_agent’
    • Property ‘hw_rng_model’
  2. disk_format:虚拟机的磁盘格式指的是底层的磁盘镜像格式,虚拟设备厂商有不同的格式来放置虚拟机磁盘镜像包含的信息。
  3. container_format:镜像容器格式表示包含虚拟机镜像的文件是否也包含虚拟机的metadata数据。
  4. Qcow2(QEMU 写时复制版本2),格式通常是KVM使用,相比裸格式,它有额外的特性,例如:
    • 使用稀疏文件呈现方式,因此镜像尺寸更小。支持快照。
  5. AMI/AKI/ARI 格式是亚马逊 EC2 云最初支持的格式。

Nova重要对象 - Block device mapping v2

属性
Property
描述
Description
示例
Value for example
id(uuid) image_id, snapshot_id or volume_id 5e7ceccc-189f-492f-8a95-9064e8f5eeec
source(source_type) source type of the block. image, snapshot, volume or blank
dest(destination_type) destination type of the block volume or local
bus device‘s bus(only libvirt) ide/usb/virtio/scsi
type device type(only libvirt) disk/cdrom
device(device_name) name of the device vda
size size of the block device in GB, optional 10
format(guest_format) device will be formatted ntfs
Bootindex(boot_index) integer used for ordering the boot disks 0
shutdown(delete_on_termination) shutdown behaviour preserve/remove

Nova模块功能

Nova资源管理机制

Numa亲和性相关概念

上一篇:Linux:LVM与磁盘配额


下一篇:sencha touch 在安卓中横屏、竖屏切换 应用崩溃问题