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/

OpenStack-iaas之“先点”云平台安装

(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.部署脚本安装平台

OpenStack-iaas之“先点”云平台安装

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 管理界面,表示 安装基础工作正确完成。

OpenStack-iaas之“先点”云平台安装

dashboard 登彔界面

OpenStack-iaas之“先点”云平台安装

dashboard 管理界面

Original: https://www.cnblogs.com/yuwen01/p/16479672.html
Author: xiao智
Title: OpenStack-iaas之“先点”云平台安装

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612052/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java并发编程之CAS

    在Java并发编程的世界里,synchronized 和 Lock 是控制多线程并发环境下对共享资源同步访问的两大手段。其中 Lock 是 JDK 层面的锁机制,是轻量级锁,底层使…

    数据库 2023年6月11日
    066
  • 我设计数据库常用的几个原则

    以MySQL5.7为例,在一个项目中的数据库schema中建表 〇、建库 统一字符集和排序规则 规则 库的默认字符集选择utf8mb4,表、字段默认上级 库的排序规则选择utf8m…

    数据库 2023年6月9日
    084
  • 【已解决】关于echarts的splitArea分割区域背景闪烁问题

    (x轴)使用时间类型(type: “time”),并且x轴使用splitArea划分后使用color属性设定分割区域颜色。同时使用dataZoom设置区域缩…

    数据库 2023年6月6日
    075
  • 数据库的常用命令

    1. 数据操作类语句: SELECT:从数据库表&#x4E2D…

    数据库 2023年6月14日
    088
  • 0812Java核心技术卷(1)随笔

    自增运算符与自减运算符 这些运算符改变了变量的值,所以它的操作数不能是数值。例如4++就是一条非法语句不建议在其他表达式内部使用++,因为这样会降低代码可读性,产生bug Orig…

    数据库 2023年6月14日
    089
  • zabbix模板,角色,用户,权限管理

    用户管理 用户组 用户角色 用户 模板管理 模板组 模板 posted @2022-09-07 22:22 溜溜威 阅读(16 ) 评论() 编辑 Original: https:…

    数据库 2023年6月14日
    092
  • 红黑树添加删除

    上一篇写了234树对比红黑树,和红黑树某些情况需要调整的原因,这篇就只写红黑树的添加和删除 红黑树 JAVA技术交流群:737698533 性质 每个节点要么红色要么黑色 根节点是…

    数据库 2023年6月16日
    048
  • Java 使用Stream处理List对象去重

    // 根据name去重 List unique = persons.stream().collect( Collectors.collectingAndThen( Collecto…

    数据库 2023年6月16日
    064
  • 如何基于LSM-tree架构实现一写多读

    PolarDB是阿里巴巴自研的新一代云原生关系型数据库,在存储计算分离架构下,利用了软硬件结合的优势,为用户提供具备极致弹性、海量存储、高性能、低成本的数据库服务。X-Engine…

    数据库 2023年5月24日
    071
  • go context详解

    Context通常被称为上下文,在go中,理解为goroutine的运行状态、现场,存在上下层goroutine context的传递,上层goroutine会把context传递…

    数据库 2023年6月9日
    093
  • 1001-MySQL学习-第一节自习课

    MySQL学习(第一节自习课) 一. 软件下载、安装 下载地址:https://dev.mysql.com/downloads/installer/ 位置:mysql->in…

    数据库 2023年5月24日
    085
  • mysql总结-思维导图

    posted on2022-05-08 21:45 搁浅的小鲸鱼 阅读(23 ) 评论() 编辑 Original: https://www.cnblogs.com/komoreb…

    数据库 2023年6月11日
    060
  • JSP基础知识总结

    JSP概述 什么是 jsp Servlet 程序输出 html 页面 如何创建一个 jsp 动态页面程序 如何修改 jsp 文件的默认编码 jsp 的运行原理 jsp 的语法 js…

    数据库 2023年6月11日
    092
  • MySQL的B+树索引和hash索引的区别

    简述一下索引: 索引是数据库表中一列或多列的值进行排序的一种数据结构;索引分为聚集索引和非聚集索引,聚集索引查询类似书的目录,快速定位查找的数据,非聚集索引查询一般需要再次回表查询…

    数据库 2023年5月24日
    074
  • 数据库多表查询 联合查询 增删改查

    插入 方式一 语法: insert into 表名 (字段名,…) values (值,…); 特点: 1、要求值的类型和字段的类型要一致或兼容 2、字段的个数和顺序不一定…

    数据库 2023年6月16日
    0135
  • 【SQL实战】期末考试,如何统计学生成绩

    年关将至,这两天所有小学都进入了期末考试阶段。在考试结束时,有必要清点学生的分数。有趣的是,学校提供的成绩单现在并不直接标明分数,而是一个等级,如优秀、良好、合格、不及格。至少北京…

    数据库 2023年5月24日
    0153
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球