OpenStack:常用命令

1. 系统信息查询

1.1 版本查询

1
openstack --version

1.2 节点信息查询

1
2
3
4
5
6
7
8
# 查看计算节点
openstack hypervisor list

# 查看网络节点
openstack network agent list

# 查看可用区
openstack availability zone list

2. 服务管理

2.1 服务目录查询

1
2
3
4
5
6
7
8
# 查看所有服务目录
openstack catalog list

# 查看端点列表
openstack endpoint list

# 过滤特定服务端点
openstack endpoint list --service nova -c Interface -c URL

2.2 服务状态查询

1
2
3
4
5
# 查看服务列表
openstack service list

# 查看计算服务状态
openstack compute service list

3. 用户与权限管理

3.1 用户与项目

1
2
3
4
5
6
7
8
# 查看用户列表
openstack user list

# 查看域列表
openstack domain list

# 查看项目列表
openstack project list

3.2 角色管理

1
2
3
4
5
# 查看角色列表
openstack role list

# 查看角色分配(带名称显示)
openstack role assignment list --name

4. 虚拟机管理

4.1 基本操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 创建虚拟机
openstack server create --image cirros --flavor m1.tiny --network net1 test

# 查看虚拟机列表
openstack server list

# 启动/停止/重启
openstack server start vm1
openstack server stop vm1
openstack server reboot vm1

# 暂停/恢复
openstack server pause vm1
openstack server unpause vm1

# 挂起/恢复
openstack server suspend vm1
openstack server unsuspend vm1

4.2 虚拟机配置

1
2
3
4
5
6
7
8
# 查看实例规格
openstack flavor list

# 调整配置
openstack server resize --flavor m1.small vm1

# 确认配置变更
openstack server resize confirm vm1

4.3 批量操作

1
2
3
4
5
# 根据IP查询并重启虚拟机
openstack server list | grep 192.168.212.16 | awk '{print$2}' | xargs openstack server reboot

# 查看指定IP虚拟机详情
openstack server list | grep 192.168.210.241 | awk '{print$2}' | xargs openstack server show

5. 网络管理

5.1 网络基础

1
2
3
4
5
6
7
8
# 创建网络
openstack network create net1

# 创建VLAN类型网络
openstack network create net2 --provider-network-type vlan

# 查看网络列表
openstack network list

5.2 子网与路由器

1
2
3
4
5
6
7
8
9
10
11
# 创建子网
openstack subnet create subnet_10_2_1_0 --network net1 --subnet-range 10.2.1.0/24

# 创建路由器
openstack router create router2

# 路由器连接子网
openstack router add subnet router2 subnet_10_2_1_0

# 查看路由器列表
openstack router list

5.3 端口管理

1
2
3
4
5
6
7
8
# 创建指定IP的端口
openstack port create --network net1 --fixed-ip subnet=subnet_10_2_1_0,ip-address=10.2.1.100 port1

# 创建自动分配IP的端口
openstack port create port2 --network net1

# 根据IP查询端口信息
neutron port-list --fixed-ips ip_address=10.2.1.100

6. 安全管理

6.1 密钥对

1
2
3
4
5
6
# 查看密钥对
openstack keypair list

# 创建密钥对
openstack keypair create test_key > test_key.pem
chmod 600 test_key.pem

6.2 安全组

1
2
3
4
5
# 查看安全组
openstack security group list

# 创建安全组
openstack security group create test_security_group --description test

7. 存储管理

7.1 卷管理

1
2
3
4
5
6
7
8
9
10
11
# 查看卷列表
openstack volume list

# 查看卷类型
openstack volume type list

# 创建卷
openstack volume create --image 317cc2d2-401e-4b1a-9ba4-987f35012805 --size 8 --availability-zone nova my-new-volume

# 挂载卷到实例
openstack server add volume INSTANCE_ID VOLUME_ID

7.2 镜像管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 查看镜像列表
openstack image list

# 删除镜像
openstack image delete example_img

# 创建镜像
openstack image create \
--disk-format qcow2 \
--file /tmp/cirros-0.4.0-x86_64-disk.img \
--container-format bare \
cirros-0.4.0-x86_64

# 修改镜像属性(如设为公开)
openstack image set --public fff09f9a-b481-4cde-8840-f5715997aaed

8. 浮动IP管理

1
2
3
4
5
6
7
8
# 查看浮动IP列表
openstack floating ip list

# 分配浮动IP
openstack floating ip create public

# 绑定浮动IP
openstack server add floating ip SERVER_ID FLOATING_IP

9. 进程管理

1
2
# 查找特定进程
ps -ef | grep ubuntu | awk '{print$2}'

10. KVM虚拟机管理

1
2
3
4
5
6
7
8
# 强制停止虚拟机
virsh destroy linux65

# 删除虚拟机定义
virsh undefine linux65

# 删除虚拟机磁盘文件
rm -f /home/vps/linux65.img