警告

NOTICE: THIS DOCUMENTATION SITE HAS BEEN SUPERSEDED.

For the current documentation site goto: http://docs.cloudstack.apache.org

服务方案

除了云中的物理和逻辑基础设施以及 CloudStack 软件和服务器,你还需要一个用户服务层以便让人们能够真正利用云。这不仅仅意味这一个用户界面,而是一组用户可选择的选项和资源,如通过模版创建虚拟机,磁盘存储等等。如果您正在运行一个商业服务,您将可以跟踪服务和用户资源的使用以及使用计费情况。即使你不对使用云的人收费,-比如说,用户是你的内部组织,或只是你的朋友共享你的云 - 你仍然可以跟踪他们所使用的服务以及有多少人。

服务方案,磁盘方案,网络方案和模版

用户可以根据不同的功能和特性来创建新的实例,CloudStack提供了几种方法供用户选择以便创建一个新的实例:

  • 服务方案,由CloudStack管理员定义,提供了CPU速率,CPU核数,内存大小,根磁盘标签等多种选项供选择。可参阅创建新的计算方案。
  • 磁盘方案,由CloudStack管理员定义,针对主数据存储提供磁盘大小和IOPS(QOS)等选项供选择。可参阅创建新的磁盘方案。
  • 网络方案,由 CloudStack 管理员定义,约定来宾网络中虚拟路由器或外部网络设备提供给终端用户可用的功能描述集。
  • 模版,由CloudStack管理员或其他CloudStack用户定义,用户创建新的实例时可选择的基本操作系统镜像。例如,CloudStack中包含的CentOS模版。可参阅使用模版。

除了给用户提供了这些选择,还有另一种类型的服务方案只提供给CloudStack管理员,用于配置虚拟基础设施资源。欲了解更多信息,请参阅使用系统服务方案升级虚拟路由器。

计算和磁盘服务方案

一个服务方案是一个虚拟硬件特征集合,比如 CPU 核心数量和速度,内存,已经磁盘大小。 CloudStack 管理员可以建立各种方案,接着终端用户在建立一个新虚拟机时就可以选择可用方案。基于用户的选择方案, CloudStack 可以发送整合在计费系统中的使用记录。

CloudStack 管理员必须定义一些服务方案的特征,同时留下一些未定义的,让终端用户输入自己需要的值。这个对于降低 CloudStack 管理员定义的方案的数量很有用处。代替为每个用户定义一个他们想要可能组合值的计算方案,管理员可以为用户定义灵活的计算方案,并作为基本的若干不同虚拟机配置。

一个服务方案包含以下元素:

  • 必备的CPU,内存和网络资源
  • 如何计算资源
  • 使用资源如何收费
  • 产生了多少费用

比如,一个服务方案允许用户创建一个虚拟机实例,这个实例等于: 1 GHz Intel® Core™ 2 CPU, $0.20/hour 的 1G 内存, $0.10/GB. 的网络流量。

CloudStack 把服务方案分割为计算方案和磁盘放哪。计算方案指定:

  • 来宾 CPU(可选)。如果 CloudStack 管理员未定义,用户可选择 CPU 特性。
  • 来宾 RAM ( 可选)。如果 CloudStack 管理员未定义,用户可选择 RAM。
  • 来宾网络类型(虚拟或者直连)
  • 根磁盘标签

磁盘方案特指:

  • 磁盘大小 (可选)。如果 CloudStack 管理员未定义,用户可选择磁盘大小。
  • 数据磁盘标签

自定义计算方案

CloudStack provides you the flexibility to specify the desired values for the number of CPU, CPU speed, and memory while deploying a VM. As an admin, you create a Compute Offering by marking it as custom, and the users will be able to customize this dynamic Compute Offering by specifying the memory, and CPU at the time of VM creation or upgrade. Custom Compute Offering is same as the normal Compute Offering except that the values of the dynamic parameters will be set to zeros in the given set of templates. Use this offering to deploy VM by specifying custom values for the dynamic parameters. Memory, CPU and number of CPUs are considered as dynamic parameters.

动态计算方案可以在下列情况下使用:部署虚拟机,改变停止状态虚拟机和运行中的虚拟机的计算方案,单独扩容。为了支持此功能的新字段,自定义,已经被添加到创建计算方案页面。如果自定义字段被选中,用户将可以通过填写所需 CPU ,CPU 速度和内存数量的值来创建自定义计方案。看到了吗?有关它的更多信息。

Recording Usage Events for Dynamically Assigned Resources.

为了支持该功能,使用事件已经被增强到动态分配资源注册事件中。当从一个自定义计算方案创建一个虚拟机时,使用事件被注册,并紧接更改处于停止状态或者运行状态虚拟机的计算方案。如 CPU ,速度,RAM 这些参数的值被记录下来。

创建一个新的计算方案

为了创建一个新的计算方案

  1. 以管理员权限登录CloudStack用户界面。

  2. 在左侧导航栏中,点击 服务方案。

  3. 选择方案中,选择计算方案

  4. 点击 添加计算方案

  5. 在对话框中,选择如下操作:

    • ** 名称 **: 服务方案所需的名称。

    • ** 描述 ** :显示给用户的简短方案描述。

    • ** 存储类型 *:磁盘类型应该被分配。系统VM 运行时所在主机挂载的存储作为本地分配。通过 NFS 可访问的存储作为 共享分配。

    • ** 自定义 ** :自定义计算方案使用在以下场景:部署虚拟机,改变停止状态和运行中虚拟机的计算方案,仅仅为了扩大规模。

      如果自定义字段被选中,最终用户必须为CPU,CPU速度和RAM存储器的数量所需的值使用自定义计算产品时填写。当您选中该复选框,这三个输入字段隐藏在该对话框。

    • # of CPU cores: 在该方案中分配核心数量给系统 VM , 如果选择自定义,该区域不会出现。

    • ** CPU (in MHz) **: 分配给系统 VM 的 CPU 核心速度。比如 “ 2000 ” 将提供 2 GHz 时钟频率。如果选择订制,该区域不会出现

    • ** Memory (in MB) **: 分配给系统 VM 的内存M数。比如,, “ 2048 ” 应该提供 2 G RAM。如果选择订制,该区域不会出现。

    • 网络速度: 允许的数据传输速度(MB/秒)。

    • ** 磁盘读取速率 ** :磁盘每秒允许读取的bit数

    • ** 磁盘写入速率 **: 磁盘每秒允许写入的bit数。

    • ** 磁盘读取速率 ** : IPOS (每秒的输入/输出操作 )中运行磁盘读取的速率

    • ** 磁盘写入速率 ** : IPOS (每秒的输入/输出操作 )中运行磁盘写入的速率

    • ** HA 方案 ** : 如果必要,管理员可以选择监控系统 VM 和尽可能采用高可用。

    • QoS Type: Three options: Empty (no Quality of Service), hypervisor (rate limiting enforced on the hypervisor side), and storage (guaranteed minimum and maximum IOPS enforced on the storage side). If leveraging QoS, make sure that the hypervisor or storage system supports this feature.

    • Custom IOPS: If checked, the user can set their own IOPS. If not checked, the root administrator can define values. If the root admin does not set values when using storage QoS, default values are used (the defauls can be overridden if the proper parameters are passed into CloudStack when creating the primary storage in question).

    • Min IOPS: Appears only if storage QoS is to be used. Set a guaranteed minimum number of IOPS to be enforced on the storage side.

    • Max IOPS: Appears only if storage QoS is to be used. Set a maximum number of IOPS to be enforced on the storage side (the system may go above this limit in certain circumstances for short intervals).

    • Hypervisor Snapshot Reserve: For managed storage only. This is a value that is a percentage of the size of the root disk. For example: if the root disk is 20 GB and Hypervisor Snapshot Reserve is 200%, the storage volume that backs the storage repository (XenServer) or datastore (VMware) in question is sized at 60 GB (20 GB + (20 GB * 2)). This enables space for hypervisor snapshots in addition to the virtual disk that represents the root disk. This does not apply for KVM.

    • ** 存储标签 ** :这个标签应该和系统 VM 使用的主存储相关联。

    • ** 主机标签 ** :(可选)用于组织你的主机的任何标签。

    • ** CPU 容量 ** : 是否限制CPU使用率的水平,即使备用容量仍可用。

    • ** 公共 ** : 指明系统方案是对所有域或者部分域是否可用。 选择 Yes 则所有域可用。选择 No 则限制一定范围的域可用; CloudStack 会给出一个字域名字提示。

    • ** 隔离 ** : 如果选中,从这个服务方案创建的虚拟机重启复位后都会有自己的根磁盘。这对于需要通过重启获得全新开始和无需保持桌面状态的安全环境中非常有用。

    • ** 部署方案 ** :当部署基于这个服务方案的虚拟机时,你会让 CloudStack 选择使用这个技术。

      首先,存放新虚拟机的第一台主机必须有足够的容量来满足虚拟机的要求。

      User Dispersing makes the best effort to evenly distribute VMs belonging to the same account on different clusters or pods.

      用户更倾向于集中部署同一帐户内的虚拟机在单一提供点.

      默认将虚拟机部署在特定域或账户的专属基础设施中。如果你选择,那么你必须为规划者参考 “ 为账号和域指定资源 ”.

      裸机协同全裸机使用。参考安装向导中的全裸机安装。

    • ** 方案模式 ** :当在之前场景中默认指定方案被选中时使用。方案模式决定了在分享的单独域或账户的私有基础架构中部署多少虚拟机。

      严禁:一个主机禁止通过多个账号共享。例如,严格默认指定对于部署的某些应用是有用处的,例如,在无隔离桌面软件授权主机上不能在不同账号间进行桌面共享。

      优先:VM 尽可能的部署在专属基础架构。否则部署在共享基础架构。

    • GPU: Assign a physical GPU(GPU-passthrough) or a portion of a physicalGPU

      GPU card(vGPU) to the guest VM. It allows graphical applications to run on the VM. Select the card from the supported list of cards.

      The options given are NVIDIA GRID K1 and NVIDIA GRID K2. These are vGPU capable cards that allow multiple vGPUs on a single physical GPU. If you want to use a card other than these, follow the instructions in the “GPU and vGPU support for CloudStack Guest VMs” page in the Cloudstack Version 4.4 Design Docs found in the Cloudstack Wiki.

    • vGPU Type: Represents the type of virtual GPU to be assigned to a guest VM. In this case, only a portion of a physical GPU card (vGPU) is assigned to the guest VM.

      Additionally, the passthrough vGPU type is defined to represent a physical GPU device. A passthrough vGPU can directly be assigned to a single guest VM. In this case, a physical GPU device is exclusively allotted to a single guest VM.

  6. 点击 添加

创建一个新的磁盘方案

为了创建一个新的磁盘方案

  1. 以管理员权限登录CloudStack用户界面。
  2. 在左侧导航栏中,点击 服务方案。
  3. 在选择方案中,选择 磁盘方案
  4. 点击 添加磁盘方案
  5. 在对话框中,选择如下操作:
    • Name: Any desired name for the disk offering.
    • ** 描述 ** :显示给用户的简短方案描述。
    • Custom Disk Size: If checked, the user can set their own disk size. If not checked, the root administrator must define a value in Disk Size.
    • Disk Size: Appears only if Custom Disk Size is not selected. Define the volume size in GB (2^30 1GB = 1,073,741,824 Bytes).
    • QoS Type: Three options: Empty (no Quality of Service), hypervisor (rate limiting enforced on the hypervisor side), and storage (guaranteed minimum and maximum IOPS enforced on the storage side). If leveraging QoS, make sure that the hypervisor or storage system supports this feature.
    • Custom IOPS: If checked, the user can set their own IOPS. If not checked, the root administrator can define values. If the root admin does not set values when using storage QoS, default values are used (the defauls can be overridden if the proper parameters are passed into CloudStack when creating the primary storage in question).
    • Min IOPS: Appears only if storage QoS is to be used. Set a guaranteed minimum number of IOPS to be enforced on the storage side.
    • Max IOPS: Appears only if storage QoS is to be used. Set a maximum number of IOPS to be enforced on the storage side (the system may go above this limit in certain circumstances for short intervals).
    • Hypervisor Snapshot Reserve: For managed storage only. This is a value that is a percentage of the size of the data disk. For example: if the data disk is 20 GB and Hypervisor Snapshot Reserve is 200%, the storage volume that backs the storage repository (XenServer) or datastore (VMware) in question is sized at 60 GB (20 GB + (20 GB * 2)). This enables space for hypervisor snapshots in addition to the virtual disk that represents the data disk. This does not apply for KVM.
    • (Optional)Storage Tags: The tags that should be associated with the primary storage for this disk. Tags are a comma separated list of attributes of the storage. For example “ssd,blue”. Tags are also added on Primary Storage. CloudStack matches tags on a disk offering to tags on the storage. If a tag is present on a disk offering that tag (or tags) must also be present on Primary Storage for the volume to be provisioned. If no such primary storage exists, allocation from the disk offering will fail..
    • ** 公共 ** : 指明系统方案是对所有域或者部分域是否可用。 选择 Yes 则所有域可用。选择 No 则限制一定范围的域可用; CloudStack 会给出一个字域名字提示。
  6. 点击 添加

修改或删除一个服务方案

服务方案一旦被创建则不能被修改。这个特性同样适用于计算方案和磁盘方案。

系统服务方案可以被删除。它不再处于使用中,它可以被立即永久删除。如果服务方案处于使用中,它会留在数据库中,直到所有引用它的虚拟机被删除。管理员删除后,管理员创建新的虚拟机时这个服务方案将不可用。

系统服务方案

系统服务方案提供CPU速度,CPU数量,标签和RAM大小的选择,就像其他服务方案那样。但不被用于虚拟机实例和暴露给用户,系统服务方案是用来改变虚拟路由器,console 代理,和其他系统的虚拟机的默认属性。系统服务方案只对 CloudStack中 root 管理员是可见的。CloudStack 提供默认的系统管理方案。CloudStack 中 root 管理员可以创建其他自定义系统服务方案。

当 CloudStack 中创建一个虚拟路由器的来宾网络,它使用系统服务方案中的默认设置和网络方案进行关联。你可以通过应用包含不同的系统服务方案的网络方案升级的虚拟路由器的功能。该网络中的所有虚拟路由器将使用来自新服务方案的设置。

创建一个新的系统服务方案

为了创建一个系统服务方案:

  1. 以管理员权限登录CloudStack用户界面。
  2. 在左侧导航栏中,点击 服务方案。
  3. 在选择方案中,选择 系统方案
  4. 点击 添加系统服务方案
  5. 在对话框中,选择如下操作:
    • 名称。系统方案任意名称。
    • 描述。显示给用户的方案简短描述。
    • 系统 VM 类型。选中方案支持的系统虚拟机的类型。
    • 存储类型。应该指明磁盘类型。运行中的虚拟机所在主机关联的存储采用本地分配。通过 NFS 可访问存储共享分配。
    • # CPU 核心。方案中提供给系统 VM 可分配的核心数量。
    • CPU ( MHz )。 分配给系统 VM CPU 核心频率。例如,” 2000 “ 将提供一个2 GHz 时钟。
    • 内存 ( MB )。系统 VM 应该总计分配兆字节内存。例如,” 2048 “ 应该分配 2GB RAM.
    • 网络速率。每秒允许传输多少 MB 数据。
    • 提供HA。如果提供,管理员可以为监控系统 VM 并且提供必要的高可用。
    • 存储标签。它应该和系统 VM 使用的主存储相关联。
    • 主机标签。 ( 可选 )你可以选择任何标签用于规范你的主机。
    • CPU 容量。是否限制 CPU 使用水平不管是否还有可用的空闲容量。
    • ** 公共 ** : 指明系统方案是对所有域或者部分域是否可用。 选择 Yes 则所有域可用。选择 No 则限制一定范围的域可用; CloudStack 会给出一个子域名字提示。
  6. 点击 添加

网络限速

网络限速是基于明确规则来控制网络访问和带宽使用率的一个进程。 CloudStack 中通过网络速率参数来控制来宾网络在云中的行为。这个参数定义一个来宾网络允许的默认数据传输速率为 Mbps (兆比特每秒)。它定义了网络利用上限。如果目前的使用率低于允许的上限,则允许访问,否则拒绝。

你可以在大型云环境中通过限制一些账户明确的使用率或拥塞控制来节省网络带宽。以下是可以在你的云中进行配置的网络速率:

  • 网络方案
  • 服务方案
  • 全局参数

服务方案中如果网络速率设置为 NULL , vm.network.throttling.rate 值作为全局参数被应用。网络方案中如果这个值设置为 NULL 。network.throttling.rate 值被看做全局参数。

对于默认的公共,存储和管理网络,网络速度被设置为0,这意味着,公共,存储和管理网络默认不被限制带宽。对于默认来宾网络,网络速率设置为 NULL 。在这种情况下,网络速率被默认为全局参数值。

你可以在大型云环境中通过限制一些账户明确的使用率或拥塞控制来节省网络带宽。以下是可以在你的云中进行配置的网络速率:

网络 网络速率起源
来宾网络虚拟路由器 来宾网络方案
公网网络虚拟路由器 来宾网络方案
辅助存储 VM 的存储网络 系统网络方案
辅助存储 VM 的管理网络 系统网络方案
Console 代理 VM 的存储网络 系统网络方案
Console 代理 VM 的管理玩了过 系统网络方案
虚拟路由器的存储网络 系统网络方案
虚拟路由器的管理网络 系统网络方案
辅助存储 VM 的公共网络 系统网络方案
Console 代理 VM 的公共玩了过 系统网络方案
Console 代理 VM 的默认网络 计算方案
来宾 VM 的附加网络 对应的网络方案

一个来宾虚拟机必须有一个默认网络,也可拥有多个附加网。根据各种参数,如主机和虚拟交换机使用,你可以观察到在云网络中的不同速率。例如,在 VMware 主机的实际网络速率依赖于其他配置( 计算方案,网络方案,或两者兼有 );网络类型( 共享或隔离 )和流量方向( 入口或出口 )。

CloudStack 中特定网络使用网络方案的网络速率设置将应用到端口组的流量整形策略中。例如:端口组 A , 网络 : 现实网络的特定子网或 VLAN 。网络通过虚拟路由器连接端口组 A ,同时网络中默认实例也连接该端口组。尽管如此,如果通过设置了网络速率的计算方案部署虚拟机,并且如果这个网络速率通过流量整形策略应用到其他端口组。例如端口组 B , 使用该计算方案的实例连接到端口组 B 将 替换到端口组 A 的连接。

VMWARE中基于标准端口组流量整形策略只被应用于出口流量,并且网络效果依赖于 CloudStack 中使用的网络类型。共享网络中,不限制 CloudStack 入口流量,同时限制出口流量到任何实例应用到端口组的速率。如果计算方案配置了网络速率,速率应用到出口流量,否则应用网络方案的网络速率设置。对于隔离网络,网络方案设置网络速率,如果明确了范围,会对入口流量产生影响。这个主要是因为网络方案的网络速率设置应用在虚拟路由器到实例之间的出口流量上。在一定范围内,实例通过端口组速率限制出口流量,这个和共享网络类似。

例如:

网络方案网络速率 = 10 Mbps

计算方案网络速率 = 200 Mbps

共享网络中。CloudStack 这种进入流量不进行限制,同时出口流量限制为 200 Mbps。隔离网络入口流量限制为 10 Mbps,同时出口流量限制到 200 Mbps

修改系统 VM 的默系统方案

你可认为的修改一个特殊系统 VM 的系统方案。此外,作为一个 CloudStack 管理员,你也可以改变系统 VM 使用的默认系统方案。

  1. 创建一个新的系统方案

    获取更多信息,查看 创建一个新的系统服务方案

  2. 备份数据库:

    mysqldump -u root -p cloud | bzip2 > cloud_backup.sql.bz2
    
  3. 打开一个 MySQL 提示:

    mysql -u cloud -p cloud
    
  4. 在 cloud 数据库运行以下查询。

    1. 在磁盘 _offering 表,验证原始默认方案和你想默认使用的新方案。

      记录新方案的 ID

      select id,name,unique_name,type from disk_offering;
      
    2. 对于原始默认方案,设置 _name 唯一值为 NULL

      # update disk_offering set unique_name = NULL where id = 10;
      

      确保你使用正确的 ID 值

    3. 对于你想使用默认值的新方案,参照以下进行唯一 _name 值设置:

      对于默认控制台代理虚拟机 ( CPVM )方案, 设置唯一 _name 为 ‘ Cloud.com-ConsoleProxy ‘。对于默认辅助存储虚拟机 ( SSVM ) 方案, 设置唯一 _name 为 ‘ Cloud.com-SecondaryStorage ‘。例如:

      update disk_offering set unique_name = 'Cloud.com-ConsoleProxy' where id = 16;
      
  5. 重启 CloudStack 管理器服务器。因为默认方案启动时被加载到内存,要求重启。

    service cloudstack-management restart
    
  6. 销毁存在的 CPVM 或 SSVM 方案,并等待它们重建。 通过新的系统方案配置新的 CPVM 或 SSVM。