• Nova组建详解


    一、Nova组件概述

    计算节点通过Nova Computer进行虚拟机创建,通过libvirt调用kvm创建虚拟机,nova之间通信通过rabbitMQ队列进行通信。
    Nova位于Openstack架构的中心,其他服务或者组件(比如Glance、Cinder、Neutron等)对它提供支持,另外它本身的架构也比较复杂。

    作用:

    1. Nova是OpenStack最核心的服务模块,负责管理和维护云计算环境的计算资源,负责整个云环境虚拟机生命周期的管理。
    2. Nova是OpenStack的计算服务,负责维护和管理的网络和存储,提供计算服务。

    https://www.cnblogs.com/mh20131118/p/12939358.html

    https://www.cnblogs.com/linuxk/p/9454258.html

    二、Nova组建操作

    1、安全组相关操作

    nova
    ​	secgroup-add-default-rule   Add a rule to the set of rules that will be
    ​                                added to the 'default' security group for new
    ​                                tenants (nova-network only).
    ​    secgroup-add-group-rule     Add a source group rule to a security group.
    ​    secgroup-add-rule           Add a rule to a security group.
    ​    secgroup-create             Create a security group.
    ​    secgroup-delete             Delete a security group.
    ​    secgroup-delete-default-rule
    ​                                Delete a rule from the set of rules that will
    ​                                be added to the 'default' security group for
    ​                                new tenants (nova-network only).
    ​    secgroup-delete-group-rule  Delete a source group rule from a security
    ​                                group.
    ​    secgroup-delete-rule        Delete a rule from a security group.
    ​    secgroup-list               List security groups for the current tenant.
    ​    secgroup-list-default-rules
    ​                                List rules that will be added to the 'default'
    ​                                security group for new tenants.
    ​    secgroup-list-rules         List rules for a security group.
    ​    secgroup-update             Update a security group.
    
    # 安全组查看:
    [root@controller ~]# nova secgroup-list
    +--------------------------------------+---------+------------------------+
    | Id                                   | Name    | Description            |
    +--------------------------------------+---------+------------------------+
    | 486eaa38-8e3d-4214-96bc-e6fee9b81be6 | default | Default security group |
    +--------------------------------------+---------+------------------------+
    
    # 安全组创建
    [root@controller ~]# nova  secgroup-create hqs 'Most great security group'
    +--------------------------------------+------+---------------------------+
    | Id                                   | Name | Description               |
    +--------------------------------------+------+---------------------------+
    | 1f2e9304-2fa0-45ac-a407-9816c72a1190 | hqs  | Most great security group |
    +--------------------------------------+------+---------------------------+
    
    # 安全组更新
    [root@controller ~]# nova  secgroup-update 218faa36-c250-40d5-9775-534049e5771a  hqs111 'One of the most great security group '
    +--------------------------------------+--------+---------------------------------------+
    | Id                                   | Name   | Description                           |
    +--------------------------------------+--------+---------------------------------------+
    | 218faa36-c250-40d5-9775-534049e5771a | hqs111 | One of the most great security group  |
    +--------------------------------------+--------+---------------------------------------+
    
    # 安全组删除
    [root@controller ~]# nova secgroup-delete hqs111
    
    # 安全组规则查看
    [root@controller ~]# nova secgroup-list-rules hqs    
    +-------------+-----------+---------+----------+--------------+
    | IP Protocol | From Port | To Port | IP Range | Source Group |
    +-------------+-----------+---------+----------+--------------+
    +-------------+-----------+---------+----------+--------------+
    [root@controller ~]# nova secgroup-list-rules default
    +-------------+-----------+---------+-----------+--------------+
    | IP Protocol | From Port | To Port | IP Range  | Source Group |
    +-------------+-----------+---------+-----------+--------------+
    | tcp         | 1         | 65535   | 0.0.0.0/0 |              |
    | udp         | 1         | 65535   | 0.0.0.0/0 |              |
    | icmp        | -1        | -1      | 0.0.0.0/0 |              |
    |             |           |         |           | default      |
    |             |           |         |           | default      |
    +-------------+-----------+---------+-----------+--------------+
    
    # 安全组规则添加
    [root@controller ~]# nova  secgroup-add-rule hqs icmp -1 -1 0.0.0.0/0
    +-------------+-----------+---------+-----------+--------------+
    | IP Protocol | From Port | To Port | IP Range  | Source Group |
    +-------------+-----------+---------+-----------+--------------+
    | icmp        | -1        | -1      | 0.0.0.0/0 |              |
    +-------------+-----------+---------+-----------+--------------+
    [root@controller ~]# nova  secgroup-add-rule hqs udp 1 65535 0.0.0.0/0   
    +-------------+-----------+---------+-----------+--------------+
    | IP Protocol | From Port | To Port | IP Range  | Source Group |
    +-------------+-----------+---------+-----------+--------------+
    | udp         | 1         | 65535   | 0.0.0.0/0 |              |
    +-------------+-----------+---------+-----------+--------------+
    [root@controller ~]# nova  secgroup-add-rule hqs tcp 1 65535 0.0.0.0/0   
    +-------------+-----------+---------+-----------+--------------+
    | IP Protocol | From Port | To Port | IP Range  | Source Group |
    +-------------+-----------+---------+-----------+--------------+
    | tcp         | 1         | 65535   | 0.0.0.0/0 |              |
    +-------------+-----------+---------+-----------+--------------+
    
    # 安全组规则删除
    [root@controller ~]# nova  secgroup-delete-rule hqs icmp -1 -1 0.0.0.0/0
    +-------------+-----------+---------+-----------+--------------+
    | IP Protocol | From Port | To Port | IP Range  | Source Group |
    +-------------+-----------+---------+-----------+--------------+
    | icmp        | -1        | -1      | 0.0.0.0/0 |              |
    +-------------+-----------+---------+-----------+--------------+
    [root@controller ~]# nova secgroup-list-rules hqs                       
    +-------------+-----------+---------+-----------+--------------+
    | IP Protocol | From Port | To Port | IP Range  | Source Group |
    +-------------+-----------+---------+-----------+--------------+
    | udp         | 1         | 65535   | 0.0.0.0/0 |              |
    | tcp         | 1         | 65535   | 0.0.0.0/0 |              |
    +-------------+-----------+---------+-----------+--------------+
    
    

    2、云主机类型操作

    nova
    	flavor-access-add           Add flavor access for the given tenant.
        flavor-access-list          Print access information about the given
                                    flavor.
        flavor-access-remove        Remove flavor access for the given tenant.
        flavor-create               Create a new flavor.
        flavor-delete               Delete a specific flavor
        flavor-key                  Set or unset extra_spec for a flavor.
        flavor-list                 Print a list of available 'flavors' (sizes of
                                    servers).
        flavor-show                 Show details about the given flavor.
    	
    # 云主机类型列表查看
    [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      |
    | 7645393e-4f46-473a-85bf-6ea69669dac2 | m1-hqs    | 512       | 10   | 0         |      | 1     | 1.0         | True      |
    +--------------------------------------+-----------+-----------+------+-----------+------+-------+-------------+-----------+
    
    # 云主机类型添加
    [root@controller ~]# nova  flavor-create m1.hqs 6 1024 10 1
    +----+--------+-----------+------+-----------+------+-------+-------------+-----------+
    | ID | Name   | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
    +----+--------+-----------+------+-----------+------+-------+-------------+-----------+
    | 6  | m1.hqs | 1024      | 10   | 0         |      | 1     | 1.0         | True      |
    +----+--------+-----------+------+-----------+------+-------+-------------+-----------+
    
    # 云主机类型详情查看
    [root@controller ~]# nova flavor-show m1.hqs
    +----------------------------+--------+
    | Property                   | Value  |
    +----------------------------+--------+
    | OS-FLV-DISABLED:disabled   | False  |
    | OS-FLV-EXT-DATA:ephemeral  | 0      |
    | disk                       | 10     |
    | extra_specs                | {}     |
    | id                         | 6      |
    | name                       | m1.hqs |
    | os-flavor-access:is_public | True   |
    | ram                        | 1024   |
    | rxtx_factor                | 1.0    |
    | swap                       |        |
    | vcpus                      | 1      |
    +----------------------------+--------+
    
    # 云主机类型删除
    [root@controller ~]# nova flavor-delete  m1-hqs
    

    3、云主机实例操作

    # 实例列表查看
    nova list
    
    # 实例详情查看
    nova show <server>
    
    # 实例创建
    nova boot <实例名称>
    # 可选参数:
      --flavor <flavor>             虚拟机类型
      --image <image>               可选用的镜像
      --image-with <key=value>      镜像的元数据属性
      --boot-volume <volume_id>     启动逻辑卷的ID
      --snapshot <snapshot_id>      快照.
      --min-count <number>          Boot at least <number> servers (limited by
                                    quota).
      --max-count <number>          Boot up to <number> servers (limited by
                                    quota).
      --meta <key=value>            元数据Record arbitrary key/value metadata to
                                    /meta_data.json on the metadata server. Can be
                                    specified multiple times.
      --file <dst-path=src-path>    文件Store arbitrary files from <src-path> locally
                                    to <dst-path> on the new server. Limited by
                                    the injected_files quota value.
      --key-name <key-name>         密钥名称Key name of keypair that should be created
                                    earlier with the command keypair-add.
      --user-data <user-data>       注入的用户数据user data file to pass to be exposed by the
                                    metadata server.
      --availability-zone <availability-zone>
                                    可用域The availability zone for server placement.
      --security-groups <security-groups>
                                    安全组Comma separated list of security group names.
      --block-device-mapping <dev-name=mapping>
                                    块存储格式化Block device mapping in the format <dev-
                                    name>=<id>:<type>:<size(GB)>:<delete-on-
                                    terminate>.
      --block-device key1=value1[,key2=value2...]   块设备参数
      --swap <swap_size>            交换空间大小Create and attach a local swap block device of
                                    <swap_size> MB.
      --ephemeral size=<size>[,format=<format>]
                                    连接块存储的大小Create and attach a local ephemeral block
                                    device of <size> GB and format it to <format>.
      --hint <key=value>            自定义数据Send arbitrary key/value pairs to the
                                    scheduler for custom use.
      --nic <net-id=net-uuid,net-name=network-name,v4-fixed-ip=ip-addr,v6-fixed-ip=ip-addr,port-id=port-uuid>
                                    配置网络Create a NIC on the server. Specify option
                                    multiple times to create multiple NICs. net-
                                    id: attach NIC to network with this UUID net-
                                    name: attach NIC to network with this name
                                    (either port-id or net-id or net-name must be
                                    provided), v4-fixed-ip: IPv4 fixed address for
                                    NIC (optional), v6-fixed-ip: IPv6 fixed
                                    address for NIC (optional), port-id: attach
                                    NIC to port with this UUID (either port-id or
                                    net-id must be provided).
      --config-drive <value>        驱动配置Enable config drive.
      --poll                        显示创建进度Report the new server boot progress until it
                                    completes.
      --admin-pass <value>          Admin password for the instance.
      --access-ip-v4 <value>        Alternative access IPv4 of the instance.
      --access-ip-v6 <value>        Alternative access IPv6 of the instance.
      --description <description>   Description for the server. (Supported by API
                                    versions '2.19' - '2.latest')
    
    
    # 1、查看镜像
    glance image-list
    # 2、查看规格
    nova flavor-list
    # 3、查看安全组
    nova secgroup-list
    # 4、查看可用的网络
    neutron net-list
    
    nova boot    \
    --image centos7.2      \
    --availability-zone nova  \
    --flavor m1.hqs    \
    --security-groups hqs  \
    --nic net-id=64306052-bcec-4209-ac4c-45b9d2de4dde  \
    caocao-server1
    
    # 5、实例创建
    [root@controller images]# nova boot test-server --image centos7.2 --flavor m1.lxh --availability-zone nova --security-groups hqs  --nic net-id=451fd2af-e1eb-4437-bf71-53b5f91c10b5
    +--------------------------------------+--------------------------------------------------+
    | Property                             | Value                                            |
    +--------------------------------------+--------------------------------------------------+
    | OS-DCF:diskConfig                    | MANUAL                                           |
    | OS-EXT-AZ:availability_zone          | nova                                             |
    | OS-EXT-SRV-ATTR:host                 | -                                                |
    | OS-EXT-SRV-ATTR:hostname             | test-server                                      |
    | OS-EXT-SRV-ATTR:hypervisor_hostname  | -                                                |
    | OS-EXT-SRV-ATTR:instance_name        | instance-0000000d                                |
    | OS-EXT-SRV-ATTR:kernel_id            |                                                  |
    | OS-EXT-SRV-ATTR:launch_index         | 0                                                |
    | OS-EXT-SRV-ATTR:ramdisk_id           |                                                  |
    | OS-EXT-SRV-ATTR:reservation_id       | r-zoria5fn                                       |
    | OS-EXT-SRV-ATTR:root_device_name     | -                                                |
    | OS-EXT-SRV-ATTR:user_data            | -                                                |
    | OS-EXT-STS:power_state               | 0                                                |
    | OS-EXT-STS:task_state                | scheduling                                       |
    | OS-EXT-STS:vm_state                  | building                                         |
    | OS-SRV-USG:launched_at               | -                                                |
    | OS-SRV-USG:terminated_at             | -                                                |
    | accessIPv4                           |                                                  |
    | accessIPv6                           |                                                  |
    | adminPass                            | ejFD96k8DUkW                                     |
    | config_drive                         |                                                  |
    | created                              | 2021-10-19T02:09:45Z                             |
    | description                          | -                                                |
    | flavor                               | m1.lxh (111)                                     |
    | hostId                               |                                                  |
    | host_status                          |                                                  |
    | id                                   | 22d0a54b-2a6f-4ea8-8729-dc07055c19e5             |
    | image                                | centos7.2 (8aec8782-c6af-41d8-a225-ada5a2af13dc) |
    | key_name                             | -                                                |
    | locked                               | False                                            |
    | metadata                             | {}                                               |
    | name                                 | test-server                                      |
    | os-extended-volumes:volumes_attached | []                                               |
    | progress                             | 0                                                |
    | security_groups                      | hqs                                              |
    | status                               | BUILD                                            |
    | tenant_id                            | 386dbfcf77e444c7872e4e23d5829fcc                 |
    | updated                              | 2021-10-19T02:09:55Z                             |
    | user_id                              | 0f217182b5af448c988f5464c706a337                 |
    +--------------------------------------+--------------------------------------------------+
    
    # 实例停止
    [root@controller ~]# nova stop hqs_server
    Request to stop server hqs_server has been accepted.
    
    # 实例启动
    [root@controller ~]# nova start hqs_server
    Request to start server hqs_server has been accepted.
    
    # 实例重启
    [root@controller ~]# nova reboot hqs_server
    Request to reboot server <Server: hqs_server> has been accepted.
    [root@controller ~]# nova list
    +--------------------------------------+------------+---------+----------------+-------------+----------------------------------+
    | ID                                   | Name       | Status  | Task State     | Power State | Networks                         |
    +--------------------------------------+------------+---------+----------------+-------------+----------------------------------+
    | b51590fc-33cc-4d54-8e54-c0530e912d2b | hqs_server | REBOOT  | reboot_started | Running     | int-gre=172.25.2.8               |
    | c6cabeed-1176-4634-b493-b6be7c351a03 | test       | SHUTOFF | -              | Shutdown    | int-gre=172.25.2.3, 192.168.20.4 |
    +--------------------------------------+------------+---------+----------------+-------------+----------------------------------+
    
    # 实例挂起
    [root@controller ~]# nova pause test
    [root@controller ~]# nova list      
    +--------------------------------------+------------+--------+----------------+-------------+----------------------------------+
    | ID                                   | Name       | Status | Task State     | Power State | Networks                         |
    +--------------------------------------+------------+--------+----------------+-------------+----------------------------------+
    | b51590fc-33cc-4d54-8e54-c0530e912d2b | hqs_server | REBOOT | reboot_started | Running     | int-gre=172.25.2.8               |
    | c6cabeed-1176-4634-b493-b6be7c351a03 | test       | PAUSED | -              | Paused      | int-gre=172.25.2.3, 192.168.20.4 |
    +--------------------------------------+------------+--------+----------------+-------------+----------------------------------+
    
    # 实例删除
    [root@controller ~]# nova delete hqs_server
    Request to delete server hqs_server has been accepted.
    [root@controller ~]# nova list
    +--------------------------------------+------+--------+------------+-------------+----------------------------------+
    | ID                                   | Name | Status | Task State | Power State | Networks                         |
    +--------------------------------------+------+--------+------------+-------------+----------------------------------+
    | c6cabeed-1176-4634-b493-b6be7c351a03 | test | PAUSED | -          | Paused      | int-gre=172.25.2.3, 192.168.20.4 |
    +--------------------------------------+------+--------+------------+-------------+----------------------------------+
    

    4、浮动IP

    nova
        floating-ip-associate       Associate a floating IP address to a server.
        floating-ip-bulk-create     Bulk create floating IPs    
                                    by  range (nova-network only).
        floating-ip-bulk-delete     Bulk delete floating IPs by range (nova-
                                    network only).
        floating-ip-bulk-list       List all floating IPs (nova-network only).
        floating-ip-create          Allocate a floating IP for the current tenant.
        floating-ip-delete          De-allocate a floating IP.
        floating-ip-disassociate    Disassociate a floating IP address from a
                                    server.
        floating-ip-list            List floating IPs.
        floating-ip-pool-list       List all floating IP pools.
    
    # 创建浮动IP
    # 语法:nova floating-ip-create <pool>
    [root@controller nova]# nova  floating-ip-create  net-gre
    +--------------------------------------+--------------+-----------+----------+---------+
    | Id                                   | IP           | Server Id | Fixed IP | Pool    |
    +--------------------------------------+--------------+-----------+----------+---------+
    | fcb2439d-ba4f-4467-ad60-34726d57aba4 | 192.168.37.5 | -         | -        | net-gre |
    +--------------------------------------+--------------+-----------+----------+---------+
    
    # 浮动IP的列表信息
    [root@controller nova]# nova floating-ip-list
    +--------------------------------------+--------------+-----------+----------+---------+
    | Id                                   | IP           | Server Id | Fixed IP | Pool    |
    +--------------------------------------+--------------+-----------+----------+---------+
    | fcb2439d-ba4f-4467-ad60-34726d57aba4 | 192.168.37.5 | -         | -        | net-gre |
    +--------------------------------------+--------------+-----------+----------+---------+
    
    # 浮动IP地址池信息
    [root@controller nova]# nova floating-ip-pool-list 
    +---------+
    | name    |
    +---------+
    | net-gre |
    +---------+
    
    # 查看浮动IP详细信息
    [root@controller nova]# openstack ip  floating show 192.168.37.5
    +---------------------+--------------------------------------+
    | Field               | Value                                |
    +---------------------+--------------------------------------+
    | description         |                                      |
    | dns_domain          |                                      |
    | dns_name            |                                      |
    | fixed_ip_address    | None                                 |
    | floating_ip_address | 192.168.37.5                         |
    | floating_network_id | 847163a4-65dd-456e-a839-4f810cce80cf |
    | id                  | fcb2439d-ba4f-4467-ad60-34726d57aba4 |
    | port_id             | None                                 |
    | project_id          | 386dbfcf77e444c7872e4e23d5829fcc     |
    | router_id           | None                                 |
    | status              | DOWN                                 |
    +---------------------+--------------------------------------+
    
    # 浮动ip关联给实例
    # 语法:nova floating-ip-associate [--fixed-address <fixed_address>] <server> <address>
    # 参数:
    #  <server>        Name or ID of server.(nova list)
    #  <address>       IP Address.(nova floating-ip-list)
    [root@controller nova]# nova floating-ip-associate caocao-server1 192.168.37.5
    [root@controller nova]# nova list
    +--------------------------------------+----------------+--------+------------+-------------+---------------------------------+
    | ID                                   | Name           | Status | Task State | Power State | Networks                        |
    +--------------------------------------+----------------+--------+------------+-------------+---------------------------------+
    | e2c75e51-1a3b-4a0b-8765-d7ff6e8188e3 | caocao-server1 | ACTIVE | -          | Running     | int-gre=10.10.0.3, 192.168.37.5 |
    +-----------------------
    
    # 浮动IP解除关联实例
    # 语法:nova floating-ip-disassociate <server> <address>
    [root@controller nova]# nova floating-ip-disassociate caocao-server1 192.168.37.5
    [root@controller nova]# nova list
    +--------------------------------------+----------------+--------+------------+-------------+-------------------+
    | ID                                   | Name           | Status | Task State | Power State | Networks          |
    +--------------------------------------+----------------+--------+------------+-------------+-------------------+
    | e2c75e51-1a3b-4a0b-8765-d7ff6e8188e3 | caocao-server1 | ACTIVE | -          | Running     | int-gre=10.10.0.3 |
    +--------------------------------------+----------------+--------+------------+-------------+-------------------+
    
    # 解除关联并删除浮动IP
    [root@controller nova]# nova floating-ip-associate caocao-server1 192.168.37.5
    [root@controller nova]# nova floating-ip-delete 192.168.37.5
    [root@controller nova]# nova list
    +--------------------------------------+----------------+--------+------------+-------------+-------------------+
    | ID                                   | Name           | Status | Task State | Power State | Networks          |
    +--------------------------------------+----------------+--------+------------+-------------+-------------------+
    | e2c75e51-1a3b-4a0b-8765-d7ff6e8188e3 | caocao-server1 | ACTIVE | -          | Running     | int-gre=10.10.0.3 |
    +---------
    [root@controller nova]# nova floating-ip-list
    +----+----+-----------+----------+------+
    | Id | IP | Server Id | Fixed IP | Pool |
    +----+----+-----------+----------+------+
    +----+----+-----------+----------+------+
    

    5、密钥管理

    nova 
        keypair-add                 Create a new key pair for use with servers.
        keypair-delete              Delete keypair given by its name. (Supported
                                    by API versions '2.0' - '2.latest') [hint: use
                                    '--os-compute-api-version' flag to show help
                                    message for proper version]
        keypair-list                Print a list of keypairs for a user (Supported
                                    by API versions '2.0' - '2.latest') [hint: use
                                    '--os-compute-api-version' flag to show help
                                    message for proper version]
        keypair-show                Show details about the given keypair.
                                    (Supported by API versions '2.0' - '2.latest')
                                    [hint: use '--os-compute-api-version' flag to
                                    show help message for proper version]
    
    # 查看密钥列表
    [root@controller ~]# nova keypair-list
    +------+------+-------------------------------------------------+
    | Name | Type | Fingerprint                                     |
    +------+------+-------------------------------------------------+
    | test | ssh  | 5c:7e:d8:bd:b9:33:cb:f9:eb:b8:52:c4:04:7c:8c:1e |
    +------+------+-------------------------------------------------+
    
    # 查看密钥详情
    [root@controller ~]# nova  keypair-show test
    +-------------+-------------------------------------------------+
    | Property    | Value                                           |
    +-------------+-------------------------------------------------+
    | created_at  | 2021-10-28T14:06:12.000000                      |
    | deleted     | False                                           |
    | deleted_at  | -                                               |
    | fingerprint | 5c:7e:d8:bd:b9:33:cb:f9:eb:b8:52:c4:04:7c:8c:1e |
    | id          | 1                                               |
    | name        | test                                            |
    | type        | ssh                                             |
    | updated_at  | -                                               |
    | user_id     | 0f217182b5af448c988f5464c706a337                |
    +-------------+-------------------------------------------------+
    Public key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDc/qEc2ihvE7aLgSVH0lt5PDBwEYXW0CqMx8sGJPT1p3r0mxdJiti9pJxBRoX+oOhA/LFssaOGvtHDK79Njs3HynrXkxvKo6UfmBNQzt2z5C3nTP2U17JY2wrOh7YyYdhuuRirCLNHQk4hM1YY9BbPrCLjLlQ8Gms6vdgDCgT1gXuRppBTfQKrIKKRk6d5vIqBMoGM3fCaM34DiqwOS/uq8gQM8T/io9h6XrTKWznmZgzaFJ2S3XUZhAliSEgkraxZIM8L3QWumMlBVryYVUX6QEKv29hNWYZF/bxUqfQx50vBuIfHlKgkcccAVDy6OoZNmd6T1rdJXEdW+MWobHu7 Generated-by-Nova
    
    # 创建密钥
    [root@controller ~]# nova keypair-add hqs --key-type ssh 
    -----BEGIN RSA PRIVATE KEY-----
    MIIEpwIBAAKCAQEAw3YnZk1ej5j3+CjpWalgmVWxrdAVZGfpC3Qklz+0RW7p4nTn
    VlkGL7mWEgx7fmRaBzZuwUuSuvFB79zWhGZqh7Dt0Zeibyy48u3AtZtDY1ZVkvss
    Vq7zOdUgg+2C8Em7KTAXsuf1I7KPxgJHX7j9pluN8zBQKiYYi4K+RPCVtisw3ev0
    Ey5vi7e1IuUawXpjWnGe+/yzCZWgL8X2uhyYH0cJUmO3PbFuX0aoZr/JsLbMfkeL
    0hCDkpKgkx8L/VD6C8FW+Z3mfJGxJtGwakb+BGyOYZ3j/Sv7bh03QKPgViqJ9CGa
    WL5/y8dYmFLYM45Gb60FLWPSHWLmH9SFnmV7UwIDAQABAoIBABkiGUDbU/xs8/2x
    7Qd9cxFkZntuFUIa5ml1nrrgEyMWdvaKh7Cfs97xIy3g8wQ2jSj+Q9GRESX+nbbl
    E6RksvANvRbFQ7q96m46ShxQAaNFV62VpIbk6huWnx63rK2PHYTXTUTQ9MGJVVll
    s53IYL1CaodJwBUbXu6ZejPNJ8MLoyom7cH89uaP5K8Ej7pHObaxMBCkSylU0vcG
    qJp0Gu1NbnQ823EYm5QeEqUfG8xLyXKOvAq3scZHg5hqdD6SDVOYm3uQM8TF8zkY
    SSTYrwktj7g7vP6ZQ0zY3k/s/zxMbTIurwwNm8L93tPcgtJUMw+fPYu3OHr9nhBt
    aeFJ6AkCggCBANoJLHA6j5Jgj0uLy+ur8BmU8qSCJ7Nmx3JZFj2ELoZcLzjniHqH
    14QHqnBgFxaUAvmpy8wCMnIKrk83FdEkgk2vwSlsr1uEiz+MNHKqapWwiezR87HB
    5XsgtHpOsBlTpzQlOL7TJX7kCtZYgyGbQJvLMeek+cqy2YsNp28AgFulAoIAgQDl
    fr5dBmEMBtTVaAjZFlyhJIXpf93QeC9KTtCLJ0QXAVPpCLlnulC8W4JfuZDTFqOr
    gnx1y84DfyoZ4/K6zPNfqguRRzE2sxMNDLNZeyZiA10uZwEh+AJtCf54FU2xZtVP
    1eZ7I4QMR2jaDSj5nWgF90DYHoWLxOEeIVnTnFoplwKCAIANyxrGls3SYs1t6BAk
    fqIX3DZldd5xGQVxFHW1upD+6wIJxYv6xHE75wg/R7TuNrrhdH5yD4mFcWuJk2CL
    9JVRuNatejS1w3LTuFjxEBriEWMIWlfiXPPZkD4aprO5RnODdv9aAx2SI3cUDFFv
    ZNT3hilIEEXFLv9YLqry+MMmCQKCAIBpG+OUN5e7KmXQWBW1V8iVBWVPzICLOoBu
    SCq7kQBeiP0lfhlsqKjRnBfaP+NUysmrg9f9G5r/fv6JXR2O8M+GwRsLLtAbfWj8
    URTTptOtkFzdI9Ag/rYdurYRybAL0E1ig1VMkLep6Ard06kwqic6lEPeuBvyJ/nz
    EtNRWArzgQKCAIAQDXQbP+20nzHoWqy1sFYIpOYrC+pZGX3tZb8DfAKrhrL+FkGe
    PSe6bNwgWVDEUwTyvoPUexvAVi7nZ1sqMw/Ar+KxCXcti+dzZZZa3typLQMceOr2
    wFfpNMT/Kq2DTrgkXN+jpFczv/R0kNn5bOB/DIm8JUeN44k97lMzIrD7TA==
    -----END RSA PRIVATE KEY-----
    
    # 删除密钥
    [root@controller ~]# nova  keypair-list
    +------+------+-------------------------------------------------+
    | Name | Type | Fingerprint                                     |
    +------+------+-------------------------------------------------+
    | hqs  | ssh  | e2:cc:e9:8f:1d:06:45:b4:52:0b:38:68:0d:15:b8:b9 |
    | test | ssh  | 5c:7e:d8:bd:b9:33:cb:f9:eb:b8:52:c4:04:7c:8c:1e |
    +------+------+-------------------------------------------------+
    [root@controller ~]# nova keypair-delete hqs
    [root@controller ~]# nova  keypair-list
    +------+------+-------------------------------------------------+
    | Name | Type | Fingerprint                                     |
    +------+------+-------------------------------------------------+
    | test | ssh  | 5c:7e:d8:bd:b9:33:cb:f9:eb:b8:52:c4:04:7c:8c:1e |
    +------+------+-------------------------------------------------+
    

    6、配额管理

    # 待补全
    [root@controller ~]# openstack quota show admin
    +----------------------+----------------------------------+
    | Field                | Value                            |
    +----------------------+----------------------------------+
    | backup_gigabytes     | 1000                             |
    | backups              | 10                               |
    | cores                | 20                               |
    | firewall             | 10                               |
    | firewall_policy      | 10                               |
    | firewall_rule        | 100                              |
    | fixed-ips            | -1                               |
    | floating-ips         | 50                               |
    | gigabytes            | 1000                             |
    | health_monitor       | -1                               |
    | injected-file-size   | 10240                            |
    | injected-files       | 5                                |
    | injected-path-size   | 255                              |
    | instances            | 10                               |
    | key-pairs            | 100                              |
    | member               | -1                               |
    | network              | 10                               |
    | per_volume_gigabytes | -1                               |
    | pool                 | 10                               |
    | port                 | 50                               |
    | project              | 386dbfcf77e444c7872e4e23d5829fcc |
    | properties           | 128                              |
    | ram                  | 51200                            |
    | rbac_policy          | 10                               |
    | router               | 10                               |
    | secgroup-rules       | 100                              |
    | secgroups            | 10                               |
    | server_group_members | 10                               |
    | server_groups        | 10                               |
    | snapshots            | 10                               |
    | subnet               | 10                               |
    | subnetpool           | -1                               |
    | vip                  | 10                               |
    | volumes              | 10                               |
    +----------------------+----------------------------------+
    

    三、nova和其他组件交互操作

    1、云主机卷挂载操作

    nova
        volume-attach               Attach a volume to a server.                 # 卷挂载到云主机
        volume-attachments          List all the volumes attached to a server.   # 查看所有挂载到云主机上的卷
        volume-detach               Detach a volume from a server.               # 卷从云主机上卸载
        volume-update               Update volume attachment.                    # 卷挂载状态更新
    
    # 卷挂载到云主机
    nova volume-attach <server> <volume> [<device>]
        Positional arguments:
        <server>  Name or ID of server.
        <volume>  ID of the volume to attach.
        <device>  Name of the device e.g. /dev/vdb. Use "auto" for autoassign (if
                    supported). Libvirt driver will use default device name.
    
    [root@controller cinder]# nova volume-attach test111 f594e936-05e2-4a8c-b4c9-b96bbe7e2c82 /dev/vdb
    +----------+--------------------------------------+
    | Property | Value                                |
    +----------+--------------------------------------+
    | device   | /dev/vdb                             |
    | id       | f594e936-05e2-4a8c-b4c9-b96bbe7e2c82 |
    | serverId | 4b3a90f0-4177-44cc-8ef2-34a0e5d56b33 |
    | volumeId | f594e936-05e2-4a8c-b4c9-b96bbe7e2c82 |
    +----------+--------------------------------------+
    
    # 查看所有挂载到云主机上的卷
    [root@controller cinder]# nova  volume-attachments test111
    +--------------------------------------+----------+--------------------------------------+--------------------------------------+
    | ID                                   | DEVICE   | SERVER ID                            | VOLUME ID                            |
    +--------------------------------------+----------+--------------------------------------+--------------------------------------+
    | f594e936-05e2-4a8c-b4c9-b96bbe7e2c82 | /dev/vdb | 4b3a90f0-4177-44cc-8ef2-34a0e5d56b33 | f594e936-05e2-4a8c-b4c9-b96bbe7e2c82 |
    +--------------------------------------+----------+--------------------------------------+--------------------------------------+
    
    # 卷从云主机上卸载
    nova volume-detach <server> <volume>
        Positional arguments:
        <server>  Name or ID of server.
        <volume>  ID of the volume to detach.
    
    [root@controller cinder]# nova  volume-detach test111 f594e936-05e2-4a8c-b4c9-b96bbe7e2c82
    [root@controller cinder]# nova  volume-attachments test111
    +----+--------+-----------+-----------+
    | ID | DEVICE | SERVER ID | VOLUME ID |
    +----+--------+-----------+-----------+
    +----+--------+-----------+-----------+
    
  • 相关阅读:
    剑指Offer34 数组中的逆序对
    剑指Offer33 第一个只出现一次的字符
    剑指Offer32 丑数
    剑指Offer31 把数组排成最小的数
    剑指Offer30 从1到n整数出现1的个数
    剑指Offer29 连续子数组最大和
    剑指Offer28 最小的K个数(Partition函数应用+大顶堆)
    DNS的递归查询和迭代查询
    剑指Offer27 数组中超过一半的数
    剑指Offer26 字符串的全排列
  • 原文地址:https://www.cnblogs.com/xiugeng/p/15513437.html
Copyright © 2020-2023  润新知