笔记说明:目前考试是基于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. HTTP_CLIENT_IP、HTTP_X_FORWARDED_FOR、REMOTE_ADDR

    REMOTE_ADDR 是你的客户端跟你的服务器"握手"时候的IP.如果使用了"匿名代理",REMOTE_ADDR将显示代理服务器的IP. HTTP_CLIEN ...

  2. 论文笔记:(CVPR2019)PointWeb: Enhancing Local Neighborhood Features for Point Cloud Processing

    目录 摘要 一.引言 二.相关工作 3D数据表示 点云深度学习 三.我们的方法 3.1 自适应特征调整(AFA)模块 3.1.1 影响函数fimp 3.1.2 关系函数frel 3.1.3 逐元素影响 ...

  3. 大数据学习(09)—— Hive语法

    Hive官方网站上有详细的语法说明,参考LanguageManual. 这里我把最常用的几块列出来. HIVE DDL Database 建库语句 CREATE (DATABASE|SCHEMA) [ ...

  4. C++ 封装类 2 设计一个学生类 属性有姓名学号 可以给姓名 和学号赋值 可以显示学生的姓名和学号

    1 //设计一个学生类 属性有姓名学号 可以给姓名 和学号赋值 可以显示学生的姓名和学号 2 #include <iostream> 3 #include<string> 4 ...

  5. netty系列之:使用UDP协议

    目录 简介 UDP协议 String和ByteBuf的转换 构建DatagramPacket 启动客户端和服务器 总结 简介 在之前的系列文章中,我们到了使用netty做聊天服务器,聊天服务器使用的S ...

  6. 4、关于numpy.random.seed()的使用说明

    定义:seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差 ...

  7. Git-07-分支管理

    创建与合并分支 为什么要创建分支? 假设你准备开发一个新功能,但是需要两周才能完成, 第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了. 如果等代码全部写完 ...

  8. 【笔记】二分类算法解决多分类问题之OvO与OvR

    OvO与OvR 前文书道,逻辑回归只能解决二分类问题,不过,可以对其进行改进,使其同样可以用于多分类问题,其改造方式可以对多种算法(几乎全部二分类算法)进行改造,其有两种,简写为OvO与OvR OvR ...

  9. 把对象交给spring管理的3种方法及经典应用

    背景 先说一说什么叫把对象交给spring管理.它区别于把类交给spring管理.在spring里采用注解方式@Service.@Component这些,实际上管理的是类,把这些类交给spring来负 ...

  10. SSM自学笔记(四)

    8.面向切面编程AOP 1.Spring 的 AOP 简介 1.1 什么是 AOP AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运 ...