OpenStack-基础环境

1、实验描述

通过搭建 OpenStackocata 版,来学习虚拟化技术

2、实验环境

【你可能需要】【CentOS 7 搭建模板机】点我快速打开文章

【你可能需要】【VMware 从模板机快速克隆多台】点我快速打开文章

【你可能需要】【CentOS 7 命令行显示优化】点我快速打开文章

【你可看需要】【CentOS 7 配置yum源】点我快速打开文章

虚拟机:

  • 系统:CenOS 7.6
  • 内存:4G+
  • 数量:2台
  • 硬盘:50G+

物理机:Windows 10

3、实验工具

【OpenStack】【013-OpenStack】点我快速打开分享(若异常,请私信,万分感谢) 【提取码:sgux 】

4、实验步骤

【官方文档】点我快速打开文章

4.1 修改主机名、IP地址与hosts文件

4.1.1 控制节点(controller)

1. 主机名
hostnamectl set-hostname controller

2. IP地址
ifconfig eth0|awk 'NR==2{print $2}'

IP=$(ifconfig eth0|awk 'NR==2{print $2}')

sed -i "s#$IP#10.0.0.11#g" /etc/sysconfig/network-scripts/ifcfg-eth0

grep 10.0.0.11 /etc/sysconfig/network-scripts/ifcfg-eth0

3. host文件
cat >>/etc/hosts <<EOF
# controller
10.0.0.11 controller
# compute1
10.0.0.31 compute1
EOF

tail /etc/hosts

systemctl restart network

若增加节点以下可参考

# block1
10.0.0.41 block1
# object1
10.0.0.51 object1
# object2
10.0.0.52 object2
4. 重连验证
ssh root@10.0.0.11

hostname

ifconfig eth0|awk 'NR==2{print $2}'

tail /etc/hosts

4.1.2 计算节点(compute1)

1. 主机名
hostnamectl set-hostname compute1

2. IP地址
ifconfig eth0|awk 'NR==2{print $2}'

IP=$(ifconfig eth0|awk 'NR==2{print $2}')

sed -i "s#$IP#10.0.0.31#g" /etc/sysconfig/network-scripts/ifcfg-eth0

grep 10.0.0.31 /etc/sysconfig/network-scripts/ifcfg-eth0

3. host文件
cat >>/etc/hosts <<EOF
# controller
10.0.0.11 controller
# compute1
10.0.0.31 compute1
EOF

tail /etc/hosts

systemctl restart network

若增加节点以下可参考

# block1
10.0.0.41 block1
# object1
10.0.0.51 object1
# object2
10.0.0.52 object2
4. 重连验证
ssh root@10.0.0.31

hostname

ifconfig eth0|awk 'NR==2{print $2}'

tail /etc/hosts

4.2 网络时间协议(NTP)

4.2.1 控制节点(controller)

1. 安装其软件包

【若没有yum源,相关博文】点我快速打开文章CentOS 7 配置yum源

yum install chrony -y &>/dev/null

echo $?

2. 修改配置文件
cp /etc/chrony.conf{,.bak}

sed -i -e '/#allow/a\allow 10.0.0.0/24' /etc/chrony.conf

grep allow /etc/chrony.conf

3. 启动和自启动
systemctl enable chronyd.service

systemctl start chronyd.service

4. 验证是否正常
netstat -lntup|grep chronyd

chronyc sources

4.2.1 计算节点(compute1)

1. 安装其软件包

【若没有yum源,相关博文】点我快速打开文章CentOS 7 配置yum源

yum install chrony -y &>/dev/null

echo $?

2. 修改配置文件
cp /etc/chrony.conf{,.bak}

sed -i 's#ntp5.aliyun.com#10.0.0.11#g' /etc/chrony.conf

grep ^server /etc/chrony.conf

3. 启动和自启动
systemctl enable chronyd.service

systemctl start chronyd.service

4. 验证是否正常
netstat -lntup|grep chronyd

chronyc sources

继续进一步的操作之前验证 NTP 的同步。有些节点,特别是那些引用了控制节点的,需要花费一些时间去同步。再次验证一下。

date

4.3 OpenStack包

4.3.1 所有节点

官方方案

【官方文档】点我快速打开文章,演示略

自我方案
1. 上传其软件包
ls

rz

ls

2. 解压其软件包
tar xf openstack_ocata_rpm.tar.gz -C /opt/

ls /opt/

3. 配置本地repo
mv /etc/yum.repos.d/*repo /tmp

mv /tmp/CentOS-Base.repo /etc/yum.repos.d/

cat >/etc/yum.repos.d/openstack.repo <<EOF
[openstack]
name=openstack
baseurl=file:///opt/repo
enable=1
gpgcheck=0
EOF

yum clean all &>/dev/null

echo $?

4. 安装其软件包
yum install python-openstackclient -y &>/dev/null

echo $?

rpm -qa python-openstackclient

4.4 SQL数据库

4.4.1 控制节点(controller)

1. 安装其软件包
yum install mariadb mariadb-server python2-PyMySQL -y &>/dev/null

echo $?

2. 修改配置文件
cat >/etc/my.cnf.d/openstack.cnf <<EOF
[mysqld]
bind-address = 10.0.0.11

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
EOF

cat /etc/my.cnf.d/openstack.cnf

3. 启动和自启动
systemctl enable mariadb.service

systemctl start mariadb.service

netstat -lntup|grep mysqld

4. 设安全初始化
mysql_secure_installation

4.5 消息队列

4.5.1 控制节点(controller)

1. 安装其软件包
yum install rabbitmq-server -y &>/dev/null

echo $?

2. 启动和自启动
systemctl start rabbitmq-server.service

systemctl enable rabbitmq-server.service

3. 添加相关用户
rabbitmqctl add_user openstack RABBIT_PASS

用合适的密码替换 RABBIT_DBPASS

4. 修改相关权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

4.6 Memcached

4.6.1 控制节点(controller)

1. 安装其软件包
yum install memcached python-memcached -y &>/dev/null

echo $?

2. 修改配置文件
cp /etc/sysconfig/memcached{,.bak}

sed -i 's#127.0.0.1,::1#0.0.0.0#g' /etc/sysconfig/memcached

grep 0.0.0.0 /etc/sysconfig/memcached

3. 启动和自启动
systemctl start memcached

systemctl enable memcached

【后续文章】点我快速打开文章

【本文图片下载地址】【002-OpenStack】点我快速打开分享(若异常,请私信,万分感谢) 【提取码:kse1 】

今天你学习了吗?若有疑问,请留言、私信或加QQ群:647033350,大家一起进步吧!

001-OpenStack-基础环境的更多相关文章

  1. Openstack基础环境交换机常用配置(CISCO 3750G为例)

    NOTE: 用户模式提示符为:cisco> 特权模式提示符为:cisco# 全局配置模式提示符为:cisco(config)# 端口模式提示符为:cisco(config-if)# 基础操作   ...

  2. openstack基础环境准备(一)

    一.环境介绍 操作系统 ip地址 主机名 服务 centos7.5 192.168.56.11 linux-node1 控制节点 centos7.5 192.168.56.12 linux-node2 ...

  3. 准备openstack基础环境

    在所有的openstack节点上执行 1.配置阿里yum源 yum -y install wget rm -rf /etc/yum.repos.d/* wget -O /etc/yum.repos.d ...

  4. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 2.安装配置OpenStack基础服务

    节点配置情况说明: 控制节点:controller: IP:192.168.164.128 hostname&hosts:likeadmin 计算加点:Nova: IP:192.168.164 ...

  5. openstack kilo部署-基础环境

    公司也想搞个私有云玩玩,于是展开了一系列的调研,部署测试,openstack 有几个版本真是坑爹!!,如果喜欢被虐有兄弟,你就试试 openstack 的 juno , icehouse等版本,用不了 ...

  6. 001-官网安装openstack之-安装前基础环境准备

    0.安装常用软件包(根据个人习惯安装需要的软件包) [root@localhost ~]# yum -y install wget vim ntp net-tools tree openssh 1.配 ...

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

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

  8. OpenStack实践系列①openstack简介及基础环境部署

    OpenStack实践系列①openstack简介及基础环境部署 一.OpenStack初探1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运 ...

  9. openstack(pike 版)集群部署(一)----基础环境部署

    一.环境 1.系统: a.CentOS Linux release 7.4.1708 (Core) b.更新yum源和安装常用软件 #  yum -y install  epel-release ba ...

  10. Centos 7 搭建OpenStack 私有云——(1)基础环境配置

    1.简介: OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个开源的云计算管理 ...

随机推荐

  1. Rust多线程中的消息传递机制

    代码说话. use std::thread; use std::sync::mpsc; use std::time::Duration; fn main() { let (tx, rx) = mpsc ...

  2. python 给多人发送邮件,且将结果添加为附件

    import unittest,HTMLTestRunnerimport osdef runa(): path=os.getcwd() print(path) a=unittest.defaultTe ...

  3. python如何实现元素等待

    一.为什么要元素等待? 在UI自动化过程中,元素的出现受网络环境.设备性能等多种元素影响.因此,元素加载和脚本运行到该元素的时间不一致,会报错:元素无法定位. 简单举下例子:实际UI自动化测试中,点击 ...

  4. postgres 计算时差

    计算时间差秒数 select extract(epoch FROM (now() - (now()-interval '1 day') ));

  5. 8.Go-Reader,Writer和ioutil

    8.1.Reader (1)输入流 流是应用程序和外部资源进行数据交互的纽带 流分为输入流和输出流,输入和输出都是相对于程序,把外部数据传入程序中叫做输入流,反之叫做输出流 在Go语言标准库中io包下 ...

  6. Luogu P5416 [CTSC2016]时空旅行

    第一次写线段树分治的题目,没想到是道这么毒的题233 首先发现题目里的\((x,y,z,c)\)就是在放屁,只有\((x,c)\)是有用的 因此我们可以把题意转化为,在某一个时间节点上,求出所有元素的 ...

  7. [日常] NOI2019 退役记

    这次要彻底退役了 开个坑先 Day -2 出发坐车去gz 好像和上次去雅礼的车是同一趟于是大家都以为和上次一样是 \(10:40\) 开车, 于是提前2h大概八点多就去坐公交了 到了之后取票, 发现票 ...

  8. django 使用HttpResponse返回json数据为中文

    之前我用django一般用JsonResponse来返回json数据格式 但是发现返回中文的时候会乱码 from django.http import JsonResponse def test(re ...

  9. CSS3 clip裁剪动画

    CSS3 clip裁剪动画 下面是比较简单的例子 <pre><html><head><style type="text/css">i ...

  10. TP5 使用验证码功能

    工作中后台开发使用的是 TP5,但是对语法不是很熟悉,总是看着手册写代码.当时做 Java 的时候也是这样,很多语法需要靠百度.不是不能写代码,但是这样的效率感觉不高,没有行云流水的感觉,要是能有聊天 ...