OpenStack简介与其部署

张开发
2026/4/15 14:08:40 15 分钟阅读

分享文章

OpenStack简介与其部署
一、OpenStack简介1.1 openstack到底是什么openstack本质是一个云操作系统内核/Kernel内核主要负责硬件资源的管理与调度通俗来说就是一个框架比如没有装修的房子1.2 openstack的发展华为云早期根据开源的openstack研发出了FusionSphere openstack华为云操作系统而到如今已经演变为HCSHuawei Cloud Stack1.3 openstack框架的实际作用无处不在的网络接入按需付费和使用弹性伸缩资源池化资源隔离租户管理1.4 华为云操作系统/其他云厂商基于开源openstack做了哪些1. 高可用解决方案2. 提供各种驱动接口3. 更简化部署流程—自动化部署工具4. 日志分析性能报表5. 更方便的运维及运营工具6. 图形化界面管理7. 高阶云服务openstack的版本演进openstack与虚拟化、云计算的关系二、OpenStack架构2.1 openstack简要的工作原理https://www.openstack.org/华为云 HCS851是基于开源openstack哪个版本开发https://releases.openstack.org/目前各个厂商的云平台依据的开源openstack版本是比较底的为什么Y版本 半年更新一个新版本假如某个厂商使用Y版来开发自己的云平台开发周期需要一年才能开发完成开始销售等到客户购买已经是18个月过去了等到稳定以后24月过去了开源社区发布了4个新版本各个云厂商就在自己当年选择的开源openstack版本上继续升级和迭代新版本一般做了哪些变化修正了原有的BUG增加了新的组件openstack九大组件20多个组件 HA解决方案完善了原有组件的新特性各个组件是独立存在互不依赖。三、OpenStack组件及其作用3.1. Horizon界面管理服务作用提供基于Web的控制界面3.2. Nova计算服务提供大规模、可扩展、按 需自助服务的计算资源Controller 控制节点 各种API接入cinder-api当用户发送一个创建云硬盘的指令cinder-api根据对接的存储选择能满足要求的存储节点来创建这个云硬盘控制节点1高可用性问题2性能问题厂商解决方案华为云为了解决该问题强制要求控制节点三节点起步HCS版本控制节点单台服务器20核起768G内存起少于这个配置控制节点部署失败需要固态硬盘3.3. Glance镜像服务KVM磁盘格式 qcow2vmware磁盘格式 vmdk如果对接的是KVM计算节点建议上传的镜像格式为qcow2如果对接的计算节点为VMware则建议上传vmdk格式的镜像华为云是将glance组件部署在控制节点上没有单独部署一台物理服务器上高可用3.4.Swift对象存储服务镜像 数据备份等 以数据方式存在对象存储与块存储区别对象存储类似于一个共享文件夹每个人都能访问修改而块存储类似于一块硬盘只能同时给一个人使用3.5、Neutron网络服务提供SDN Software Define Network 软件定义网络即在系统中虚拟出一套完整的网络拓扑比如带路由、VLAN、VXLAN、安全等但是对CPU等硬件要求高同时还有硬件SDN但是目前发展不大3.6. Cinder块存储服务给云主机提供云硬盘cinder对接传统存储华为IBMEMC等也可以对接分布式存储Glusterfs Ceph等当用户申请创建一块云硬盘会将这个创建云硬盘的指令丢给对接的物理存储或者分布式存储相当于在存储上创建了一个LUN百度网盘 对象存储 可以关联给云主机吗 不能3.7. Heat编排服务如果我今天要创建两台云主机创建云数据库并且实现对他们的监控请问如何实现heat编排服务就是通过图形界面拖拽方式或者写一个脚本方式把这些需求写进去未来只需要执行该编排脚本自动化部署了3.8. Ceilometer计量服务公有云使用了哪些云服务用了多长时间啊超出配额并且进行计费私有云需要吗 也需要给租户设置了配额哪些用户用了多少资源哪些租户资源用得最高磁盘性能还能满足需求吗3.9. keystone身份认证服务HCIA学习过身份认证服务吗Active Directory桌面云 ADAD DNS DHCP身份认证登录云桌面 访问WI在WI上输入用户名密码HDC通过数据库查询你获取到哪台虚拟机我们公司已经有了一套身份验证比如windows AD比如Linux OpenLDAP 三套账号能不能融合每个用户只需要记住一套用户名密码就可以登录各个业务系统包括云平台keystone可以对接AD或openLDAPHCIE-CloudComputing 审批 发放云主机云管理员某部门需要开通一台云主机该部门需要先走审批流程申请开通云主机领导经过层层审批华为云最多可以支持5层审批云管理员看到所有领导审批通过后我来给该部门开通云主机领导点击“同意”或者点击“驳回申请”华为云所有的流程走完后自动发放删除云主机也需要走审批流程我们公司有一套审批流程和软件我不想用华为云自带的审批流程能不能接入我们公司的审批流程华为云直接将研发团队拉到****现场开发现场测试终于对接成功后来华为也把这些客户的定制系统加入到下一个版本中下次可以控标3.10、九大服务Horizon 界面管理Nova 计算Glance 镜像Swift对象存储Neutron网络Cinder 存储Heat 编排Ceilometer 计量keystone 身份认证服务四、OpenStack环境准备及其部署4.1、OpenStack部署方式1开源OpenStack手动部署2ansible/packstack自动化部署3华为自研部署工具部署华为云平台Fusion Cloud Deploy FCD全自动部署甚至可以包括系统4.2、部署规划采用packstack自动化部署先行配置yum源和ntp一个yum源和NTP服务器仅主机网段172.16.1.100一个Controller控制节点仅主机网段172.16.1.254/24桥接网卡桥接到Internat两个Compute-01/Compute-02计算节点172.16.1.101/172.16.1.1024.3、搭建openstack前置环境·本地yum源NTP服务器1搭建共享yum源提前准备好镜像文件[rootCloud iso]# ll总用量 12778056-rw-r--r--. 1 root root 3155761152 3月 10 11:54 26-CentOS8-4-OSP-Victoria.iso-rw-r--r--. 1 root root 9928966144 2月 1 12:57 CentOS-8.4.2105-x86_64-dvd1.iso修改/etc/fstab文件设置其开机自动挂载红色字体是需要配置的[rootCloud iso]# cat /etc/fstab/etc/fstabCreated by anaconda on Sun Feb 1 14:14:22 2026Accessible filesystems, by reference, are maintained under /dev/disk/.See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.After editing this file, run systemctl daemon-reload to update systemdunits generated from this file./dev/mapper/cl-root / xfs defaults 0 0UUIDd096edc7-60e4-4281-a6b9-03ddf9c5dc63 /boot xfs defaults 0 0/dev/mapper/cl-home /home xfs defaults 0 0/dev/mapper/cl-swap none swap defaults 0 0/root/iso/CentOS-8.4.2105-x86_64-dvd1.iso /var/www/html/yum iso9660 defaults 0 0/root/iso/26-CentOS8-4-OSP-Victoria.iso /var/www/html/openstack iso9660 defaults 0 0配置repo文件[rootCloud ~]# cat /etc/yum.repos.d/iso.repo[BaseOS]nameBaseOSbaseurlhttp://172.16.1.100/yum/BaseOSenabled1gpgcheck0[AppStream]nameAppStreambaseurlhttp://172.16.1.100/yum/AppStreamenabled1gpgcheck0[rootCloud ~]# cat /etc/yum.repos.d/oppenstack.repo[centos-advanced-virtualization]namecentos-advanced-virtualizationbaseurlhttp://172.16.1.100/openstack/centos-advanced-virtualizationenabled1gpgcheck0[centos-ceph-nautilus]namecentos-ceph-nautilusbaseurlhttp://172.16.1.100/openstack/centos-ceph-nautilusenabled1gpgcheck0[centos-nfv-openvswitch]namecentos-nfv-openvswitchbaseurlhttp://172.16.1.100/openstack/centos-nfv-openvswitchenabled1gpgcheck0[centos-openstack-victoria]namecentos-openstack-victoriabaseurlhttp://172.16.1.100/openstack/centos-openstack-victoriaenabled1gpgcheck0[centos-rabbitmq-38]namecentos-rabbitmq-38baseurlhttp://172.16.1.100/openstack/centos-rabbitmq-38enabled1gpgcheck0[extras]nameextrasbaseurlhttp://172.16.1.100/openstack/extrasenabled1gpgcheck0[PowerTools]namePowerToolsbaseurlhttp://172.16.1.100/openstack/PowerToolsenabled1gpgcheck0[rootCloud ~]#将这个yum源配置文件传输给其他主机例如172.16.1.101[rootCloud ~]# scp /etc/yum.repos.d/yum.repo root172.16.1.101:/etc/yurm.repo4.4、部署OpenStackpackstack自动化部署1安装部署工具packstack[rootController ~]# yum -y install openstack-packstack2生成安装过程中的应答文件[rootController ~]# packstack --gen-answer-file/root/answers.txtPackstack changed given value to required value /root/.ssh/id_rsa.pub #保存公钥的位置Additional information:* Parameter CONFIG_NEUTRON_L2_AGENT: You have chosen OVN Neutron backend. Note that this backend does not support the VPNaaS plugin. Geneve will be used as the encapsulation method for tenant networks[rootController ~]#解析表示采用了OVN的方式但是不支持VPNaaS插件Geneve将用作租户网络的封装方法3修改/root/answers.txt应答文件在这个文件中控制节点与计算节点ip都会默认设置为本机的Internat网卡ip因为我们必须将其改成仅主机模式网卡的ip因为在安装过程中Internat网卡将会变成桥接从属口这样会断开网络连接导致安装失败下面是需要修改的地方只显示修改后正确的需要修改的地方只显示修改后正确的 1先统一将ip改成仅主机网卡的IP [rootController ~]# sed -i s/192.168.1.171/172.16.1.100/g answers.txt #将answers.txt这个文件内的所有192.168.1.171修改成172.16.1.100 2修改计算节点IP前面的97代表行数 97 CONFIG_COMPUTE_HOSTS172.16.1.101,172.16.1.102 3设置openstack中admin用户的密码 323 CONFIG_KEYSTONE_ADMIN_PWHuaweicloud123 4设置某些服务是否需要安装y/n 60 CONFIG_HEAT_INSTALLy 1169 CONFIG_PROVISION_DEMOn 5修改某些参数 554 CONFIG_CINDER_VOLUMES_SIZE50G 783 CONFIG_NEUTRON_ML2_TYPE_DRIVERSgeneve,flat,vxlan,vlan 789 CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPESvxlan 796 CONFIG_NEUTRON_ML2_MECHANISM_DRIVERSopenvswitch 828 CONFIG_NEUTRON_L2_AGENTopenvswitch 846 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGSextnet:br-ex 857 CONFIG_NEUTRON_OVS_BRIDGE_IFACESbr-ex:ens192 #这里需要配置为访问Internat的网卡因为openstack安装时会创建一个虚拟网桥这个网桥需要绑定Internat网卡来承载流量因此在安装过程中会断网所以需要准备一个仅主机网卡保证连接 1140 CONFIG_SWIFT_STORAGE_SIZE20G 建议修改完之后打个快照这样就算安装失败也能回退并查看应答文件哪里修改错误了4如何查看日志在部署OpenStack之前我们先来学习以下如何理解日志中的信息以便于OpenStack部署失败时通过日志分析原因[rootController ~]# rpm -qc rsyslog #列出rsyslog软件包中所有已安装的配置文件选项c为指定配置文件/etc/logrotate.d/syslog/etc/rsyslog.conf #日志策略配置文件/etc/sysconfig/rsyslog[rootController ~]# vim /etc/rsyslog.conf*.info;mail.none;authpriv.none;cron.none /var/log/messages*.debug /var/log/debug #蓝色字体是自己自定义的日志收集*.err /var/log/error.log解析*代表匹配所有的服务.info代表大于或等于info级别的日志mail.none表示排除mail这个服务即none作用就是排除的意思/var/log/messages代表符合条件的日志存储到这个文件中日志等级表[rootController ~]# tail -f /var/log/messages #实时查看日志内容动态刷新默认十行有需要可以用选项n修改行数一般来说每个服务都有自定义的日志文件如果服务有自定义日志则看服务自定义日志如果没有则看全局 /etc/rsyslog.conf3开始根据应答文件自动化安装OpenStack[rootController ~]# packstack --answer-file/root/answers.txt图示即为安装成功

更多文章