笔记说明:目前考试是基于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. jvm源码解读--03 常量池的解析ConstantPool

    先看bt栈 (gdb) bt #0 ConstantPool::allocate (loader_data=0x7fe21802e868, length=87, __the_thread__=0x7f ...

  2. Java大整形BigInteger的用法

    基本类型int有32位,范围是:[-2147483648, 2147483647](正负21亿多) 基本类型long有64位,范围是:[-9223372036854775808, 9223372036 ...

  3. 浏览器中hook对象属性

    先获取window对象属性 来源: 夜幕爬虫安全论坛 原文链接: http://bbs.nightteam.cn/thread-485.htm?orderby=desc&user=7

  4. DevOps基础的认识与工具实践

    什么是DevOps DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快.更频繁地交付更稳定的软件 Devops 包含了敏捷开发,测试,运维 DevO ...

  5. 从net到java:java快速入门

    学习java那是不可能的,到为什么不学习一下呢.仅为总结.希望自己在不久的将来能书写优美的java程序.加油!奥利给 1.注释 注释的重要性不言而喻,我们不管写什么代码注释必不可少,那么java的注释 ...

  6. JS基础-数据类型判断typeof、instanceof、Object.prototype.toString

    typeof用在基本数据类型和函数时,返回其对应类型的描述,对于引用类型都返回为object. instanceof无法判断基本数据类型,对于引用类型数据,返回其其对应类型. Object.proto ...

  7. RedisTemplate连接不释放、Redis断线不重连问题、Redis连接数高飙升

    使用RedisTemplate操作Redis数据,但遇到网络断线后不会重新连接 毫无头绪 一顿捣鼓 最终解决 整理如下 帮助更多的人 1.起因 使用RedisTemplate 配置 开启了事务 ena ...

  8. 掌握JavaScript中的Promise,实现异步编程

    事件循环 基本介绍 JavaScript是一门单线程的编程语言,所以没有真正意义上的并行特性. 为了协调事件处理.页面交互.脚本调用.UI渲染.网络请求等行为对主线程造成的影响,事件循环(event ...

  9. noip模拟35[第一次4题·裂了]

    noip模拟35 solutions 这是我第一次这么正式的考四个题,因为这四个题都出自同一个出题人,并不是拼盘拼出来的. 但是考得非常的不好,因为题非常难而且一直想睡觉.. 有好多我根本就不会的算法 ...

  10. configmap使用方法

    说明: kubernetes统一配置管理方案configmap,实现将配置文件从容器镜像中解耦,增强应用的可移植性.数据可直接注入pod对象中,为容器所使用,注入方式有挂载为存储卷和传递为环境变量两种 ...