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之“先点”云平台安装的更多相关文章

  1. OpenStack(三)——allinone云平台的使用方法

    接着OpenStack(二)——使用Kolla部署OpenStack-allinone云平台继续操作. 特别感谢https://www.cnblogs.com/openstackteam/p/5519 ...

  2. Kolla部署Pike版本的OpenStack-allinone云平台

    1 openstack 概述 openstack概述 : OpenStack是一个NASA美国国家航空航天局和Rackspace合作研发 的,以Apache许可证授权,并且是一个自由软件和开放源代码项 ...

  3. 【原创】基于Docker的CaaS容器云平台架构设计及市场分析

    基于Docker的CaaS容器云平台架构设计及市场分析 ---转载请注明出处,多谢!--- 1 项目背景---概述: “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交 ...

  4. 搭建OpenStack先电云平台

    实际操作示意图 在VMware里面创建两台centos7的虚拟机作为搭建云平台的两节点配置如下: 1.第一台虚拟机   作为控制节点 2CPU 3G以上内存 硬盘50G 网络适配器一个nat 一个仅主 ...

  5. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建

    公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...

  6. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像

    在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos6.5镜像,放到/usr/local/src目录下然后用OZ工具制作openstack ...

  7. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip

    之前在测试环境(centos7.2)上部署了openstack云平台(完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建),openstack在neutron组网 ...

  8. 搭建Openstack云平台

    实验室需要做一个大数据平台项目,临时接下需要部署实验室云平台的任务,由于之前没有接触过相关技术,仅以此篇作为纪录文,记录一下我的openstack的初步学习以及搭建过程. 1.openstcak及其组 ...

  9. 搭建自己的XenServer+CloudStack云平台,提供IaaS服务(一)环境搭建

    目标 搭建一个完整的基于XenServer和CloudStack的虚拟化平台,提供IaaS服务. 搭建三台安装了XenServer的服务器 搭建一台安装了CloudStack的服务器用以管理云平台 搭 ...

随机推荐

  1. Java包机制和JavaDoc

    目录 包机制 JavaDoc 视频课程 包机制 包的本质就是文件夹 为了更好的组织类, Java提供了包机制, 用于区别类名的命名空间, 使项目看起来更加整洁 一般公司庸域名倒置作为包名 为了能够使用 ...

  2. 「洛谷 P3834」「模板」可持久化线段树 题解报告

    题目描述 给定n个整数构成的序列,将对于指定的闭区间查询其区间内的第k小值. 输入输出格式 输入格式 第一行包含两个正整数n,m,分别表示序列的长度和查询的个数. 第二行包含n个整数,表示这个序列各项 ...

  3. 花两万培训Java的三个同学,最后都怎么样了

    仙路尽头谁为峰,学完Java学Python. 前言 对于IT行业的培训,例如Java.大数据.H5等等,我一直保持着肯定的态度. 因为当年大学时期的我,也差点去参加Java培训.一是因为那时钱包空空, ...

  4. 【clickhouse专栏】新建库角色用户初始化

    一.创建新的database clickhouse创建数据库的语法几乎和其他的关系型数据库是一样的,区别就是clickhouse存在集群cluster和库引擎engine的概念,可以根据需要进行指定. ...

  5. Nginx安装及支持https代理配置和禁用TSLv1.0、TSLv1.1配置

    Linux安装Nginx Nginx安装及支持https代理配置和禁用TSLv1.0.TSLv1.1配置. 下载安装包 [root@localhost ~]# wget http://nginx.or ...

  6. WIN32 API 获取文件版本信息

    CString strVersion; CString strPath(_T("xxxxxxxx.exe")); // 读文件信息 DWORD dwVerHnd = 0; DWOR ...

  7. 【Openxml】颜色变化属性计算

    Openxml的颜色变化属性 目前Openxml存在颜色变化属性如下: 参数 说明 Hue 色调(色相) HueModulate 色调调制,百分比 HueOffset 色调偏移量,角度值 Satura ...

  8. 【Redis】简单动态字符串SDS

    C语言字符串 char *str = "redis"; // 可以不显式的添加\0,由编译器添加 char *str = "redis\0"; // 也可以添加 ...

  9. Ubuntu-apt-get出错

    ubuntu apt-get的时候出现: E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission ...

  10. sap 调用Http 服务

    REPORT ZMJ_GETAPI. DATA: LEN TYPE I, "发送报文长度 LEN_STRING TYPE STRING, URL TYPE STRING, "接口地 ...