“OpenStack:Nova服务 1+X实训”的版本间的差异
第17行: | 第17行: | ||
创建一个名为test的安全组,描述为'test the nova command about the rules',命令及执行结果如下所示: | 创建一个名为test的安全组,描述为'test the nova command about the rules',命令及执行结果如下所示: | ||
+ | |||
+ | source /etc/keystone/admin-openrc.sh | ||
nova secgroup-create test 'test the nova command about the rules' | nova secgroup-create test 'test the nova command about the rules' | ||
第26行: | 第28行: | ||
---—--—---------------------十</nowiki> | ---—--—---------------------十</nowiki> | ||
+ | |||
+ | 故障: | ||
+ | |||
+ | <nowiki>ERROR (ClientException): Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible. | ||
+ | <class 'keystoneauth1.exceptions.connection.ConnectFailure'> (HTTP 500) (Request-ID: req-4f001370-53c1-4f76-8ddb-b7e782b186e9)</nowiki> | ||
===Nova管理虚拟机类型=== | ===Nova管理虚拟机类型=== | ||
虚拟机类型是在创建实例的时候,分配给实例的资源情况,接下来介绍Nova对虚拟机类型的管理。 | 虚拟机类型是在创建实例的时候,分配给实例的资源情况,接下来介绍Nova对虚拟机类型的管理。 | ||
+ | |||
+ | [root@controller ~]# nova flavor-list | ||
+ | |||
+ | <nowiki>+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ | ||
+ | | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | | ||
+ | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ | ||
+ | | 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True | | ||
+ | | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | | ||
+ | | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | | ||
+ | | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | | ||
+ | | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | | ||
+ | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+</nowiki> | ||
+ | |||
nova flavor-create | nova flavor-create | ||
第34行: | 第54行: | ||
功能:创建一个虚拟机类型。 | 功能:创建一个虚拟机类型。 | ||
− | + | 使用命令创建一个名为test,ID为6,内存为512 MB,磁盘为1GB,vCPU 数量为2的云主机类型。具体命令及执行结果如下所示。 | |
− | # | + | [root@controller ~]# openstack flavor create --ram 512 --disk 1 --vcpus 1 m1.verytiny |
− | <nowiki> | + | <nowiki>+----------------------------+--------------------------------------+ |
− | | | + | | Field | Value | |
− | | | + | +----------------------------+--------------------------------------+ |
− | +-------------+-----------+</nowiki> | + | | OS-FLV-DISABLED:disabled | False | |
− | + | | OS-FLV-EXT-DATA:ephemeral | 0 | | |
+ | | disk | 1 | | ||
+ | | id | cf893ae4-b330-4c7f-a864-86c8a584ed1a | | ||
+ | | name | m1.verytiny | | ||
+ | | os-flavor-access:is_public | True | | ||
+ | | ram | 512 | | ||
+ | | rxtx_factor | 1.0 | | ||
+ | | swap | | | ||
+ | | vcpus | 1 | | ||
+ | +----------------------------+--------------------------------------+</nowiki> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Nova实例管理== | ==Nova实例管理== | ||
第89行: | 第112行: | ||
[--config-drive <value>]驱动使能[--poll]显示创建进度 | [--config-drive <value>]驱动使能[--poll]显示创建进度 | ||
</nowiki> | </nowiki> | ||
+ | |||
+ | |||
+ | ====创建密钥==== | ||
+ | 创建一个密钥: | ||
+ | |||
+ | nova keypair-add oskey > oskey.priv | ||
+ | chmod 600 oskey.priv | ||
+ | |||
+ | ====你查看所有可用的云主机类型==== | ||
+ | nova flavor-list | ||
+ | |||
+ | ====查看现在可用的镜像类型==== | ||
+ | nova image-list | ||
+ | |||
+ | |||
+ | ====新建立云主机==== | ||
+ | 最后,你利用刚才查到的云主机类型和镜像信息,在后台新建立一个云主机, | ||
+ | |||
+ | nova boot --flavor [flavor-id] --key_name oskey --image [image-id] hostname | ||
+ | |||
+ | 其中,flavor-id 就是上上步云主机类型表里的id号,建议选tiny的那个,oskey是你刚才创建的密钥,image-id就是上步镜像表里的id号,建议选cirros的那个,hostname换成你自己想起的云主机的名字。 | ||
===删除实例=== | ===删除实例=== |
2021年11月30日 (二) 02:00的版本
目录
案例描述
(1)了解 Nova服务的用处。
(2)学习Nova服务的基础命令。
(3)使用Nova命令完成相应运维任务。
Nova运维命令
Nova管理安全组规则
安全组(security group)是一些规则的集合,用来对虚拟机的访问流量加以限制,这反映到底层,就是使用iptables,给虚拟机所在的宿主机添加 iptables规则。可以定义n个安全组,每个安全组可以有n个规则,可以给每个实例绑定n个安全组.Nova中总是有一个default安全组,这个是不能被删除的。创建实例的时候,如果不指定安全组,会默认使用这个default安全组。现在Nova中安全组应该会移到Neutron中,并且会增加对虚拟机外出流量的控制。
注意:Nova中的安全组只是对进入虚拟机的流量加以控制,对虚拟机外出流量没有加以限制。
常用的安全组命令。
nova secgroup-create功能:创建安全组。
创建一个名为test的安全组,描述为'test the nova command about the rules',命令及执行结果如下所示:
source /etc/keystone/admin-openrc.sh
nova secgroup-create test 'test the nova command about the rules'
------------------------------+ Id | Name | Description |dlce4ef1-26c8-4b3d-958b-bc778bf283f3 | test | test the nova command about the rules l ---—--—---------------------十
故障:
ERROR (ClientException): Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible. <class 'keystoneauth1.exceptions.connection.ConnectFailure'> (HTTP 500) (Request-ID: req-4f001370-53c1-4f76-8ddb-b7e782b186e9)
Nova管理虚拟机类型
虚拟机类型是在创建实例的时候,分配给实例的资源情况,接下来介绍Nova对虚拟机类型的管理。
[root@controller ~]# nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ | 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True | | 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | | 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | | 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | | 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
nova flavor-create
功能:创建一个虚拟机类型。
使用命令创建一个名为test,ID为6,内存为512 MB,磁盘为1GB,vCPU 数量为2的云主机类型。具体命令及执行结果如下所示。
[root@controller ~]# openstack flavor create --ram 512 --disk 1 --vcpus 1 m1.verytiny
+----------------------------+--------------------------------------+ | Field | Value | +----------------------------+--------------------------------------+ | OS-FLV-DISABLED:disabled | False | | OS-FLV-EXT-DATA:ephemeral | 0 | | disk | 1 | | id | cf893ae4-b330-4c7f-a864-86c8a584ed1a | | name | m1.verytiny | | os-flavor-access:is_public | True | | ram | 512 | | rxtx_factor | 1.0 | | swap | | | vcpus | 1 | +----------------------------+--------------------------------------+
Nova实例管理
启动实例
Nova可对云平台中的实例进行管理,包括创建实例、启动实例、删除实例和实例迁移等操作。
nova boot
功能:启动实例。格式:
nova boot [--flavor <flavor>][--image <image>] [--image-with <key=value>] [--boot-volume <volume_id>][--snapshot <snapshot_id>][--min-count <number>] [--max-count <number>] [--meta <key=value>] [--file <dst-path=src-path>] [--key-name <key-name>][--user-data <user-data>] [--availability-zone <availability-zone>][--security-groups <security-groups>] [--block-device-mapping <dev-name=mapping>][--block-device key1=value1[,key2=value2..][--swap <swap_size>] [--ephemeral size=<size>[,format=<format>]][--hint <key=value>] [--nic <net-id=net-uuid,net-name=network-name,v4-fixed-ip=ip-addr,v6-fixed-ip=ip-addr,port-id=port-uuid>] [--config-drive <value>] [--poll] [--admin-pass <value>][--access-ip-v4 <value>] [--access-ip-v6 <value>] [--description <description>] name>
固定参数。
<name>:实例名称
可选参数。
[--flavor <flavor>]:虚拟机类型。[--image <image>]:选用的镜像。 [--image-with <key-value>]:镜像的元数据属性。[--boot-volume <volume_id>:启动逻辑卷的ID。[--snapshot <snapshot_id>]快照 [--num-instances <number>]实例数量[--meta <key=value>]元数据 [--file <dst-path=src-path>]文件[--key-name <key-name>]密钥名称[--user-data <user-data>]注入的用户数据[--availability-zone<availability-zone>]可用域[--security-groups<security-groups>]安全组 [--block-device-mapping <dev-name=mapping>1块存储格式化 [--block-device key1=value1[,key2=value2...]]块设备参数[--swap <swap_size>]交换分区大小 [--ephemeral size=<size>[,format=<format>]]连接块存储大小[--hint <key=value>]自定义数据 [--nic ]配置IP [--config-drive <value>]驱动使能[--poll]显示创建进度
创建密钥
创建一个密钥:
nova keypair-add oskey > oskey.priv chmod 600 oskey.priv
你查看所有可用的云主机类型
nova flavor-list
查看现在可用的镜像类型
nova image-list
新建立云主机
最后,你利用刚才查到的云主机类型和镜像信息,在后台新建立一个云主机,
nova boot --flavor [flavor-id] --key_name oskey --image [image-id] hostname
其中,flavor-id 就是上上步云主机类型表里的id号,建议选tiny的那个,oskey是你刚才创建的密钥,image-id就是上步镜像表里的id号,建议选cirros的那个,hostname换成你自己想起的云主机的名字。
删除实例
nova delete
功能:删除实例
格式:
usage: nova delete [--all-tenants] <server> [<server> ...]Immediately shut down and delete specified server(s).Positional arguments: <server> Name or ID of server(s). Optional arguments: --all-tenants Delete server(s) in another tenant by name (Admin only).