OpenStack 核心组件管理

OpenStack 核心组件管理

OpenStack 核心组件管理

一、认证管理 - Keystone

核心概念

  • Domain:全局唯一的资源容器,可对应机构或数据中心。
  • User/Group:用户是访问主体,用户组用于批量管理用户权限。
  • Project:资源集合,域内唯一,与 Tenant/Account 通用。
  • Role:权限集合,支持域级、项目级分配及继承。
  • Service/Endpoint:OpenStack 服务及其实体访问地址。
  • Token/Credential:访问凭证,Token 域内唯一,有效期默认24小时。

常用操作(bash)

Bash 复制代码
# 查看域
source keystonerc_admin
openstack domain list

# 创建域
openstack domain create domain-test

# 禁用并删除域
openstack domain set --disable domain-test
openstack domain delete domain-test

# 开启多域登录
cd /etc/openstack-dashboard/
vim local_settings  # 修改第83行:OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
systemctl restart httpd

# 创建用户
openstack user create --password HUAWEI user1

# 创建组并添加用户
openstack group create group1
openstack group add user group1 user1

# 分配角色
openstack role add --project admin --group group1 admin

# 创建项目并分配用户
openstack project create ProjectA
openstack user set --project ProjectA user1
openstack role add --user user1 --project ProjectA admin

# 修改项目配额(实例3、vcpu5、内存5000MB)
openstack quota set --instance 3 --cores 5 --ram 5000 ProjectA

二、镜像管理 - Glance

核心概念

  • 镜像类型:公共镜像、私有镜像、共享镜像、市场镜像。
  • 磁盘格式:支持 qcow2、raw、iso、vmdk 等格式。
  • 状态机:镜像状态包括 queued、saving、active、deleted 等;任务状态包括 pending、processing、success、failure。
  • 架构:Glance-API 接收请求,Store 模块对接后端存储(Swift/Ceph/本地文件)。

常用操作(bash)

Bash 复制代码
# 查看镜像
openstack image list

# 上传镜像(QCOW2格式)
openstack image create --file cirros-0.5.2-x86_64-disk.img --disk-format qcow2 --container-format bare cirros-0.5.2

# 上传ISO镜像
openstack image create --file TinyCore-12.0.iso --disk-format raw --container-format bare TinyCore-12.0

# 命令行上传大文件(带进度条)
glance image-create --name image_centos --file CentOS-7-x86_64-Minimal-1810.iso --disk-format raw --container bare --progress

# 查看镜像详情
openstack image show cirros-0.5.2

# 配置Swift作为后端存储(修改glance-api.conf)
vim /etc/glance/glance-api.conf
# 关键配置:
# default_store=swift
# swift_store_region=RegionOne
# swift_store_container=gqdglance
# swift_store_auth_address=http://192.168.108.10:5000/v3
# swift_store_user=swift
# swift_store_key=你的Swift密码(从answers.txt获取)

# 重启Glance服务
systemctl restart openstack-glance*

三、计算管理 - Nova

核心概念

  • 功能范围:虚拟机生命周期管理,不负责物理主机管理和全面监控。
  • 架构组件:API(接收请求)、Scheduler(调度节点)、Compute(执行虚拟机操作)、Conductor(数据库代理)、Placement(资源跟踪)。
  • 调度机制:通过 Filter(过滤节点)和 Weight(计算权重)选择最优计算节点。
  • 实例操作:支持启动、关闭、重启、暂停、挂起、重建、锁定等。

常用操作(bash)

Bash 复制代码
# 查看Nova服务状态
openstack compute service list

# 配置调度器(修改nova.conf)
vim /etc/nova/nova.conf
# 启用过滤器:
# scheduler_default_filters=AvailabilityZoneFilter,ComputeFilter,CapacityFilter
# 调整资源超分比:
# cpu_allocation_ratio=16.0
# ram_allocation_ratio=1.5

# 重启Nova服务
systemctl restart openstack-nova*

# 创建实例类型(flavor)
openstack flavor create --vcpus 1 --ram 128 --disk 1 Flavor_web

# 创建实例
openstack server create --name instance_gpu --image cirros-0.5.2 --flavor Flavor_web --nic net-id=neiwang --availability-zone gpu_az

# 实例操作
openstack server stop instance_gpu  # 关闭
openstack server start instance_gpu  # 启动
openstack server reboot instance_gpu  # 软重启
openstack server reboot --hard instance_gpu  # 硬重启
openstack server pause instance_gpu  # 暂停
openstack server suspend instance_gpu  # 挂起
openstack server lock instance_gpu  # 锁定
openstack server rebuild --image cirros-0.5.2 instance_gpu  # 重建

四、块存储管理 - Cinder

核心概念

  • 存储类型:持久存储,独立于虚拟机生命周期。
  • 架构组件:Cinder-API(接收请求)、Scheduler(调度存储节点)、Volume(管理卷操作)、Backup(备份功能)。
  • 后端存储:默认使用 LVM,支持 SAN、Ceph、Swift 等。

常用操作(bash)

Bash 复制代码
# 查看卷
openstack volume list

# 创建卷(1GB,az1可用域)
openstack volume create --size 1 --availability-zone az1 volume1

# 挂载卷到实例
openstack server add volume instance_gpu volume1

# 卸载卷
openstack server remove volume instance_gpu volume1

# 创建卷快照
openstack volume snapshot create --volume volume1 snapshot1

# 从快照创建卷
openstack volume create --snapshot snapshot1 volume2

# 删除卷
openstack volume delete volume1

# 查看Cinder服务状态
systemctl status openstack-cinder-api openstack-cinder-scheduler openstack-cinder-volume

五、对象存储管理 - Swift

核心概念

  • 存储结构:Account(账户)→ Container(容器)→ Object(对象)。
  • Ring机制:Account Ring、Container Ring、Object Ring 维护存储映射关系。
  • 特性:高可用、无中心架构,支持数据冗余备份。

常用操作(bash)

Bash 复制代码
# 查看容器
openstack container list

# 创建容器
openstack container create test

# 上传文件到容器
openstack object create test cirros-0.5.2-x86_64-disk.img

# 查看容器内对象
openstack object list test

# 下载对象
openstack object save test cirros-0.5.2-x86_64-disk.img

# 删除对象
openstack object delete test cirros-0.5.2-x86_64-disk.img

# 查看Swift状态
swift stat

六、编排管理 - Heat

核心概念

  • 功能:通过模板编排复合云应用,自动调用OpenStack API创建资源。
  • 模板格式:支持 HOT(YAML)和 CFN(JSON)格式。
  • 组件:Heat-api(REST接口)、Heat-api-cfn(兼容AWS接口)、Heat-engine(核心编排逻辑)。

常用操作(bash)

Bash 复制代码
# 查看堆栈
openstack stack list

# 通过模板创建堆栈(heat.txt为模板文件)
openstack stack create --template heat.txt --stack-name stack1

# 查看堆栈详情
openstack stack show stack1

# 查看堆栈输出(如私钥)
openstack stack output show stack1 private_key

# 删除堆栈
openstack stack delete stack1

七、网络管理 - Neutron

核心概念

  • 网络类型:支持 local、flat、VLAN、VXLAN、GRE 类型。
  • 核心资源:Network(二层广播域)、Subnet(IP地址段)、Port(虚拟端口)、Router(虚拟路由器)。
  • 虚拟化技术:Linux Bridge(小规模场景)、Open vSwitch(大规模场景)。

常用操作(bash)

Bash 复制代码
# 查看网络
openstack network list

# 创建外部网络(flat类型)
openstack network create --provider-network-type flat --provider-physical-network extnet --external waiwang
openstack subnet create --network waiwang --subnet-range 192.168.108.0/24 --gateway 192.168.108.2 --allocation-pool start=192.168.108.100,end=192.168.108.200 waiwang-subnet

# 创建内部网络
openstack network create neiwang-1
openstack subnet create --network neiwang-1 --subnet-range 192.168.11.0/24 --gateway 192.168.11.1 --dns-nameserver 8.8.8.8 neiwang-1-subnet

# 创建路由器并连接内外网
openstack router create router1
openstack router set --external-gateway waiwang router1
openstack router add subnet router1 neiwang-1-subnet

# 创建浮动IP并绑定实例
openstack floating ip create waiwang
openstack server add floating ip instance_gpu 192.168.108.100

# 查看端口状态
openstack port list

# 查看路由器详情
openstack router show router1

八、故障排查

日志查看

Bash 复制代码
# Keystone日志
tail -f /var/log/keystone/keystone.log

# Glance日志
tail -f /var/log/glance/api.log

# Nova日志
tail -f /var/log/nova/nova-scheduler.log
tail -f /var/log/nova/nova-compute.log

# Neutron日志
tail -f /var/log/neutron/server.log

# 开启Debug模式(以Nova为例)
vim /etc/nova/nova.conf
# debug=True
systemctl restart openstack-nova*

RabbitMQ管理

Bash 复制代码
# 查看RabbitMQ状态
systemctl status rabbitmq-server.service

# 启用管理插件
rabbitmq-plugins enable rabbitmq_management

# 创建管理员用户
rabbitmqctl add_user user_admin passwd_admin
rabbitmqctl set_user_tags user_admin administrator
rabbitmqctl set_permissions -p / user_admin ".*" ".*" ".*"

# 访问管理界面(http://192.168.108.10:15672,用户名user_admin,密码passwd_admin)
相关推荐
G_H_S_3_3 小时前
【网络运维】OpenStack 块存储与对象存储:Cinder 与 Swift 篇
linux·运维·网络·openstack
2301_800050993 小时前
OpenStack 管理
运维·openstack
阎*水9 小时前
OpenStack 核心知识点总结
openstack
2301_767902641 天前
OpenStack 实例部署实操指南(三)
openstack
2301_767902641 天前
OpenStack 从入门到实战(一)
openstack
小波小波轩然大波2 天前
openstack总结
windows·php·openstack
阿方索2 天前
OpenStack 实验指导手册
服务器·openstack
Otto_102714 天前
Rocky版本中安装Networking-SFC插件
openstack
询问QQ:1808095116 天前
Simulink微电网分布式储能下垂控制 SOC均衡(三电池组)
openstack