OpenStack作为开源云计算管理平台,提供了丰富的命令行工具(CLI)用于资源管理,其核心命令围绕认证、计算(Nova)、网络(Neutron)、存储(Cinder/Swift)等模块展开,以下是常用命令的详细说明及操作场景。

认证与令牌管理
所有操作前需先获取认证令牌,通过openstack
命令完成环境初始化:
# 设置认证信息(可写入环境变量或配置文件) export OS_AUTH_URL=http://controller:5000/v3 export OS_PROJECT_ID=default export OS_PROJECT_NAME="admin" export OS_USER_DOMAIN_NAME=Default export OS_USERNAME=admin export OS_PASSWORD=secret export OS_REGION_NAME=RegionOne export OS_IDENTITY_API_VERSION=3 # 获取令牌并验证 openstack token issue
计算服务(Nova)命令
用于管理虚拟机实例的生命周期:
# 查看所有实例 openstack server list # 创建实例(需提前存在镜像和 flavor) openstack server create --flavor m1.tiny --image cirros-0.3.5-x86_64 myvm # 删除实例 openstack server delete myvm # 查看实例详情 openstack server show myvm # 控制台访问(VNC) openstack console url show myvm
网络服务(Neutron)命令
管理虚拟网络、子网、路由器等资源:
# 查看网络列表 openstack network list # 创建私有网络 openstack network create --share --internal private-net # 创建子网 openstack subnet create --network private-net --subnet-range 192.168.1.0/24 --gateway 192.168.1.1 private-subnet # 创建路由器并关联外部网络 openstack router create myrouter openstack router set --external-gateway public myrouter openstack router add subnet myrouter private-subnet # 查看端口状态 openstack port list
块存储(Cinder)命令
管理云硬盘的创建、挂载与快照:

# 查看可用存储卷类型 openstack volume type list # 创建卷(10GB) openstack volume create --size 10 --type my-volume-type myvolume # 查看卷列表 openstack volume list # 将卷挂载至实例 openstack server add volume myvm /dev/vdb # 创建卷快照 openstack volume snapshot create --volume myvolume snapshot1
对象存储(Swift)命令
用于文件存储与对象管理:
# 安装 Swift 客户端后操作 # 创建容器 swift post container1 # 上传文件 swift upload container1 file.txt # 列出容器内文件 swift list container1 # 下载文件 swift download container1 file.txt
镜像服务(Glance)命令
管理虚拟机镜像:
# 查看镜像列表 openstack image list # 上传镜像(需先上传至本地) openstack image create --file cirros-0.3.5-x86_64.img --disk-format qcow2 --public cirros-image # 删除镜像 openstack image delete cirros-image
安全组与密钥对
# 创建安全组规则(允许SSH) openstack security group rule create --proto tcp --dst-port 22 --remote-ip 0.0.0.0/0 default # 创建密钥对 openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey # 使用密钥对创建实例 openstack server create --flavor m1.tiny --image cirros --key-name mykey myvm
命令参数速查表
模块 | 常用命令示例 | 功能说明 |
---|---|---|
认证 | openstack token issue |
验证身份并获取令牌 |
实例管理 | openstack server list/create/delete |
管理虚拟机实例 |
网络管理 | openstack network/subnet create |
创建虚拟网络与子网 |
块存储 | openstack volume create/attach |
创建并挂载云硬盘 |
镜像管理 | openstack image list/upload |
查看或上传镜像 |
安全组 | openstack security group rule create |
配置实例访问规则 |
FAQs
Q1: 如何解决“认证失败”问题?
A: 首先检查OS_AUTH_URL
、OS_USERNAME
、OS_PASSWORD
等环境变量是否正确,确保与Keystone服务配置一致,若使用Token认证,可通过openstack token issue
验证令牌有效性,确认未过期,检查网络连通性(如防火墙是否开放5000端口)。
Q2: 实例创建失败提示“No valid host was found”如何处理?
A: 通常因计算节点资源不足或Flavor配置错误导致,可执行openstack compute service list
检查Nova服务状态,确认节点在线,使用openstack flavor list
验证Flavor是否存在,并通过nova-manage cell_v2 list_hosts
查看各节点资源余量,必要时调整Flavor的CPU/内存配额。