OPENSTACK命令手册
公开

目录

* 主机常用命令
1.1. 查询类
1.1.1. 网络接口查询
1.1.2. 主机ip信息查询
1.2. 编辑类
1.2.1. 网络接口编辑
1.2.2. 主机ip信息编辑
* 认证服务常用命令
2.1. 查询类
2.1.1. Apache http服务状态查询
2.1.2. Apache http 服务日志查询
2.1.3. OpenStack域列表查询
2.1.4. OpenStack 项目列表查询
2.1.5. OpenStack 用户列表查询
2.1.6. OpenStack 角色列表查询
2.1.7. OpenStack 服务列表查询
2.1.8. OpenStack 节点列表查询
2.2. 编辑类
2.2.1. 创建域
2.2.2. 创建项目
2.2.3. 创建用户
2.2.4. 创建角色并把角色添置项目
2.2.5. 创建服务
2.2.6. 创建api端点
2.3. 删除更新类
2.3.1. 更新项目名称
2.3.2. 删除项目
2.3.3. 禁止用户
2.3.4. 启用用户
2.3.5. 更新用户名
2.3.6. 删除用户
* 镜像服务常用命令
3.1. 查询类
3.1.1. 镜像服务查询
3.1.2. 镜像服务列表查询
3.1.3. 查看某个具体的镜像
3.1.4. 查看安全组
3.2. 编辑类
3.2.1. 上传镜像
3.2.2. 增加安全组
* 计算服务常用命令
4.1. 查询类
4.1.1. 查看计算服务整体运行状态
4.1.2. 查询nova服务的命令
4.1.3. 查询nova组件的更新检查
4.2. 编辑类
4.2.1. 维护编辑nova配置
* 网络服务常用命令
5.1. 查询类
5.1.1. 查看网络服务状态
5.1.2. 查询网络信息
5.1.3. 查看端口信息
5.2. 编辑类
5.2.1. 维护编辑neutron配置
5.2.2. 维护编辑ml2配置
5.2.3. 维护编辑linuxbridge_agent配置
5.2.4. 维护编辑dhcp_agent配置
5.2.5. 维护编辑metadata_agent配置
* 块存储常用命令
6.1. 查询类
6.1.1. 查看块存储服务及依赖服务状态
6.1.2. 查看块存储服务组件信息
6.2. 编辑类
6.2.1. 维护编辑cinder配置
* 虚拟机管理常用命令
7.1. 查询类
7.1.1. 查看opens tack环境主机列表
7.1.2. 查看某台主机资源情况
7.1.3. 查看虚拟机列表
7.2. 编辑类
7.2.1. 创建虚拟机
7.2.2. 虚拟机暂停
7.2.3. 虚拟机启动
7.2.4. 虚拟机重启
7.2.5. 虚拟机删除
OpenStack常用命令整理

* 主机常用命令
1.1. 查询类
1.1.1. 网络接口查询
查询网络配置 cat /etc/sysconfig/network-scripts/ifcfg-ens160
1.1.2. 主机ip信息查询
查看主机网卡 ifconfig

查看主机名 cat /etc/hostname

查看主机名对应的IP信息 cat /etc/hosts

1.2. 编辑类
1.2.1. 网络接口编辑
编辑网络配置 vim /etc/sysconfig/network-scripts/ifcfg-ens160

1.2.2. 主机ip信息编辑
查看主机名对应的IP信息 vim /etc/hosts

* 认证服务常用命令
2.1. 查询类
2.1.1. Apache http服务状态查询
命令语句 systemctl status httpd.service
2.1.2. Apache http 服务日志查询
命令语句 cd /etc/httpd/logs tail 文件名
选择日志文件

2.1.3. OpenStack域列表查询
命令语句 openstack domain list

注意 ID:每个域的唯一ID; Name:域的名称; Enabled:是否启用 Description:对域的描述。

2.1.4. OpenStack 服务列表查询
命令语句 openstack service list
注解: ID:服务唯一ID; Name:服务名称; Type:服务类型。

2.1.5. OpenStack 节点列表查询
命令语句 openstack endpoint list
注解:Service Name:服务名称; Service Type:服务类型; Interface:连接对象; URL:服务所在IP:端口号/版本号。

2.2. 编辑类
2.2.1. 创建域
命令语法 openstack domain create --description”对创建域的描述” 域名
创建域样例 openstack domain create --description “An Example Domain” example

2.2.2. 创建服务
命令语法 openstack service create --name 服务名 --description “对服务的描述” 类型
创建服务样例 openstack service create --name glance --description “OpenStack Image”
image

2.2.3. 创建api端点
命令语法 openstack endpoint create --region RegionOne 服务类型 连接对象 http://ip地址
<http://xn--ip-im8ckc>:端口号

创建api
端点样例 openstack endpoint create --region RegionOne \

image public http://172.26.128.126:9292 <http://172.26.128.126:9292>
openstack endpoint create --region RegionOne
image internal http://172.26.128.126:9292 <http://172.26.128.126:9292>
openstack endpoint create --region RegionOne
image admin http://172.26.128.126:9292 <http://172.26.128.126:9292>

创建成功显示
注意:创建一个服务api控制端点需要创建三个连接对象,在这里为public、internal
、admin。

* 镜像服务常用命令
3.1. 查询类
3.1.1. 镜像服务查询
命令语句 systemctl status openstack-glance-api.service
openstack-glance-registry.service
服务注解:
【1】openstack-glance-api.service glance-api是整个glance的入口,负责接受用户的各种请求
【2】openstack-glance-registry.service 一个glance的镜像仓库服务,负责和后台数据库进行交互。
3.1.2. 镜像服务列表查询
命令语句 openstack image list

注解
ID:镜像文件的唯一ID ;Name:自定义的镜像名称;Status:是否可用 active表示可用。

3.1.3. 查看某个具体的镜像
命令语句 openstack image show image_name

3.1.4. 查看安全组
命令语句 openstack group list

3.2. 编辑类
3.2.1. 上传镜像
命令语法 openstack image create “自定义镜像名” --file 镜像文件名称 --disk-format 格式化类型
--container-format bare --public

样例
第一步:下载镜像文件
wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
<http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img>
第二步:上传镜像文件
openstack image create “test1” --file cirros-0.3.4-x86_64-disk.img
--disk-format qcow2 --container-format bare --public
注:格式化类型有raw、qcow2、vmdk等

3.2.2. 增加安全组
命令语句 openstack group create group_name --description “”

* 计算服务常用命令
4.1. 查询类
4.1.1. 查看计算服务整体运行状态
命令语法 systemctl status openstack-nova-api.service
openstack-nova-consoleauth.service openstack-nova-scheduler.service
openstack-nova-conductor.service openstack-nova-novncproxy.service
libvirtd.service openstack-nova-compute.service
服务注解:
【1】openstack-nova-api.service nova-api是整个nova的入口,负责接受和响应终端用户有关虚拟机呵呵云硬盘盘的请求。
【2】openstack-nova-consoleauth.service
守护进程,由用户的console控制台代理提供授权tokens,两种模式nova-novncproxy和nova-xvpnvcproxy
【3】openstack-nova-scheduler.service 负责调度虚拟机在哪个物理宿主机上部署,接受消息队列指令并执行。
【4】openstack-nova-conductor.service
nova-conductor模式,介于nova-computer和database之间,设计目的在于消除直接nova-computer直接访问云数据库。
【5】openstack-novncproxy.service 守护进程,提供了VNC连接访问正在运行的实例的代表,基于novnc客户浏览器
【6】openstack-nova-compute.service
两个职责,其一,是守护进程,负责基于各种虚拟化技术Hypervisior实现创建和终止虚拟机;其二,整合了计算资源CPU,存储,网络三类资源部署管理虚拟机,实现计算能力的交付。
4.1.2. 查询nova服务的命令
命令语句 openstack compute service list

4.1.3. 查询nova组件的更新检查
命令语句 nova-status upgrade check

4.2. 编辑类
4.2.1. 维护编辑nova配置
命令语句 vim /etc/nova/nova.conf

* 网络服务常用命令
5.1. 查询类
5.1.1. 查看网络服务状态
命令语句 systemctl status neutron-server.service
neutron-linuxbridge-agent.service neutron-dhcp-agent.service
neutron-metadata-agent.service
服务注解:
【1】neutron-server.service 用于接受apI请求创建网络,子网,路由器等。
neutron-linuxbridge-agent.service 负责三个任务,第一,报告状态;第二,处理RPC
API;第三,实现neutron中定义的网络拓扑。
【2】neutron-dhcp-agent.service 用于创建和管理虚拟DHCP Server。
【3】neutron-metadata-agent.service
neutron-metadata-agent运行在网络节点上,作为中间人是instance可以访问请求nova-api-metadata。
5.1.2. 查询网络信息
命令语句 openstack network list

5.1.3. 查看端口信息
命令语句 openstack port list

5.2. 编辑类
5.2.1. 维护编辑neutron配置
命令语法 vim /etc/neutron/neutron.conf

5.2.2. 维护编辑ml2配置
命令语句 vim /etc/neutron/plugins/ml2/ml2_conf.ini
解析:openstack中使用的ml2模块是用来管理Layer2,Modular Layer 2 是一个可以同时管理多种Layer2技术的框架。

5.2.3. 维护编辑linuxbridge_agent配置
命令语句 vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
解析:linuxbridge_agent相当于物理机与dhcp server 之间的媒介,物理机获取IP流程如上图所示。

5.2.4. 维护编辑dhcp_agent配置
命令语句 vim /etc/neutron/dhcp_agent.ini
解析:为各个租户网络提供DHCP服务,部署在网络节点上,各个插件也是使用这一个代理。

5.2.5. 维护编辑metadata_agent配置
命令语句 vim /etc/neutron/metadata_agent.ini
解析: Metadata_agent用于连接Nova Metadata服务和网络在namespace中的虚机的,其中,Nova
Metadata存储了Metadata和 user data。

* 块存储常用命令
6.1. 查询类
6.1.1. 查看块存储服务及依赖服务状态
命令语句 systemctl status openstack-cinder-volume.service target.service
openstack-cinder-api.service openstack-cinder-scheduler.service
服务注解
【1】openstack-cinder-volume.service 通过相关驱动程序架构直接与块存储服务进行交互。
【2】 openstack-cinder-api.service 进入Cinder的HTTP接口。
【3】openstack-cinder-scheduler.service 根据预定的策略选择合适的cinder-volume节点来处理用户的请求。
6.1.2. 查看块存储服务组件信息
命令语句 cinder service-list

6.2. 编辑类
6.2.1. 维护编辑cinder配置
命令语句 vim /etc/cinder/cinder.conf

* 虚拟机管理常用命令
7.1. 查询类
7.1.1. 查看opens tack环境主机列表
命令语句 openstack host list
7.1.2. 查看某台主机资源情况
命令语句 openstack host show compute04

7.1.3. 查看虚拟机列表
命令语句 openstack server list

7.1.4. 查看虚拟机详情
命令语句 openstack server show 虚机名
样例 openstack server show test06

7.2. 编辑类
7.2.1. 创建虚拟机
 启动一个虚拟机必要的信息是镜像,规格,网络。从前面学习到的image操作中找到镜像,从flavor操作中找到合适的规格,从网络操作中找到网络。

创建虚机步骤如下
第一步:
命令语句 openstack network list
输出结果
注解:在输出结果中,需要记下你所构建的网络的“ID”(编号)。之后你创建虚机时,要用到这个编号。

第二步:
命令语句 openstack flavor list
输出结果
注解:此命令用于查询你想创建的虚拟机的类型

第三步:
命令语句 openstack image list
输出结果
注解:选择虚机的镜像文件

第四步:
命令语句 openstack security group list
输出结果
注解:选择虚机所要使用的安全组的类型。

第五步:
命令语句 openstack server create --image 镜像名 --flavor flavor规格名 –security-groups
安全组名 --nic net-id=网络ID 虚机名
样例 openstack server create --image centos7.4-cloud --flavor vm-ram-01 --nic
net-id=e7f65cb4-1896-46b9-ae09-2fa141f1757c test06
输出结果
创建成功后,使用opensatck server list
7.2.2. 虚拟机暂停
命令语句 openstack server pause 虚机名
样例 openstack server pause vm-szy-03
注解:可使用openstack server list 查看虚机状态
7.2.3. 虚拟机启动
命令语句 openstack server unpause 虚机名
样例 openstack server unpause vm-szy-03

7.2.4. 虚拟机重启
命令语句 openstack server reboot 虚机名
样例 openstack server reboot vm-szy-03

7.2.5. 虚拟机删除
命令语句 openstack server delete 虚机名
样例 openstack server delete vm-szy-03

* 项目、用户、角色管理
8.1. 项目管理
8.1.1. 查询类
8.1.1.1. 项目列表查询
命令语句 openstack project list
ID:项目的唯一ID; Name:项目名称。
8.1.1.2. 项目详情查询
命令语句 openstack project show 项目名
样例 openstack project show service

8.1.1.3. 查询某一项目下的所有用户
命令语句 openstack user list --project=项目名
样例 openstack user list --projected=service

8.1.2. 编辑类
8.1.2.1. 创建项目
命令语法 openstack project create --domain 域名 --description”对创建项目的描述” 项目名
创建项目样例 openstack project create --domain default --description” Service
Project” service

8.1.2.2. 更新项目名称
命令语法 openstack project set ID/name --name project-new
样例 openstack project set demo –name test

8.1.2.3. 删除项目
命令语法 openstack project delete project-name
样例 openstack project delete demo

8.2. 用户管理
8.2.1. 查询类
8.2.1.1. 用户列表查询
命令语句 openstack user list
ID:用户的唯一ID; Name:用户名称。

8.2.1.2. 查询用户详情
命令语法 opensatck user show 用户名
样例 openstack user show demo

8.2.1.3. 查询某一用户与项目、角色的关系
命令语法 openstack role assignment list --user=用户名
样例 openstack role assignment list --user=nova
注解:使用openstack assignment list 查询处的role、user、project显示都为唯一ID值,可以配合openstack
role/user/project list 来使用。

8.2.2. 编辑类
8.2.2.1. 创建用户
命令语法 openstack user create --domain 域名 --password-prompt 用户名
创建用户样例 openstack user create --domain default --password-prompt demo
User Password:123
Repeat User Password:123

8.2.2.2. 启用用户
命令语法 openstack user set user_name --enable
样例 openstack user set demo --enable

8.2.2.3. 禁止用户

命令语法 openstack user set user_name --disable
样例 openstack user set demo --disable

8.2.2.4. 更新用户名
命令语法 openstack user set user_name --name username_new
样例 openstack user set demo –name test02

8.2.2.5. 删除用户
命令语法 openstack user delete user_name
样例 openstack user delete demo

8.3. 角色管理
8.3.1. 查询类
8.3.1.1. 角色列表查询
命令语句 openstack role list
ID:角色的唯一ID; Name:角色的名称

8.3.1.2. 角色详情查询
命令语法 opensatck role show 角色名
样例 openstack role show admin

8.3.2. 编辑类
8.3.2.1. 创建角色
命令语法 openstack role create 角色名
样例 openstack role create user

8.3.2.2. 将项目和用户加入到角色中
命令语法 openstack role add --project 项目名 --user 用户名 角色名
样例 openstack role add --project hzab --user hq woker

8.3.2.3. 将role移除项目和用户
命令语法 openstack role remove --user 用户名 --project 项目名 角色名
样例 Openstack role remove --user=hzab --project=admin hsjn