# openstack---image-installation **Repository Path**: xiao_yu_liang/openstack---image-installation ## Basic Information - **Project Name**: openstack---image-installation - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-22 - **Last Updated**: 2025-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenStack 环境部署指南 ## 目录 1. [环境准备](#1-环境准备) - [1.1 系统要求](#11-系统要求) - [1.2 安装必要软件](#12-安装必要软件) - [1.3 网络要求](#13-网络要求) 2. [部署脚本使用说明](#2-部署脚本使用说明) - [2.1 下载 Ubuntu 云镜像](#21-下载-ubuntu-云镜像) - [2.2 运行部署脚本](#22-运行部署脚本) - [2.3 支持的 OpenStack 版本](#23-支持的-openstack-版本) - [2.4 脚本功能说明](#24-脚本功能说明) - [2.5 虚拟机配置](#25-虚拟机配置) - [2.6 网络配置](#26-网络配置) - [2.7 登录信息](#27-登录信息) - [2.8 连接虚拟机](#28-连接虚拟机) 3. [常用操作](#3-常用操作) - [3.1 虚拟机管理](#31-虚拟机管理) - [3.2 网络管理](#32-网络管理) - [3.3 存储管理](#33-存储管理) 4. [OpenStack Zed 单节点部署](#4-openstack-zed-单节点部署) - [4.1 安装指南说明](#41-安装指南说明) - [4.2 部署说明](#42-部署说明) - [4.3 使用方法](#43-使用方法) - [4.4 注意事项](#44-注意事项) - [4.5 使用建议](#45-使用建议) 5. [故障排查](#5-故障排查) - [5.1 常见问题解决方案](#51-常见问题解决方案) - [5.2 日志查看](#52-日志查看) - [5.3 服务状态检查](#53-服务状态检查) 6. [环境迁移](#6-环境迁移) - [6.1 导出环境](#61-导出环境) - [6.2 重要文件说明](#62-重要文件说明) - [6.3 导入环境](#63-导入环境) - [6.4 迁移后验证](#64-迁移后验证) - [6.5 注意事项](#65-注意事项) 7. [OpenStack 服务管理](#7-openstack-服务管理) - [7.1 服务组件说明](#71-服务组件说明) - [7.2 服务自启动配置](#72-服务自启动配置) - [7.3 服务启动顺序](#73-服务启动顺序) - [7.4 服务状态检查](#74-服务状态检查) - [7.5 故障排查](#75-故障排查) - [7.6 服务维护建议](#76-服务维护建议) - [7.7 性能优化建议](#77-性能优化建议) ## 1. 环境准备 ### 1.1 安装必要软件 ```bash # 安装 libvirt 和相关工具 sudo dnf install -y libvirt virt-manager qemu-kvm cloud-init cloud-utils # 启动 libvirt 服务 sudo systemctl start libvirtd sudo systemctl enable libvirtd ``` ## 2. 部署脚本使用说明 ### 2.1 下载 Ubuntu 云镜像 支持以下版本的 Ubuntu 云镜像: - Ubuntu 14.04 (Trusty): ```bash wget https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img ``` - Ubuntu 16.04 (Xenial): ```bash wget https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img ``` - Ubuntu 18.04 (Bionic): ```bash wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img ``` - Ubuntu 20.04 (Focal): ```bash wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img ``` - Ubuntu 22.04 (Jammy): ```bash wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img ``` ### 2.2 运行部署脚本 ```bash # 添加执行权限 chmod +x install_openstack_image.sh # 运行脚本(传入 OpenStack 版本和 Ubuntu 镜像路径) ./install_openstack_image.sh # 例如: ./install_openstack_image.sh mitaka ./trusty-server-cloudimg-amd64-disk1.img ``` ### 2.3 支持的 OpenStack 版本 - mitaka (Ubuntu 16.04) - newton (Ubuntu 16.04) - ocata (Ubuntu 16.04) - pike (Ubuntu 16.04) - queens (Ubuntu 16.04) - rocky (Ubuntu 18.04) - stein (Ubuntu 18.04) - train (Ubuntu 18.04) - ussuri (Ubuntu 18.04) - victoria (Ubuntu 20.04) - wallaby (Ubuntu 20.04) - xena (Ubuntu 20.04) - yoga (Ubuntu 20.04) - zed (Ubuntu 20.04) - antelope (Ubuntu 22.04) - bobcat (Ubuntu 22.04) - caracal (Ubuntu 22.04) - dalmatian (Ubuntu 24.04) - epoxy (Ubuntu 24.04) - flamingo (Ubuntu 24.04) ### 2.4 脚本功能说明 脚本会根据 OpenStack 版本和 Ubuntu 版本自动完成以下任务: - 检测并配置适合的网络管理方式(interfaces 或 netplan) - 选择合适的服务管理命令(service 或 systemctl) - 创建工作目录 `/var/lib/libvirt/images/` - 配置两个节点的 cloud-init - 创建虚拟网络(10.0.0.0/24) - 创建并配置虚拟机 - 设置正确的权限 - 启动所有服务 ### 2.5 虚拟机配置 - 控制节点 (-controller) - IP: 10.0.0.11 - 内存: 8GB - CPU: 4核 - 磁盘: 100GB - 计算节点 (-compute1) - IP: 10.0.0.31 - 内存: 8GB - CPU: 4核 - 磁盘: 100GB ### 2.6 网络配置 - 网络: 10.0.0.0/24 - 网关: 10.0.0.1 - DNS: 8.8.8.8 - 控制节点: 10.0.0.11 - 计算节点: 10.0.0.31 - 网络名称: -net - 网桥名称: virbr- ### 2.7 登录信息 所有节点都可以使用以下账户登录: - 用户名: root 或 ubuntu - 密码: root123 - SSH 和密码认证已启用 - sudo 权限已配置 ### 2.8 连接虚拟机 ```bash # 连接控制节点 sudo virsh console -controller # 连接计算节点 sudo virsh console -compute1 ``` ## 3. 常用操作 ```bash # 查看虚拟机状态 sudo virsh list --all # 启动/关闭虚拟机 sudo virsh start -controller sudo virsh shutdown -controller # 强制关闭虚拟机 sudo virsh destroy -controller # 删除虚拟机 sudo virsh undefine -controller # 查看网络状态 sudo virsh net-list --all # 查看虚拟机 IP sudo virsh domifaddr -controller sudo virsh domifaddr -compute1 ``` ## 5. 故障排查 - 检查虚拟机日志: ```bash sudo virsh console -controller sudo tail -f /var/log/cloud-init.log ``` - 检查网络连接: ```bash ping 10.0.0.11 # 控制节点 ping 10.0.0.31 # 计算节点 ``` - 检查服务状态: ```bash sudo virsh net-list --all sudo virsh list --all ``` ## 6. OpenStack Zed 单节点部署 ### 6.1 安装指南说明 本项目提供了一个详细的 OpenStack Zed 版本单节点部署指南(`openstack_zed_AllInOne_install.md`),适用于以下场景: - 快速搭建测试环境 - 学习 OpenStack 架构 - 开发和调试使用 ### 6.2 部署说明 安装指南包含以下内容: - 统一的密码管理(测试环境使用) - 虚拟机环境配置要求 - 核心组件的详细安装步骤: - Keystone(身份认证) - Glance(镜像服务) - Nova(计算服务) - Neutron(网络服务) - Placement(资源跟踪) ### 6.3 使用方法 1. 准备环境: ```bash # 创建虚拟机并安装 Ubuntu 22.04 # 配置两张网卡:NAT + 仅主机 # 确保满足硬件要求: - CPU: 4核心(开启虚拟化支持) - 内存: 16GB - 硬盘: 100GB ``` 2. 按照指南逐步安装: ```bash # 1. 基础环境配置 # 2. 安装基础服务(MariaDB、RabbitMQ、Memcached) # 3. 安装 OpenStack 核心组件 # 4. 验证各组件安装状态 # 5. 或者使用脚本安装 # 下载脚本 # 根据不同 Ubuntu 版本下载不同脚本 # 例如:Ubuntu 22.04 和 Ubuntu 20.04 下载 openstack_install.sh # Ubuntu 22.04/20.04 安装脚本 wget https://gitee.com/xiao_yu_liang/openstack---image-installation/raw/master/openstack_install.sh chmod +x openstack_install.sh ./openstack_install.sh # Ubuntu 18.04 安装脚本 wget https://gitee.com/xiao_yu_liang/openstack---image-installation/raw/master/18_openstack_install.sh chmod +x 18_openstack_install.sh ./18_openstack_install.sh # Ubuntu 16.04 安装脚本 wget https://gitee.com/xiao_yu_liang/openstack---image-installation/raw/master/16_openstack_install.sh chmod +x 16_openstack_install.sh ./16_openstack_install.sh ``` ### 6.4 注意事项 1. 环境要求: - 仅适用于测试环境 - 生产环境请使用多节点部署 - 确保虚拟机开启嵌套虚拟化 2. 安全考虑: - 文档中使用统一密码(root123) - 生产环境部署时需要修改为强密码 - 建议限制管理网络访问 3. 故障排查: - 每个组件安装后有验证步骤 - 详细的日志位置说明 - 常见问题解决方案 ### 6.5 使用建议 1. 学习环境: - 按照指南顺序逐步安装 - 理解每个组件的作用 - 熟悉基本的运维命令 2. 开发测试: - 可以创建虚拟机快照 - 方便环境还原 - 支持快速重建环境 3. 性能优化: - 根据实际需求调整配置 - 可以适当减少服务数量 - 优化资源分配 ## 7. 环境迁移指南 ### 7.1 导出环境(源主机) ```bash # 1. 停止虚拟机 sudo virsh shutdown -controller sudo virsh shutdown -compute1 # 2. 打包环境文件 cd /var/lib/libvirt/images/ sudo tar czf openstack-backup.tar.gz / ``` ### 7.2 重要文件说明 部署目录 `/var/lib/libvirt/images//` 包含以下重要文件: - `ubuntu-*.qcow2`:虚拟机磁盘镜像 - `openstack-network.xml`:虚拟网络配置 - `controller.xml`/`compute.xml`:虚拟机配置 - `*-cloud-init.iso`:云初始化配置 - `*-cloud-config.yaml`:cloud-init 配置文件 ### 7.3 导入环境(目标主机) 1. 安装必要软件: ```bash sudo dnf install -y libvirt virt-manager qemu-kvm cloud-init cloud-utils sudo systemctl start libvirtd sudo systemctl enable libvirtd ``` 2. 导入环境文件: ```bash # 创建目录 sudo mkdir -p /var/lib/libvirt/images/ cd /var/lib/libvirt/images/ # 解压文件 sudo tar xzf openstack-backup.tar.gz # 设置权限 sudo chown -R qemu:qemu / ``` 3. 配置网络: ```bash # 清理可能存在的网络 sudo virsh net-destroy default sudo virsh net-undefine default sudo ip link delete virbr0 type bridge sudo ip link delete virbr- type bridge # 导入新网络 sudo virsh net-define /openstack-network.xml sudo virsh net-start -net sudo virsh net-autostart -net ``` 4. 导入虚拟机: ```bash sudo virsh define /controller.xml sudo virsh define /compute.xml ``` 5. 启动虚拟机: ```bash sudo virsh start -controller sudo virsh start -compute1 ``` ### 7.4 迁移后验证 1. 检查虚拟机状态: ```bash sudo virsh list --all sudo virsh net-list --all ``` 2. 检查网络连接: ```bash # 连接到控制节点 sudo virsh console -controller # 使用 ubuntu/root123 登录后执行: ping -compute1 ``` 3. 验证 OpenStack 服务: ```bash # 在控制节点内执行 source admin-openrc openstack service list nova service-list neutron agent-list ``` ### 7.5 注意事项 1. 路径一致性: - 确保目标主机上的路径与源主机相同 - 默认路径:`/var/lib/libvirt/images/` 2. 网络配置: - 确保目标主机网络环境与源主机兼容 - 检查网络端口是否被占用 - 确保虚拟网桥不与现有网络冲突 3. 资源要求: - 目标主机需要足够的内存(至少 16GB) - 确保 CPU 支持虚拟化 ```bash egrep -c '(vmx|svm)' /proc/cpuinfo # 结果应大于 0 ``` 4. 权限设置: - 确保所有文件属主为 qemu:qemu - 确保 libvirt 服务正在运行 5. 故障排查: - 检查 libvirt 日志:`/var/log/libvirt/qemu/` - 检查 cloud-init 日志:`/var/log/cloud-init.log` - 确保 SELinux/AppArmor 不会阻止虚拟机运行 ## 8. 环境重启脚本 ### 8.1 添加重启脚本 ```bash # 添加执行权限 chmod +x restart_openstack.sh # 重启指定版本的环境 ./restart_openstack.sh mitaka ``` ### 8.2 脚本功能 1. 清理并重新配置网络 2. 重新定义虚拟机 3. 启动所有服务 4. 显示环境状态