主题
OpenStack 自动化运维脚本
脚本列表
| 脚本 | 用途 | 用法 |
|---|---|---|
health-check.sh | 集群健康检查 | ./health-check.sh |
batch-compute-manage.sh | 计算节点批量管理 | ./batch-compute-manage.sh <action> [options] |
virsh-to-openstack.sh | Virsh VM 迁移到 OpenStack | ./virsh-to-openstack.sh <vm-name> [options] |
generate-inventory.sh | 生成 Kolla-Ansible inventory | ./generate-inventory.sh <nodes.csv> |
capacity-report.sh | 集群容量报告 | ./capacity-report.sh |
快速开始
1. 集群健康检查
bash
# 执行全量检查
./health-check.sh
# 检查范围:
# - Nova 计算服务状态
# - Neutron 网络 Agent 状态
# - Ceph 存储集群健康
# - MariaDB Galera 集群
# - RabbitMQ 集群
# - API 端点可用性2. 计算节点管理
bash
# 查看节点状态
./batch-compute-manage.sh status compute-001
# 禁用节点 (维护模式)
./batch-compute-manage.sh disable compute-001 "硬件维护"
# 排空节点 (迁移所有 VM)
./batch-compute-manage.sh drain compute-001
# 批量排空
./batch-compute-manage.sh drain-batch compute-001 compute-002 compute-003
# 紧急疏散 (节点已故障)
./batch-compute-manage.sh evacuate compute-042
# 启用节点
./batch-compute-manage.sh enable compute-0013. VM 迁移
bash
# 迁移单个 VM
./virsh-to-openstack.sh my-vm --flavor m1.large --network biz-net
# 试运行 (不执行)
./virsh-to-openstack.sh my-vm --dry-run
# 批量迁移
cat > vm-list.txt << EOF
web-server-01
db-server-01
app-server-01
EOF
./virsh-to-openstack.sh --batch vm-list.txt4. Inventory 生成
bash
# 准备 CSV 文件
cat > nodes.csv << EOF
ctrl-01,controller,10.0.1.11
ctrl-02,controller,10.0.1.12
ctrl-03,controller,10.0.1.13
compute-001,compute,10.0.2.1
compute-002,compute,10.0.2.2
ceph-osd-01,storage,10.0.3.11
EOF
# 生成 inventory
./generate-inventory.sh nodes.csv /etc/kolla/inventory5. 容量报告
bash
# 生成容量报告
./capacity-report.sh