CloudOS 最佳实践
规划阶段
容量规划原则
计算资源规划:
目标 vCPU 数 = 物理 CPU 核数 × 超分比 × (1 - 预留比例)
示例:
物理 CPU:20 台 × 2 × 32 核 = 1280 核
超分比:3:1
预留 20%(用于迁移和突发)
可用 vCPU = 1280 × 3 × 0.8 = 3072 vCPU
内存规划:
内存超分比建议 1.2:1 ~ 1.5:1(不建议过高)
预留 10% 用于 OS 和 CloudOS 自身
存储规划:
Ceph 存储 = 业务数据量 × 副本数 / 磁盘利用率
示例:100TB 业务数据 × 3 副本 / 0.7 = 约 430TB 原始容量网络规划
推荐网络分区:
├── 管理网络(Management):10.0.0.0/24
│ 用途:CloudOS 管理面通信
│ 带宽:1GbE 即可
├── 业务网络(Business):172.16.0.0/16
│ 用途:VM 业务流量
│ 带宽:25GbE 或 100GbE
├── 存储网络(Storage):192.168.100.0/24
│ 用途:Ceph 数据复制
│ 带宽:25GbE 或 100GbE(独立网络)
└── 外部网络(External):公网或企业内网
用途:浮动 IP、外部访问部署阶段
管理节点 HA 部署
bash
# 检查 VIP 是否正常
ip addr show | grep <vip-address>
# 检查 HAProxy 状态
systemctl status haproxy
# 检查 Keepalived 状态
systemctl status keepalived
# 检查 MySQL Galera 集群状态
mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_%';"
# wsrep_cluster_size 应为 3
# wsrep_local_state_comment 应为 SyncedCeph 存储部署检查
bash
# 检查 Ceph 集群健康状态
ceph health detail
# 检查 OSD 状态(所有 OSD 应为 up/in)
ceph osd tree
# 检查 PG 状态(所有 PG 应为 active+clean)
ceph pg stat
# 检查存储池
ceph df
# 性能测试
rados bench -p <pool-name> 60 write --no-cleanup
rados bench -p <pool-name> 60 seq运维阶段
日常巡检清单
每日检查:
- [ ] CloudOS 管理控制台可正常登录
- [ ] 所有计算节点状态为 enabled/up
- [ ] Ceph 集群状态为 HEALTH_OK
- [ ] 告警系统无未处理的严重告警
- [ ] 备份任务执行成功
每周检查:
- [ ] 资源使用率趋势(CPU/内存/存储)
- [ ] 网络流量分析
- [ ] 安全日志审计
- [ ] 证书有效期检查
每月检查:
- [ ] 容量规划评估
- [ ] 软件版本更新评估
- [ ] 灾备演练
性能调优
计算节点调优:
bash
# 开启 CPU 性能模式
cpupower frequency-set -g performance
# 关闭 NUMA 自动均衡(数据库场景)
echo 0 > /proc/sys/kernel/numa_balancing
# 调整 KVM 大页内存
echo 'vm.nr_hugepages = 51200' >> /etc/sysctl.conf
sysctl -p
# 网络队列优化
ethtool -L eth0 combined 32Ceph 调优:
bash
# 调整 OSD 内存
ceph config set osd osd_memory_target 4294967296 # 4GB
# 开启 BlueStore 缓存
ceph config set osd bluestore_cache_size_ssd 4294967296
# 调整 PG 数量(根据 OSD 数量)
# 推荐:每个 OSD 约 100 个 PG
ceph osd pool set <pool-name> pg_num 256
ceph osd pool set <pool-name> pgp_num 256故障处理
VM 无法启动:
bash
# 1. 查看 VM 状态
openstack server show <vm-id>
# 2. 查看 Nova 日志
tail -f /var/log/nova/nova-compute.log | grep <vm-id>
# 3. 查看 libvirt 日志
virsh list --all
virsh dumpxml <domain-name>
# 4. 常见原因
# - 计算节点资源不足 → 迁移到其他节点
# - 镜像损坏 → 重新上传镜像
# - 存储卷不可用 → 检查 Ceph 状态网络不通:
bash
# 1. 检查安全组规则
openstack security group rule list <sg-id>
# 2. 检查 OVS 流表
ovs-vsctl show
ovs-ofctl dump-flows br-int
# 3. 检查 Neutron 代理状态
openstack network agent list
# 4. 抓包分析
tcpdump -i any -n host <vm-ip> -w /tmp/capture.pcap安全加固
最小权限原则
bash
# 为不同角色创建专用账号
# 运维人员:只有 member 权限
openstack role add --user ops-user --project production member
# 审计人员:只有 reader 权限
openstack role add --user audit-user --project production reader
# 禁止使用 admin 账号做日常操作网络安全
bash
# 默认拒绝所有入站流量的安全组
openstack security group create deny-all \
--description "默认拒绝所有入站"
# 只开放必要端口
# 原则:最小化暴露面,按需开放数据加密
- 传输加密:API 通信强制 HTTPS(TLS 1.2+)
- 存储加密:Ceph 支持静态数据加密(at-rest encryption)
- 密钥管理:使用 Barbican 密钥管理服务
容量扩展
水平扩展(Scale Out)
添加计算节点:
1. 准备新服务器,安装 OS
2. 配置网络(管理网/业务网/存储网)
3. 在 CloudOS 管理界面添加计算节点
4. 等待节点注册完成(约 10-15 分钟)
5. 验证节点状态为 enabled/up
添加 Ceph OSD:
1. 在存储节点添加新磁盘
2. 执行 ceph-volume lvm create --data /dev/sdX
3. 等待数据自动均衡(rebalancing)
4. 验证 ceph health 恢复 HEALTH_OK垂直扩展(Scale Up)
扩展管理节点内存/CPU:
1. 将管理节点设为 Standby
2. 关机扩容
3. 重启后验证服务恢复
4. 切换回 Active