Atom feed of this document
  

 云主机类型

管理员可以使用nova flavor- 命令来定制和管理云类型。要查看可用的云类型命令,运行:

$ nova help | grep flavor-
   flavor-access-add   Add flavor access for the given tenant.
    flavor-access-list  Print access information about the given flavor.
    flavor-access-remove
                        Remove flavor access for the given tenant.
    flavor-create       Create a new flavor
    flavor-delete       Delete a specific flavor
    flavor-key          Set or unset extra_spec for a flavor.
    flavor-list         Print a list of available 'flavors' (sizes of
    flavor-show         Show details about the given flavor.
[注意]注意
  • 配置权限可以委托给其他用户,通过重新定义访问控制来实现,这步在nova-api服务器上的/etc/nova/policy.json文件中定义compute_extension:flavormanage

  • 要在仪表盘中修改现有的云主机类型,你必须删除某个云主机类型,然后再创建一个同名的即可。

云主机类型可定义的元素:

表 4.3. 认证服务配置文件
元素 描述
名称 一个描述性的名称。XX.SIZE_NAME 通常不是必需的,尽管有些第三方工具可能依赖它。
Memory_MB 虚拟机的内存,以兆字节表示。
磁盘 虚拟机根磁盘,已GB表示。这是一个临时的磁盘,其复制了基础镜像。当从一个持久卷启动时用不到这个。大小为"0" 是特殊情况,使用了本地基础镜像大小作为临时根卷的大小。
临时卷 指定第二个临时数据磁盘的大小。这是空的,没有格式化的,仅在实例的生存期有效。
Swap 可选项,为实例分配swap空间。
虚拟内核 为实例提供的虚拟CPU的数量。
RXTX_Factor 可选项,属性允许创建服务器中定义的带宽上限不同于它们所挂接的网络。此因素由网络的属性 rxtx_base 成倍的增加所决定。默认值是1.0。表示的和所挂接的网络一样。此参数仅适用于基于Xen或NSX的系统。
Is_Public 布尔值,决定云主机类型是所有用户都可访问,还是所创建的租户自个用。默认是True。
extra_specs

键值对,定义了那台计算节点可以让云主机类型在其上运行。这些键值对匹配对应的计算节点上的键值对。用户实现特殊的资源,比如一个云主机类型只能运行在拥有GPU硬件的计算节点上。

云主机类型的定制受限于所使用的Hypervisor。举例来说,libvirt驱动启用了针对虚拟机的CPU配额,磁盘调整,I/O带框,看门狗行为,随机数生成器设备控制,以及实例虚拟网卡的流量控制。

CPU限制

你可以使用nova客户端的控制参数来限制CPU。例如,要配置I/O限制的话,使用:

$ nova flavor-key m1.small set quota:read_bytes_sec=10240000
$ nova flavor-key m1.small set quota:write_bytes_sec=10240000

使用这些可选的参数来控制加权共享,执行间隔运行时配额,配额最大允许带宽:

  • cpu_shares。为域指定一个比例的加权共享。如果此元素被忽略的话,服务的默认值就是操作系统所提供的默认值。此值没有单位;它和其它虚拟机的设置相关联。举例来说,一个虚拟机配置为2048,那么它就比配置为1024的虚拟机拥有多2倍的CPU时间。

  • cpu_period。为QEMU和LXC hypervisor指定执行间隔(单位:微秒)。在一个执行的间隔期,域内的每个VCPU是不允许消费多于配额所限定的。此值的配置范围是 [1000, 1000000]。值为0的则意味着没有限制。

  • cpu_limit。指定VMware机器分配CPU的上限,已MHz为单位。此参数确保一台虚拟机永远不能使用超过指定CPU时间。它可用于强制限定机器的CPU性能。

  • cpu_reservation。指定了保证最低CPU预订VMware,以MHz计算。这意味着,如果需要,机器肯定会分配预留数量的CPU周期。

  • cpu_quota。指定最大允许带宽(单位:微秒)。一个为负值的域的配额则表明此域拥有无限的带宽,也就意味着没有带宽控制。值的范围须是在 [1000, 18446744073709551]之间,或者干脆为0。一个为0的值意思是没有值。你可以使用此特性来确保所有的vCPU运行在同一个速度下。例如:

    $ nova flavor-key m1.low_cpu set quota:cpu_quota=10000
    $ nova flavor-key m1.low_cpu set quota:cpu_period=20000

    在此例中,m1.low_cpu的实例最大仅能消费物理CPU计算能力的50%。

磁盘调整

使用磁盘I/O配额,你可以设置为一个虚拟机用户设置最大的磁盘写入速度为每秒10MB。例如:

$ nova flavor-key m1.medium set quota:disk_write_bytes_sec=10485760

磁盘I/O属性有:

  • disk_read_bytes_sec

  • disk_read_iops_sec

  • disk_write_bytes_sec

  • disk_write_iops_sec

  • disk_total_bytes_sec

  • disk_total_iops_sec

I/O带框

虚拟网卡的I/O属性有:

  • vif_inbound_ average

  • vif_inbound_burst

  • vif_inbound_peak

  • vif_outbound_ average

  • vif_outbound_burst

  • vif_outbound_peak

入口和出口流量可以分别设置。带宽元素至多是一个入口和至多一个出口。如果你不使用这些子元素,就没有服务质量(QoS)应用于流量。所以,如果你打算仅配置网络的入口流量,只使用入口(反之也一样)。每个元素都有一个强制性的属性,它指定了已经配置的接口多平均比特率。

还有两个可选项(整型):peak,其指定了一个网桥可以发送数据的最大速率(kilobytes/秒),以及burst,在速度的峰值可以达到的最大bytes数(kilobytes)。在连接到网络的域内速率可以被等同的共享。

以下例子是为已经存在的云主机类型设置网络流量带宽:

  • 出口流量:

    • 平均: 256 Mbps (32768 kilobytes/秒)

    • 峰值:512 Mbps (65536 kilobytes/秒)

    • burst: 100毫秒

  • 入口流量:

    • 平均: 256 Mbps (32768 kilobytes/秒)

    • 峰值:512 Mbps (65536 kilobytes/秒)

    • burst: 100毫秒

$ nova flavor-key nlimit set quota:vif_outbound_average=32768
$ nova flavor-key nlimit set quota:vif_outbound_peak=65536
$ nova flavor-key nlimit set quota:vif_outbound_burst=6553
$ nova flavor-key nlimit set quota:vif_inbound_average=16384
$ nova flavor-key nlimit set quota:vif_inbound_peak=32768
$ nova flavor-key nlimit set quota:vif_inbound_burst=3276
                
[注意]注意

以上例子中所有的速度限制值均以kilobytes/秒计算,只有burst的值是以kilobytes计算的。

看门狗行为

对于libvirt驱动来说,你可以为每个云主机类型启用和设置一个虚拟硬件看门狗。看门狗设备监视着客户服务器,且如果服务器宕机,会做出相应的举动。看门狗使用 i6300esb设备(模拟Intel的6300ESB)。如果没有指定hw:watchdog_action ,则说明禁用了看门狗。

要设置行为,使用:

$ nova flavor-key FLAVOR-NAME set hw:watchdog_action=ACTION

合法的ACTION值有:

  • disabled—(default) The device is not attached.

  • reset—Forcefully reset the guest.

  • poweroff—Forcefully power off the guest.

  • pause—Pause the guest.

  • none—Only enable the watchdog; do nothing if the server hangs.

[注意]注意

看门狗行为设置使用了一个特定的镜像属性,会覆盖掉使用云主机类型的行为。

随机数生成器

如果通过实例镜像的属性为实例添加了一块随机数生成器设备,可使用下面来启用和配置此设备:

$ nova flavor-key FLAVOR-NAME set hw_rng:allowed=True
$ nova flavor-key FLAVOR-NAME set hw_rng:rate_bytes=RATE-BYTES
$ nova flavor-key FLAVOR-NAME set hw_rng:rate_period=RATE-PERIOD

地点:

  • RATE-BYTES—(Integer) Allowed amount of bytes that the guest can read from the host's entropy per period.

  • RATE-PERIOD—(Integer) Duration of the read period in seconds.

项目私有云主机类型

云主机类型可以分配给特定的项目。默认情况下,一个云主机类型是公有的且所有项目均可用。私有云主机类型仅能让访问列表中项目访问,且对其它项目不可见。要为某项目创建和分配一个私有云主机类型,运行下面命令:

$ nova flavor-create --is-public false p1.medium auto 512 40 4
$ nova flavor-access-add 259d06a0-ba6d-4e60-b42d-ab3144411d58 86f94150ed744e08be565c2ff608eef9
Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...