Skip to content

OpenStack 自动化运维脚本

脚本列表

脚本用途用法
health-check.sh集群健康检查./health-check.sh
batch-compute-manage.sh计算节点批量管理./batch-compute-manage.sh <action> [options]
virsh-to-openstack.shVirsh 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-001

3. 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.txt

4. 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/inventory

5. 容量报告

bash
# 生成容量报告
./capacity-report.sh