OpenStack-iaas之“先点”云平台安装
1.认识OpenStack
1.云计算的起源
早在2006年3月,亚马逊公司首先提出弹性计算云服务。2006年8月9日,谷歌公司首席执行官埃里克·施密特(Eric Schmidt)在谷歌搜索引擎大会(SES San Jose 2006)上首次提出“云计算”(Cloud Computing)的概念
2.云计算的基本概念
(1)云计算的定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储和应用软件等),这些资源能够被快速提供,只需投入很少的管理工作或与服务供应商进行很少的交互。
(2)云计算的五大特征:
① 按需自助服务:消费者可以单方面部署资源。例如服务器、网络存储,资源是按需自动部署的,不需要与服务供应商进行人工交互。
② 通过互联网获取:资源可以通过互联网获取,并可以通过标准方式访问。例如,通过瘦客户端或富客户端(移动电话、笔记本电脑和工作站等)。
③ 资源池化:供应商的资源被池化,以便以多用户租用模式被不同客户使用。例如,不同的物理和虚拟资源可根据客户需求动态分配和重新分配,通常与地域无关,这些资源包括存储、处理器、内存和网络带宽。
④ 快速伸缩:资源可以弹性地部署和释放,有时是自动化的,以便能够迅速地按需扩大和缩小规模。
⑤ 可计量:云计算系统通过使用一些与服务种类(存储、计算、带宽、激活的用户账号)对应的抽象信息提供计量能力(通常在此基础上实现按使用付费)。
(3)云计算的服务模型SPI
云计算的服务模型SPI由3大服务组成
IaaS (基础设施即服务)
Saas (平台即服务)
SaaS (软件即服务)
下面为详细的内容:
① IaaS:消费者使用"基础计算资源”。资源服务包括处理能力、存储空间、网络组件或中间件服务。消费者能掌控操作系统、存储空间、已部署的应用程序及网络组件(如防火墙、负载均衡器等),但并不掌控云基础架构。如Amazon AWS、Rackspace等。
② PaaS:消费者使用主机操作应用程序。消费者掌控运作应用程序的环境(也拥有主机部分掌控权),但并不掌控操作系统、硬件或网络基础架构。平台通常是应用程序基础架构。如Google App Engine。
③ SaaS:消费者使用应用程序,但并不掌控操作系统、硬件或网络基础架构。它是一种服务观念的基础,软件服务供应商以租赁的概念提供客户服务,而非购买,比较常见的模式是提供一组账号密码。
(4)云计算四大部署类型
① 私有云:云计算基础设施由一个单一的组织部署和独占使用,可由该组织、第三方或两者的组合来拥有和管理。
② 社区云:云计算基础设施由一些具有共有关注点的组织形成的社区中的用户部署和使用,可由一个或多个社区中的组织、第三方或两者的组合来拥有和管理、运营。
③ 公有云:云计算基础设施被部署给广泛的公众开放地使用。它可能被一个商业组织、研究机构、政府机构或者几者的混合所拥有、管理和运营,被一个销售云计算服务的组织所拥有,该组织将云计算服务销售于一般人或广泛的工业群体。
④ 混合云:云计算基础设施是由两种或两种以上的云(私有、社区或公共)组成,每种云仍然保持独立,但用标准的或专有的技术将它们组合起来,具有数据和应用程序的可移植性。
(5)云计算平台分类
存储型云平台 | 以数据存储为主 |
---|---|
计算型云平台 | 以数据处理为主 |
综合云计算平台 | 计算和数据存储处理兼顾的 |
2.基础环境和系统准备
1.节点主机名及IP地址规划
主机/节点 | 主机名 | IP规划 | |
实例通信 | 内部管理 | ||
控制节点 | controller |
192.168.200.40 ens32:仅主机模式 |
192.168.220.40 ens34:NAT模式 |
实例节点 | compute | 192.168.200.41
ens32:仅主机模式 |
192.168.220.41 ens34:NAT模式 |
2.各节点安装系统要求
首先创建两台虚拟机
主机要求:主机为双网卡服务器或者PC机,内存为4GB以上,处理器2核以上。
环境要求:操作系统为 CentOS-7-x86_64-DVD-1810.iso和XianDian-IaaS-v2.2.iso
3.配置主机名
配置(控制节点)主机名为controller
配置(实例节点) 主机名为compute
在控制节点使用hostnamectl命令修改主机名
# hostnamectl set-hostname controller
在实例节点使用hostnamectl命令修改主机名
# hostnamectl set-hostname controller
4.配置域名解析(控制节点和实例节点)
在全部节点的/etc/hosts文件中添加域名解析。
在控制节点/实例节点修改配置文件/etc/hosts
vi /etc /hosts
末尾追加以下内容
192.168.200.40 controller
192.168.200.41 compute
5.配置环境(控制节点和实例节点)
关闭防火墙
# systemctl stop firewalld //关闭Firewalld防火墙服务
# systemctl disable firewalld //关闭Firewalld防火墙开机自启动 清除所有 chains 链(INPUT/OUTPUT/FORWARD)中所有的rule规则。 # iptables -F
清空所有chains链(INPUT/OUTPUT/FORWARD)中包及字节计数器。 # iptables -X
清除用户自定义chains链(INPUT/OUTPUT/FORWARD)中的rule规则。 # iptables -Z
执行清除命令没有返回结果,通过/usr/sbin/iptables-save保存。 # /usr/sbin/iptables-save
关闭selinux
# vi /etc/selinux 改:SELINUX=enforcing
为:SELINUX=disabled
修改完配置文件,需要重启后生效,可以使用setenforce 0命令临时生效
.关闭selinux的原因:表示系统会收到警告信息,但是不会受到限制,作为selinux的debug模式用处
6.配置yum源(控制节点和实例节点)
(1)在当前节点挂载镜像制作源路径,实验所用到的镜像在/opt目录下,挂载CentOS-7-x86_64-DVD-1511.iso:
# mount -o loop /opt/CentOS-7-x86_64-DVD-1810.iso /mnt/
# mkdir /opt/centos
# cp -rf /mnt/* /opt/centos/
# umount /mnt/
挂载XianDian-IaaS-v2.2.iso:
# mount -o loop /opt/XianDian-IaaS-v2.2.iso /mnt/
# cp -rf /mnt/* /opt/
# umount /mnt/
(2)配置yum路径
将网络yum源路径移除yum目录。
# mv /etc/yum.repos.d/* /media
(3)在当前节点创建repo文件
在/etc/yum.repos.d创建centos.repo源文件。
controller 控制节点
# vi /etc/yum.repos.d/local.repo
[centos]
name=centos baseurl=file:///opt/centos
gpgcheck=0 enabled=1 [iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1 # yum install vsftpd -y //安装vsftpd服务器为compute节点提供 源文件
# vim /etc/vsftpd/vsftpd.conf
尾部添加一行:
anon_root = opt //指定共享根目录
# systemctl enable vsftpd --now //设置自启并且启动服务
comoute 实例节点
# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=ftp://192.168.200.40/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.200.40/mnt/iaas-repo
gpgcheck=0
enabled=1
(4)清理yum缓存并生成缓存(控制节点和实例节点)
# yum clean all && yum makecache
(5)配置ip地址
controller:控制节点
# vi /etc/sysconfig/network-scripts/ifcfg- ens32
TYPE=Ethernet
BOOTPROTO=static
NM_CONTROLLED=yes
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.220.40
PREFIX=24 # vi /etc/sysconfig/network-scripts/ifcfg- ens34
TYPE=Ethernet
BOOTPROTO=static
NM_CONTROLLED=yes
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.200.40
PREFIX=24
compute:实例节点
# vi /etc/sysconfig/network-scripts/ifcfg- ens32
TYPE=Ethernet
BOOTPROTO=static
NM_CONTROLLED=yes
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.220.41
PREFIX=24
GATEWAY=192.168.220.1 # vi /etc/sysconfig/network-scripts/ifcfg- ens34
TYPE=Ethernet
BOOTPROTO=static
NM_CONTROLLED=yes
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.200.41
PREFIX=24
重启网络:
# systemctl restart network
(6)安装iaas-xiandian安装包 # 控制和实例节点
# yum install iaas-xiandian -y
进行分区
# fdisk /dev/sdb (总共:30G,分两个15G的硬盘) Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them.
Be careful before using the write command. Command (m for help): p Disk /dev/sdb: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x446cacb0 Device Boot Start End Blocks Id System Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-62914559, default 2048):
##这里使用默认值##
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559): +15G
Partition 1 of type Linux and of size 15 GiB is set Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (2-4, default 2):
First sector (31459328-62914559, default 31459328):
##使用默认值
Using default value 31459328
Last sector, +sectors or +size{K,M,G} (31459328-62914559, default 62914559): //直接回车
Using default value 62914559
Partition 2 of type Linux and of size 15 GiB is set Command (m for help): p Disk /dev/sdb: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x446cacb0 Device Boot Start End Blocks Id System
/dev/sdb1 2048 31459327 15728640 83 Linux
/dev/sdb2 31459328 62914559 15727616 83 Linux Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table.
Syncing disks. # fdisk /dev/vda -l
Disk /dev/sdb: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x446cacb0 Device Boot Start End Blocks Id System
/dev/sdb1 2048 31459327 15728640 83 Linux
/dev/sdb2 31459328 62914559 15727616 83 Linux
# fdisk /dev/sdb //分出两个大小为15G的分区
# mkfs.xfs /dev/sdb1 //进行格式化
# mkfs.xfs /dev/sdb2 //进行格式化
(7)配置环境变量 实例节点(控制节点和实例节点 配置一致)
辑文件/etc/xiandian/openrc.sh
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.200.40 #仅主机模式的ip地址 #Controller Server hostname. example:controller
HOST_NAME=controller #控制节点的主机名 #Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.200.41 #仅主机模式的ip地址 #Compute Node hostname. example:compute
HOST_NAME_NODE=compute #实例节点的主机名 #--------------------Rabbit Config ------------------##
#user for rabbit. example:openstack
RABBIT_USER=openstack #Password for rabbit user .example:000000
RABBIT_PASS=000000 #--------------------MySQL Config---------------------##
#Password for MySQL root user . exmaple:000000
DB_PASS=000000 #--------------------Keystone Config------------------##
#Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000 #Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000 #--------------------Glance Config--------------------##
#Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000 #Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000 #--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000 #Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000 #--------------------Neturon Config-------------------##
#Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000 #Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000 #metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000 #External Network Interface. example:eth1
INTERFACE_NAME=ens32 #NAT模式的网卡名称 #First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
#minvlan= 初始化一般都不配置 #Last Vlan ID in VLAN RANGE for VLAN Network. example:200
#maxvlan= 初始化一般都不配置 #--------------------Cinder Config--------------------##
#Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000 #Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000 #Cinder Block Disk. example:md126p3
BLOCK_DISK=sdb1 #创建好的分区 #--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000 #The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdb2 #The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.200.41 #实例主机的ip地址 #--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000 #Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000 #--------------------Ceilometer Config----------------##
#Password for Mysql ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000 #Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000 #--------------------AODH Config----------------##
#Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000 #Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000
(8)#控制节点和实例节点
执行脚本iaas-pre-host.sh进行安装
初始化配置脚本,一定要执行,如果下面的执行脚本报错,从这一步重新开始
# iaas-pre-host.sh
(9)重启设备服务器
#reboot
3.部署脚本安装平台
1.脚本部署:
①在控制节点执行脚本 iaas-install-mysql.sh 迕行数据库及消息列表服务安装。
# iaas-install-mysql.sh
②在控制节点执行脚本 iaas-install-keystone.sh 迕行 keystone 讣证服务安装。
# iaas-install-keystone.sh
③在控制节点执行脚本 iaas-install-glance.sh 迕行 glance 镜像服务安装。
# iaas-install-glance.sh
④nova 计算服务安装。
在控制节点执行脚本 iaas-install-nova-controller.sh
# iaas-install-nova-controller.sh
在实例节点执行脚本 iaas-install-nova-compute.sh
# iaas-install-nova-compute.sh
⑤ neutron 网络服务安装。
在控制节点执行脚本 iaas-install-neutron-controller.sh ( 报错解决 问题:https://www.cnblogs.com/yuwen01/p/16477346.html)
# iaas-install-neutron-controller.sh
在实例节点执行脚本 iaas-install-neutron -compute.sh
# iaas-install-neutron-compute.sh
⑥gre 网络安装配置。
在控制节点执行脚本 iaas-install-neutron-controller-gre.sh
# iaas-install-neutron-controller-gre.sh
在实例节点执行脚本 iaas-install-neutron-compute-gre.sh
# iaas-install-neutron-compute-gre.sh
⑦在控制节点执行脚本 iaas-install-dashboard.sh dashboard 服务安装。
# iaas-install-dashboard.sh
⑧cinder 块存储服务安装。
在控制节点执行脚本 iaas-install-cinder-controller.sh
# iaas-install-cinder-controller.sh
在实例节点执行脚本 iaas-install-cinder-compute.sh 迕行
# iaas-install-cinder-compute.sh
⑨swift 对象存储服务安装。
在控制节点执行脚本 iaas-install-swift-controller.sh
# iaas-install-swift-controller.sh
在实例节点执行脚本 iaas-install-swift-compute.sh
#aas-install-swift-compute.sh
⑩在控制节点执行脚本 iaas-install-heat.sh 迕行 heat 编配服务安装。
# iaas-install-heat.sh
⑪ceilometer 监控服务安
在控制节点执行脚本 iaas-install-ceilometer-controller.sh
# iaas-install-ceilometer-controller.sh
在实例节点执行脚本 iaas-install-ceilometer-compute.sh
# iaas-install-ceilometer-compute.sh
⑫在控制节点执行脚本 iaas-install-alarm.sh 迕行 alarm 告警服务安装。
# iaas-install-alarm.sh
2.验证安装基础工作完成
上述操作完成后,打开网页 http://192.168.200.40/dashboard 迕行验证服务,若看到图ashboard 登彔界面,以及管理员账号和密码登彔后,看到图 2-8 dashboard 管理界面,表示 安装基础工作正确完成。
dashboard 登彔界面
dashboard 管理界面
OpenStack-iaas之“先点”云平台安装的更多相关文章
- OpenStack(三)——allinone云平台的使用方法
接着OpenStack(二)——使用Kolla部署OpenStack-allinone云平台继续操作. 特别感谢https://www.cnblogs.com/openstackteam/p/5519 ...
- Kolla部署Pike版本的OpenStack-allinone云平台
1 openstack 概述 openstack概述 : OpenStack是一个NASA美国国家航空航天局和Rackspace合作研发 的,以Apache许可证授权,并且是一个自由软件和开放源代码项 ...
- 【原创】基于Docker的CaaS容器云平台架构设计及市场分析
基于Docker的CaaS容器云平台架构设计及市场分析 ---转载请注明出处,多谢!--- 1 项目背景---概述: “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交 ...
- 搭建OpenStack先电云平台
实际操作示意图 在VMware里面创建两台centos7的虚拟机作为搭建云平台的两节点配置如下: 1.第一台虚拟机 作为控制节点 2CPU 3G以上内存 硬盘50G 网络适配器一个nat 一个仅主 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建
公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像
在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos6.5镜像,放到/usr/local/src目录下然后用OZ工具制作openstack ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip
之前在测试环境(centos7.2)上部署了openstack云平台(完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建),openstack在neutron组网 ...
- 搭建Openstack云平台
实验室需要做一个大数据平台项目,临时接下需要部署实验室云平台的任务,由于之前没有接触过相关技术,仅以此篇作为纪录文,记录一下我的openstack的初步学习以及搭建过程. 1.openstcak及其组 ...
- 搭建自己的XenServer+CloudStack云平台,提供IaaS服务(一)环境搭建
目标 搭建一个完整的基于XenServer和CloudStack的虚拟化平台,提供IaaS服务. 搭建三台安装了XenServer的服务器 搭建一台安装了CloudStack的服务器用以管理云平台 搭 ...
随机推荐
- 「ABC 249Ex」Dye Color
考虑停时定理. 初始势能为 \(\sum \Phi(cnt_i)\),末势能为 \(\Phi(n)\),我们希望构造这样一个 \(\Phi:Z\to Z\) 函数,使得每一次操作期望势能变化量为常数. ...
- SSH 的使用和配置
命令 ssh user@hostname -p port Windows 下首次执行这个命令会由于 Windows 默认没有运行 ssh-agent 导致无法连接,可以通过在 powershell 下 ...
- Java_Scanner的使用
目录 Scanner对象 scanner.next()和scanner.nextln()的区别 scanner.hasNext()和scanner.hasNextln() Scanner拓展 视频课程 ...
- Spring-Cloud-Alibaba系列教程(一)Nacos初识
前言 在2020年即将开启SpringCloudAlibaba的专题,希望2020年共同学习进步. 学习资料 文档 Naco文档 程序猿DD Spring Cloud Aliabab专题 专题博客 视 ...
- 优先队列STL
引入 优先队列是一种特殊的队列,它的功能是--自动排序. 基本操作: q.size(); //返回q里元素个数 q.empty(); //返回q是否为空,空则返回1,否则返回0 q.push(k); ...
- Redis的内存淘汰策略(八)
一:Redis的AOF是什么? 以日志的形式来记录每个写操作(读操作不记录),将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构 ...
- 全新升级的AOP框架Dora.Interception[3]: 基于特性标注的拦截器注册方式
在Dora.Interception(github地址,觉得不错不妨给一颗星)中按照约定方式定义的拦截器可以采用多种方式注册到目标方法上.本篇文章介绍最常用的基于"特性标注"的拦截 ...
- 知道vue组件同级传值吗?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Obsidian基础教程
Obsidian基础教程 相关链接 2021年新教程 - Obsidian中文教程 - Obsidian Publish 软通达 基础设置篇 1. 开启实时预览 开启实时预览模式,所见即所得 打开设置 ...
- LVGL库入门教程 - 动画
动画可以说是 LVGL 中的特色之一,不过在使用动画前,请确保单片机具有足够的性能来维持足够的帧率. transition:过渡动画 当一个控件的状态发生改变时,可以让样式也发生变化以提醒用户.通过过 ...