OpenStack 命令

OpenStack 命令整理

参考地址:

Openstack

查看物理机的资源

查看主机列表

$ openstack host list

查看某台主机资源情况

$ openstack host show 主机名

查看实例 ( 虚拟机 ) 资源

查看虚拟机详情

$ openstack server show {{ 虚机名 }}

KeyStone ( 用户验证相关 )

列出所有用户

$ openstack user list

列出认证服务目录

$ openstack catalog list

查看openstack token信息

# 需要定时source 用户信息
$ source /etc/kolla/admin-openrc.sh
# 查看信息
$ openstack token issue

Glance ( 镜像相关 )

查看:

列出您可以访问的镜像

$ openstack image list

删除:

删除指定的镜像

$ openstack image delete {{ IMAGE }}

描述一个指定的镜像

$ openstack image show {{ IMAGE }

改:

更新镜像

$ openstack image set IMAGE

新增:

上传内核镜像

$ openstack image create "cirros-threepart-kernel" \
  --disk-format aki --container-format aki --public \
  --file ~/images/cirros-0.3.5-x86_64-kernel

上传RAW镜像

$ openstack image create "cirros-threepart-ramdisk" \
  --disk-format ari --container-format ari --public \
  --file ~/images/cirros-0.3.5-x86_64-initramfs

上传第三方镜像

$ openstack image create "cirros-threepart" --disk-format ami \
  --container-format ami --public \
  --property kernel_id=$KID-property ramdisk_id=$RID \
  --file ~/images/cirros-0.3.5-x86_64-rootfs.img

注册raw镜像

$ openstack image create "cirros-raw" --disk-format raw \
  --container-format bare --public \
  --file ~/images/cirros-0.3.5-x86_64-disk.img

Nova ( 实例相关命令 )

实例的创建和删除

创建虚拟机

server create    
	(--image |--volume ) --flavor   	  # 选择使用的镜像 | 硬盘 | 云主机类型
    --security-group                       # 安全组
    --key-name                             # 添加一个秘钥
    --file   <dst-path=src-path>           # 将本地的<src-path>文件存储到虚拟机<dst-path>目录下。注射的文件收quota限制。
    --user-data                            # 云主机注入文件信息
    --availablilty-zone                    # 选择可用域
    --block-device-mapping                 # 块设备映射。格式:<dev-name>=<id>:<type><size(GB)>:<delete-on-terminate>  
    --nic                                  # 添加网卡信息。<net-id=net-uuid,net-name=network-name,port-id=port-uuid,v4-fixed-ip=ip-addr,v6-										 fixed-ip=ip-addr,tag=tag>	net-id,net-name,port-id分别为网络ID、网络名字、端口ID,三者配置一个即										 可, v4-fixed-ip: 配置ipv4固定IP v6-fixed-ip:配置ipv6固定IP
    -- network  --port                     # 与  --nic	用法相同,比其更简单一些。   
    --hint                                 # 调用server group。在调度过程中,增加一个ServerGroupAffinity/Anti-affinity Filter
    --config-drive | Ture                  # 使用指定的卷作为配置驱动器,或“True”使用临时驱动器。
    --min     —mix                         # 启动的虚拟机最大/最小的数量。

删除虚拟机

$ openstack server delete {{ 虚拟机名字 }}
$ openstack server force-delete {{ 虚拟机名字 }} # 强制删除虚拟机 无视状态

停止和启动实例

暂停和取消暂停实例

暂停
  • 状态值: PAUSED
# 暂停
$ openstack server pause NAME
$ openstack server pause {{ 虚拟机名字 }}
取消暂停
$ openstack server unpause NAME
$ openstack server unpause {{ 虚拟机名字 }}

挂起和恢复实例

挂起
  • 状态值:SUSPENDED
  • 挂起,相当于物理机中的休眠,会将内存中的数据全部存放到对应的休眠文件中,占用的空间为内存大小,并且会对虚拟机执行关机操作。
  • 休眠后的虚拟机不占任何CPU、内存
$ openstack server suspend NAME
$ openstack server suspend {{ 虚拟机名字 }}
取消挂起
  • 状态值: ACTIVE
$ openstack server resume NAME
$ openstack server resume {{ 虚拟机名字 }}

释放和取消释放实例

  • 如果有不使用的云主机,但希望在云主机列表中仍然保留,此时需要用到释放功能。
释放实例
  • 状态值:shelved
$ openstack server shelve SERVERNAME
$ openstack server shelve {{ 虚拟机名字 }}
取消释放实例
$ openstack server unshelve SERVERNAME
$ openstack server unshelve {{ 虚拟机名字 }}
删除以释放的实例
$ nova shelve-offload {{ 虚拟机名字 }}

实例的开关机

关机

  • 状态值:SHUTOFF
$ openstack server stop NAME
$ openstack server stop {{ 虚拟机名字 }}

开机

  • 状态值:ACTIVE
$ openstack server stop NAME
$ openstack server start {{ 虚拟机名字 }}

重启

  • 状态值: REBOOT
$ openstack server reboot NAME
$ openstack server reboot {{ 虚拟机名字 }}

恢复

  • 状态值
$ openstack server rebuild Name IMAGE

调整实例大小规格

1.查看虚拟机信息
$ openstack server show {{ 虚拟机名字 }}

+-------------------------------------+----------------------------------------------------------+
| Field                               | Value                                                    |
+-------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig                   | MANUAL                                                   |
| OS-EXT-AZ:availability_zone         | nova                                                     |
| OS-EXT-SRV-ATTR:host                | controller1                                              |
| OS-EXT-SRV-ATTR:hypervisor_hostname | controller1                                              |
| OS-EXT-SRV-ATTR:instance_name       | instance-00000022                                        |
| OS-EXT-STS:power_state              | Running                                                  |
| OS-EXT-STS:task_state               | shelving_image_uploading                                 |
| OS-EXT-STS:vm_state                 | active                                                   |
| OS-SRV-USG:launched_at              | 2021-10-27T10:20:50.000000                               |
| OS-SRV-USG:terminated_at            | None                                                     |
| accessIPv4                          |                                                          |
| accessIPv6                          |                                                          |
| addresses                           | 外网=172.27.147.34                                       |
| config_drive                        |                                                          |
| created                             | 2021-10-27T08:37:41Z                                     |
| flavor                              | 4core4096MB60G (61e4528c-ba6d-4734-a00b-68780c19bb0d)    |
| hostId                              | 19bee44991253bf3b7fcb09656d66cf63818c9071c3df0d0db029207 |
| id                                  | e4a97a17-801d-426b-aa3b-10333174c91c                     |
| image                               | win10 (7315b7f3-4c24-4377-82af-6e86c9851a84)             |
| key_name                            | None                                                     |
| name                                | kkdehan                                                  |
| progress                            | 0                                                        |
| project_id                          | 175baf0f677d46998cbabd60d2c50c48                         |
| properties                          |                                                          |
| security_groups                     | name='default'                                           |
| status                              | ACTIVE                                                   |
| updated                             | 2021-10-28T01:18:18Z                                     |
| user_id                             | 1f2eb5a4695f4b8fa09c0fac213a7e18                         |
| volumes_attached                    |                                                          |
+-------------------------------------+----------------------------------------------------------+
2.查看所有可用的主机规格
  • 虚机硬件模板被称为类型模板(flavor)
$ openstack flavor list

+--------------------------------------+-----------------+------+------+-----------+-------+-----------+
| ID                                   | Name            |  RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+-----------------+------+------+-----------+-------+-----------+
| 3f6968f8-656f-42f4-ab9b-5cb0267389e2 | 1core1024MB50G  | 1024 |   50 |         0 |     1 | True      |
| 61e4528c-ba6d-4734-a00b-68780c19bb0d | 4core4096MB60G  | 4096 |   60 |         0 |     4 | True      |
| b5eff4da-6a7a-4c00-863b-dc1f3f3e967d | 4core8192MB100G | 8192 |  100 |         0 |     4 | True      |
+--------------------------------------+-----------------+------+------+-----------+-------+-----------+
3.调整虚拟机规格
  • 状态值: resized
$ openstack server resize --flavor  {{ flavor_id }}

重建实例

# 重建
$ openstack server rebuild NAME IMAGE
$ openstack server rebuild {{ 虚拟机名字 }} --image {{ 镜像名字 }}

usage: openstack server rebuild [-h] [-f {json,shell,table,value,yaml}]
                                [-c COLUMN] [--noindent] [--prefix PREFIX]
                                [--max-width <integer>] [--fit-width]
                                [--print-empty] [--image <image>]
                                [--password <password>] [--wait]
                                <server>

其他操作 ??

将用户数据和文件注入到实例

$ openstack server create --user-data FILE INSTANCE

# 使用示例
$ openstack server create --user-data userdata.txt --image cirros-qcow2 \
  --flavor m1.tiny MyUserdataInstance2

使用ssh连接到实例

ip netns exec qdhcp-98f09f1e-64c4-4301-a897-5067ee6d544f \ssh -i test.pem cirros@10.0.0.4

Neutron

创建网络

$ openstack network create NETWORK_NAME

创建子网

$ openstack subnet create --subnet-pool SUBNET --network NETWORK SUBNET_NAME
$ openstack subnet create --subnet-pool 10.0.0.0/29 --network net1 subnet1
posted @ 2021-09-24 13:21  隔江千万里  阅读(891)  评论(0)    收藏  举报