# SOME DESCRIPTIVE TITLE.
# Copyright (C)
# This file is distributed under the same license as the Apache CloudStack Administration Documentation package.
# 
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Apache CloudStack Administration RTD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-06-30 12:52+0200\n"
"PO-Revision-Date: 2014-06-30 12:04+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/apache-cloudstack-administration-rtd/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"

# 003ddcd4027d44e1bae1560113612be3
#: ../../service_offerings.rst:18
msgid "Service Offerings"
msgstr "服务方案"

# db77c1944ac947e79b5c76bac2c1cc4d
#: ../../service_offerings.rst:20
msgid ""
"In addition to the physical and logical infrastructure of your cloud and the"
" CloudStack software and servers, you also need a layer of user services so "
"that people can actually make use of the cloud. This means not just a user "
"UI, but a set of options and resources that users can choose from, such as "
"templates for creating virtual machines, disk storage, and more. If you are "
"running a commercial service, you will be keeping track of what services and"
" resources users are consuming and charging them for that usage. Even if you"
" do not charge anything for people to use your cloud – say, if the users are"
" strictly internal to your organization, or just friends who are sharing "
"your cloud – you can still keep track of what services they use and how much"
" of them."
msgstr "除了云中的物理和逻辑基础设施以及 CloudStack 软件和服务器，你还需要一个用户服务层以便让人们能够真正利用云。这不仅仅意味这一个用户界面，而是一组用户可选择的选项和资源，如通过模版创建虚拟机，磁盘存储等等。如果您正在运行一个商业服务，您将可以跟踪服务和用户资源的使用以及使用计费情况。即使你不对使用云的人收费，-比如说，用户是你的内部组织，或只是你的朋友共享你的云 - 你仍然可以跟踪他们所使用的服务以及有多少人。"

# eac4f2f6a6f346d991640acd102c8d0f
#: ../../service_offerings.rst:34
msgid "Service Offerings, Disk Offerings, Network Offerings, and Templates"
msgstr "服务方案，磁盘方案，网络方案和模版"

# f620092a7ebb41d79ed21c4a5c81d56c
#: ../../service_offerings.rst:36
msgid ""
"A user creating a new instance can make a variety of choices about its "
"characteristics and capabilities. CloudStack provides several ways to "
"present users with choices when creating a new instance:"
msgstr "用户可以根据不同的功能和特性来创建新的实例，CloudStack提供了几种方法供用户选择以便创建一个新的实例:"

# ab361873de2144c095169458d8a25cb1
#: ../../service_offerings.rst:40
msgid ""
"Service Offerings, defined by the CloudStack administrator, provide a choice"
" of CPU speed, number of CPUs, RAM size, tags on the root disk, and other "
"choices. See Creating a New Compute Offering."
msgstr "服务方案，由CloudStack管理员定义，提供了CPU速率，CPU核数，内存大小，根磁盘标签等多种选项供选择。可参阅创建新的计算方案。"

# 1044e18059f346f9ac414afad0f176ff
#: ../../service_offerings.rst:44
msgid ""
"Disk Offerings, defined by the CloudStack administrator, provide a choice of"
" disk size and IOPS (Quality of Service) for primary data storage. See "
"Creating a New Disk Offering."
msgstr "磁盘方案，由CloudStack管理员定义，针对主数据存储提供磁盘大小和IOPS(QOS)等选项供选择。可参阅创建新的磁盘方案。"

# 8fa5935f6811416784633a016e64dff9
#: ../../service_offerings.rst:48
msgid ""
"Network Offerings, defined by the CloudStack administrator, describe the "
"feature set that is available to end users from the virtual router or "
"external networking devices on a given guest network. See Network Offerings."
msgstr "网络方案，由 CloudStack 管理员定义，约定来宾网络中虚拟路由器或外部网络设备提供给终端用户可用的功能描述集。"

# 0e8bd7f2f14a4d698ef10eb8f7bd3059
#: ../../service_offerings.rst:53
msgid ""
"Templates, defined by the CloudStack administrator or by any CloudStack "
"user, are the base OS images that the user can choose from when creating a "
"new instance. For example, CloudStack includes CentOS as a template. See "
"Working with Templates."
msgstr "模版，由CloudStack管理员或其他CloudStack用户定义，用户创建新的实例时可选择的基本操作系统镜像。例如，CloudStack中包含的CentOS模版。可参阅使用模版。"

# 52afe58166814f258c3426dd55249f7d
#: ../../service_offerings.rst:58
msgid ""
"In addition to these choices that are provided for users, there is another "
"type of service offering which is available only to the CloudStack root "
"administrator, and is used for configuring virtual infrastructure resources."
" For more information, see Upgrading a Virtual Router with System Service "
"Offerings."
msgstr "除了给用户提供了这些选择，还有另一种类型的服务方案只提供给CloudStack管理员，用于配置虚拟基础设施资源。欲了解更多信息，请参阅使用系统服务方案升级虚拟路由器。"

# b05b989a07394a3eafabebb48aeaa29b
#: ../../service_offerings.rst:66
msgid "Compute and Disk Service Offerings"
msgstr "计算和磁盘服务方案"

# 494d86b3d06340ab855b7df7a298410a
#: ../../service_offerings.rst:68
msgid ""
"A service offering is a set of virtual hardware features such as CPU core "
"count and speed, memory, and disk size. The CloudStack administrator can set"
" up various offerings, and then end users choose from the available "
"offerings when they create a new VM. Based on the user’s selected offering, "
"CloudStack emits usage records that can be integrated with billing systems."
msgstr "一个服务方案是一个虚拟硬件特征集合，比如 CPU 核心数量和速度，内存，已经磁盘大小。 CloudStack 管理员可以建立各种方案，接着终端用户在建立一个新虚拟机时就可以选择可用方案。基于用户的选择方案， CloudStack 可以发送整合在计费系统中的使用记录。"

# d5a6cbcc11594496b3347a195f561c03
#: ../../service_offerings.rst:75
msgid ""
"Some characteristics of service offerings must be defined by the CloudStack "
"administrator, and others can be left undefined so that the end-user can "
"enter their own desired values. This is useful to reduce the number of "
"offerings the CloudStack administrator has to define. Instead of defining a "
"compute offering for every imaginable combination of values that a user "
"might want, the administrator can define offerings that provide some "
"flexibility to the users and can serve as the basis for several different VM"
" configurations."
msgstr "CloudStack 管理员必须定义一些服务方案的特征，同时留下一些未定义的，让终端用户输入自己需要的值。这个对于降低 CloudStack  管理员定义的方案的数量很有用处。代替为每个用户定义一个他们想要可能组合值的计算方案，管理员可以为用户定义灵活的计算方案，并作为基本的若干不同虚拟机配置。"

# 57a11b0d87cd4cb6bd64aa2c1b61db19
#: ../../service_offerings.rst:84
msgid "A service offering includes the following elements:"
msgstr "一个服务方案包含以下元素："

# 314c7c80394a45fe9bd7869f420d84b0
#: ../../service_offerings.rst:86
msgid "CPU, memory, and network resource guarantees"
msgstr "必备的CPU,内存和网络资源"

# b88f65b187394191a414ccf797fb3c8a
#: ../../service_offerings.rst:88
msgid "How resources are metered"
msgstr "如何计算资源"

# 0f00c0ffe83246cdbebaae3ad3295fb6
#: ../../service_offerings.rst:90
msgid "How the resource usage is charged"
msgstr "使用资源如何收费"

# 168105b5e4554db0b0cb46f61c6763c3
#: ../../service_offerings.rst:92
msgid "How often the charges are generated"
msgstr "产生了多少费用"

# 4ed86a2b44c647c4991679260cf019f9
#: ../../service_offerings.rst:94
msgid ""
"For example, one service offering might allow users to create a virtual "
"machine instance that is equivalent to a 1 GHz Intel® Core™ 2 CPU, with 1 GB"
" memory at $0.20/hour, with network traffic metered at $0.10/GB."
msgstr "比如，一个服务方案允许用户创建一个虚拟机实例，这个实例等于： 1 GHz Intel® Core™ 2 CPU,  $0.20/hour 的 1G 内存,   $0.10/GB. 的网络流量。"

# c41f30feb0b442d4b39c95168d4ea2cc
#: ../../service_offerings.rst:98
msgid ""
"CloudStack separates service offerings into compute offerings and disk "
"offerings. The compute service offering specifies:"
msgstr "CloudStack 把服务方案分割为计算方案和磁盘放哪。计算方案指定："

# 03b79e1695f6418596fbf3dfdae6fdf5
#: ../../service_offerings.rst:101
msgid ""
"Guest CPU (optional). If not defined by the CloudStack administrator, users "
"can pick the CPU attributes."
msgstr "来宾 CPU（可选）。如果 CloudStack 管理员未定义，用户可选择 CPU 特性。"

# a9484632eacc49aaaa151b0462236017
#: ../../service_offerings.rst:104
msgid ""
"Guest RAM (optional). If not defined by the CloudStack administrator, users "
"can pick the RAM."
msgstr "来宾 RAM ( 可选)。如果 CloudStack 管理员未定义，用户可选择 RAM。"

# 8566fe8312914c68bedcb2c81b3c0c7b
#: ../../service_offerings.rst:107
msgid "Guest Networking type (virtual or direct)"
msgstr "来宾网络类型（虚拟或者直连）"

# 083cf96ec0c24344baef88ec1b1b562b
#: ../../service_offerings.rst:109
msgid "Tags on the root disk"
msgstr "根磁盘标签"

# 49478998f1fc4c37a9278a56f4e95eac
#: ../../service_offerings.rst:111
msgid "The disk offering specifies:"
msgstr "磁盘方案特指："

# e819601d04c3430f97d349bc00ef953b
#: ../../service_offerings.rst:113
msgid ""
"Disk size (optional). If not defined by the CloudStack administrator, users "
"can pick the disk size."
msgstr "磁盘大小 （可选）。如果 CloudStack 管理员未定义，用户可选择磁盘大小。"

# a4d4936154c4482d889d800ccf8426ef
#: ../../service_offerings.rst:116
msgid "Tags on the data disk"
msgstr "数据磁盘标签"

# a561332470b74e3e90cdf9bcabe2317e
#: ../../service_offerings.rst:120
msgid "Custom Compute Offering"
msgstr "自定义计算方案"

# 55f34a846c444887ad4349ad37fe65f8
#: ../../service_offerings.rst:122
msgid ""
"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."
msgstr " 部署虚拟机时，CloudStack 为你灵活地提供指定的 CPU 数量，CPU 速度和内存需要的值。作为管理员，你通过标记为自定义创建一个新的计算方案，并且用户将能够在虚拟机创建和更新时动态的定制计算方案的内存和 CPU 。自定义计算方案和普通的计算方案一样，除了在模板中配置为0的动态参数。使用该方案通过为动态参数指定自定义值来部署虚拟机。内存，CPU 和 CPU 数量被认为是动态参数。"

# 50cd9056418842c08eb28fdce54e3deb
#: ../../service_offerings.rst:133
msgid ""
"Dynamic Compute Offerings can be used in following cases: deploying a VM, "
"changing the compute offering of a stopped VM and running VMs, which is "
"nothing but scaling up. To support this feature a new field, Custom, has "
"been added to the Create Compute Offering page. If the Custom field is "
"checked, the user will be able to create a custom Compute Offering by "
"filling in the desired values for number of CPU, CPU speed, and memory. See "
"? for more information on this."
msgstr "动态计算方案可以在下列情况下使用：部署虚拟机，改变停止状态虚拟机和运行中的虚拟机的计算方案，单独扩容。为了支持此功能的新字段，自定义，已经被添加到创建计算方案页面。如果自定义字段被选中，用户将可以通过填写所需 CPU ，CPU 速度和内存数量的值来创建自定义计方案。看到了吗？有关它的更多信息。"

# efbe01f182224e6a96c59f3165e87c47
#: ../../service_offerings.rst:141
msgid "*Recording Usage Events for Dynamically Assigned Resources*."
msgstr "* 记录动态分配资源使用事件 * "

# b098284613414134b2cd3e2527db633b
#: ../../service_offerings.rst:143
msgid ""
"To support this feature, usage events has been enhanced to register events "
"for dynamically assigned resources. Usage events are registered when a VM is"
" created from a custom compute offering, and upon changing the compute "
"offering of a stopped or running VM. The values of the parameters, such as "
"CPU, speed, RAM are recorded."
msgstr "为了支持该功能，使用事件已经被增强到动态分配资源注册事件中。当从一个自定义计算方案创建一个虚拟机时，使用事件被注册，并紧接更改处于停止状态或者运行状态虚拟机的计算方案。如 CPU ，速度，RAM 这些参数的值被记录下来。"

# 64a1b09cdfbd4e95b1fcdf2ba0db010b
#: ../../service_offerings.rst:151
msgid "Creating a New Compute Offering"
msgstr "创建一个新的计算方案"

# a989d37873d84df993d59a7d089d7cdd
#: ../../service_offerings.rst:153
msgid "To create a new compute offering:"
msgstr "为了创建一个新的计算方案"

# cd40916e685345c99849ac58022fd684
# 3f783f61450b417ea824bafee21771db
# a464ec4a658b4d9884f389505fe3ad18
#: ../../service_offerings.rst:155 ../../service_offerings.rst:276
#: ../../service_offerings.rst:375
msgid "Log in with admin privileges to the CloudStack UI."
msgstr "以管理员权限登录CloudStack用户界面。"

# 430fa2ee248b407f9d4085fb63dd7d77
# 999d0aeef65e43539cf25bcb3f791342
# b51af425528d45d6b50797a303b9badc
#: ../../service_offerings.rst:157 ../../service_offerings.rst:278
#: ../../service_offerings.rst:377
msgid "In the left navigation bar, click Service Offerings."
msgstr "在左侧导航栏中，点击 服务方案。"

# 9d93f2c8859741418b99ea21160f5717
#: ../../service_offerings.rst:159
msgid "In Select Offering, choose Compute Offering."
msgstr "选择方案中，选择计算方案"

# 7167eb3ab24d4bba83156b7b67a2474a
#: ../../service_offerings.rst:161
msgid "Click Add Compute Offering."
msgstr "点击 添加计算方案"

# d66b1055632049b3be191768ce8d3f6f
# 8282a7241f674568b997c0dcd2b08b88
# 22f14b2d47e140ae9fa9f96c736f51f5
#: ../../service_offerings.rst:163 ../../service_offerings.rst:284
#: ../../service_offerings.rst:383
msgid "In the dialog, make the following choices:"
msgstr "在对话框中，选择如下操作："

# 248a64cf597a40f29490a97743581cae
#: ../../service_offerings.rst:165
msgid "**Name**: Any desired name for the service offering."
msgstr "** 名称 **: 服务方案所需的名称。"

# 16069fbe3c51423eba16ddfb98cd4dd2
#: ../../service_offerings.rst:167
msgid ""
"**Description**: A short description of the offering that can be displayed "
"to users"
msgstr "** 描述 ** ：显示给用户的简短方案描述。"

# 347237d86b124a00be0d69850897539d
#: ../../service_offerings.rst:170
msgid ""
"**Storage type**: The type of disk that should be allocated. Local allocates"
" from storage attached directly to the host where the system VM is running. "
"Shared allocates from storage accessible via NFS."
msgstr "** 存储类型 *：磁盘类型应该被分配。系统VM 运行时所在主机挂载的存储作为本地分配。通过 NFS 可访问的存储作为 共享分配。"

# 2740734abb894968ad28ec481f8be6f8
#: ../../service_offerings.rst:175
msgid ""
"**Custom**: Custom compute offerings can be used in following cases: "
"deploying a VM, changing the compute offering of a stopped VM and running "
"VMs, which is nothing but scaling up."
msgstr "** 自定义 ** ：自定义计算方案使用在以下场景：部署虚拟机，改变停止状态和运行中虚拟机的计算方案，仅仅为了扩大规模。"

# ca83dc70a28544378533fd9391d96e06
#: ../../service_offerings.rst:179
msgid ""
"If the Custom field is checked, the end-user must fill in the desired values"
" for number of CPU, CPU speed, and RAM Memory when using a custom compute "
"offering. When you check this box, those three input fields are hidden in "
"the dialog box."
msgstr "如果自定义字段被选中，最终用户必须为CPU，CPU速度和RAM存储器的数量所需的值使用自定义计算产品时填写。当您选中该复选框，这三个输入字段隐藏在该对话框。"

# 8ca7932a8f254ece814179f9c5690c71
#: ../../service_offerings.rst:184
msgid ""
"**# of CPU cores**: The number of cores which should be allocated to a "
"system VM with this offering. If Custom is checked, this field does not "
"appear."
msgstr "**# of CPU cores**:  在该方案中分配核心数量给系统 VM , 如果选择自定义，该区域不会出现。"

# 179de46f279a47c38263160519e05bc8
#: ../../service_offerings.rst:188
msgid ""
"**CPU (in MHz)**: The CPU speed of the cores that the system VM is "
"allocated. For example, “2000” would provide for a 2 GHz clock. If Custom is"
" checked, this field does not appear."
msgstr "** CPU (in MHz) **: 分配给系统 VM 的 CPU 核心速度。比如 “ 2000 ” 将提供 2 GHz 时钟频率。如果选择订制，该区域不会出现"

# b4862e3476024139a5791b56f164bf54
#: ../../service_offerings.rst:192
msgid ""
"**Memory (in MB)**: The amount of memory in megabytes that the system VM "
"should be allocated. For example, “2048” would provide for a 2 GB RAM "
"allocation. If Custom is checked, this field does not appear."
msgstr "** Memory (in MB) **:  分配给系统 VM 的内存M数。比如，, “ 2048 ” 应该提供 2 G  RAM。如果选择订制，该区域不会出现。"

# 75b2531b57c743c1b6077813a925c97c
#: ../../service_offerings.rst:197
msgid "**Network Rate**: Allowed data transfer rate in MB per second."
msgstr "**网络速度**: 允许的数据传输速度（MB/秒）。"

# d8427006117040188afa00c409a53e9c
#: ../../service_offerings.rst:199
msgid "**Disk Read Rate**: Allowed disk read rate in bits per second."
msgstr "** 磁盘读取速率 ** ：磁盘每秒允许读取的bit数"

# d7c08f798b324b0fa241b2bc293d9fe1
#: ../../service_offerings.rst:201
msgid "**Disk Write Rate**: Allowed disk write rate in bits per second."
msgstr "** 磁盘写入速率 **： 磁盘每秒允许写入的bit数。"

# 657abd8d993d47f98da0e15c0842aadd
#: ../../service_offerings.rst:203
msgid ""
"**Disk Read Rate**: Allowed disk read rate in IOPS (input/output operations "
"per second)."
msgstr "** 磁盘读取速率 ** : IPOS (每秒的输入/输出操作 )中运行磁盘读取的速率"

# 41c2fbc1baef42c6b5df3e05a520019a
#: ../../service_offerings.rst:206
msgid ""
"**Disk Write Rate**: Allowed disk write rate in IOPS (input/output "
"operations per second)."
msgstr "** 磁盘写入速率 ** : IPOS (每秒的输入/输出操作 )中运行磁盘写入的速率"

# 1ec28ce24ead4f2486f7368ade10a4e8
#: ../../service_offerings.rst:209
msgid ""
"**Offer HA**: If yes, the administrator can choose to have the system VM be "
"monitored and as highly available as possible."
msgstr "** HA 方案 ** : 如果必要，管理员可以选择监控系统 VM 和尽可能采用高可用。"

# 6d4c0c7c0d8548e3825edabb5d73d731
#: ../../service_offerings.rst:212
msgid ""
"**Storage Tags**: The tags that should be associated with the primary "
"storage used by the system VM."
msgstr "** 存储标签 ** ：这个标签应该和系统 VM 使用的主存储相关联。"

# b730850e604446d89aba06366e8302be
#: ../../service_offerings.rst:215
msgid "**Host Tags**: (Optional) Any tags that you use to organize your hosts"
msgstr "** 主机标签 ** ：（可选）用于组织你的主机的任何标签。"

# 6fb3e5e926cc49038912a81d7d3c1a1c
#: ../../service_offerings.rst:218
msgid ""
"**CPU cap**: Whether to limit the level of CPU usage even if spare capacity "
"is available."
msgstr "** CPU 容量 ** : 是否限制CPU使用率的水平，即使备用容量仍可用。"

# 5eff635b882c422680849b6f7d511fdb
#: ../../service_offerings.rst:221
msgid ""
"**Public**: Indicate whether the service offering should be available all "
"domains or only some domains. Choose Yes to make it available to all "
"domains. Choose No to limit the scope to a subdomain; CloudStack will then "
"prompt for the subdomain's name."
msgstr "** 公共 ** : 指明系统方案是对所有域或者部分域是否可用。 选择 Yes 则所有域可用。选择 No 则限制一定范围的域可用； CloudStack 会给出一个字域名字提示。"

# d401f5f62aaa4778bce3429d100a06de
#: ../../service_offerings.rst:226
msgid ""
"**isVolatile**: If checked, VMs created from this service offering will have"
" their root disks reset upon reboot. This is useful for secure environments "
"that need a fresh start on every boot and for desktops that should not "
"retain state."
msgstr "** 隔离 ** ： 如果选中，从这个服务方案创建的虚拟机重启复位后都会有自己的根磁盘。这对于需要通过重启获得全新开始和无需保持桌面状态的安全环境中非常有用。"

# 7ea10a7203db4d629ba1fc7dfd120b28
#: ../../service_offerings.rst:231
msgid ""
"**Deployment Planner**: Choose the technique that you would like CloudStack "
"to use when deploying VMs based on this service offering."
msgstr "** 部署方案 ** ：当部署基于这个服务方案的虚拟机时，你会让 CloudStack 选择使用这个技术。"

# 09d1468dffad438fa4266aa82987ce0e
#: ../../service_offerings.rst:235
msgid ""
"First Fit places new VMs on the first host that is found having sufficient "
"capacity to support the VM's requirements."
msgstr "首先，存放新虚拟机的第一台主机必须有足够的容量来满足虚拟机的要求。"

# 9a877ddb3dab4ad69db6b5c7627dd22c
#: ../../service_offerings.rst:238
msgid ""
"User Dispersing makes the best effort to evenly distribute VMs belonging to "
"the same account on different clusters or pods."
msgstr " 用户分散尽最大努力均匀分配同一个账户的虚拟机在不同的集群或者提供点。"

# e2716f72710c4569899cebc9a22840ab
#: ../../service_offerings.rst:241
msgid ""
"User Concentrated prefers to deploy VMs belonging to the same account within"
" a single pod."
msgstr "用户更倾向于集中部署同一帐户内的虚拟机在单一提供点."

# 5e285b8b246b49bbb76fdf939e1dc838
#: ../../service_offerings.rst:244
msgid ""
"Implicit Dedication will deploy VMs on private infrastructure that is "
"dedicated to a specific domain or account. If you choose this planner, then "
"you must also pick a value for Planner Mode. See `“Dedicating Resources to "
"Accounts and Domains” <accounts.html#dedicating-resources-to-accounts-and-"
"domains>`_."
msgstr "默认将虚拟机部署在特定域或账户的专属基础设施中。如果你选择，那么你必须为规划者参考 `“ 为账号和域指定资源 ”  <accounts.html#dedicating-resources-to-accounts-and-domains>`_."

# 6e9b2cfece7840a3a281d17fbf4d19cd
#: ../../service_offerings.rst:250
msgid ""
"Bare Metal is used with bare metal hosts. See Bare Metal Installation in the"
" Installation Guide."
msgstr "裸机协同全裸机使用。参考安装向导中的全裸机安装。"

# 3a40b2888d8b4d0bb06501a2d726411d
#: ../../service_offerings.rst:253
msgid ""
"**Planner Mode**: Used when ImplicitDedicationPlanner is selected in the "
"previous field. The planner mode determines how VMs will be deployed on "
"private infrastructure that is dedicated to a single domain or account."
msgstr "** 方案模式 ** :当在之前场景中默认指定方案被选中时使用。方案模式决定了在分享的单独域或账户的私有基础架构中部署多少虚拟机。"

# 8c6a6d1601d5409f9cf07e89162fe229
#: ../../service_offerings.rst:258
msgid ""
"Strict: A host will not be shared across multiple accounts. For example, "
"strict implicit dedication is useful for deployment of certain types of "
"applications, such as desktops, where no host can be shared between "
"different accounts without violating the desktop software's terms of "
"license."
msgstr "严禁：一个主机禁止通过多个账号共享。例如，严格默认指定对于部署的某些应用是有用处的，例如，在无隔离桌面软件授权主机上不能在不同账号间进行桌面共享。"

# 36d35c740f134708ade301fc640503d9
#: ../../service_offerings.rst:264
msgid ""
"Preferred: The VM will be deployed in dedicated infrastructure if possible. "
"Otherwise, the VM can be deployed in shared infrastructure."
msgstr "优先：VM 尽可能的部署在专属基础架构。否则部署在共享基础架构。"

# 094aad8be1574fa385667bebf06ed3b6
# 857fa2723e0b4bf4916f435ba0604892
# ac56513abaae4c1895b390a2f0333ab0
#: ../../service_offerings.rst:268 ../../service_offerings.rst:333
#: ../../service_offerings.rst:426
msgid "Click Add."
msgstr "点击 添加"

# 1a46fadd2f3a42c68b8cdeef05745eca
#: ../../service_offerings.rst:272
msgid "Creating a New Disk Offering"
msgstr "创建一个新的磁盘方案"

# 06fce5a6dad94dfa84eed86ae00ec617
#: ../../service_offerings.rst:274
msgid "To create a new disk offering:"
msgstr "为了创建一个新的磁盘方案"

# d3eb3c404772407da39449916e1953ca
#: ../../service_offerings.rst:280
msgid "In Select Offering, choose Disk Offering."
msgstr "在选择方案中，选择  磁盘方案"

# da2d57c6d441495685b440392d59c162
#: ../../service_offerings.rst:282
msgid "Click Add Disk Offering."
msgstr "点击 添加磁盘方案"

# d178f97b76c84de0bfd097ef93c110d3
#: ../../service_offerings.rst:286
msgid "Name. Any desired name for the disk offering."
msgstr "名字"

# efaecce14927441aa329961c4d485567
# e7bfb9a5943b405a8cae32d04743b528
#: ../../service_offerings.rst:288 ../../service_offerings.rst:387
msgid ""
"Description. A short description of the offering that can be displayed to "
"users"
msgstr "描述。显示给用户的方案简短描述。"

# 4f1a836b18b74aaf94d4ad7e5b83152c
#: ../../service_offerings.rst:291
msgid ""
"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."
msgstr "订制磁盘大小。如果选中，用户可以设置自己磁盘大小。如果没选中，管理员必须定义这个磁盘大小的值。"

# 5663fa2cb649450db44f795449d5dd9f
#: ../../service_offerings.rst:295
msgid ""
"Disk Size. Appears only if Custom Disk Size is not selected. Define the "
"volume size in GB."
msgstr "磁盘大小。只有 订制磁盘大小 未被选择才会显示。按照ＧＢ定义卷大小。"

# d06aab69bbd44359a42d1eaebcb4ca5a
#: ../../service_offerings.rst:298
msgid ""
"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."
msgstr "QoS　类型。三种可选：空 （ 无服务质量）， hypervisor （在 hypervisor侧强制速率限制），存储 （在存储侧保证最小和最大 IOPS)。如需使用 QoS ,确保 hypervisor 或存储系统支持此功能。"

# 665e3b5c270e42979195e2837591595b
#: ../../service_offerings.rst:304
msgid ""
"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)."
msgstr "订制 IOPS 。 如选中，用户可以设置自己的 IOPS。如未被选中，root 管理员则能够定义该值。如果使用存储 QoS时，root 管理员没有设置该值，则采用默认值（如果创建主存储时考虑到对应的参数被传递到 CloudStack 中，则默认值将被覆盖）"

# 3fdd090110144e8fae3a8a6d77e6e426
#: ../../service_offerings.rst:311
msgid ""
"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."
msgstr "最小  IOPS 。只有使用存储 QoS 才会出现。在存储侧进行保障最小 IOPS 数量。"

# 5f904e8920db455192f6af78633b6f22
#: ../../service_offerings.rst:315
msgid ""
"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)."
msgstr "最大 IOPS 。 使用了存储 QoS才会显示。IPOS 最大数量将在存储侧被强制设置（系统可以在短时间内超过这个限制）"

# ea14b97cc586470c8be3da25ef0a3ae1
#: ../../service_offerings.rst:319
msgid ""
"(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.."
msgstr "（可选）存储标签.这个标签应与这个磁盘的主存储相关联。标签以逗号分隔存储的属性列表。比如 \"ssd,blue\". 标签被添加在主存储上。CloudStack 通过标记匹配磁盘方案到主存储。 如果一个标签出（或多个标签）现在磁盘方案里, 那这个标签也必须出现在将要分配这个卷的主存储上。如果这样的主存储不存在, 从这个磁盘方案中进行分配将失败。"

# dda851b25a4c44ae92e6890fb2542e04
# 5034af57e1514329ba054bf08be12e5a
#: ../../service_offerings.rst:328 ../../service_offerings.rst:421
msgid ""
"Public. Indicate whether the service offering should be available all "
"domains or only some domains. Choose Yes to make it available to all "
"domains. Choose No to limit the scope to a subdomain; CloudStack will then "
"prompt for the subdomain's name."
msgstr "** 公共 ** : 指明系统方案是对所有域或者部分域是否可用。 选择 Yes 则所有域可用。选择 No 则限制一定范围的域可用； CloudStack 会给出一个子域名字提示。"

# 5c44a4ba4c074c4caf886309d1aba4f1
#: ../../service_offerings.rst:337
msgid "Modifying or Deleting a Service Offering"
msgstr "修改或删除一个服务方案"

# 5aab86d5c8e443609a4613d0073f7314
#: ../../service_offerings.rst:339
msgid ""
"Service offerings cannot be changed once created. This applies to both "
"compute offerings and disk offerings."
msgstr "服务方案一旦被创建则不能被修改。这个特性同样适用于计算方案和磁盘方案。"

# 1bab2fd909c74ac299118dcd6c9848b4
#: ../../service_offerings.rst:342
msgid ""
"A service offering can be deleted. If it is no longer in use, it is deleted "
"immediately and permanently. If the service offering is still in use, it "
"will remain in the database until all the virtual machines referencing it "
"have been deleted. After deletion by the administrator, a service offering "
"will not be available to end users that are creating new instances."
msgstr "系统服务方案可以被删除。它不再处于使用中，它可以被立即永久删除。如果服务方案处于使用中，它会留在数据库中，直到所有引用它的虚拟机被删除。管理员删除后，管理员创建新的虚拟机时这个服务方案将不可用。"

# 0f1e4fe248f24ff6b4e4f47ef4a4ef55
#: ../../service_offerings.rst:351
msgid "System Service Offerings"
msgstr "系统服务方案"

# 007749e74de54391b1664b4166e80259
#: ../../service_offerings.rst:353
msgid ""
"System service offerings provide a choice of CPU speed, number of CPUs, "
"tags, and RAM size, just as other service offerings do. But rather than "
"being used for virtual machine instances and exposed to users, system "
"service offerings are used to change the default properties of virtual "
"routers, console proxies, and other system VMs. System service offerings are"
" visible only to the CloudStack root administrator. CloudStack provides "
"default system service offerings. The CloudStack root administrator can "
"create additional custom system service offerings."
msgstr "系统服务方案提供CPU速度，CPU数量，标签和RAM大小的选择，就像其他服务方案那样。但不被用于虚拟机实例和暴露给用户，系统服务方案是用来改变虚拟路由器，console 代理，和其他系统的虚拟机的默认属性。系统服务方案只对 CloudStack中 root 管理员是可见的。CloudStack 提供默认的系统管理方案。CloudStack 中 root 管理员可以创建其他自定义系统服务方案。"

# 4201666336094c93ae198477756df881
#: ../../service_offerings.rst:362
msgid ""
"When CloudStack creates a virtual router for a guest network, it uses "
"default settings which are defined in the system service offering associated"
" with the network offering. You can upgrade the capabilities of the virtual "
"router by applying a new network offering that contains a different system "
"service offering. All virtual routers in that network will begin using the "
"settings from the new service offering."
msgstr "当 CloudStack 中创建一个虚拟路由器的来宾网络，它使用系统服务方案中的默认设置和网络方案进行关联。你可以通过应用包含不同的系统服务方案的网络方案升级的虚拟路由器的功能。该网络中的所有虚拟路由器将使用来自新服务方案的设置。"

# f91e393f388b4e6481cd8a71e7f79278
#: ../../service_offerings.rst:371
msgid "Creating a New System Service Offering"
msgstr "创建一个新的系统服务方案"

# 0d2bc72cb0364a098544d79a257c89d8
#: ../../service_offerings.rst:373
msgid "To create a system service offering:"
msgstr "为了创建一个系统服务方案："

# 6e5e507b5bf94c149b3113e07ca5ce03
#: ../../service_offerings.rst:379
msgid "In Select Offering, choose System Offering."
msgstr "在选择方案中，选择 系统方案"

# 42a35e0d5b5e434f8fa210dfa25c0edf
#: ../../service_offerings.rst:381
msgid "Click Add System Service Offering."
msgstr "点击 添加系统服务方案"

# c20bf047c83a44d89017825a2228c46d
#: ../../service_offerings.rst:385
msgid "Name. Any desired name for the system offering."
msgstr "名称。系统方案任意名称。"

# 1d970335d51e46ac9bda9c706759ba65
#: ../../service_offerings.rst:390
msgid ""
"System VM Type. Select the type of system virtual machine that this offering"
" is intended to support."
msgstr "系统 VM 类型。选中方案支持的系统虚拟机的类型。"

# 8086a4f1336049c19479206b751d04ea
#: ../../service_offerings.rst:393
msgid ""
"Storage type. The type of disk that should be allocated. Local allocates "
"from storage attached directly to the host where the system VM is running. "
"Shared allocates from storage accessible via NFS."
msgstr "存储类型。应该指明磁盘类型。运行中的虚拟机所在主机关联的存储采用本地分配。通过 NFS 可访问存储共享分配。"

# 913ba08b0770492cba53d3d247655710
#: ../../service_offerings.rst:398
msgid ""
"# of CPU cores. The number of cores which should be allocated to a system VM"
" with this offering"
msgstr "# CPU 核心。方案中提供给系统 VM 可分配的核心数量。"

# fb5a2f7abf0a4e18b7847db64d898bc2
#: ../../service_offerings.rst:401
msgid ""
"CPU (in MHz). The CPU speed of the cores that the system VM is allocated. "
"For example, \"2000\" would provide for a 2 GHz clock."
msgstr "CPU ( MHz )。 分配给系统 VM CPU 核心频率。例如，” 2000 “ 将提供一个2 GHz 时钟。"

# de2eaf45f59b471b9d37d34ab02ce6e2
#: ../../service_offerings.rst:404
msgid ""
"Memory (in MB). The amount of memory in megabytes that the system VM should "
"be allocated. For example, \"2048\" would provide for a 2 GB RAM allocation."
msgstr "内存 （ MB ）。系统 VM 应该总计分配兆字节内存。例如，” 2048 “ 应该分配 2GB RAM."

# c1d2470c7b62430481a4de61c2356410
#: ../../service_offerings.rst:408
msgid "Network Rate. Allowed data transfer rate in MB per second."
msgstr "网络速率。每秒允许传输多少 MB 数据。"

# a7d7af4efcf94e478441f58eb4ab9ec1
#: ../../service_offerings.rst:410
msgid ""
"Offer HA. If yes, the administrator can choose to have the system VM be "
"monitored and as highly available as possible."
msgstr "提供HA。如果提供，管理员可以为监控系统 VM 并且提供必要的高可用。"

# 41c4d5f0752e44e98e557a65b65a14c0
#: ../../service_offerings.rst:413
msgid ""
"Storage Tags. The tags that should be associated with the primary storage "
"used by the system VM."
msgstr "存储标签。它应该和系统 VM 使用的主存储相关联。"

# 22cd45b0933841f3bf3106245a42af05
#: ../../service_offerings.rst:416
msgid "Host Tags. (Optional) Any tags that you use to organize your hosts"
msgstr "主机标签。 （ 可选 ）你可以选择任何标签用于规范你的主机。"

# c8df696c132647959ca16dcad278053e
#: ../../service_offerings.rst:418
msgid ""
"CPU cap. Whether to limit the level of CPU usage even if spare capacity is "
"available."
msgstr "CPU 容量。是否限制 CPU 使用水平不管是否还有可用的空闲容量。"

# 53c64783d59d4debb2c9c1ebe4a0bb7d
#: ../../service_offerings.rst:430
msgid "Network Throttling"
msgstr "网络限速"

# 26cf64df6529406f922adcedb9234f9f
#: ../../service_offerings.rst:432
msgid ""
"Network throttling is the process of controlling the network access and "
"bandwidth usage based on certain rules. CloudStack controls this behaviour "
"of the guest networks in the cloud by using the network rate parameter. This"
" parameter is defined as the default data transfer rate in Mbps (Megabits "
"Per Second) allowed in a guest network. It defines the upper limits for "
"network utilization. If the current utilization is below the allowed upper "
"limits, access is granted, else revoked."
msgstr "网络限速是基于明确规则来控制网络访问和带宽使用率的一个进程。 CloudStack 中通过网络速率参数来控制来宾网络在云中的行为。这个参数定义一个来宾网络允许的默认数据传输速率为 Mbps （兆比特每秒）。它定义了网络利用上限。如果目前的使用率低于允许的上限，则允许访问，否则拒绝。"

# 27806198975d424082e8dab6ce49f0b4
#: ../../service_offerings.rst:440
msgid ""
"You can throttle the network bandwidth either to control the usage above a "
"certain limit for some accounts, or to control network congestion in a large"
" cloud environment. The network rate for your cloud can be configured on the"
" following:"
msgstr "你可以在大型云环境中通过限制一些账户明确的使用率或拥塞控制来节省网络带宽。以下是可以在你的云中进行配置的网络速率："

# 7432018ff67f4894a723bdca6bff087b
#: ../../service_offerings.rst:445
msgid "Network Offering"
msgstr "网络方案"

# 506188e4ff414063a2491e10c81e51c9
#: ../../service_offerings.rst:447
msgid "Service Offering"
msgstr "服务方案"

# 320ac2d073ce4bf5af25029badc0cdb4
#: ../../service_offerings.rst:449
msgid "Global parameter"
msgstr "全局参数"

# 9c2fc1907fa34cf7b21cefc002bff096
#: ../../service_offerings.rst:451
msgid ""
"If network rate is set to NULL in service offering, the value provided in "
"the vm.network.throttling.rate global parameter is applied. If the value is "
"set to NULL for network offering, the value provided in the "
"network.throttling.rate global parameter is considered."
msgstr "服务方案中如果网络速率设置为 NULL , vm.network.throttling.rate 值作为全局参数被应用。网络方案中如果这个值设置为 NULL 。network.throttling.rate 值被看做全局参数。"

# 70d2185fb70847edb5c332fb612484e7
#: ../../service_offerings.rst:456
msgid ""
"For the default public, storage, and management networks, network rate is "
"set to 0. This implies that the public, storage, and management networks "
"will have unlimited bandwidth by default. For default guest networks, "
"network rate is set to NULL. In this case, network rate is defaulted to the "
"global parameter value."
msgstr "对于默认的公共，存储和管理网络，网络速度被设置为0，这意味着，公共，存储和管理网络默认不被限制带宽。对于默认来宾网络，网络速率设置为 NULL 。在这种情况下，网络速率被默认为全局参数值。"

# 88f665be2f3e4cfd87c6d89ae2b118ef
#: ../../service_offerings.rst:462
msgid ""
"The following table gives you an overview of how network rate is applied on "
"different types of networks in CloudStack."
msgstr "你可以在大型云环境中通过限制一些账户明确的使用率或拥塞控制来节省网络带宽。以下是可以在你的云中进行配置的网络速率："

# 2df7571b44394db29aa0803e1bd515ae
#: ../../service_offerings.rst:466
msgid "Networks"
msgstr "网络"

# 30beee005ab04cb3947aa3a093695d15
#: ../../service_offerings.rst:466
msgid "Network Rate Is Taken from"
msgstr "网络速率起源"

# 2d1b0256284f4e9196bed7491709337e
#: ../../service_offerings.rst:468
msgid "Guest network of Virtual Router"
msgstr "来宾网络虚拟路由器"

# 710cff98d40d47b1b4691f4ef4cc0ed7
# 7301bab7c1654ab09e4495741b32f409
#: ../../service_offerings.rst:468 ../../service_offerings.rst:469
msgid "Guest Network Offering"
msgstr "来宾网络方案"

# b9550d4e593644f7997ae2b59833d30e
#: ../../service_offerings.rst:469
msgid "Public network of Virtual Router"
msgstr "公网网络虚拟路由器"

# 5fbb2616fe4146139b5adddf90e140c5
#: ../../service_offerings.rst:470
msgid "Storage network of Secondary Storage VM"
msgstr "辅助存储 VM 的存储网络"

# 149bbe361c7b4f85bc046a55d9a0147e
# f68c6d576d58455194ee074721af9ab1
# 6767654cd1d74942a8dc4a4a997c0e62
# 9784131010fd47ce8cbdf1d9b322bdd6
# fcb50bbb01464259bf0060a49547950f
# 3499985b0b95428c8cf13bdceeacae5c
# 9eb605f5c4204f7a93451b0af6b0ac63
# a5eff8a6947548b99a5e9c63a24f4890
#: ../../service_offerings.rst:470 ../../service_offerings.rst:471
#: ../../service_offerings.rst:472 ../../service_offerings.rst:473
#: ../../service_offerings.rst:474 ../../service_offerings.rst:475
#: ../../service_offerings.rst:476 ../../service_offerings.rst:477
msgid "System Network Offering"
msgstr "系统网络方案"

# d0e8015a02d74f79a085327db997c47a
#: ../../service_offerings.rst:471
msgid "Management network of Secondary Storage VM"
msgstr "辅助存储 VM 的管理网络"

# 5ec6da9e6d934d9fad3bede5813f70f9
#: ../../service_offerings.rst:472
msgid "Storage network of Console Proxy VM"
msgstr "Console 代理 VM 的存储网络"

# 4cf8b23c38354b708cd82d9c7e31ff03
#: ../../service_offerings.rst:473
msgid "Management network of Console Proxy VM"
msgstr "Console 代理 VM 的管理玩了过"

# 2ff0726b224449c08b32d13597df71a7
#: ../../service_offerings.rst:474
msgid "Storage network of Virtual Router"
msgstr "虚拟路由器的存储网络"

# 91083f647e9345d4a21912156d7990dd
#: ../../service_offerings.rst:475
msgid "Management network of Virtual Router"
msgstr "虚拟路由器的管理网络"

# 20a8e9d21dda41208554a4065467ea8e
#: ../../service_offerings.rst:476
msgid "Public network of Secondary Storage VM"
msgstr "辅助存储 VM 的公共网络"

# 801f07af30a34b239adb18ef1edcd47c
#: ../../service_offerings.rst:477
msgid "Public network of Console Proxy VM"
msgstr "Console 代理 VM 的公共玩了过"

# 860138dcf0344072bed2a8184a5336c7
#: ../../service_offerings.rst:478
msgid "Default network of a guest VM"
msgstr "Console 代理 VM 的默认网络"

# a6f07fe2acf94351951e197227848984
#: ../../service_offerings.rst:478
msgid "Compute Offering"
msgstr "计算方案"

# bb5e6134192f48038cbdfcc8141882da
#: ../../service_offerings.rst:479
msgid "Additional networks of a guest VM"
msgstr "来宾 VM 的附加网络"

# 9cdc4ff5ef2e42b39986c9157d856fc7
#: ../../service_offerings.rst:479
msgid "Corresponding Network Offerings"
msgstr "对应的网络方案"

# 82ee01b4006f4ba48baf48b75381dac7
#: ../../service_offerings.rst:482
msgid ""
"A guest VM must have a default network, and can also have many additional "
"networks. Depending on various parameters, such as the host and virtual "
"switch used, you can observe a difference in the network rate in your cloud."
" For example, on a VMware host the actual network rate varies based on where"
" they are configured (compute offering, network offering, or both); the "
"network type (shared or isolated); and traffic direction (ingress or "
"egress)."
msgstr "一个来宾虚拟机必须有一个默认网络，也可拥有多个附加网。根据各种参数，如主机和虚拟交换机使用，你可以观察到在云网络中的不同速率。例如，在 VMware 主机的实际网络速率依赖于其他配置( 计算方案，网络方案，或两者兼有 )；网络类型( 共享或隔离 )和流量方向( 入口或出口 )。"

# a3a45b2e646846f984140407ef18cd47
#: ../../service_offerings.rst:490
msgid ""
"The network rate set for a network offering used by a particular network in "
"CloudStack is used for the traffic shaping policy of a port group, for "
"example: port group A, for that network: a particular subnet or VLAN on the "
"actual network. The virtual routers for that network connects to the port "
"group A, and by default instances in that network connects to this port "
"group. However, if an instance is deployed with a compute offering with the "
"network rate set, and if this rate is used for the traffic shaping policy of"
" another port group for the network, for example port group B, then "
"instances using this compute offering are connected to the port group B, "
"instead of connecting to port group A."
msgstr "CloudStack 中特定网络使用网络方案的网络速率设置将应用到端口组的流量整形策略中。例如：端口组 A , 网络 : 现实网络的特定子网或 VLAN 。网络通过虚拟路由器连接端口组 A ，同时网络中默认实例也连接该端口组。尽管如此，如果通过设置了网络速率的计算方案部署虚拟机，并且如果这个网络速率通过流量整形策略应用到其他端口组。例如端口组 B , 使用该计算方案的实例连接到端口组 B 将 替换到端口组 A 的连接。"

# 439cfd7a4cdd405c9eb7e554009d476e
#: ../../service_offerings.rst:501
msgid ""
"The traffic shaping policy on standard port groups in VMware only applies to"
" the egress traffic, and the net effect depends on the type of network used "
"in CloudStack. In shared networks, ingress traffic is unlimited for "
"CloudStack, and egress traffic is limited to the rate that applies to the "
"port group used by the instance if any. If the compute offering has a "
"network rate configured, this rate applies to the egress traffic, otherwise "
"the network rate set for the network offering applies. For isolated "
"networks, the network rate set for the network offering, if any, effectively"
" applies to the ingress traffic. This is mainly because the network rate set"
" for the network offering applies to the egress traffic from the virtual "
"router to the instance. The egress traffic is limited by the rate that "
"applies to the port group used by the instance if any, similar to shared "
"networks."
msgstr "VMWARE中基于标准端口组流量整形策略只被应用于出口流量，并且网络效果依赖于 CloudStack 中使用的网络类型。共享网络中，不限制 CloudStack 入口流量，同时限制出口流量到任何实例应用到端口组的速率。如果计算方案配置了网络速率，速率应用到出口流量，否则应用网络方案的网络速率设置。对于隔离网络，网络方案设置网络速率，如果明确了范围，会对入口流量产生影响。这个主要是因为网络方案的网络速率设置应用在虚拟路由器到实例之间的出口流量上。在一定范围内，实例通过端口组速率限制出口流量，这个和共享网络类似。"

# 1a67086f74d24fdca3d3c8ddc160b6a1
#: ../../service_offerings.rst:515
msgid "For example:"
msgstr "例如："

# 1ef70fcdcb7742dd9f1e68d72b62bab8
#: ../../service_offerings.rst:517
msgid "Network rate of network offering = 10 Mbps"
msgstr "网络方案网络速率 = 10 Mbps"

# 4aed36fd4b1e47b994e240a5180902f7
#: ../../service_offerings.rst:519
msgid "Network rate of compute offering = 200 Mbps"
msgstr "计算方案网络速率 = 200 Mbps"

# 728d67e125214dc69bcb42e87a0bd8ae
#: ../../service_offerings.rst:521
msgid ""
"In shared networks, ingress traffic will not be limited for CloudStack, "
"while egress traffic will be limited to 200 Mbps. In an isolated network, "
"ingress traffic will be limited to 10 Mbps and egress to 200 Mbps."
msgstr "共享网络中。CloudStack 这种进入流量不进行限制，同时出口流量限制为 200 Mbps。隔离网络入口流量限制为 10 Mbps，同时出口流量限制到 200 Mbps"

# c18fc63ba86d45f6a4a69c240bcbd863
#: ../../service_offerings.rst:528
msgid "Changing the Default System Offering for System VMs"
msgstr "修改系统 VM 的默系统方案"

# dce8139f2a074eda9f35ccab7be40838
#: ../../service_offerings.rst:530
msgid ""
"You can manually change the system offering for a particular System VM. "
"Additionally, as a CloudStack administrator, you can also change the default"
" system offering used for System VMs."
msgstr "你可认为的修改一个特殊系统 VM 的系统方案。此外，作为一个 CloudStack 管理员，你也可以改变系统 VM 使用的默认系统方案。"

# d7758b140e8f4c8ea68093fe1bd87309
#: ../../service_offerings.rst:534
msgid "Create a new system offering."
msgstr "创建一个新的系统方案"

# 60b70b45018c4c8398470022264172b3
#: ../../service_offerings.rst:536
msgid "For more information, see Creating a New System Service Offering."
msgstr "获取更多信息，查看 创建一个新的系统服务方案"

# c8a9263bb9974a9fb39e3ce36805a635
#: ../../service_offerings.rst:538
msgid "Back up the database:"
msgstr "备份数据库："

# 7a52c92add7a4ae696f4727651be9ba4
#: ../../service_offerings.rst:544
msgid "Open an MySQL prompt:"
msgstr "打开一个 MySQL 提示："

# 51c46ec1b2844020aea4f791b5a5950e
#: ../../service_offerings.rst:550
msgid "Run the following queries on the cloud database."
msgstr "在 cloud 数据库运行以下查询。"

# 6ee5a9e0f1d249749376ed26cf656f31
#: ../../service_offerings.rst:552
msgid ""
"In the disk\\_offering table, identify the original default offering and the"
" new offering you want to use by default."
msgstr "在磁盘 \\_offering 表，验证原始默认方案和你想默认使用的新方案。"

# 2611865e94844c71b289c6243b7a2e4c
#: ../../service_offerings.rst:555
msgid "Take a note of the ID of the new offering."
msgstr "记录新方案的 ID"

# 31118e91861d48389cbab25fa138f75e
#: ../../service_offerings.rst:561
msgid ""
"For the original default offering, set the value of unique\\_name to NULL."
msgstr "对于原始默认方案，设置 \\_name 唯一值为 NULL"

# 04fa9b26725d4ca09b7fd864838698ac
#: ../../service_offerings.rst:568
msgid "Ensure that you use the correct value for the ID."
msgstr "确保你使用正确的 ID 值"

# 8884980ed2d74f3ab78d5bfec97e5861
#: ../../service_offerings.rst:570
msgid ""
"For the new offering that you want to use by default, set the value of "
"unique\\_name as follows:"
msgstr "对于你想使用默认值的新方案，参照以下进行唯一 \\_name 值设置："

# bc246e06f82a4bc2a0d1c4ba3aad6618
#: ../../service_offerings.rst:573
msgid ""
"For the default Console Proxy VM (CPVM) offering,set unique\\_name to 'Cloud"
".com-ConsoleProxy'. For the default Secondary Storage VM (SSVM) offering, "
"set unique\\_name to 'Cloud.com-SecondaryStorage'. For example:"
msgstr "对于默认控制台代理虚拟机 （ CPVM ）方案， 设置唯一 \\_name 为 ' Cloud.com-ConsoleProxy '。对于默认辅助存储虚拟机 （ SSVM  ) 方案，  设置唯一 \\_name 为 ' Cloud.com-SecondaryStorage '。例如："

# aebfd61c6ee344829f0ec8db45c37d75
#: ../../service_offerings.rst:582
msgid ""
"Restart CloudStack Management Server. Restarting is required because the "
"default offerings are loaded into the memory at startup."
msgstr "重启 CloudStack  管理器服务器。因为默认方案启动时被加载到内存，要求重启。"

# 9f700ce4ec00451991c06d4850686fa9
#: ../../service_offerings.rst:589
msgid ""
"Destroy the existing CPVM or SSVM offerings and wait for them to be "
"recreated. The new CPVM or SSVM are configured with the new offering."
msgstr "销毁存在的 CPVM 或 SSVM 方案，并等待它们重建。 通过新的系统方案配置新的 CPVM 或 SSVM。"
