笔记说明:目前考试是基于RHELOSP13(32G)来进行环境部署,引入了容器,而学习是基于RHELOSP6来安装部署的,基于Openstack。


讨论:openstack、虚拟化和云计算的关系以及区别是什么?

答:Openstack自身是不提供虚拟化技术的,调用多种技术实现多资源池的管理,对外提供统一的接口,只是系统的控制面;而虚拟化是openstack底层的技术实现手段之一,并非核心关注点,它主要是环境隔离、资源复用、降低隔离损耗,提升运行效率,提供高级虚拟化特性,虚拟化是云计算的基础;openstack只是构成云计算的关键组件,如内核、骨干、框架、总线,所以openstack不是云计算也不是虚拟化。云计算是一种服务,其本质就是为用户提供优质的服务,利用虚拟化技术、分布式技术、软件定义等技术为用户提供便捷、简单、准确、可用、按需所取的服务。

一、部署方案和规划

1、由于我自己的电脑是24G内存,所有采用以下部署方案:

节点名称 内存分配 cpu分配 磁盘分配 网卡分配 备注 IP地址
controller节点 8G 4cpus 100G 2块网卡 复用为compute节点 net1:192.168.122.132 /24
compute节点   4G 4cpus 100G 2块网卡 compute计算节点 net1:192.168.122.134 /24
ntp节点(master) 1G 1cpus 20G 2块网卡 ntp必须单独部署,不可以与控制节点和计算节点复用 net1:192.168.122.136 /24

2、使用到的镜像下载地址

(1)rhel-server-7.1-x86_64-dvd    提取码:8j4z 
(2)RHEL7OSP-6.0-2015-02-23.2-x86_64      提取码:3fiw 
二、部署openstack教程

1、NTP节点操作(备注:可以使用除RHEL7.1以外的CentOS7系列版本)

(1)关闭selinux、防火墙。开机不自启,设置主机名

setenforce 0
sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config
systemctl stop firewalld && systemctl disable firewalld
hostnamectl set-hostname master

(2)设置/etc/hosts文件

vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.122.132 controller
192.168.122.134 compute01
192.168.122.136 master

(3)查看磁盘大小、并在根/目录下创建iso目录、上传镜像到此目录,在/var/www/html目录下创建rhel7和openstack两个目录

df -h
cd / && mkdir iso / && cd iso/
ls

cd /var/www/html
mkdir rhel7
mkdir openstack

(4)编辑/etc/fstab设置自动挂载,保存完后全部挂载

vim /etc/fstab
/iso/rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7 iso9660 defaults 0 0
/iso/RHEL7OSP-6.0-2015-02-23.2-x86_64.iso /var/www/html/openstack iso9660 defaults 0 0
mount -a

(5)编写rhel7和openstack的yum源仓库,然后将rhel7.repo和openstack.repo拷贝到/var/www/html目录下

点击查看代码
vim /etc/yum.repos.d/rhel7.repo
[rhel7.1]
name=rhel7.1
baseurl=http://192.168.122.136/rhel7/
gpgcheck=0
enabled=1
点击查看代码
vim /etc/yum.repos.d/openstack.repo
[RH7-RHOS-6.0]
name=RH7-RHOS-6.0
baseurl=http://192.168.122.136/openstack/RH7-RHOS-6.0/
gpgcheck=0
enabled=1 [RH7-RHOS-6.0-Installer]
name=RH7-RHOS-6.0-Installer
baseurl=http://192.168.122.136/openstack/RH7-RHOS-6.0-Installer/
gpgcheck=0
enabled=1 [RHEL-7-RHSCL-1.2]
name=RHEL-7-RHSCL-1.2
baseurl=http://192.168.122.136/openstack/RHEL-7-RHSCL-1.2/
gpgcheck=0
enabled=1 [RHEL7-Errata]
name=RHEL7-Errata
baseurl=http://192.168.122.136/openstack/RHEL7-Errata/
gpgcheck=0
enabled=1

(6)yum安装必要的软件包bash-com*、wget、vim、httpd、ansible等

yum install -y httpd vim bash-com* wget ansible

(7)配置chrony时间同步,我这台ntp可以连外网,所以我和阿里云的ntp服务器做同步

点击查看代码
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp.aliyun.com iburst
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift # Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3 # Enable kernel synchronization of the real-time clock (RTC).
rtcsync # Enable hardware timestamping on all interfaces that support it.
#hwtimestamp * # Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2 # Allow NTP client access from local network.
allow 192.168.122.0/24 # Serve time even if not synchronized to a time source.
#local stratum 10 #如何没连接外网,就把这个注释取消了,允许使用本地 # Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys # Specify directory for log files.
logdir /var/log/chrony # Select which information is logged.
#log measurements statistics tracking

(8)重启httpd服务和chrony服务并设置开机自启

systemctl restart httpd && systemctl enable httpd && systemctl restart chronyd.service && systemctl enable chronyd

(9)开启网络时间同步以及ntp服务状态

timedatectl set-ntp true
chronyc sourcestats

2、controller和compute节点操作

方法一:

【1】相同操作

(1)重复NTP节点(1)、(2)操作

(2)下载192.168.122.136的本地yum源

wget -O /etc/yum.repos.d/rhel7.repo http://192.168.122.136/rhel7.repo
wget -O /etc/yum.repos.d/openstack.repo http://192.168.122.136/openstack.repo
yum clean all
yum makecache

(3)进行ntp时间同步

vim /etc/chrony.conf
server 192.168.122.136
systemctl enable chronyd && systemctl restart chronyd
ntpdate 192.168.122.136
chronyc sources

(4)将控制节点和计算节点进行升级(实验环境可这样操作,生产环境切记不能这么操作)然后重启机器

yum -y update
reboot

【2】不同操作

(1)在controller节点上安装自动化工具openstack-packstack(OPS6基于pupput自动化工具搞的)并生成自动化配置文件(应答文件)

yum install openstack-packstack
packstack --help | grep answer
packstack --gen-answer-file=answer.txt #生成名字answer.txt的应答文件

(2)在controller上修改应答文件,NTP、CONTROLLER、COMPUTE、NETWORK、HORIZON_SSL、DEMO、ADMIN、REGION等配置文件

CONFIG_NTP_SERVERS=192.168.122.136     #NTP时间服务器的地址
CONFIG_CONTROLLER_HOST=192.168.122.132 #设置控制节点地址
CONFIG_COMPUTE_HOSTS=192.168.122.132,192.168.122.134 #设置计算节点地址
CONFIG_NETWORK_HOSTS=192.168.122.132 #设置网络节点(neutron复用控制节点)
CONFIG_HORIZON_SSL=y #要HORIZON的SSL加密
CONFIG_PROVISION_DEMO=n #不开启演示 all-in-one 一般是测试用的
CONFIG_KEYSTONE_ADMIN_PW=redhat #配置登陆密码
CONFIG_KEYSTONE_REGION=BeiJing #配置区域为BeiJing

(3)在controller上执行应答文件,自动部署openstack

packstack --answer-file=answer.txt

(4)部署成功图

RHCA-openstack学习部署笔记-CL210的更多相关文章

  1. openstack学习笔记一 虚拟机启动过程代码跟踪

    openstack学习笔记一 虚拟机启动过程代码跟踪 本文主要通过对虚拟机创建过程的代码跟踪.观察虚拟机启动任务状态的变化,来透彻理解openstack各组件之间的作用过程. 当从horizon界面发 ...

  2. OpenStack学习参考

    预备知识 Python 调试手段.日志:pdb 开源框架 Django 面向对象:类.继承.多态 编码规范 搭建环境 安装docker,下载openstack镜像,关于docker参考 使用fuel来 ...

  3. 深入理解Openstack自动化部署

    前言 说实话,看到自己在博客园的排名感到惭愧,因为自己最近两年没有持续地在博客园上写技术博客了,有人私下问我是不是荒废了?翻翻15年和16年的博客,真的是少的可怜.一方面的确由于岗位的变化,导致了工作 ...

  4. OpenStack安装部署管理中常见问题解决方法

    一.网络问题-network 更多网络原理机制可以参考<OpenStack云平台的网络模式及其工作机制>. 1.1.控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点, ...

  5. WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]

    WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...

  6. 学习ThinkPHP笔记

    学习ThinkPHP笔记 TP的模块化设计 名称 描述 应用 基于同一个入口文件访问的项目我们称之为一个应用. 模块 一个应用下面可以包含多个模块,每个模块在应用目录下面都是一个独立的子目录. 控制器 ...

  7. Openstack组件部署 — Keystone功能介绍与认证实现流程

    目录 目录 前文列表 Keystone认证服务 Keystone认证服务中的概念 Keystone的验证过程 简单来说 前文列表 Openstack组件部署 - Overview和前期环境准备 Ope ...

  8. Elasticsearch入门学习重点笔记

    原文:Elasticsearch入门学习重点笔记 必记知识点 Elasticsearch可以接近实时的搜索和存储大量数据.Elasticsearch是一个近实时的搜索平台.这意味着当你导入一个文档并把 ...

  9. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

随机推荐

  1. IDEA创建Mapper.xml文件识别不成功的问题

    在IDEA的maven项目中,创建一个EmpMapper.xml的文件识别不成功,图标显示为文本文档类型,在写代码时也不会弹出提示 解决方法: 在文件->设置->编辑器->文件类型中 ...

  2. 一文彻底搞清 Gradle 依赖【转】

    来源:曾是放牛娃 www.jianshu.com/p/59fd653a54d2 转自:https://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid ...

  3. 关于document.write()方法重绘页面问题

    学习的时候,document.write()被告知是用来将内容写进页面里面,同时也被告知document.write()方法会重绘页面,但是关于什么时候会重绘,什么时候不会重绘页面没有太多解释. 首先 ...

  4. 洛谷P1880题解

    题目 第一类区间DP模板题. 所谓第一类区间DP,是指合并型区间DP,状态转移方程一般形如 \(f_{i,j}=\max{f_{i,k}+f_{k+1,j}+cost_{i,j}}\) ,时间复杂度一 ...

  5. Vue slot 插槽用法:自定义列表组件

    Vue 框架的插槽(slot)功能相对于常用的 v-for, v-if 等指令使用频率少得多,但在实现可复用的自定义组件时十分有用.例如,如果经常使用前端组件库的话,就会经常看到类似的用法: < ...

  6. 聊聊 PC 端自动化最佳方案 - WinAppDriver

    1. 前言 大家好,我是安果! 一提到自动化,可能大家想到的是 App 端的 Appium.Airtest.AutoJS,亦或是 Selenium.Puppeteer.Cypress 等 Web 端的 ...

  7. 2579页阿里P8Android学习笔记在互联网上火了,完整版开放下载

    笔记作者:来自于阿里P8级大神: Mark 笔记特点:条理清晰,理论+实战+源码,含图像化表示更加易懂. 内容概要:Android 相关,性能优化,Java 相关,Kotlin 相关,网络相关,插件化 ...

  8. 将vim打造成Java IDE

    需要的插件列表: Taglist Conque Shell FuzzyFinder NERDTree javaComplete 其他选项: JavaKit exVim winmanager (Depr ...

  9. 解决java种mysql中文乱码问题

    乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读 ...

  10. Linux从头学08:Linux 是如何保护内核代码的?【从实模式到保护模式】

    作 者:道哥,10+年的嵌入式开发老兵. 公众号:[IOT物联网小镇],专注于:C/C++.Linux操作系统.应用程序设计.物联网.单片机和嵌入式开发等领域. 公众号回复[书籍],获取 Linux. ...