# 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"

# d162d1d06fd7403885aaa50b51be64cf
#: ../../hosts.rst:18
msgid "Working with Hosts"
msgstr "使用主机"

# 6c9e070451664a89a2bab7d9dcb4892e
#: ../../hosts.rst:21
msgid "Adding Hosts"
msgstr "添加主机"

# 0fea464db7a843f6930b135daf0f6eef
#: ../../hosts.rst:23
msgid ""
"Additional hosts can be added at any time to provide more capacity for guest"
" VMs. For requirements and instructions, see `“Adding a Host” "
"<http://docs.cloudstack.apache.org/projects/cloudstack-"
"installation/en/latest/configuration.html#adding-a-host>`_."
msgstr "添加主机能为来宾VMs提供更多的性能。更多需求与说明请参阅 `“添加主机” <http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/latest/configuration.html#adding-a-host>`_。"

# 8d309023c45240b78a9ddce49978e18c
#: ../../hosts.rst:29
msgid "Scheduled Maintenance and Maintenance Mode for Hosts"
msgstr "主机的维护计划与维护模式"

# 7a2b019ac10a47c39de133fdc1a06f3d
#: ../../hosts.rst:31
msgid ""
"You can place a host into maintenance mode. When maintenance mode is "
"activated, the host becomes unavailable to receive new guest VMs, and the "
"guest VMs already running on the host are seamlessly migrated to another "
"host not in maintenance mode. This migration uses live migration technology "
"and does not interrupt the execution of the guest."
msgstr "你可以使一台主机进入维护模式。当激活维护模式时，这台主机将不会接纳新的来宾VMs，同时上面的VMs会无缝地迁移到其他非维护模式的主机上。这个迁移使用在线迁移技术并且不会中断用户的操作。"

# af2fbe9bb8ff4ab29c19fbb7dc7d6a2b
#: ../../hosts.rst:39
msgid "vCenter and Maintenance Mode"
msgstr "vCenter与维护模式"

# d2d9b481634d47499c874f1781439746
#: ../../hosts.rst:41
msgid ""
"To enter maintenance mode on a vCenter host, both vCenter and CloudStack "
"must be used in concert. CloudStack and vCenter have separate maintenance "
"modes that work closely together."
msgstr "要使vCenter主机进入维护模式，vCenter和CloudStack上都必须进行此操作。CloudStack和vCenter有各自的维护模式，他们需要紧密合作。"

# 1757e266dc494d81be5c3b51608b8507
#: ../../hosts.rst:45
msgid ""
"Place the host into CloudStack's \"scheduled maintenance\" mode. This does "
"not invoke the vCenter maintenance mode, but only causes VMs to be migrated "
"off the host"
msgstr "在CloudStack中，将主机进入\"维护计划\"模式。这个操作不会调用vCenter的维护模式，但是会将VMs迁离该主机。"

# d96d3c3231d445ffbe5379d2f572a864
#: ../../hosts.rst:49
msgid ""
"When the CloudStack maintenance mode is requested, the host first moves into"
" the Prepare for Maintenance state. In this state it cannot be the target of"
" new guest VM starts. Then all VMs will be migrated off the server. Live "
"migration will be used to move VMs off the host. This allows the guests to "
"be migrated to other hosts with no disruption to the guests. After this "
"migration is completed, the host will enter the Ready for Maintenance mode."
msgstr "当CloudStack维护模式启用后，主机首先会进入准备维护状态。在这个阶段它不能运行新的来宾VMs。然后所有的VMs将会被迁离该主机。主机使用在线迁移来迁移VMs。这种方式能够使来宾VMs在迁移到其他主机的过程中不会中断用户的操作。"

# a0302fba3abb4768b9ea6456150d1e34
#: ../../hosts.rst:57
msgid "Wait for the \"Ready for Maintenance\" indicator to appear in the UI."
msgstr "等\"准备好维护\"指示灯出现在UI中。"

# bb2fe5471107450db78672f18f6c459b
#: ../../hosts.rst:59
msgid ""
"Now use vCenter to perform whatever actions are necessary to maintain the "
"host. During this time, the host cannot be the target of new VM allocations."
msgstr "现在使用vCenter通过必要的步骤将主机进入维护模式。在此期间，主机不会运行新的VM。"

# 465e081898184a07a0da7751a1b9540b
#: ../../hosts.rst:63
msgid ""
"When the maintenance tasks are complete, take the host out of maintenance "
"mode as follows:"
msgstr "当维护任务完成之后，按以下操作将主机退出维护模式："

# d513b1610d3f4e3c94c36672598225ef
#: ../../hosts.rst:66
msgid "First use vCenter to exit the vCenter maintenance mode."
msgstr "首先通过vCenter退出vCenter维护模式。"

# 20604374352a49e78c96fc359907798b
#: ../../hosts.rst:68
msgid "This makes the host ready for CloudStack to reactivate it."
msgstr "这么做是为了主机能够准备好以便CloudStack恢复它。"

# 268a4bfa21584498b9c29213e959d532
#: ../../hosts.rst:70
msgid ""
"Then use CloudStack's administrator UI to cancel the CloudStack maintenance "
"mode"
msgstr "然后通过CloudStack的管理员UI来取消CloudStack维护模式"

# 473e00df4c58462d9df612fdba5c4996
#: ../../hosts.rst:73
msgid ""
"When the host comes back online, the VMs that were migrated off of it may be"
" migrated back to it manually and new VMs can be added."
msgstr "当主机恢复正常，被迁移走的VMs可能需要手工迁移回来并且也能在主机上添加新的VMs了。"

# 8026febd757948bdb38b4f85cbd4c425
#: ../../hosts.rst:78
msgid "XenServer and Maintenance Mode"
msgstr "XenServer和维护模式"

# 38555be75efd4fed91c3479a883493d1
#: ../../hosts.rst:80
msgid ""
"For XenServer, you can take a server offline temporarily by using the "
"Maintenance Mode feature in XenCenter. When you place a server into "
"Maintenance Mode, all running VMs are automatically migrated from it to "
"another host in the same pool. If the server is the pool master, a new "
"master will also be selected for the pool. While a server is Maintenance "
"Mode, you cannot create or start any VMs on it."
msgstr "对于XenServer，你能够通过使用XenCenter中的维护模式功能将一台服务器临时的离线。当你使一台服务器进入维护模式，所有运行的VMs都会自动的迁移到同一个池中的其他主机上。如果此服务器是池master主机，那么此池会选举一个新的master主机。当一台服务器在维护模式下时，你不能在上面创建或启动任何VMs。"

# 456e5e6e17bf41909c0b487227d097cd
#: ../../hosts.rst:87
msgid "**To place a server in Maintenance Mode:**"
msgstr "**使一台服务器进入维护模式：**"

# 5de27d0060754518bf21cd3ed27ed05a
# 568c45e59b4f4b2294d24752311a5022
#: ../../hosts.rst:89 ../../hosts.rst:104
msgid ""
"In the Resources pane, select the server, then do one of the following:"
msgstr "在资源面板，选择服务器，然后按下列步骤进行操作："

# a31b8242b89b4b24a48e8d242ed46718
#: ../../hosts.rst:92
msgid "Right-click, then click Enter Maintenance Mode on the shortcut menu."
msgstr "右击，然后在弹出的快捷菜单中点击进入维护模式。"

# 1e90893580c44442be56fd686ba4aab4
#: ../../hosts.rst:95
msgid "On the Server menu, click Enter Maintenance Mode."
msgstr "在服务器菜单，点击进入维护模式。"

# 95cf013b55004f2486b693b9a9bdb52d
#: ../../hosts.rst:97
msgid "Click Enter Maintenance Mode."
msgstr "点击进入维护模式。"

# e9120c5408d94ba89b65157b49de36ae
#: ../../hosts.rst:99
msgid ""
"The server's status in the Resources pane shows when all running VMs have "
"been successfully migrated off the server."
msgstr "当所有运行当中的VMs成功的迁离该主机后，在资源面板中会显示服务器的状态。"

# c8ae2b6b96814aa8a04dc2ceebbacabb
#: ../../hosts.rst:102
msgid "**To take a server out of Maintenance Mode:**"
msgstr "**使服务器退出维护模式：**"

# ae539b7f53ce42e8b161a38c897302a8
#: ../../hosts.rst:107
msgid "Right-click, then click Exit Maintenance Mode on the shortcut menu."
msgstr "右击，然后在弹出的快捷菜单中点击退出维护模式。"

# ee115cfaf80446f49c0e9fae828c783e
#: ../../hosts.rst:110
msgid "On the Server menu, click Exit Maintenance Mode."
msgstr "在服务器菜单，点击提出维护模式。"

# 7edbfea17cdb4c4a85766a3d46ccf8da
#: ../../hosts.rst:112
msgid "Click Exit Maintenance Mode."
msgstr "点击退出维护模式。"

# e6edc76480294c5faf6518aaf5f6aacb
#: ../../hosts.rst:116
msgid "Disabling and Enabling Zones, Pods, and Clusters"
msgstr "禁用和启用Zones，Pods和Clusters"

# 144624e6273f4b5c94ed3f88c8fc95e3
#: ../../hosts.rst:118
msgid ""
"You can enable or disable a zone, pod, or cluster without permanently "
"removing it from the cloud. This is useful for maintenance or when there are"
" problems that make a portion of the cloud infrastructure unreliable. No new"
" allocations will be made to a disabled zone, pod, or cluster until its "
"state is returned to Enabled. When a zone, pod, or cluster is first added to"
" the cloud, it is Disabled by default."
msgstr "你可以启用或禁用一个zone，pod或者cluster而不用永久的从云中移除他们。这对于维护或者当云中一部分架构的可靠性有问题的时候很有用。禁用状态下的zone，pod或cluster不会接受新的分配，除非其状态变为启用。当一个zone，pod或cluster是初次添加到云中的，默认的情况下它是禁用的。"

# 9fbfab10c6be45a3bd2f6c231c6737bb
#: ../../hosts.rst:125
msgid "To disable and enable a zone, pod, or cluster:"
msgstr "要禁用和启用一个zone，pod或者cluster："

# 71e22a46ce644865b910006aaa048a8d
#: ../../hosts.rst:127
msgid "Log in to the CloudStack UI as administrator"
msgstr "使用管理员权限的账号登录到CloudStack"

# 50c0cd124fa643fdbbc561152e0dbabf
# e16a19456eb441b4ab3cf57ec846a391
#: ../../hosts.rst:129 ../../hosts.rst:404
msgid "In the left navigation bar, click Infrastructure."
msgstr "在左侧导航栏中，点击基础架构"

# 11fd25d319484ab2b87f09c842be5134
#: ../../hosts.rst:131
msgid "In Zones, click View More."
msgstr "点击区域中的查看更多。"

# c9caf60acf104601bc0f0f946d22b0c5
#: ../../hosts.rst:133
msgid ""
"If you are disabling or enabling a zone, find the name of the zone in the "
"list, and click the Enable/Disable button. |enable-disable.png|"
msgstr "如果你要禁用或启用一个zone，请在列表里找到zone的名称，然后点击启用/禁用按钮。|enable-disable.png|"

# 222f496a2d1e456589a79442f4ed34a5
#: ../../hosts.rst:136
msgid ""
"If you are disabling or enabling a pod or cluster, click the name of the "
"zone that contains the pod or cluster."
msgstr "如果你要禁用或启用一个pod或者cluster，点击包含该pod或cluster的zone名称。"

# 8de91492f6c848dca361c3822956148a
#: ../../hosts.rst:139
msgid "Click the Compute tab."
msgstr "点击计算这个标签。"

# 260854995dc747e8b0224b78525f9646
#: ../../hosts.rst:141
msgid "In the Pods or Clusters node of the diagram, click View All."
msgstr "在示意图中的Pods或者Clusters节点，点击查看所有。"

# 5496ff56c1c74d689c2d2453c38b4708
#: ../../hosts.rst:143
msgid "Click the pod or cluster name in the list."
msgstr "点击列表中的pod或者cluster名称。"

# 893e62d5abbf47a38a0dd2c1a53d6a5a
#: ../../hosts.rst:145
msgid "Click the Enable/Disable button. |enable-disable.png|"
msgstr "点击启用/禁用按钮。|enable-disable.png|"

# 8f3d3ce8e0c64e67aea7a02d485fb245
#: ../../hosts.rst:149
msgid "Removing Hosts"
msgstr "移除主机"

# 984b62f5ee574b5fa2921a9c51086739
#: ../../hosts.rst:151
msgid ""
"Hosts can be removed from the cloud as needed. The procedure to remove a "
"host depends on the hypervisor type."
msgstr "主机在需要的时候可以被移除。这个过程取决于主机所使用的hypervisor类型。"

# 65240cc22f554f09bdc03200b95bd05d
#: ../../hosts.rst:156
msgid "Removing XenServer and KVM Hosts"
msgstr "移除XenServer和KVM主机"

# 879cec7da3564798aa9e0d864809678d
#: ../../hosts.rst:158
msgid ""
"A node cannot be removed from a cluster until it has been placed in "
"maintenance mode. This will ensure that all of the VMs on it have been "
"migrated to other Hosts. To remove a Host from the cloud:"
msgstr "cluster中的主机只有进入维护模式才能被移除。这么做是为了确保其上所有的VMs被迁移至其他主机。要从云中移除一个主机："

# 7b965bf8884a4bcba98b12aab945722c
#: ../../hosts.rst:162
msgid "Place the node in maintenance mode."
msgstr "将主机进入维护模式。"

# 1301a77070374e238eb438818854da08
#: ../../hosts.rst:164
msgid ""
"See `“Scheduled Maintenance and Maintenance Mode for Hosts” <#scheduled-"
"maintenance-and-maintenance-mode-for-hosts>`_."
msgstr "请参考`“主机的维护计划与维护模式” <#scheduled-maintenance-and-maintenance-mode-for-hosts>`_."

# 6cb63d9356e643f1b3e032a8056a89ee
#: ../../hosts.rst:167
msgid "For KVM, stop the cloud-agent service."
msgstr "对于KVM，停止cloud-agent服务。"

# 3a90c7e2a9224f36b01d73a1df4cd39c
#: ../../hosts.rst:169
msgid "Use the UI option to remove the node."
msgstr "使用UI选项来移除主机。"

# 400a182ceace4cef87ffe6c731ea45cd
#: ../../hosts.rst:171
msgid ""
"Then you may power down the Host, re-use its IP address, re-install it, etc"
msgstr "然后你可以关掉主机，重用它的IP地址，重新安装系统，等等。"

# b9297a05564a41f8aa6995f8f1e2265a
#: ../../hosts.rst:176
msgid "Removing vSphere Hosts"
msgstr "移除vSphere主机"

# c32ebbedc8304707ab76b57248d80fee
#: ../../hosts.rst:178
msgid ""
"To remove this type of host, first place it in maintenance mode, as "
"described in `“Scheduled Maintenance and Maintenance Mode for Hosts” "
"<#scheduled-maintenance-and-maintenance-mode-for-hosts>`_. Then use "
"CloudStack to remove the host. CloudStack will not direct commands to a host"
" that has been removed using CloudStack. However, the host may still exist "
"in the vCenter cluster."
msgstr "要移除此类型的主机，首先按照 `“主机的维护计划与维护模式” <#scheduled-maintenance-and-maintenance-mode-for-hosts>`_中的描述将其进入维护模式。然后使用CloudStack来移除主机。使用CloudStack移除主机时，CloudStack不会直接操作主机。但是，主机可能仍然存留在vCenter群集中。"

# dd4d1c612fb44dc195061dd566beec5e
#: ../../hosts.rst:187
msgid "Re-Installing Hosts"
msgstr "重新安装主机"

# 0ee9288a566b4631b2e8f680cfbe5b47
#: ../../hosts.rst:189
msgid ""
"You can re-install a host after placing it in maintenance mode and then "
"removing it. If a host is down and cannot be placed in maintenance mode, it "
"should still be removed before the re-install."
msgstr "你可以在将主机进入维护模式并移除它之后重新安装系统。如果主机是宕机状态而不能进入维护模式，在重装它之前仍然能被移除。"

# c85fb73c99e34c10b3289143d58b305b
#: ../../hosts.rst:195
msgid "Maintaining Hypervisors on Hosts"
msgstr "在主机上维护Hypervisors"

# af548f5aa95e4755a881574a77d625fd
#: ../../hosts.rst:197
msgid ""
"When running hypervisor software on hosts, be sure all the hotfixes provided"
" by the hypervisor vendor are applied. Track the release of hypervisor "
"patches through your hypervisor vendor’s support channel, and apply patches "
"as soon as possible after they are released. CloudStack will not track or "
"notify you of required hypervisor patches. It is essential that your hosts "
"are completely up to date with the provided hypervisor patches. The "
"hypervisor vendor is likely to refuse to support any system that is not up "
"to date with patches."
msgstr "当主机上运行了hypervisor软件，请确保安装了供应商提供的所有修补程序。请通过供应商跟踪虚拟化平台的补丁发布情况，一旦发布，请尽快打上补丁。CloudStack不会跟踪或通知您所需要的虚拟化平台补丁。您的主机及时打上最新虚拟化平台补丁是非常重要的。虚拟化平台厂商很可能会拒绝支持未打最新补丁的系统。"

# fb13ff2e1e1c478e8ee99dbb7a71c69d
#: ../../hosts.rst:207
msgid ""
"The lack of up-do-date hotfixes can lead to data corruption and lost VMs."
msgstr "缺乏最新补丁更新可能会导致数据和虚拟机丢失。"

# 0132d3f953a446e7af2712c1f7f204d9
#: ../../hosts.rst:209
msgid ""
"(XenServer) For more information, see `Highly Recommended Hotfixes for "
"XenServer in the CloudStack Knowledge Base "
"<http://docs.cloudstack.org/Knowledge_Base/Possible_VM_corruption_if_XenServer_Hotfix_is_not_Applied/Highly_Recommended_Hotfixes_for_XenServer_5.6_SP2>`_."
msgstr "（XenServer）更多信息，请参考`CloudStack知识库中高度推荐的XenServer修补程序 <http://docs.cloudstack.org/Knowledge_Base/Possible_VM_corruption_if_XenServer_Hotfix_is_not_Applied/Highly_Recommended_Hotfixes_for_XenServer_5.6_SP2>`_."

# a2b8576f632f48e8b6556fe7958a2b4e
#: ../../hosts.rst:215
msgid "Changing Host Password"
msgstr "更改主机密码"

# 026b9758a8234d5d82e1fd3c20d9f9d6
#: ../../hosts.rst:217
msgid ""
"The password for a XenServer Node, KVM Node, or vSphere Node may be changed "
"in the database. Note that all Nodes in a Cluster must have the same "
"password."
msgstr "数据库中的XenServer主机，KVM主机或者vShpere主机密码可能会被变更。注意群集中的所有节点密码必须一致。"

# d662651348254d968559ee61ec677c9d
#: ../../hosts.rst:221
msgid "To change a Node's password:"
msgstr "用户名和密码要更改一台主机的密码："

# eac8c72d0110440e8d47f458d4dfa691
#: ../../hosts.rst:223
msgid "Identify all hosts in the cluster."
msgstr "让群集中所有的主机状态保持一致。"

# 6c429aa99fc44f4e85ed4eda61090335
#: ../../hosts.rst:225
msgid ""
"Change the password on all hosts in the cluster. Now the password for the "
"host and the password known to CloudStack will not match. Operations on the "
"cluster will fail until the two passwords match."
msgstr "更改群集中所有主机的密码。此刻主机上的密码与CloudStack已知的密码不一致。两个密码不一致的话会导致群集上的操作失败。"

# bd29f4605f0b40a9822294fd0cba68e4
#: ../../hosts.rst:229
msgid ""
"Get the list of host IDs for the host in the cluster where you are changing "
"the password. You will need to access the database to determine these host "
"IDs. For each hostname \"h\" (or vSphere cluster) that you are changing the "
"password for, execute:"
msgstr "获取群集中你更改了密码的主机ID列表。你必须访问数据库来获取这些ID。为每个你要更改密码的主机名（或者vSphere群集） \"h\"，执行："

# ae93d4bde54f48ef9b96126a36220883
#: ../../hosts.rst:238
msgid ""
"This should return a single ID. Record the set of such IDs for these hosts."
msgstr "这条命令将会返回一个ID。记录这些主机的ID。"

# 6e33a985c6204813a3beec13959e029a
#: ../../hosts.rst:241
msgid ""
"Update the passwords for the host in the database. In this example, we "
"change the passwords for hosts with IDs 5, 10, and 12 to \"password\"."
msgstr "在数据库中为这些主机更新密码。在这个例子中，我们将主机ID为5,10和12的密码更改为\"password\"。"

# 36d8dc7ed9b3447a819222bfb445bd10
#: ../../hosts.rst:251
msgid "Over-Provisioning and Service Offering Limits"
msgstr "超配和服务方案限制"

# 3e5ec1fcb0cf49fda1383c022d23de87
#: ../../hosts.rst:253
msgid "(Supported for XenServer, KVM, and VMware)"
msgstr "（支持XenServer、KVM和VMware）"

# 3633dc63fade45ad8b1bc222bb9ad425
#: ../../hosts.rst:255
msgid ""
"CPU and memory (RAM) over-provisioning factors can be set for each cluster "
"to change the number of VMs that can run on each host in the cluster. This "
"helps optimize the use of resources. By increasing the over-provisioning "
"ratio, more resource capacity will be used. If the ratio is set to 1, no "
"over-provisioning is done."
msgstr "CPU和内存（RAM）超配直接影响每个群集中主机上可以运行的VMs数量。这样可以帮助优化资源的使用。依靠增加超配比率，能使使资源更充分的被利用。如果比率设为1，那么表示没有使用超配。"

# 43467fc7868049cab2d4374ff0094af1
#: ../../hosts.rst:261
msgid ""
"The administrator can also set global default over-provisioning ratios in "
"the cpu.overprovisioning.factor and mem.overprovisioning.factor global "
"configuration variables. The default value of these variables is 1: over-"
"provisioning is turned off by default."
msgstr "管理员也可以在cpu.overprovisioning.factor和mem.overprovisioning.factor这两个全局配置变量中设置全局默认超配比率。默认的值是1：默认情况下超配是关闭的。"

# 253e39db71ed47619ec617fb7a5397ac
#: ../../hosts.rst:266
msgid ""
"Over-provisioning ratios are dynamically substituted in CloudStack's "
"capacity calculations. For example:"
msgstr "超配比率是由CloudStack的容量计算器动态调整的。比如："

# 48cbfebf2e804785ba7f9631cb010778
#: ../../hosts.rst:269
msgid ""
"Capacity = 2 GB Over-provisioning factor = 2 Capacity after over-"
"provisioning = 4 GB"
msgstr "容量=2GB 超配系数=2 超配后容量=4GB"

# af111e47b7cc4e53825770d523defc61
#: ../../hosts.rst:273
msgid "With this configuration, suppose you deploy 3 VMs of 1 GB each:"
msgstr "按照这个配置，假设你部署了3个VMs，每个VM 1GB："

# 851386252faa45d69618b89e2ff7ba8e
#: ../../hosts.rst:275
msgid "Used = 3 GB Free = 1 GB"
msgstr "已使用=3GB  空闲=1GB"

# fdd299fb9bed44d696ed49d97cd8779d
#: ../../hosts.rst:278
msgid ""
"The administrator can specify a memory over-provisioning ratio, and can "
"specify both CPU and memory over-provisioning ratios on a per-cluster basis."
msgstr "管理员可以在每个群集中指定一个内存超配比率，也可以同时指定CPU和内存超配比率。"

# 13239c1da0164d2e88a9275d8083e8aa
#: ../../hosts.rst:282
msgid ""
"In any given cloud, the optimum number of VMs for each host is affected by "
"such things as the hypervisor, storage, and hardware configuration. These "
"may be different for each cluster in the same cloud. A single global over-"
"provisioning setting can not provide the best utilization for all the "
"different clusters in the cloud. It has to be set for the lowest common "
"denominator. The per-cluster setting provides a finer granularity for better"
" utilization of resources, no matter where the CloudStack placement "
"algorithm decides to place a VM."
msgstr "在任何已有的云中，hypervisor、存储和硬件配置影响每个主机上VMs最佳数量。同一个云中的每个群集的这些配置可能都不同。单一的全局超配设置不能为云中所有的群集提供最佳效果。它只能作为一个基线。无论CloudStack使用哪种算法来放置一个VM，每个群集都提供了细颗粒度的设置以提供更好的资源效果。"

# 14bb9814011f4bb6972aeb18939b2e6c
#: ../../hosts.rst:291
msgid ""
"The overprovisioning settings can be used along with dedicated resources "
"(assigning a specific cluster to an account) to effectively offer different "
"levels of service to different accounts. For example, an account paying for "
"a more expensive level of service could be assigned to a dedicated cluster "
"with an over-provisioning ratio of 1, and a lower-paying account to a "
"cluster with a ratio of 2."
msgstr "超配设置和专用资源（对一个账号分配一个特定的群集）一起使用时能对不同用户有效的提供的不同服务级别。比如，一个账号购买了比较高级别的服务，那么分配给他一个超配比率为1的专用群集，购买低级别服务的账号分配一个比率为2的群集。"

# a04ae50db280409bacc1c0752456eb1b
#: ../../hosts.rst:298
msgid ""
"When a new host is added to a cluster, CloudStack will assume the host has "
"the capability to perform the CPU and RAM over-provisioning which is "
"configured for that cluster. It is up to the administrator to be sure the "
"host is actually suitable for the level of over-provisioning which has been "
"set."
msgstr "当一个新主机被添加到群集中，CloudStack假设配置了超配的群集中的主机能够提供CPU和RAM的超配能力。这个要靠管理员来决定主机是否真的能够提供设置的超配级别。"

# bc9d355b0e014b5ab9fd367c9e80ab24
#: ../../hosts.rst:306
msgid "Limitations on Over-Provisioning in XenServer and KVM"
msgstr "XenServer和KVM中超配的局限性"

# c556b8018bbd4fee9f244adf40b4f51d
# 536dc98cafb74355b90a4bea9be01f99
#: ../../hosts.rst:308 ../../hosts.rst:416
msgid ""
"In XenServer, due to a constraint of this hypervisor, you can not use an "
"over-provisioning factor greater than 4."
msgstr "在XenServer中，由于这个hypervisor的限制，超配系数不能超过4。"

# a9dd662370ca407596ca9fa0b313a3af
#: ../../hosts.rst:311
msgid ""
"The KVM hypervisor can not manage memory allocation to VMs dynamically. "
"CloudStack sets the minimum and maximum amount of memory that a VM can use. "
"The hypervisor adjusts the memory within the set limits based on the memory "
"contention."
msgstr "KVM hypervisor不能动态的管理分配给VMs的内存。CloudStack设置VM能够使用的内存最小和最大量。Hypervisor基于存储器争用技术在设定范围内调整内存。"

# 4eb1b9a8ad484a8fa8cb381ce6b52eb2
#: ../../hosts.rst:318
msgid "Requirements for Over-Provisioning"
msgstr "存储超配的要求"

# b5394f77c74e479980f2f996e9f81251
#: ../../hosts.rst:320
msgid ""
"Several prerequisites are required in order for over-provisioning to "
"function properly. The feature is dependent on the OS type, hypervisor "
"capabilities, and certain scripts. It is the administrator's responsibility "
"to ensure that these requirements are met."
msgstr "为了让超配能够正常工作需要几个前提条件。此特性取决于OS类型，hypervisor功能和特定的脚本。管理员负责确认这些条件都符合。"

# 4fc500a083b4403998ada5877b9d0de0
#: ../../hosts.rst:327
msgid "Balloon Driver"
msgstr "Balloon驱动"

# 9e1eb0f5b30a4a9cbebcf773c16bf440
#: ../../hosts.rst:329
msgid ""
"All VMs should have a balloon driver installed in them. The hypervisor "
"communicates with the balloon driver to free up and make the memory "
"available to a VM."
msgstr "所有VMs中都安装了balloon驱动。Hypervisor靠balloon驱动与VM通讯以释放内存和让内存变得可用。"

# 588dfd76655d44b999fcc554493271ee
# 876a75ef59a549349b25f46f2f3fc8bf
#: ../../hosts.rst:335 ../../hosts.rst:365
msgid "XenServer"
msgstr "XenServer"

# cc2308bc95464b93a3dc5631c6edb411
#: ../../hosts.rst:337
msgid ""
"The balloon driver can be found as a part of xen pv or PVHVM drivers. The "
"xen pvhvm drivers are included in upstream linux kernels 2.6.36+."
msgstr "Balloon驱动是Xen pv或者PVHVM驱动的一部分。Linux kernels 2.6.36和以上版本中包含了Xen pvhvm驱动。"

# db7f94775ac3401c8e7da496601ce4d7
#: ../../hosts.rst:342
msgid "VMware"
msgstr "VMware"

# db5f8890af6c435aa86e4c6106f0d83e
#: ../../hosts.rst:344
msgid ""
"The balloon driver can be found as a part of the VMware tools. All the VMs "
"that are deployed in a over-provisioned cluster should have the VMware tools"
" installed."
msgstr "Balloon驱动是VMware tools的一部分。在一台超配群集中部署的所有的VMs都应该安装VMware tools。"

# e051f09fe032421881651a264ec5562c
#: ../../hosts.rst:350
msgid "KVM"
msgstr "KVM"

# 9c51a6068b774e919cd552b525963bef
#: ../../hosts.rst:352
msgid ""
"All VMs are required to support the virtio drivers. These drivers are "
"installed in all Linux kernel versions 2.6.25 and greater. The administrator"
" must set CONFIG\\_VIRTIO\\_BALLOON=y in the virtio configuration."
msgstr "所有VMs都需要支持virtio驱动。Linux kernel versions 2.6.25和更高版本中已经安装了这些驱动。管理员必须在virtio的配置文件中配置CONFIG\\_VIRTIO\\_BALLOON=y。"

# c8150c4e5af743bd8897bbd116c538d7
#: ../../hosts.rst:359
msgid "Hypervisor capabilities"
msgstr "Hypervisor功能"

# efc1f0769cdf44d0aee285aed27c7e0f
#: ../../hosts.rst:361
msgid "The hypervisor must be capable of using the memory ballooning."
msgstr "Hypervisor必须能够使用内存ballooning。"

# 8b282cb5f7914088be3b38b87b604492
#: ../../hosts.rst:367
msgid ""
"The DMC (Dynamic Memory Control) capability of the hypervisor should be "
"enabled. Only XenServer Advanced and above versions have this feature."
msgstr "Hypervisor必须启用了DMC（动态内存控制）功能。只有XenServer高级版以及更高版本拥有这个功能。"

# 11e7b221209c4b97ab044dbbb6c53b0e
#: ../../hosts.rst:372
msgid "VMware, KVM"
msgstr "VMware、KVM"

# c289bebec04c474c9497ce81216e04f1
#: ../../hosts.rst:374
msgid "Memory ballooning is supported by default."
msgstr "默认支持内存ballooning。"

# fd73c49bd922450fb7a771ebb8586d6d
#: ../../hosts.rst:378
msgid "Setting Over-Provisioning Ratios"
msgstr "设置存储超配系数"

# 7d8bbd43174f499a98270e1aad9301bd
#: ../../hosts.rst:380
msgid ""
"There are two ways the root admin can set CPU and RAM over-provisioning "
"ratios. First, the global configuration settings cpu.overprovisioning.factor"
" and mem.overprovisioning.factor will be applied when a new cluster is "
"created. Later, the ratios can be modified for an existing cluster."
msgstr "管理员有两种方法来设置CPU和RAM超配系数。第一，当新的群集被创建完成的时候全局配置中的cpu.overprovisioning.factor和mem.overprovisioning.factor将生效。第二，对于已存在的群集可以直接修改系数。  "

# 6930197d999a4c1bb3e8bca13bb10c00
#: ../../hosts.rst:386
msgid ""
"Only VMs deployed after the change are affected by the new setting. If you "
"want VMs deployed before the change to adopt the new over-provisioning "
"ratio, you must stop and restart the VMs. When this is done, CloudStack "
"recalculates or scales the used and reserved capacities based on the new "
"over-provisioning ratios, to ensure that CloudStack is correctly tracking "
"the amount of free capacity."
msgstr "只有在变更之后部署VMs，设置才会生效。如果想让变更之前部署的VMs也能继承新的超配比率，你必须重启VMs。当此操作完成之后，CloudStack会重新计算或者调整已使用的资源，并且基于新的超配比率预留出容量，以保证CloudStack正确的掌握了剩余容量的情况。"

# fe4660151e234650980661b9975d4c77
#: ../../hosts.rst:394
msgid ""
"It is safer not to deploy additional new VMs while the capacity "
"recalculation is underway, in case the new values for available capacity are"
" not high enough to accommodate the new VMs. Just wait for the new "
"used/available values to become available, to be sure there is room for all "
"the new VMs you want."
msgstr "如果新的可用容量不足以满足新的VMs需求，那么当重新计算容量的过程中不去部署新的VMs是比较安全的。等新的已用/可用容量完全可用时，确认这空间对于你想创建的VMs足够用。"

# 443b0ee66d0b40bdad6e11ac6c4eb123
#: ../../hosts.rst:400
msgid "To change the over-provisioning ratios for an existing cluster:"
msgstr "在已存在的群集中更改超配系数："

# b796b807352f4f8285fca177e9417577
#: ../../hosts.rst:402
msgid "Log in as administrator to the CloudStack UI."
msgstr "使用管理员登录到CloudStack管理界面。"

# 450e03bbb9974112bec16a0dca62c829
#: ../../hosts.rst:406
msgid "Under Clusters, click View All."
msgstr "在群集页面，点击查看所有。"

# dc9598fec6f74c74a82c2311ff962b5d
#: ../../hosts.rst:408
msgid "Select the cluster you want to work with, and click the Edit button."
msgstr "选择你要操作的群集，点击编辑按钮。"

# 4574765089c64df0a53ffd4b0d9052a0
#: ../../hosts.rst:410
msgid ""
"Fill in your desired over-provisioning multipliers in the fields CPU "
"overcommit ratio and RAM overcommit ratio. The value which is intially shown"
" in these fields is the default value inherited from the global "
"configuration settings."
msgstr "在CPU overcommit ratio和RAM overcommit ratio区域里填入你希望的超配系数。这里的初始值是从全局配置设置里继承而来的。"

# 2652eabbfcd64f92bab0644f7cddd8d6
#: ../../hosts.rst:421
msgid "Service Offering Limits and Over-Provisioning"
msgstr "服务方案限制和超配"

# d88ad9813f6448ec9277039383ab3f86
#: ../../hosts.rst:423
msgid ""
"Service offering limits (e.g. 1 GHz, 1 core) are strictly enforced for core "
"count. For example, a guest with a service offering of one core will have "
"only one core available to it regardless of other activity on the Host."
msgstr "服务方案限制（比如1GHz，1 core）是受到core数严格限制的。比如，一个使用1 core服务方案的用户只能用 1core，无论这个主机多空闲。"

# 0a5fa05e882e493f8d41201840eb0cd9
#: ../../hosts.rst:428
msgid ""
"Service offering limits for gigahertz are enforced only in the presence of "
"contention for CPU resources. For example, suppose that a guest was created "
"with a service offering of 1 GHz on a Host that has 2 GHz cores, and that "
"guest is the only guest running on the Host. The guest will have the full 2 "
"GHz available to it. When multiple guests are attempting to use the CPU a "
"weighting factor is used to schedule CPU resources. The weight is based on "
"the clock speed in the service offering. Guests receive a CPU allocation "
"that is proportionate to the GHz in the service offering. For example, a "
"guest created from a 2 GHz service offering will receive twice the CPU "
"allocation as a guest created from a 1 GHz service offering. CloudStack does"
" not perform memory over-provisioning."
msgstr "GHz的服务方案限制只存在于CPU资源的争用中。比如，假设用户在一个有2GHz core的主机上创建了一个1 GHz的服务方案，并且该用户是这个主机上唯一一个用户。那么该用户有2 GHz可用性能。当多个用户尝试使用CPU，则由权重系数来调度CPU资源。这个权重基于服务方案中的时钟速度。用户分配到的CPU GHz与服务方案中一致。比如，用户从一个2GHz服务方案中创建的VM分配到的CPU是从1 GHz方案中分配到的2倍。CloudStack不能提供内存的超配。"

# 86b75c2fbf034662ac3133fe63acefea
#: ../../hosts.rst:442
msgid "VLAN Provisioning"
msgstr "VLAN供应"

# 9d66a1eb7d4d4d88818d5d5d00bb285a
#: ../../hosts.rst:444
msgid ""
"CloudStack automatically creates and destroys interfaces bridged to VLANs on"
" the hosts. In general the administrator does not need to manage this "
"process."
msgstr "CloudStack能在主机上自动创建和销毁桥接至VLAN的网络接口。一般来说，管理员不需要介入此处理过程。"

# 7cfe38c7368a44d1b920f68fbb7e2b5e
#: ../../hosts.rst:448
msgid ""
"CloudStack manages VLANs differently based on hypervisor type. For XenServer"
" or KVM, the VLANs are created on only the hosts where they will be used and"
" then they are destroyed when all guests that require them have been "
"terminated or moved to another host."
msgstr "CloudStack根据hypervisor类型的不同，管理VLANs的方式也不同。对于XenServer或者KVM来说，只在使用VLANs的主机上创建VLANs，并且当所有使用VLANs的来宾虚机被销毁或者移动至其他主机的时候，这些VLANs就会被销毁。"

# a681bdc643fc41a49688c3a833dce9ac
#: ../../hosts.rst:453
msgid ""
"For vSphere the VLANs are provisioned on all hosts in the cluster even if "
"there is no guest running on a particular Host that requires the VLAN. This "
"allows the administrator to perform live migration and other functions in "
"vCenter without having to create the VLAN on the destination Host. "
"Additionally, the VLANs are not removed from the Hosts when they are no "
"longer needed."
msgstr "vSphere上的VLANs是在群集中的所有主机上配置的，不管主机上有没有使用VLAN的来宾虚机在运行。这样允许管理员在vCenter中不需在目标主机上创建VLAN就可以执行在线迁移和其他功能。此外，当主机不再需要的时候VLANs也不会被移除。"

# 162b7ae68b2d41db83c3bc6d32e86e6b
#: ../../hosts.rst:460
msgid ""
"You can use the same VLANs on different physical networks provided that each"
" physical network has its own underlying layer-2 infrastructure, such as "
"switches. For example, you can specify VLAN range 500 to 1000 while "
"deploying physical networks A and B in an Advanced zone setup. This "
"capability allows you to set up an additional layer-2 physical "
"infrastructure on a different physical NIC and use the same set of VLANs if "
"you run out of VLANs. Another advantage is that you can use the same set of "
"IPs for different customers, each one with their own routers and the guest "
"networks on different physical NICs."
msgstr "你能够使用由不同的拥有二层网络结构的物理网络提供同样的VLANs，比如交换机。比如，在对高级zone中部署物理网络A和B的时候，你可以指定VLAN范围为500-1000。如果你的VLANs用尽了，这个功能允许你在不同的物理网卡上设置追加一个二层物理网络并且使用同样的VLANs设置。另一个优点是你可以在不同的物理网卡上为不同的客户使用同样的IPs设置，每个都有自己的路由器和来宾网络。"

# d4316f84d139424ab25c6fb9292b2840
#: ../../hosts.rst:472
msgid "VLAN Allocation Example"
msgstr "VLAN分配示例"

# ea6edc6b827c4791a53ea10997662dae
#: ../../hosts.rst:474
msgid ""
"VLANs are required for public and guest traffic. The following is an example"
" of a VLAN allocation scheme:"
msgstr "公共和来宾流量要求使用VLAN，下面是一个VLAN分配的示例："

# 558c3d372c85421390186a570da26dee
#: ../../hosts.rst:478
msgid "VLAN IDs"
msgstr "VLAN IDs"

# b6c7ef27f668454dbb5adb9a9c190c98
#: ../../hosts.rst:478
msgid "Traffic type"
msgstr "流量类型"

# 2dc30077851f4826beeaeb3c808e6452
#: ../../hosts.rst:478
msgid "Scope"
msgstr "范围"

# 46e966a312a047cfa77c7292aaba1fdb
#: ../../hosts.rst:480
msgid "less than 500"
msgstr "小于500"

# c6ffd280911a498f99904379cc538935
#: ../../hosts.rst:480
msgid "Management traffic."
msgstr "管理流量。"

# bb76ee312d884069ac0a101cfc2680d2
#: ../../hosts.rst:480
msgid ""
"Reserved for administrative purposes.  CloudStack software can access this, "
"hypervisors, system VMs."
msgstr "出于管理目的而预留的。CloudStack，hypervisors和系统虚机能访问它。"

# 1307c25d94c447a08ebf7b1f47d76fa7
#: ../../hosts.rst:481
msgid "500-599"
msgstr "500-599"

# fb79eefe00ad444eaf660e4c6c7571b7
#: ../../hosts.rst:481
msgid "VLAN carrying public traffic."
msgstr "承载公共流量。"

# 0c7d0d0d68c94f5f889f1e32dcb564cb
#: ../../hosts.rst:481
msgid "CloudStack accounts."
msgstr "CloudStack账户。"

# 9ab975c827154ebd84ab2f50936736b8
#: ../../hosts.rst:482
msgid "600-799"
msgstr "600-799"

# e33f1854a40043ed9d323fa1f1a3519d
# 1dfa7469eec44ea6b03b34b9c6f7504e
#: ../../hosts.rst:482 ../../hosts.rst:483
msgid "VLANs carrying guest traffic."
msgstr "承载来宾流量"

# e10058e68df14ced9dda12d02876f4c4
#: ../../hosts.rst:482
msgid "CloudStack accounts. Account-specific VLAN is chosen from this pool."
msgstr "CloudStack 账户。 从这个池中选择账户特定的VLAN。"

# 26028e0cc17c46ceae4008c85730b970
#: ../../hosts.rst:483
msgid "800-899"
msgstr "800-899"

# a894ab0d32654721aa09284c57bbabc4
#: ../../hosts.rst:483
msgid ""
"CloudStack accounts. Account-specific VLAN chosen by CloudStack admin to "
"assign to that account."
msgstr "CloudStack 账户。CloudStack管理员为账户指定特定的VLAN。"

# 4a297ddc517048fab79c4a44c5ad0b99
#: ../../hosts.rst:484
msgid "900-999"
msgstr "900-999"

# 404678aaa64349f8924466d04c12db32
#: ../../hosts.rst:484
msgid "VLAN carrying guest traffic"
msgstr "承载来宾流量"

# 185277c2c47d409cb9ec68e3f03ceddc
#: ../../hosts.rst:484
msgid ""
"CloudStack accounts. Can be scoped by project, domain, or all accounts."
msgstr "CloudStack 账户。可作为项目、域或所有账户的作用域。"

# 5032da4e90be448f905a4ee48df7d8ed
#: ../../hosts.rst:485
msgid "greater than 1000"
msgstr "大于1000"

# af16d28d60df4d84b3951c37a78f02bc
#: ../../hosts.rst:485
msgid "Reserved for future use"
msgstr "保留为将来使用"

# ef44b9e8dc084564a01254fc196c3b9e
#: ../../hosts.rst:490
msgid "Adding Non Contiguous VLAN Ranges"
msgstr "添加不连续的VLAN范围"

# 5b73c96b899144be9a84d12c7ed11d55
#: ../../hosts.rst:492
msgid ""
"CloudStack provides you with the flexibility to add non contiguous VLAN "
"ranges to your network. The administrator can either update an existing VLAN"
" range or add multiple non contiguous VLAN ranges while creating a zone. You"
" can also use the UpdatephysicalNetwork API to extend the VLAN range."
msgstr "CloudStack能让你灵活的给你的网络添加不连续的VLAN范围。在创建一个zone的时候，管理员要么更新一个已存在的VLAN范围，要么添加多个不连续的VLAN范围。你同样可以使用UpdatephysicalNetwork API来扩展VLAN范围。"

# 957172517a6845a3915b26e7b95812d0
#: ../../hosts.rst:498
msgid "Log in to the CloudStack UI as an administrator or end user."
msgstr "使用管理员或者终端用户账号登录CloudStack UI。"

# cb713605543d4f8eb0ffd5bec494839d
#: ../../hosts.rst:500
msgid "Ensure that the VLAN range does not already exist."
msgstr "确保VLAN范围没有被使用。"

# 6543749bf38741be83173b69828b1f49
#: ../../hosts.rst:502
msgid "In the left navigation, choose Infrastructure."
msgstr "在左边的导航，选择基础架构。"

# 7bd96bd6e7fd4c94bd7be28295bd46de
#: ../../hosts.rst:504
msgid ""
"On Zones, click View More, then click the zone to which you want to work "
"with."
msgstr "在Zones上，点击查看更多，然后点击你要进行操作的zone。"

# 29ea322032104b06880f1204aa29a145
#: ../../hosts.rst:507
msgid "Click Physical Network."
msgstr "点击物理网络。"

# a6e5a25d6929406594577a6b3f074454
#: ../../hosts.rst:509
msgid "In the Guest node of the diagram, click Configure."
msgstr "在图中的来宾节点上，点击配置"

# b85881c793b045978846d5eb97408757
#: ../../hosts.rst:511
msgid "Click Edit |edit-icon.png|."
msgstr "点击编辑|edit-icon.png|。"

# 061af0a695ad4e1abcd195287ee6e0ef
#: ../../hosts.rst:513
msgid "The VLAN Ranges field now is editable."
msgstr "现在VLAN范围区域是可编辑的了。"

# 131fadb281474dc597e34d3fe0d6d444
#: ../../hosts.rst:515
msgid "Specify the start and end of the VLAN range in comma-separated list."
msgstr "指定VLAN范围的起始和结束用逗号隔开。"

# aaf0146792d5487297eff314b521c053
#: ../../hosts.rst:517
msgid ""
"Specify all the VLANs you want to use, VLANs not specified will be removed "
"if you are adding new ranges to the existing list."
msgstr "指定所有你想使用的VLANs，如果你添加新的范围到已有列表里，那么没有指定的VLANs将被移除。"

# d7cd1af070644a71ae33b79fbc724b87
#: ../../hosts.rst:520
msgid "Click Apply."
msgstr "点击应用"

# 9685350eac754d8c889dc8da19292529
#: ../../hosts.rst:524
msgid "Assigning VLANs to Isolated Networks"
msgstr "给隔离的网络指定VLAN。"

# 31001908f2bd40018f7b77a9001e50c7
#: ../../hosts.rst:526
msgid ""
"CloudStack provides you the ability to control VLAN assignment to Isolated "
"networks. As a Root admin, you can assign a VLAN ID when a network is "
"created, just the way it's done for Shared networks."
msgstr "CloudStack能够让你控制VLAN分配至隔离网络。作为一个Root管理员，当一个网络被创建后，你能为其分配一个VLAN ID，这个网络只能是共享网络。"

# 47af367fd0e74e9c98c07d5fd93d9a6a
#: ../../hosts.rst:530
msgid ""
"The former behaviour also is supported — VLAN is randomly allocated to a "
"network from the VNET range of the physical network when the network turns "
"to Implemented state. The VLAN is released back to the VNET pool when the "
"network shuts down as a part of the Network Garbage Collection. The VLAN can"
" be re-used either by the same network when it is implemented again, or by "
"any other network. On each subsequent implementation of a network, a new "
"VLAN can be assigned."
msgstr "同样被支持—当网络转换为运行状态是，VLAN是随机地通过物理网络的VNET范围分配给网络。当网络作为网络垃圾回收过程的一部分而关闭时，VLAN会被回收到VNET池。当网络再次启用的时候VLAN还能被其重用，或者其他网络使用。在每个新启用的网络中，都有一个新的VLAN被分配。"

# 1ba6d80370024ab596ffd9d4ae6294cc
#: ../../hosts.rst:538
msgid ""
"Only the Root admin can assign VLANs because the regular users or domain "
"admin are not aware of the physical network topology. They cannot even view "
"what VLAN is assigned to a network."
msgstr "只有Root管理员能够分配VLANs，因为常规的用户和域管理员并不清楚物理网络拓扑。他们也不能查看哪个VLAN被分配给网络。"

# f8d82f2f80da4f4fbdef3b4308538511
#: ../../hosts.rst:542
msgid "To enable you to assign VLANs to Isolated networks,"
msgstr "要把VLANs分配给隔离的网络，"

# 51e781fd8ac2474f896774fe185ff585
#: ../../hosts.rst:544
msgid "Create a network offering by specifying the following:"
msgstr "使用下列指定的步骤创建一个网络方案："

# 38ae271a7f7f4855a4353c109d01d761
#: ../../hosts.rst:546
msgid "**Guest Type**: Select Isolated."
msgstr "**来宾网络类型**：选择隔离的。"

# 136f37de7a6f4b1ead01c213603a4a47
#: ../../hosts.rst:548
msgid "**Specify VLAN**: Select the option."
msgstr "**指定VLAN**：选择一个选项。"

# ba4c14a8b3d94e1fbeccb6afd28ec4ad
#: ../../hosts.rst:550
msgid "For more information, see the CloudStack Installation Guide."
msgstr "更多信息，请参考CloudStack安装指导。"

# 42fbeadc772741cdb88549a149bef4c4
#: ../../hosts.rst:552
msgid "Using this network offering, create a network."
msgstr "使用这个网络方案，创建一个网络。"

# b08c9effb9bf43ecb0e42699daf88922
#: ../../hosts.rst:554
msgid "You can create a VPC tier or an Isolated network."
msgstr "你可以创建一个VPC层或者一个隔离网络。"

# d1ae253e49f3473a9ee2ed29b8447270
#: ../../hosts.rst:556
msgid "Specify the VLAN when you create the network."
msgstr "当你创建网络的时候指定VLAN。"

# d4c5557c8994473ba6ca182dc7149c44
#: ../../hosts.rst:558
msgid ""
"When VLAN is specified, a CIDR and gateway are assigned to this network and "
"the state is changed to Setup. In this state, the network will not be "
"garbage collected."
msgstr "当VLAN被指定后，CIDR和网关就被分配给这个网络了，并且它的状态也变成Setup了。在这个状态下，网络不会被回收。"

# 89369b26917b4d54ad28290b37c59b53
#: ../../hosts.rst:563
msgid ""
"You cannot change a VLAN once it's assigned to the network. The VLAN remains"
" with the network for its entire life cycle."
msgstr "一旦VLAN被分配给一个网络的话，你就不能更改它。VLAN将伴随着网络的整个生命周期。"
