Fork me on GitHub

Openstack命令行基础

不同命令的功能有重复和交集

Openstack篇

Openstack每个组件都有其命令,openstack社区为了方便使用,将所有组件的命令进行了统一,以openstack开头

# 查看所有openstack服务
openstack service list
# 查看openstack服务状态
openstack-service status
# 重启本节点所有openstack服务
openstack-service restart
# openstack服务URL列表查询
# endpoint表示一个服务在哪可被访问的URL和端口号列表
openstack endpoint list
# 查询domain,domain是一个keystone验证实体
openstack domain list
# 查看nova服务列表
openstack compute service list
# 查看网络服务列表
openstack network agent list
# =======================================================
# 项目(租户)列表查询
openstack project list
# 查看租户详情
openstack project show <project_id/name>
# 创建租户
openstack project create --description 'Admin Project' <租户名>
# 删除租户
openstack project delete <租户id/name>
# 禁用启用租户
openstack project set <租户id/name> --disable/enable
# 更新租户名称
openstack project set <租户id/name> --name <new name>
# ========================================================
# 查看某一个项目下所有用户user
openstack user list --project=<project_id/name>
# 查看所有用户
openstack user list
# 查看用户详情
openstack user show <user_name/id>
# 创建用户
openstack user create --domain <域名> --project <项目/租户名> --password <密码> <用户名>
# 删除用户
openstack user delete <用户名>
# 禁用启用某一个用户
openstack user set <user_name/id> --disable/enable
# 更新用户名称
openstack user set <user_name/id> --name <new name>
# 查询某一用户与项目、角色的关系
openstack role assignment list --user=用户名
# =======================================================
# 角色查询
# 一个角色包括一组权利和特权,角色访问控制提供预定义的用户可操作列表,如开启或停止虚机,重置密码等。在身份验证服务和计算服务中均被支持。
openstack role list
# 角色详情查询
opensatck role show <role_name/id>
# 创建角色
openstack role create <role_name>
# 分配角色,将项目和用户加入到角色中
openstack role add --user <用户名> --project <项目名> <角色名>
# 删除角色
openstack role remove --user <用户名> --project <项目名> <角色名>
# ======================================================
# 列出所有的镜像
openstack image list
# 查看某一个镜像信息
openstack image show <image_id>
# 设置镜像标签
openstack image set --tag <标签名> <image_name/id>
# 创建镜像
# 格式化类型包括raw、qcow2、vmdk等
openstack image create <镜像名> --file <镜像文件名> --disk-format <格式化类型> --container-format bare --public
# openstack image create “test1” --file cirros-0.5.1-x86_64-disk.img --disk-format qcow2 --container-format bare --public
# 查看安全组信息
openstack group list
# 查看flavor类型
openstack flavor list
# 查询网络信息
openstack network list
# 查看端口信息(虚拟网络)
openstack port list
# 创建虚拟机
openstack server create --image <image_id/name> --flavor <flavor_id/name> --nic net-id=<net_id> <instance_name>
# 创建虚拟机帮助
openstack server create --help
# ==================================================
# 查看openstack环境主机列表
openstack host list
# 查看某个host主机资源情况
openstack host show <host_name>
# 查看虚拟机列表
openstack server list
# 查看虚拟机详情
openstack server show <instance_id>
# 虚拟机暂停
openstack server pause <instance_id>
# 虚拟机从暂停中恢复
openstack server unpause <instance_id>
# 虚拟机重启
openstack server reboot <instance_id>
# 虚拟机删除
openstack server delete <instance_id>

Nova篇

# 查看openstack版本
nova-manage version
# 查看命令帮助信息
nova help <command>
# 返回nova服务所在的host信息
# 在电子通信领域,host和node的区别在于,host是向外提供某种服务,而node只需要是连接到网络的设备
# 运行有nova服务的主机被认为是host
nova host-list
# 查看host具体资源信息
nova host-describe <host_name>
# 查看nova服务和状态
nova service-list
# =======================================
# 查看计算节点
nova hypervisor-list
# 查看计算节点详情
nova hypervisor-show <hypervisor ID>
# 查看计算节点上的虚拟机
nova hypervisor-servers <hypervisor ID>
# ======================================
# 列出所有flavor(模板)
nova flavor-list
# 创建flavor,模板ID建议为auto
nova flavor-create --is-public true <模板名称> <模板ID> <内存(MB)> <磁盘(GB)> <VCPUS>
# 显示flavro详情
nova flavor-show <模板ID>
# 删除flavor
nova flavor-delet <模板ID>
# =======================================
# 查看虚拟机列表
nova list
nova list --all-te
# 查看虚拟机详情
nova show <instance_id>
# 查看虚拟机控制台日志
nova console-log <instance_id>
# 查看密钥对列表
nova keypair-list
# 查看镜像列表
nova image-list
# 查看浮动ip列表
nova floating-ip-list
# 查看安全组列表
nova secgroup-list
# =====================================
# 查看浮动ip列表
nova-manage floating list
# 数据库同步
nova-manage db sync
nova-manage api_db sync
nova-manage placement sync
# 查看数据库版本
nova-manage db version
# nova组件更新检查
nova-status upgrade check
# ====================================
nova suspend <instance_id>
nova resume <instance_id>
nova start <instance_id>
nova stop <instance_id>
nova delete <instance_id>
nova reboot <instance_id>
# 硬重启
nova reboot --hard <instance_id>
# 进入救援模式
nova rescue <instance_id>
# 使用指定镜像进入救援模式
nova rescue --image <image_id> <instance_id>
# 重启虚拟机,由救援模式进入正常模式
nova unrescue <instance_id>
# 重置虚拟机状态
nova reset-state <instance_id>
# 指定节点热迁移
nova live-migration <instance_id> <compute_node_id>
# 调整虚拟机资源
nova resize <instance_id> <flavor_id> --poll
# 确认调整虚拟机资源
nova resize-confirm <instance_id>
# 资源调整失败回滚
nova resize-revert <instance_id>
# 通过快照创建一个镜像
nova image-create <instance_id> <image_name>
# ===================================
# 从镜像创建虚拟机
nova boot --image cirros --flavor 1 --nic net-name=net1 vm1
# 从卷(块设备)创建虚拟机
# 1. 从镜像生成volumn
cinder create --image-id <image_id> --name <volume_name> <size_in_gb>
# 2. 从volumn创建虚拟机
nova boot --flavor <flavor_id> source=volumn,,id=卷ID,dest=volume,shutdown=preserve,bootindex=0 虚拟机名称 
# ==================================
# 挂载云硬盘
nova volume-attach <instance_id> <volume_name> /dev/sdb
# 卸载云硬盘
nova volume-detach <instance_id> <volume_name>

Neutron篇

# 列出当前租户网络
neutron net-list
# 列出所有租户网络
neutron  net-list --all-te
# 查看网络详情
neutron net-show <net_id>
# 删除一个网络
neutron net-delete <net_id>
# 查看所有agent
neutron agent-list
# 查看所有租户拥有的port
# port是虚拟网口,是路由器和虚拟机挂接网络的着附点
neutron port-list
# 查看port详情
neutron port-show <port_id>
# 查看安全组
neutron security-group-rule-list

Glance篇

# 列出全部镜像
glance image-list
# 查看image具体信息
glance show <image ID>
# 上传镜像
glance image-create --visibility public --container-format docker/bare --disk-format raw/qcow2 --name xxx --file /root/xxx --progress

glance image-create --name "CentOS7.0" --disk-format qcow2 --container-format bare --progress </opt/images/centos_7-x86_64_xiandian.qcow2

Cinder篇

# 显示存储列表
cinder list
# 显示存储卷类型列表
cinder type-list
# 创建存储卷
cinder create --display-name VOLNAME SIZE(SIZE的单位为GB)

Ceilmeter篇

# 查看监控资源
ceilometer meter-list
#查看告警列表
ceilometer alarm-list
# 删除一个告警
ceilometer alarm-delete -a ALARM_ID
# 获取某一个告警信息
ceilometer alarm-state-get ALARM_ID

服务状态

systemctl list-units | grep openstack
systemctl status httpd.service
# 查看Apache的http服务日志
cd /etc/httpd/logs
tail -f <日志文件>

参考

Openstack常用命令

Openstack官方常用命令手册

Openstack命令行操作虚拟机

Nova命令行官方参考

Openstack用户指南

Comments