[ English | Indonesia | русский ]
管理实例¶
本章描述了如何创建和访问实例。
使用仪表盘创建实例¶
使用镜像,通过仪表盘选项创建一个新的实例。
登录到仪表盘,并从下拉列表中选择 admin 项目。
在 项目 选项卡上,打开 实例 选项卡,然后单击 启动实例 按钮。
图:仪表盘 — 实例选项卡¶
检查 启动实例 对话框,并找到 详细信息 选项卡。输入实例的适当值。
实例详细信息¶
单击 源。在源步骤中,选择启动源:镜像、卷(卷快照)或实例快照。如果您选择镜像,请从列表中选择所需的操作系统或自定义镜像来启动您的实例。如果启用了块存储服务 (cinder),则卷选项才可用。
实例源¶
有关将块存储卷附加到实例以实现持久存储的更多信息,请参阅下面的管理用于持久存储的卷部分。
在 启动实例 对话框中,单击 风味 选项卡,并选择您实例的首选风味。
单击 网络选项卡。如果未启用网络服务 (neutron),则此选项卡将不可用。如果启用了网络,请选择实例将驻留的网络。
实例网络¶
单击 密钥对 选项卡,并选择密钥对或创建新的密钥对。
单击 安全组 选项卡,并将安全组设置为“默认”。
如果需要,通过单击 配置 添加自定义脚本。这些脚本在创建实例后运行。某些实例支持用户数据,例如 root 密码或管理员用户。如果需要,在此处输入特定于实例的信息。
单击 启动 以创建实例。该实例将在计算节点上启动。实例 页面将打开并开始创建新实例。打开的 实例 页面将列出实例名称、大小、状态和任务。电源状态以及公有和私有 IP 地址也在此处列出。
该过程完成所需时间少于一分钟。当状态显示为活动状态时,实例创建完成。刷新页面以查看新的活动实例。
实例页面¶
启动实例选项¶ 字段名称
必需
细节
可用区
可选
镜像服务创建实例的可用区。如果未定义任何可用区,则不会找到任何实例。云提供商将可用区设置为特定值。
实例名称
必需
新实例的名称,它成为服务器的初始主机名。如果服务器名称在 API 中更改或直接更改,仪表盘名称将保持不变
镜像
必需
容器格式的类型,可以是
raw、qcow2、iso、vmdk、``vdi`` 等。风味
必需
vCPU、内存和磁盘配置。请注意,较大的风味可能需要很长时间才能创建。如果您是第一次创建实例并想要一个小的实例来进行测试,请选择
m1.small。实例数量
必需
如果使用此配置创建多个实例,请输入一个整数,最多为配额允许的数量,默认值为
10。实例启动源
必需
指定实例是基于镜像还是快照。如果是第一次创建实例,则此时还没有可用的快照。
镜像
必需
实例将从所选镜像启动。此选项将从表中预填充所选实例。但是,选择
从快照启动在 实例启动源 中,它将默认设置为快照。安全组
可选
此选项将安全组分配给实例。默认安全组在未在此处指定自定义组时激活。安全组类似于云防火墙,定义了哪些传入网络流量转发到实例。
Keypair
可选
使用此选项指定密钥对。如果镜像使用静态密钥集(不推荐),则不需要密钥对。
网络
可选
要将网络添加到实例,请单击 向下箭头 符号在 网络字段 中。
配置
可选
指定自定义脚本。此脚本在实例启动并变为活动状态后运行。
使用命令行创建实例¶
在命令行上,使用 openstack server create 命令管理实例创建。在启动实例之前,确定要创建新实例的可用镜像和风味,使用 openstack image list 和 openstack flavor list 命令。
登录到任何实用程序容器。
使用实例名称以及要使用的镜像和风味发出 openstack server create 命令
$ openstack server create --image precise-image --flavor 2 --key-name example-key example-instance +-------------------------------------+--------------------------------------+ | Property | Value | +-------------------------------------+--------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-SRV-ATTR:host | None | | OS-EXT-SRV-ATTR:hypervisor_hostname | None | | OS-EXT-SRV-ATTR:instance_name | instance-0000000d | | OS-EXT-STS:power_state | 0 | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | accessIPv4 | | | accessIPv6 | | | adminPass | ATSEfRY9fZPx | | config_drive | | | created | 2012-08-02T15:43:46Z | | flavor | m1.small | | hostId | | | id | 5bf46a3b-084c-4ce1-b06f-e460e875075b | | image | precise-image | | key_name | example-key | | metadata | {} | | name | example-instance | | progress | 0 | | status | BUILD | | tenant_id | b4769145977045e2a9279c842b09be6a | | updated | 2012-08-02T15:43:46Z | | user_id | 5f2f2c28bdc844f9845251290b524e80 | +-------------------------------------+--------------------------------------+要检查实例是否已成功创建,请发出 openstack server list 命令
$ openstack server list +------------------+------------------+--------+-------------------+---------------+ | ID | Name | Status | Networks | Image Name | +------------------+------------------+--------+-------------------+---------------+ | [ID truncated] | example-instance | ACTIVE | public=192.0.2.0 | precise-image | +------------------+------------------+--------+-------------------+---------------+
管理实例¶
登录到仪表盘。选择其中一个项目,然后单击 实例。
从可用实例列表中选择一个实例。
检查 操作 列,然后单击向下箭头。选择操作。
操作 列包括以下选项
调整大小或重建任何实例
附加/分离卷
附加/分离接口
查看实例控制台日志
编辑实例
编辑安全组
暂停、恢复、救援或挂起实例
软重置或硬重置实例
注意
在 操作 列中删除实例。
管理用于持久存储的卷¶
卷附加到实例,从而实现持久存储。卷存储为实例提供内存源。管理员可以将卷附加到正在运行的实例,或将卷从一个实例移动到另一个实例。
实例实时迁移¶
Nova 能够将实例从一个主机实时迁移到另一个主机,以支持各种操作任务,包括
主机维护
主机容量管理
将实例调整大小并移动到更好的硬件
Nova 配置驱动器影响¶
根据使用的 OpenStack-Ansible 版本,Nova 可以配置为强制将配置驱动器附加到实例。在这种情况下,ISO9660 CD-ROM 镜像将通过 /mnt 挂载点提供给实例。这可被工具(如 cloud-init)用于访问实例元数据。这是访问 Nova EC2 样式元数据的一种替代方法。
要允许 Nova 实例的实时迁移,需要关闭此强制配置驱动器配置,或者将配置驱动器的格式更改为 Linux 和 Windows 实例都可以访问的磁盘格式,例如 vfat。
此解决方法适用于所有 Libvirt 版本早于 1.2.17。
要关闭强制配置驱动器配置并将配置驱动器的格式更改为硬盘驱动器样式格式,请将以下覆盖添加到 /etc/openstack_deploy/user_variables.yml 文件
nova_nova_conf_overrides:
DEFAULT:
config_drive_format: vfat
force_config_drive: false
隧道传输与直接传输¶
在默认配置中,Nova 确定如何将数据从一个主机传输到另一个主机的正确传输 URL。根据 nova_virt_type 覆盖,将使用以下配置
kvm 默认为
qemu+tcp://%s/systemqemu 默认为
qemu+tcp://%s/system
Libvirt TCP 端口用于传输迁移数据。
OpenStack-Ansible 更改了默认设置,并使用加密的 SSH 连接来传输实例数据。
live_migration_uri = "qemu+ssh://nova@%s/system?no_verify=1&keyfile={{ nova_system_home_folder }}/.ssh/id_rsa"
其他配置可以在 /etc/openstack_deploy/user_variables.yml 文件中配置
nova_nova_conf_overrides:
libvirt:
live_migration_completion_timeout: 0
live_migration_progress_timeout: 0
live_migration_uri: "qemu+ssh://nova@%s/system?keyfile=/var/lib/nova/.ssh/id_rsa&no_verify=1"
执行迁移¶
实时迁移可通过 nova 客户端访问。
nova live-migration [--block-migrate] [--force] <uuid> [<host>]
示例在本地存储上进行实时迁移
nova live-migration --block-migrate <uuid of the instance> <nova host>
监控状态¶
一旦接受了实时迁移请求,就可以使用 nova 客户端监控状态
nova migration-list
+-----+------------+-----------+----------------+--------------+-----------+-----------+---------------+------------+------------+------------+------------+-----------------+
| Id | Source Node | Dest Node | Source Compute | Dest Compute | Dest Host | Status | Instance UUID | Old Flavor | New Flavor | Created At | Updated At | Type |
+----+-------------+-----------+----------------+--------------+-----------+-----------+---------------+------------+------------+------------+------------+-----------------+
| 6 | - | - | compute01 | compute02 | - | preparing | f95ee17a-d09c | 7 | 7 | date | date | live-migration |
+----+-------------+-----------+----------------+--------------+-----------+-----------+---------------+------------+------------+------------+------------+-----------------+
要过滤列表,可以使用 --host 或 --status 选项
nova migration-list --status error
如果实时迁移失败,则需要检查源和目标计算节点是否存在错误。通常,仅搜索实例 UUID 就足以找到与实时迁移相关的错误。
其他形式的实例迁移¶
除了实时迁移之外,Nova 还提供在线(实时)或离线(冷)迁移整个主机的选项。
提供了以下 nova 客户端命令
host-evacuate-live如果资源利用率允许,实时迁移指定主机的所有实例到其他主机。最好使用 Ceph 或 NFS 等共享存储进行主机撤离。
host-servers-migrate此命令类似于主机撤离,但会在实例关闭时将指定主机的所有实例迁移出去。
调整大小在重新启动的同时更改实例的风味(增加),并还将实例(冷)迁移到新主机以适应新的资源需求。此操作可能需要相当长的时间,具体取决于磁盘镜像大小。