文章目录

  • 什么是OpenStack?
    • 部署实例
      • 环境需求
      • 1、备份系统自带的yum源
      • 2、编辑阿里云Centos 7 官方源和OpenStack源
      • 3、检验阿里云源是否正常
      • 4、安装相关软件
      • 5、将源同步到本地目录
      • 6、创建软件依赖关系库
      • 7、更新源数据
      • 8、创建定时任务脚本
      • 9、将脚本加入到定时任务中
      • 10、安装nginx开启目录权限保证本地机器可以直接本地yum源
      • 11、登录客户机(192.168.100.111)测试本地YUM源
      • 12、测试是否可下载RPM包
      • 13、服务器配置同步阿里时钟,192.168.17.100(本地源)
      • 14、服务器NTP时钟服务配置,192.168.17.100(本地源)
      • 15、到客户端进行同步验证

什么是OpenStack?

OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。
OpenStack为私有云和公有云提供可扩展的弹性的云计算服务。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台

根据OpenStack现场搭建环境,一些电脑并不具备搭建要求,现在主要问题是Yum源的仓库进行本地化实施。
解决方案如下:
1、寻找第三方OpenStack生产环境专用yum源仓库
2、搭建Centos 7.6 系统载体
3、同步Openstack成产环境源
4、解决OpenStack软件环境依赖关系
5、发布本地OpenStack-YUM源仓库
6、OpenStack客户端部署本地YUM源仓库
7、配置阿里云时间同步服务、配置NTP服务(允许192.168.17.0网段)

拓扑图如下:

部署实例
环境需求

Centos 7.6 虚拟机一台
CPU:双核双线程
内存:2G
硬盘:30G+300G
网卡:NAT模式
IP地址:192.168.17.100/24 网关:192.168.17.2
防火墙:关闭
核心防护:关闭
安装完系统后配置地址

1、备份系统自带的yum源
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir backup      ###创建备份目录
[root@localhost yum.repos.d]# mv * ./backup      ###将当前目录下,所有内容转移到./backup
[root@localhost yum.repos.d]# tar -zcvf CentOS-bk.tar.gz /etc/yum.repos.d/*     ###打包
[root@localhost yum.repos.d]# ll
总用量 8
drwxr-xr-x. 2 root root  187 8月   6 17:01 backup
-rw-r--r--  1 root root 2667 11月 14 23:26 CentOS-bk.tar.gz
2、编辑阿里云Centos 7 官方源和OpenStack源

上传源文件(repo文件)至/etc/yum.repos.d目录下

使用xftp或挂载均可

openstack.repo、nginx.repo、epel.repo、CentOS-Storage-common.repo
CentOS-QEMU-EV.repo、CentOS-Ceph-Luminous.repo
CentOS-Base.repo

################源解释#########################

EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux

3、检验阿里云源是否正常
[root@localhost ~]# yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfilebase: mirrors.aliyun.comextras: mirrors.aliyun.com…………省略部分内容…………
openstack-train   openstack-train                                  2,040
updates/7/x86_64  CentOS-7 - Updates - mirrors.aliyun.com            711
repolist: 34,370
4、安装相关软件
[root@localhost ~]# cd ~
[root@localhost ~]#  yum install -y wget make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel createrepo yum-utils

##解释##
yum-utils:reposync同步工具
createrepo:编辑yum库工具 做依赖关系用发
plugin-priorities:控制yum源更新优先级工具,这个工具可以用来控制进行yum源检索的先后顺序,建议可以用在client端。
注:由于很多人喜欢最小化安装,上边软件是一些常用环境。

5、将源同步到本地目录
[root@localhost ~]# mkdir /data     ###创建本地目录
[root@localhost ~]# mkfs -t xfs /dev/sdb
[root@localhost ~]# mount /dev/sdb /data    ##此为临时挂载,建议使用/etc/fstab永久挂载
[root@localhost ~]# df -hT      ##验证是否挂载成功[root@localhost ~]# reposync -p /data

##解释##
不用担心没有创建相关目录,系统自动创建相关目录,并下载,时间较长请耐心等待。
可以用 repo -r --repoid=repoid指定要查询的repo id,可以指定多个(# reposync -r base -p /data #这里同步base目录到本地)
更新新的rpm包

#reposync -np /data

注:时间同样较长,请耐心等待。

6、创建软件依赖关系库
[root@localhost ~]# createrepo -po /data/base/ /data/base/
[root@localhost ~]# createrepo -po /data/extras/ /data/extras/
[root@localhost ~]# createrepo -po /data/updates/ /data/updates/
[root@localhost ~]# createrepo -po /data/epel/ /data/epel/
[root@localhost ~]# createrepo -po /data/openstack-queens/ /data/openstack-queens/
[root@localhost ~]# createrepo -po /data/openstack-rocky/ /data/openstack-rocky/
[root@localhost ~]# createrepo -po /data/openstack-stein/ /data/openstack-stein/
[root@localhost ~]# createrepo -po /data/openstack-train/ /data/openstack-train/
[root@localhost ~]# createrepo -po /data/centos-qemu-ev /data/centos-qemu-ev/
[root@localhost ~]# createrepo -po /data/nginx /data/nginx
7、更新源数据
[root@localhost ~]# createrepo --update /data/base
[root@localhost ~]# createrepo --update /data/extras
[root@localhost ~]# createrepo --update /data/updates
[root@localhost ~]# createrepo --update /data/epel
[root@localhost ~]# createrepo --update /data/openstack-queens
[root@localhost ~]# createrepo --update /data/openstack-rocky
[root@localhost ~]# createrepo --update /data/openstack-stein
[root@localhost ~]# createrepo --update /data/openstack-train
[root@localhost ~]# createrepo --update /data/centos-qemu-ev
[root@localhost ~]# createrepo --update /data/nginx
8、创建定时任务脚本
[root@localhost ~]# mkdir /data/script
[root@localhost ~]# vi /data/script/centos_yum_update.sh
#!/bin/bash
echo 'Updating Aliyum Source'
DATETIME=`date +%F_%T`
exec > /var/log/aliyumrepo_$DATETIME.logreposync -np /data
if [ $? -eq 0 ];thencreaterepo --update /data/basecreaterepo --update /data/extrascreaterepo --update /data/updatescreaterepo --update /data/epelcreaterepo --update /data/openstack-queenscreaterepo --update /data/openstack-rockycreaterepo --update /data/openstack-steincreaterepo --update /data/openstack-traincreaterepo --update /data/centos-qemu-evcreaterepo --update /data/nginxecho "SUCESS: $DATETIME aliyum_yum update successful"elseecho "ERROR: $DATETIME aliyum_yum update failed"
fi
9、将脚本加入到定时任务中
[root@localhost ~]# crontab -e
00 13 * * 6 [ $(date +%d) -eq $(cal | awk 'NR==3{print $NF}') ] && /bin/bash /data/script/centos_yum_update.sh

###上述计划任务解释###
每月第一个周六的13点更新阿里云yum源

10、安装nginx开启目录权限保证本地机器可以直接本地yum源
[root@localhost ~]# groupadd nginx                  ###创建运行账户组
[root@localhost ~]# useradd -r -g nginx -s /bin/false -M nginx     ###创建运行账户
[root@localhost ~]# yum -y install nginx               ###安装Nginx[root@localhost ~]# vi /etc/nginx/nginx.conf         ####找到nginx配置文件,并修改nginx配置文件:worker_processes  1;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;             ####要修改server_name  localhost;          ####要修改root         /data ;             ####这里是yum源存放目录      location / {autoindex on;                  ####打开目录浏览功能autoindex_exact_size off;       ### off:以可读的方式显示文件大小autoindex_localtime on;      #### on、off:是否以服务器的文件时间作为显示的时间charset utf-8,gbk;             ####展示中文文件名index index.html;            ####新增}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}[root@localhost ~]# systemctl enable nginx    ###开机启动Nginx服务
[root@localhost ~]# systemctl restart nginx    ###重启Nginx服务

#访问验证

11、登录客户机(192.168.100.111)测试本地YUM源

网络适配器选择为VM1,设置网卡能与服务器连通

注:搭建好后yum安装速度并没有想象中的那么快,安装时解决依赖速度也很慢。

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# rm -rf *                                  ####删除当前目录下所有文件,
[root@localhost yum.repos.d]# vim CentOS7.x-Base-Openstack.repo
[base]
name=CentOS-$releasever - Base - data.template.com
baseurl=http://192.168.100.100/base/
enabled=1
gpgcheck=0[updates]
name=CentOS-$releasever - Updates - data.template.com
baseurl=http://192.168.100.100/updates/
enabled=1
gpgcheck=0[extras]
name=CentOS-$releasever - Extras - datas.template.com
baseurl=http://192.168.100.100/extras/
enabled=1
gpgcheck=0[epel]
name=CentOS-$releasever - epel - datas.template.com
baseurl=http://192.168.100.100/epel/
failovermethod=priority
enabled=1
gpgcheck=0#[openstack-queens]
#name=openstack-queens
#baseurl=http://192.168.17.100/openstack-queens/
#gpgcheck=0
#enabled=1#[openstack-rocky]
#name=openstack-rocky
#baseurl=http://192.168.100.100/openstack-rocky/
#gpgcheck=0
#enabled=1#[openstack-stein]
#name=openstack-stein
#baseurl=http://192.168.100.100/openstack-stein/
#gpgcheck=0
#enabled=1[openstack-train]
name=openstack-train
baseurl=http://192.168.100.100/openstack-train/
gpgcheck=0
enabled=1[centos-qemu-ev]
name=centos-qemu-ev
baseurl=http://192.168.100.100/centos-qemu-ev/
gpgcheck=0
enabled=1[nginx]
name=nginx
baseurl=http://192.168.100.100/nginx/
gpgcheck=0
enabled=1

####上述源解释####
OpenStack有4个版本queens、rocky、stein、train,目前最新的是train,
前面三个不用注释标明了(queens、rocky、stein)用是train版本测试

12、测试是否可下载RPM包
[root@localhost ~]# cd /opt
[root@localhost opt]# yumdownloader openstack-swift-account
[root@localhost opt]# ll
总用量 24
-rw-r--r--  1 root root 21264 10月 25 22:27 openstack-swift-account-2.23.1-1.el7.noarch.rpm  ###下载完成
drwxr-xr-x. 2 root root     6 10月 31 2018 rh
13、服务器配置同步阿里时钟,192.168.17.100(本地源)
[root@localhost ~]# yum -y install ntpdate
[root@localhost ~]# ntpdate ntp.aliyun.com
[root@localhost ~]# crontab -e
*/2 * * * * /usr/sbin/ntpdate ntp.aliyun.com >>/var/log/ntpdate.log
[root@localhost ~]# systemctl restart crond
[root@localhost ~]# systemctl enable crond
[root@localhost ~]# tail -f /var/log/ntpdate.log    ###动态查看更新日志文件
14、服务器NTP时钟服务配置,192.168.17.100(本地源)
[root@localhost ~]# yum -y install ntp
[root@localhost ~]# vi /etc/ntp.conf
restrict default nomodify   ###改第8行
restrict 192.168.17.0 mask 255.255.255.0 nomodify notrap  ###改第17行
###将21行到24行删除##21 server 0.centos.pool.ntp.org iburst22 server 1.centos.pool.ntp.org iburst23 server 2.centos.pool.ntp.org iburst24 server 3.centos.pool.ntp.org iburst
###删除后插入下面内容###
fudeg 127.127.1.0 stratum 10
server 127.127.1.0

NTP重启BUG####通过禁止chronyd服务开机自启动之后再将系统重启

[root@localhost ~]# systemctl disable chronyd.service[root@localhost ~]# systemctl restart ntpd  ###重启ntp服务端
[root@localhost ~]# systemctl enable ntpd  ###开机启动ntp服务端

15、到客户端进行同步验证

搭建本地OpenStack源相关推荐

  1. RHEL6搭建本地yum源

    RHEL6搭建本地yum源 1.        建立本地yum源目录 mkdir /yumsource 2.        Copy光盘内容到yum源目录 cp  –a /mnt/* /yumsour ...

  2. Linux 搭建本地镜像源(CentOS 离线 yum)

    使用 RPM 包搭建本地镜像源 1. 下载所有源中的 RPM 包 yum -y install httpd yum-utils createrepo 创建 RPM 包的下载目录 mkdir /var/ ...

  3. CentOS Linux 使用系统镜像搭建本地 yum 源

    一.基础环境 操作系统:CentOS-7-x86_64-2009 二.适用场景 一般生产服务器处于内网环境中,无法连接互联网的公共 yum 源,当我们需要使用 yum 命令安装一些软件的时候,就需要我 ...

  4. Debian利用现有软件包或者光盘镜像搭建本地软件源

    使用软件包搭建本地软件源 安装dpkg-dev sudo apt-get install dpkg-dev 建立储存本地软件源的目录/home/a/test mkdir /home/a/test 将所 ...

  5. centos搭建本地yum源:

    centos7如何搭建本地yum源局域网yum源以及网络yum源 搭建本地yum源: yum源文件存放位置:/etc/yum.repos.d/*.repo 1.清空yum源文件 rm -f /etc/ ...

  6. [Pipy]利用pip2pi搭建本地pypi源

    当我们一个团队开发一个项目的时候,需要的Python第三方包基本是固定的,每次搭建新环境的时候总是因为各种内外网,https问题花费大量的时间来安装运行环境. 所以搭建一个本地的,小巧的,只包含需要的 ...

  7. ROCKY 8.4搭建本地yum源及配置局域网公用

    1.上传完整镜像文件 192.168.100.138:搭建本地yum源 192.168.100.139:使用138yum源 以下搭建以100.138为例 将iso文件上传至/opt下 2.创建挂载目录 ...

  8. 使用ISO文件搭建本地yum源

    使用ISO文件搭建本地yum源 关闭SELinux vi /etc/selinux/config selinux=disabled //修改配置文件 reboot getenforce // 查看修改 ...

  9. 如何在CentOS6.5中搭建本地yum源(Redhat6.5、CentOS7、Redhat7可参考)

    总体说明 你,是不是经常遇到rpm包环环相扣无穷无尽,而自己的主机又不能连外网的事情! 你,是不是总是面对着一个又一个的rpm安装error,深受其害而夜不能寐! 那还等什么?赶快整一个本地yum源出 ...

最新文章

  1. 杨英(帮别人名字作诗)
  2. 操作系统杂谈 mac 和linux windows若干概念
  3. 测试教程网.unittest教程.2. 基本用法
  4. 网址收藏 plc实现
  5. 几张一模一样的照片_两张一模一样的照片看起来却不一样!什么鬼?
  6. 纪中2016.10.6比赛不明总结
  7. BUUCTF Web [极客大挑战 2019]EasySQL
  8. 李开复发自前方:From Davos with AI
  9. python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换
  10. findViewById中NullPointerException的错误
  11. apache Ignite 安装和helloworld
  12. Markdown优雅地插入图片
  13. TreeList 节点拖曳
  14. 华为云首席架构师顾炯炯:敢为人先,探索架构创新之路如何走
  15. 咖啡就是咖啡,不管放了多少糖,依然会有淡淡的苦
  16. 一个典型程序员的IT 7年
  17. 2022-2028年全球光电传感器行业供需分析及发展前景研究报告
  18. 怎样在c语言游戏中设计广告,游戏行业信息流广告怎么玩?38个创意句式拿去套!...
  19. [python]如何学习python的第三方库(wheel轮子)
  20. 苹果cmsV10最新版小程序插件

热门文章

  1. 如何吸引百度蜘蛛天天刷网页
  2. java设置新生代大小,jvm java虚拟机 新生代的配置
  3. latex文本高亮与文本颜色(更新ing)
  4. Web3领域中最值得关注的3大主题
  5. Java简繁转换ZHConverter(转)
  6. 【六爻】明天新同事会入职吗?
  7. ubuntu下面玩街机+北通野牛手柄
  8. android动态唤醒网络,手机遥控电脑开机神器!局域网唤醒App
  9. 计算机死机后重启什么丢失,电脑死机后丢失的数据怎么恢复?
  10. 中兴蓝剑计划面试经验