赞
踩
企业对数据安全性要求高搭建私有云,华为私有云HCS:Huawei Cloud Stack ;
云本身不提供资源,云是资源整合者,大部分云都是基于OpenStack做二次开发的,OpenStack不提供资源,它是把底层的各种虚拟化和物理机聚合在一起,组成一个大的资源池对外提供服务。
OpenStack不能直接安装在裸机(物理机)上,要先装linux在linux装OpenStack,查看云平台是基于哪个版本的OpenStack做二次开发的,可用命令查看nova等组件版本,然后去OpenStack官网对比。
OpenStack是一种云操作系统,OpenStack是虚拟机、裸金属和容器的云基础架构;OpenStack可控制整个数据中心的大型计算、存储和网络资源池;所有资源都通过API或Web界面进行管理。
OpenStack既是一个社区,也是一个项目和一个开源软件,作为一个开源的云计算管理平台,OpenStack由几个主要的组件组合起来完成具体工作。OpenStack社区:https://www.openstack.org/
为什么称OpenStack是云操作系统?
云一般指云计算,聚焦于IT能力服务化,达到按需使用、按量计费;
操作系统的功能主要分为资源抽象(比如底层资源计算、存储、网络抽象为统一的接口提供给上层的应用,上层的应用基于此接口去调用)、资源分配与负载调度、应用生命周期管理、系统运维和人机交互,OpenStack具备以上能力,所以OpenStack可称为云操作系统。
OpenStack优先考虑如何将计算、存储、网络领域的各类资源抽象为资源池。在此基础上,对资源池内的各类逻辑对象实施控制操作,并将控制操作包装成面向用户的服务。
云计算与虚拟化的关键区别:
云计算的特点是IT能力的服务化,按需使用,按量计费,多租户隔离等。
虚拟化的特点是环境隔离,资源复用,降低隔离损耗,提升运行效率,提供高级虚拟化特性等。
生产环境中,一般会有专门的OpenStack部署服务节点、如控制节点、计算节点、网络节点和存储服务节点等。生产环境的控制节点建议三台以上,其他节点按需求部署。实验环境会嵌套虚拟机,生产环境不会嵌套虚拟机。
控制节点提供各种组件的api接口(nova-api、cinder-api、glance-api),所有组件api都在控制节点上,api是访问入口,请求处理都给控制节点api,提供具体服务的是计算节点,存储节点、网络节点等,HCS搭建要3个控制节点(内存配置高是因为部署很多服务,华为云集群软件是zookeeper(分布式集群软件),3个节点做集群用的是zookeeper,zookeeper集群必须是单数,为了防止脑裂,两个节点中间网络断了就脑裂了),2个网络节点,N个计算节点。
OpenStack把这些组件服务都集成到httpd服务中了,目的是为了提升性能。登入不了openstack在控制节点查看httpd服务状态,systemctl status httpd
OpenStack九大核心组件:
1、Horizon:提供Web图形化管理界面,dashboard 图形界面。
2、Ceilometer: 计量服务,监控各个主机资源使用情况,监控和计费。
3、Heat:编排服务,用来批量部署,自动化创建很多虚拟机。
4、Keystone:提供身份认证服务、endpoint端点(类似于电话簿,给谁打哪个电话),所有的服务都要在keystone组件上注册的,不注册无法访问。
5、Nova:提供计算资源,cpu,内存
6、Neutron:提供网络服务,SDN 软件定义网络,neutron可以提供二层网络功能,3层路由功能,DHCP功能等
7、Glance:提供镜像服务的,glance加载镜像但不存储镜像,glance后面一定会对接存储的,这里对接的是swift对象存储(但实验环境是存在本地文件系统的)。
8、Swift:对象存储服务,把文件以对象形式存在,给云上各种服务用的
9、Cinder:块存储服务,给虚拟机用,裸设备比如存储上的lun,裸设备是没有文件系统的不能直接写数据进去的。
cinder块存储,适合大量增删改数据库场景,适合实时更新动态数据场景。
swift对象存储,读取大量不改动的静态数据、文件共享,会有对接的后端存储,真正的存储落脚点还是在底层的磁盘。
安装配置操作系统,使用CentOS stream 8镜像
之前:RHEL 8.4 发布了,CentOS紧随其后,发布CentOS 8.4
之后:CentOS 走在前面,成为RHEL上游,再去发布RHEL
使用minimal最小化安装Stream-8,最小化安装用# ip a查看ip
制作Linux 虚拟机模板,后面克隆(完整克隆)出计算节点compute和控制节点controller,https://blog.51cto.com/cloudcs/5258769
Controller节点内存8G,Compute内存节点4G,两个节点都是4个CPU处理器,硬盘都100G
1、修改网卡信息 # cd /etc/sysconfig/network-scripts/ # cat ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens160
DEVICE=ens160
ONBOOT=yes
2、清除密钥信息 # cd /etc/ssh
# rm -rf ssh_host_*
3、清除 Machine ID # cat /etc/machine-id
000fca8b6e184c94adbae8a120ce776a
# cat /dev/null > /etc/machine-id
# cat /etc/machine-id
4、最后关闭虚拟机,# init 0 关机(开机上述文件又会自动生成)
关机状态下进行克隆虚拟机,通过模板完整克隆出两台完整复制的虚拟机。
开启两台虚拟机(controller和compute),分别修改主机名和配置静态IP
# hostnamectl set-hostname controller
# cd /etc/sysconfig/network-scripts/
# vi ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=10.1.1.50 10.1.1.60
NETMASK=255.255.255.0
GATEWAY=10.1.1.2
DNS1=10.1.1.2 要有DNS,DNS1、DNS2这种写法而不是直接DNS
重启控制节点和计算节点(controller和compute)再拍摄快照
Openstack环境搭建有很多种方法:
1.手工搭建,一个组件一个组件去安装,包括创建数据库/授权/service/endpoint等等。
2.通过packstack工具 生成一个应答文件,编写应答文件,packstack调用应答文件去安装openstack环境。
packstack工具/devstack/ansible等三方工具自动化部署安装openstack(首先要去安装os)
3.Tripple O(3个O openstack on openstack)首先会搭建出来一个精简版openstack,利用openstack 里面一个组件 heat,利用heat编排服务去运行一个完整的openstack(HCS),相当于os都不再需要安装了(整个私有云待部署的环境),直接从一台宿主机开始(插电就行,BMC管理口连接操作),把整个环境搭建出来,一切从0到1,一键部署。
华为提供了一个工具FusionCloud Deploy(FCD工具 6.5.1之前的名称),之后改名为 HuaweiCloudStack Deploy(HCSD工具),通过这个工具来实现一键式部署整个私有云环境。
安装华为提供的HUAWEI_CLOUD_Stack_Deploy_8.1.1.SPC102-X86_64.iso(EulerOS–>CentOS内核),系统里面对应的服务会自动启动,之后提供web界面进行登录,使用HCSD工具。
https://blog.51cto.com/cloudcs/6267456 搭建 openstack 最麻烦的是 yum 源问题
8版本用NetworkManager替代了network,仍想用ntwork需安装network服务,# yum install network-scripts -y
以下内容控制节点和计算节点都要操作(控制节点和计算节点8G内存4核CPU 100G磁盘) 关闭防火墙和selinux和NetworkManager # systemctl stop firewalld # systemctl disable firewalld # setenforce 0 # vi /etc/selinux/config 修改SELINUX=disabled # systemctl stop NetworkManager # systemctl disable NetworkManager 配置ip和主机名的映射, # vi /etc/hosts # cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.1.1.50 controller 10.1.1.60 compute 安装基础软件包(用自带的在线yum源) yum install -y vim net-tools bash-completion chrony.x86_64 centos-release-openstack-victoria.noarch 安装network服务,# yum install network-scripts -y 配置ntp时间同步 # vim /etc/chrony.conf pool ntp.aliyun.com iburst # systemctl start chronyd # systemctl enable chronyd 配置yum源(先把原有的备份后清空) # cd /etc/yum.repos.d/ # rm -rf * # cat cloud.repo [highavailability] name=CentOS Stream 8 - HighAvailability baseurl=https://mirrors.aliyun.com/centos/8-stream/HighAvailability/x86_64/os/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial gpgcheck=1 repo_gpgcheck=0 metadata_expire=6h countme=1 enabled=1 [nfv] name=CentOS Stream 8 - NFV baseurl=https://mirrors.aliyun.com/centos/8-stream/NFV/x86_64/os/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial gpgcheck=1 repo_gpgcheck=0 metadata_expire=6h countme=1 enabled=1 [rt] name=CentOS Stream 8 - RT baseurl=https://mirrors.aliyun.com/centos/8-stream/RT/x86_64/os/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial gpgcheck=1 repo_gpgcheck=0 metadata_expire=6h countme=1 enabled=1 [resilientstorage] name=CentOS Stream 8 - ResilientStorage baseurl=https://mirrors.aliyun.com/centos/8-stream/ResilientStorage/x86_64/os/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial gpgcheck=1 repo_gpgcheck=0 metadata_expire=6h countme=1 enabled=1 [extras-common] name=CentOS Stream 8 - Extras packages baseurl=https://mirrors.aliyun.com/centos/8-stream/extras/x86_64/extras-common/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512 gpgcheck=1 repo_gpgcheck=0 metadata_expire=6h countme=1 enabled=1 [extras] name=CentOS Stream - Extras mirrorlist=http://mirrorlist.centos.org/?release=&arch=&repo=extras&infra= #baseurl=http://mirror.centos.org///extras//os/ baseurl=https://mirrors.aliyun.com/centos/8-stream/extras/x86_64/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial [centos-ceph-pacific] name=CentOS - Ceph Pacific baseurl=https://mirrors.aliyun.com/centos/8-stream/storage/x86_64/ceph-pacific/ gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage [centos-rabbitmq-38] name=CentOS-8 - RabbitMQ 38 baseurl=https://mirrors.aliyun.com/centos/8-stream/messaging/x86_64/rabbitmq-38/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Messaging [centos-nfv-openvswitch] name=CentOS Stream 8 - NFV OpenvSwitch baseurl=https://mirrors.aliyun.com/centos/8-stream/nfv/x86_64/openvswitch-2/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV module_hotfixes=1 [baseos] name=CentOS Stream 8 - BaseOS baseurl=https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial gpgcheck=1 repo_gpgcheck=0 metadata_expire=6h countme=1 enabled=1 [appstream] name=CentOS Stream 8 - AppStream baseurl=https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial gpgcheck=1 repo_gpgcheck=0 metadata_expire=6h countme=1 enabled=1 [centos-openstack-victoria] name=CentOS 8 - OpenStack victoria baseurl=https://mirrors.aliyun.com/centos/8-stream/cloud/x86_64/openstack-victoria/ #baseurl=https://repo.huaweicloud.com/centos/8-stream/cloud/x86_64/openstack-yoga/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud module_hotfixes=1 [powertools] name=CentOS Stream 8 - PowerTools #mirrorlist=http://mirrorlist.centos.org/?release=&arch=&repo=PowerTools&infra= baseurl=https://mirrors.aliyun.com/centos/8-stream/PowerTools/x86_64/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial # yum clean all 清理缓存 # yum makecache 重新建立缓存 # yum repolist all 列出yum仓库(13个)
只在控制节点上安装并配置packstack
安装packstack工具,# yum install -y openstack-packstack
[root@controller ~]# packstack --help |grep ans 找到生成应答文件的参数,–gen-answer-file
[root@controller ~]# packstack --gen-answer-file=yingda.txt 生成应答文件
编辑应答文件,# vim yingda.txt
修改以下参数内容
CONFIG_COMPUTE_HOSTS=10.1.1.50,10.1.1.60
CONFIG_KEYSTONE_ADMIN_PW=redhat
CONFIG_PROVISION_DEMO=n
CONFIG_HEAT_INSTALL=y
CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:ens160
需要注意的是 br-ex 后面对应的网卡名称,有的网卡是ens33,我这里是ens160
根据应答文件安装openstack,# packstack --answer-file=yingda.txt
8版本用NetworkManager替代了network,仍想用ntwork需安装network服务,# yum install network-scripts -y 前面把NetworkManager禁用了后面启用network服务。因关闭 NetworkManager 服务,会导致节点重启后网络无法自动启用,也会导致 openstack 组件异常,所以启用 network 来替代 NetworkManager 服务。
控制节点和计算节点都开启network服务,# systemctl start network # systemctl enable network
控制节点和计算节点都开启网络服务后分别拍摄快照
用户admin,密码忘记了去应答文件中找。
nova-api、glance-api、cinder-api等组件都部署在controller节点,所有访问服务的入口都在controller节点。
环境启动后,能不能通过界面登录,是要看一个服务的,httpd(apache服务),因为dashboard服务集成在了httpd里面。所以要查看httpd。由于有些环境虚拟机配置有点低,所以第一次启动的时候,尤其是控制节点,可能某些组件无法起来,比如rabbitmq组件,一定关注这个组件。
所有流程和在线yum源是一样的,唯独配置yum源不一样。
在计算节点上开启httpd服务[root@compute ~]# yum install -y httpd # systemctl start httpd # systemctl enable httpd
[root@compute ~]# mkdir /iso 后将镜像放置该目录下[root@compute ~]# ls /iso
CentOS-Stream-8-OPS-Victoria.iso CentOS-Stream-8-x86_64-20221222-dvd1.iso
[root@compute ~]# cd /var/www/html/ [root@compute html]# mkdir os vic
[root@compute html]# vim /etc/fstab 镜像文件系统类型为iso9660
/iso/CentOS-Stream-8-x86_64-20221222-dvd1.iso /var/www/html/os iso9660 defaults 0 0
/iso/CentOS-Stream-8-OPS-Victoria.iso /var/www/html/vic iso9660 defaults 0 0
[root@compute html]# mount -a 刷新
[root@compute html]# df -Th
控制节点和计算节点都要配置本地yum源
cat <<EOF > /etc/yum.repos.d/cloudcs.repo [highavailability] name=CentOS Stream 8 - HighAvailability baseurl=http://192.168.100.152/vic/highavailability/ gpgcheck=0 [nfv] name=CentOS Stream 8 - NFV baseurl=http://192.168.100.152/vic/nfv/ gpgcheck=0 [rt] name=CentOS Stream 8 - RT baseurl=http://192.168.100.152/vic/rt/ gpgcheck=0 [resilientstorage] name=CentOS Stream 8 - ResilientStorage baseurl=http://192.168.100.152/vic/resilientstorage/ gpgcheck=0 [extras-common] name=CentOS Stream 8 - Extras packages baseurl=http://192.168.100.152/vic/extras-common/ gpgcheck=0 [extras] name=CentOS Stream $releasever - Extras baseurl=http://192.168.100.152/vic/extras/ gpgcheck=0 [centos-ceph-pacific] name=CentOS - Ceph Pacific baseurl=http://192.168.100.152/vic/centos-ceph-pacific/ gpgcheck=0 [centos-rabbitmq-38] name=CentOS-8 - RabbitMQ 38 baseurl=http://192.168.100.152/vic/centos-rabbitmq-38/ gpgcheck=0 [centos-nfv-openvswitch] name=CentOS Stream 8 - NFV OpenvSwitch baseurl=http://192.168.100.152/vic/centos-nfv-openvswitch/ gpgcheck=0 [baseos] name=CentOS Stream 8 - BaseOS baseurl=http://192.168.100.152/os/BaseOS/ gpgcheck=0 [appstream] name=CentOS Stream 8 - AppStream baseurl=http://192.168.100.152/os/AppStream/ gpgcheck=0 [centos-openstack-victoria] name=CentOS 8 - OpenStack victoria baseurl=http://192.168.100.152/vic/centos-openstack-victoria/ gpgcheck=0 [powertools] name=CentOS Stream 8 - PowerTools baseurl=http://192.168.100.152/vic/powertools/ gpgcheck=0 EOF
从网上下载新的Stream-8的isoj镜像如CentOS-Stream-8-x86_64-latest-dvd1.iso更新了一些新特性,导致本地yum源安装openstack-packstack失败,本地yum源加module_hotfixes=1参数也不行,得用CentOS-Stream-8-OPS-Victoria.iso和CentOS-Stream-8-x86_64-20221222-dvd1.iso配套使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。