1. 九州云Skyline与OpenStack部署概述
九州云Skyline是OpenStack企业级发行版之一,针对中国本土云计算环境进行了深度优化。相比社区原生版本,它在网络性能、存储兼容性和管理界面等方面做了大量增强,特别适合需要快速搭建生产级私有云的企业用户。
我在实际部署中发现,Skyline的安装过程虽然比原生OpenStack简化不少,但仍存在几个关键配置点容易出错。本文将基于CentOS 9系统,详细拆解从零开始部署Skyline的全流程,重点说明那些官方文档没有强调的实操细节。
2. 基础环境准备
2.1 系统要求与依赖项
推荐使用CentOS 9 Stream作为基础系统,最小化安装后需确保:
- 至少4核CPU/16GB内存/100GB磁盘(控制节点)
- 禁用SELinux和防火墙(生产环境需按安全策略调整)
- 配置NTP时间同步
- 所有节点主机名解析正常
执行以下命令完成基础配置:
bash复制# 关闭SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
# 配置NTP
dnf install chrony -y
systemctl enable --now chronyd
chronyc sources
2.2 网络规划要点
Skyline对网络环境有特定要求:
- 管理网络:建议使用独立网段(如192.168.100.0/24)
- 公共API网络:需要可路由IP段
- 存储网络:建议万兆链路分离
- 虚拟机流量网络:根据业务需求规划VLAN
典型的多网卡配置示例:
bash复制# /etc/sysconfig/network-scripts/ifcfg-ens192
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
3. 九州云Skyline安装核心步骤
3.1 软件源配置
九州云提供专属的yum源,需先配置访问权限:
bash复制# 安装基础工具
dnf install -y yum-utils epel-release
# 添加九州云仓库
cat > /etc/yum.repos.d/99cloud.repo <<EOF
[99cloud-base]
name=99Cloud Base
baseurl=https://mirrors.99cloud.net/centos-stream/\$releasever/BaseOS/\$basearch/os/
gpgcheck=0
[99cloud-skyline]
name=99Cloud Skyline
baseurl=https://mirrors.99cloud.net/skyline/centos-stream/\$releasever/
gpgcheck=0
EOF
3.2 Packstack安装器部署
使用packstack进行自动化部署时,关键参数文件生成:
bash复制# 生成应答文件模板
packstack --gen-answer-file=skyline-answers.txt
# 必须修改的核心参数
sed -i 's/CONFIG_SWIFT_INSTALL=y/CONFIG_SWIFT_INSTALL=n/g' skyline-answers.txt
sed -i 's/CONFIG_NEUTRON_ML2_TYPE_DRIVERS=.*/CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vlan/g' skyline-answers.txt
sed -i 's/CONFIG_PROVISION_DEMO=.*/CONFIG_PROVISION_DEMO=n/g' skyline-answers.txt
3.3 数据库与消息队列配置
Skyline默认使用MariaDB和RabbitMQ,生产环境建议:
- 为MySQL设置专用存储(如SSD)
- 调整InnoDB缓冲池大小(建议物理内存的70%)
- RabbitMQ需要配置磁盘告警阈值
关键优化参数示例:
ini复制# /etc/my.cnf.d/openstack.cnf
[mysqld]
innodb_buffer_pool_size = 12G
innodb_log_file_size = 512M
open_files_limit = 65535
4. 网络服务深度配置
4.1 Neutron网络方案选择
九州云Skyline支持多种网络方案:
- OVS+VLan:适合传统网络环境
- OVS+VxLAN:适合大规模租户隔离
- LinuxBridge:简单场景性能更好
配置示例(OVS+VxLAN):
bash复制openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers "vxlan,flat"
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlan
openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers "openvswitch,l2population"
4.2 安全组策略优化
默认安全组规则可能不符合生产需求,建议:
- 禁用ICMP全通规则
- 按业务划分安全组模板
- 启用port_security扩展
通过API批量更新安全组:
bash复制for sg in $(openstack security group list -f value -c ID); do
openstack security group rule delete $(openstack security group rule list $sg -f value -c ID)
openstack security group rule create --proto tcp --dst-port 22 $sg
openstack security group rule create --proto icmp $sg
done
5. 存储服务配置技巧
5.1 Ceph与Skyline集成
如果使用Ceph作为后端存储,需要特别注意:
- 安装python-rbd和ceph-common包
- 配置nova和cinder的ceph客户端权限
- 设置合理的pool副本数
关键配置片段:
ini复制# /etc/cinder/cinder.conf
[default]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = volumes
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = false
5.2 本地存储优化
对于本地存储场景,建议:
- 使用LVM缓存提升性能
- 为不同服务分配独立卷组
- 调整IO调度器(deadline/noop)
操作示例:
bash复制# 创建缓存池
lvcreate -L 20G -n cinder_cache vg00
lvcreate -L 100G -n cinder_meta vg00
6. 部署后检查与排错
6.1 服务健康状态验证
执行全套检查命令:
bash复制# 检查服务列表
openstack service list
# 检查网络代理状态
neutron agent-list
# 检查计算节点
nova service-list
6.2 常见问题处理
问题1:Dashboard访问报错500
- 检查memcached服务状态
- 查看/var/log/httpd/error_log
- 确认session存储配置正确
问题2:虚拟机启动超时
- 检查nova-compute日志
- 验证镜像元数据
- 测试网络连通性
问题3:卷创建失败
- 检查cinder-volume日志
- 验证存储后端连接
- 查看配额限制
7. 生产环境优化建议
7.1 性能调优参数
关键内核参数调整:
bash复制# /etc/sysctl.conf
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 15
vm.swappiness = 10
7.2 高可用配置
控制节点HA方案:
- 使用HAProxy+Keepalived实现API负载均衡
- MariaDB配置Galera集群
- RabbitMQ配置镜像队列
示例HAProxy配置:
text复制frontend openstack-api
bind *:8774
default_backend nova-api
backend nova-api
balance source
server controller1 192.168.100.11:8774 check
server controller2 192.168.100.12:8774 check
7.3 监控方案集成
推荐监控组合:
- Prometheus + Grafana:采集基础指标
- Zabbix:告警管理
- Skyline自带的监控插件
关键监控指标包括:
- Nova:虚拟机创建成功率
- Neutron:网络延迟和丢包
- Cinder:卷IOPS和延迟
