创建私有云主机

张开发
2026/4/10 4:34:26 15 分钟阅读

分享文章

创建私有云主机
1. 环境准备与规划在搭建IaaS平台之前合理的硬件与网络规划是成功的关键。本环境基于VMware Workstation搭建采用双节点架构。1.1 硬件资源配置请严格按照以下标准配置虚拟机资源不足会导致安装失败或运行卡顿。表格组件内存处理器硬盘网卡配置Controller (控制节点)4G2核50GVMNET8 (NAT): 192.168.137.241VMNET1 (仅主机): 20.0.0.10Compute (计算节点)4G2核sda 50Gsdb 50Gsdc 50GVMNET8 (NAT): 192.168.137.242VMNET1 (仅主机): 20.0.0.20注意Compute节点需要额外添加两块硬盘sdb, sdc分别用于Cinder块存储和Swift对象存储。1.2 环境初始化在两台虚拟机中均需执行以下基础环境清理防火墙与SELinux。# 修改主机名 (分别在对应主机执行)hostnamectl set-hostname controller # 控制节点执行hostnamectl set-hostname compute # 计算节点执行# 关闭防火墙与SELinux (实验环境建议生产环境需谨慎)systemctl stop firewalldsystemctl disable firewalldsetenforce 02. 平台部署核心步骤2.1 镜像挂载与YUM源配置将提供的CentOS-7-x86_64-DVD-1804.iso和chinaskills_cloud_iaas.iso上传至服务器。Controller节点配置# 创建挂载目录mkdir -p /opt/centos /opt/iaas# 挂载镜像 (此处需替换为实际ISO路径)mount -o loop CentOS-7-x86_64-DVD-1804.iso /opt/centosmount -o loop chinaskills_cloud_iaas.iso /opt/iaas/# 配置本地Repocat /etc/yum.repos.d/local.repo EOF[centos]namecentosgpgcheck0enabled1baseurlfile:///opt/centos[iaas]nameiaasgpgcheck0enabled1baseurlfile:///opt/iaas/iaas-repoEOFCompute节点配置 (通过FTP共享)# 安装 vsftpd 服务 (在Controller执行)yum install -y vsftpdecho anon_root/opt /etc/vsftpd/vsftpd.confsystemctl start vsftpd systemctl enable vsftpd# Compute节点配置 (在Compute执行)cat /etc/yum.repos.d/local.repo EOF[centos]namecentosbaseurlftp://controller/centosgpgcheck0enabled1[iaas]nameiaasbaseurlftp://controller/iaas/iaas-repogpgcheck0enabled1EOF2.2 安装环境变量与脚本安装国基北盛提供的环境包并配置统一的密码策略000000。# 两台节点均安装yum install iaas-xiandian -y# 去除配置文件注释并编辑sed -i s/^#//g /etc/xiandian/openrc.shvim /etc/xiandian/openrc.sh关键参数配置Controller节点为例HOST_IP192.168.137.241HOST_PASS000000HOST_NAMEcontrollerHOST_IP_NODE192.168.137.242HOST_PASS_NODE000000HOST_NAME_NODEcompute# 数据库与服务密码统一DB_PASS000000RABBIT_PASS000000ADMIN_PASS000000# 存储磁盘映射 (Compute节点需对应修改)BLOCK_DISKsdb1OBJECT_DISKsdc1复制配置文件到compute节点[rootcontroller ~]# scp /etc/xiandian/openrc.sh compute:/etc/xiandian/openrc.sh3. 磁盘分区与脚本执行3.1 Compute节点磁盘分区Compute节点新增的两块硬盘50G必须进行分区才能被脚本识别。划分compute节点磁盘[rootcompute ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 100G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 99G 0 part├─centos-root 253:0 0 50G 0 lvm /├─centos-swap 253:1 0 3.9G 0 lvm [SWAP]└─centos-home 253:2 0 45.1G 0 lvm /homesdb 8:16 0 50G 0 disksdc 8:32 0 50G 0 disksr0 11:0 1 4.2G 0 rom[rootcompute ~]# fdisk /dev/sdbCommand (m for help):nUsing default responsepPartition number (1-4, default 1): 【回车】First sector (2048-104857599, default 2048): 【回车】Command (m for help):w[rootcompute ~]#fdisk /dev/sdcCommand (m for help):nSelect (default p):Using default responsepPartition number (1-4, default 1): 【回车】First sector (2048-104857599, default 2048): 【回车】Command (m for help):w[rootcompute ~]#lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 100G 0 disk├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 99G 0 part├─centos-root 253:0 0 50G 0 lvm /├─centos-swap 253:1 0 3.9G 0 lvm [SWAP]└─centos-home 253:2 0 45.1G 0 lvm /homesdb 8:16 0 50G 0 disk└─sdb1 8:17 0 50G 0 partsdc 8:32 0 50G 0 disk└─sdc1 8:33 0 50G 0 partsr0 11:0 1 4.2G 0 rom3.2 核心安装脚本执行顺序⚠️ 严格执行顺序不可乱序序号服务模块Controller节点命令Compute节点命令1环境预设iaas-pre-host.sh安装完成后需要重启iaas-pre-host.sh (安装完成后需要重启2数据库iaas-install-mysql.sh-3认证服务iaas-install-keystone.sh-4镜像服务iaas-install-glance.sh-5计算服务(控制)iaas-install-nova-controller.shiaas-install-nova-compute.sh6网络服务(控制)iaas-install-neutron-controller.shiaas-install-neutron-compute.sh7Dashboardiaas-install-dashboard.sh-8存储服务iaas-install-cinder-controller.shiaas-install-cinder-compute.sh9对象存储iaas-install-swift-controller.shiaas-install-swift-compute.sh虚拟机环境特殊配置QEMU由于是在虚拟机中嵌套虚拟机必须修改libvirt类型否则无法创建实例。# Compute节点执行crudini --set /etc/nova/nova.conf libvirt virt_type qemusystemctl restart openstack-nova-compute# Controller节点同步修改(可选确保存储策略一致)crudini --set /etc/nova/nova.conf libvirt virt_type qemusystemctl restart openstack-nova-*4. 网络构建与实例测试4.1 网络架构设计在OpenStack Dashboard中进行网络配置外部网络 (Provider Network):用于浮动IP绑定连接外网。内部网络 (Self-Network):用于租户内部通信。路由 (Router):连接内外网设置网关为外部网络接口为内部网络子网。4.2 创建云主机上传镜像下载地址cirros-0.3.0-x86_64-disk.img用户名cirros/ 密码cubswin:)命令行上传source /etc/keystone/admin-openrc.shglance image-create --name CirrOS --disk-formatqcow2 --container-formatbare --visibilitypublic --file cirros-0.3.0-x86_64-disk.img创建实例选择刚上传的镜像。选择m1.tiny规格。网络选择刚创建的内部网络。关键步骤创建完成后进入“绑定浮动IP”分配一个外部IP。4.3 连通性测试Dashboard控制台点击实例的“控制台”标签输入账号密码登录。SSH测试在物理机或Xshell中使用命令ssh cirros浮动IP进行连接测试。5. 常见问题与排错Q1: 安装脚本报错“找不到硬盘”原因Compute节点的sdb和sdc没有进行分区Partition脚本检测的是分区Partition而非磁盘Disk。解决使用fdisk对两块盘进行n - p - w操作。Q2: 实例状态一直是“构建中” (Build)原因未修改virt_type为qemu。解决检查上述第3.2节的QEMU配置步骤并重启Nova服务。Q3: Compute节点无法连接 Controller 的 YUM 源原因FTP服务未启动或防火墙未关闭。解决检查 Controller 的vsftpd状态确保/etc/vsftpd/vsftpd.conf中的anon_root指向/opt。 6. 结语通过本文的步骤你已经成功搭建了一个基于OpenStack的IaaS私有云平台。国基北盛的这套环境非常适合学习云计算底层架构。在实际生产环境中我们需要关注安全性如开启防火墙、使用复杂密码和性能如RAID配置、分布式存储。

更多文章