OpenStack Train版离线部署|0制作本地离线yum源

2,403 阅读6分钟

欢迎留言讨论,期待与你共同进步掘金人的第一篇博客 - 掘金 (juejin.cn)

本系列文章包教你如何从零开始搭建一套OpenStack开发环境,涉及多个OpenStack。
当前教程中使用的OpenStack的安装版本为第20个版本Train,简称T版本。
Release Note
Train,Originally Released: 16 October, 2019
Ussuri,Originally Released: 13 May, 2020
Victoria,Originally Released: 14 October, 2020

掘金社区


掘金社区:OpenStack Train版离线部署|系列教程「全」
掘金社区:OpenStack Ussuri版离线部署|系列教程「全」
掘金社区:OpenStack Victoria版部署|系列教程「全」

OpenStack Train版离线部署|0制作本地离线yum源
OpenStack Train版离线部署|1控制节点-环境准备
OpenStack Train版离线部署|2计算节点-环境准备
OpenStack Train版离线部署|3控制节点-Keystone认证服务组件
OpenStack Train版离线部署|4控制节点-Glance镜像服务组件
OpenStack Train版离线部署|5控制节点-Placement服务组件
OpenStack Train版离线部署|6.1控制节点-Nova计算服务组件
OpenStack Train版离线部署|6.2计算节点-Nova计算服务组件
OpenStack Train版离线部署|6.3控制节点-Nova计算服务组件
OpenStack Train版离线部署|7.1控制节点-Neutron网络服务组件
OpenStack Train版离线部署|7.2计算节点-Neutron网络服务组件
OpenStack Train版离线部署|7.3控制节点-Neutron网络服务组件
OpenStack Train版离线部署|8控制节点-Horizon服务组件
OpenStack Train版离线部署|9启动一个实例
OpenStack Train版离线部署|10控制节点-Heat服务组件
OpenStack Train版离线部署|11.1控制节点-Cinder存储服务组件
OpenStack Train版离线部署|11.2存储节点-Cinder存储服务组件
OpenStack Train版离线部署|11.3控制节点-Cinder存储服务组件
OpenStack Train版离线部署|11.4计算节点-Cinder存储服务组件
OpenStack Train版离线部署|11.5实例使用-Cinder存储服务组件


掘金社区:个性化制作OpenStack镜像|系列教程
个性化制作OpenStack镜像|环境准备
个性化制作OpenStack镜像|Windows7
个性化制作OpenStack镜像|Windows10
个性化制作OpenStack镜像|Linux
个性化制作OpenStack镜像|Windows Server2019


CSDN

CSDN:OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言讨论,期待与你共同进步。


OpenStack Train版离线部署|0制作离线yum源

如果采用离线源代码安装,则通常需要配置本地 pip 源;
如果采用离线软件安装包的形式安装,则通常需要配置本地 yum 源。

环境说明

系统:Centos7
版本:CentOS-7-x86_64-Minimal-1908
ISO下载链接:mirrors.aliyun.com/centos/7/is…

截至发稿前,Centos7源中包含以下版本的openstack openstack-queens openstack-rocky openstack-stein openstack-train

OpenStack版本:Tain
OpenStack源:
centos:mirror.centos.org/centos/7/cl…
北理工:mirror.bit.edu.cn/centos/7/cl…
阿里云:mirrors.aliyun.com/centos/7/cl…
在这里插入图片描述

软件安装

在安装之前建议将yum源修改为国内的源

yum clean all
yum makecache
yum -y install vim createrepo yum-utils httpd net-tools reposync

yum install centos-release-openstack-train
ls -1 /etc/yum.repos.d/
yum repolist
[root@host-192-168-2-123 ~]# yum repolist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * centos-ceph-nautilus: mirrors.aliyun.com
 * centos-nfs-ganesha28: mirrors.aliyun.com
 * centos-openstack-stein: mirrors.aliyun.com
 * centos-openstack-train: mirrors.aliyun.com
 * centos-qemu-ev: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
repo id                                     repo name                   status
base/7/x86_64                               CentOS-7 - Base             10097
centos-ceph-nautilus/7/x86_64               CentOS-7 - Ceph Nautilus    224
centos-nfs-ganesha28/7/x86_64               CentOS-7 - NFS Ganesha 2.8  140
centos-openstack-stein/7/x86_64             CentOS-7 - OpenStack stein  2415+2
centos-openstack-train/7/x86_64             CentOS-7 - OpenStack train  2323+2
centos-qemu-ev/7/x86_64                     CentOS-7 - QEMU EV          87
extras/7/x86_64                             CentOS-7 - Extras           341
updates/7/x86_64                            CentOS-7 - Updates          1787
repolist: 17414

同步至本地

mkdir -p /var/www/html/yumrepository

reposync -p /var/www/html/yumrepository/
[root@host-192-168-2-123 yumrepository]# pwd
/var/www/html/yumrepository
[root@host-192-168-2-123 yumrepository]# ls
base                  centos-nfs-ganesha28    centos-openstack-train  extras
centos-ceph-nautilus  centos-openstack-stein  centos-qemu-ev          updates
[root@host-192-168-2-123 yumrepository]#

等待OpenStack安装包下载到本地目录后,需要重新生成yum仓库或者更新原有仓库。因此同步完成后远程yum仓库中的repodata可能不会被同步到本地,仓库路径可能已经改变,因此仅需对同步到本地的yum仓库进行升级。创建或更新本地yum仓库的命令为createrepo,该命令由createrepo安装包提供。

本地制作

创建yum仓库

# 进入每一个文件夹,
cd /var/www/html/yumrepository

cd ./base
# 利用createrepo工具制作yum源,如果没有createrepo工具则利用yum安装
yum install createrepo -y
createrepo .
# 制作完成后,相对应的路径下会出现repodata文件,则说明制作成功

[root@host-192-168-2-123 base]# ls
Packages
[root@host-192-168-2-123 base]# createrepo .
Spawning worker 0 with 5049 pkgs
Spawning worker 1 with 5048 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@host-192-168-2-123 base]# ls
Packages  repodata
[root@host-192-168-2-123 base]#

注意,在同步下来的每一个yum仓库目录都需要执行,上述操作。

   49  cd /var/www/html/yumrepository/base/
   50  ls
   51  createrepo .
# 后续更新了rpm软件库包的文件后,都要进入相应的目录,利用createrepo update进行同步。
reposync -p /var/www/html/yumrepository/
createrepo  --update .

配置服务httpd

#启动服务
systemctl start httpd
# 设置开机自动启动
systemctl enable httpd
systemctl status httpd

配置目录文件说明:

服务目录       /etc/httpd
主配置文件     /etc/httpd/conf/httpd.conf
网站数据目录   /var/www/html
访问日志      /var/log/httpd/access_log
错误日志     /var/log/httpd/error_log

修改配置文件 /etc/selinux/config

vim /etc/selinux/config

SELINUX=disabled

关闭防火墙,selinux,NetworkManager

systemctl stop firewalld NetworkManager.service
systemctl disable firewalld NetworkManager.service
systemctl status firewalld NetworkManager.service
setenforce 0

验证

在另一台机器,新建一个repo文件

# 移除原系统自带的repo文件,避免和新建的配置文件内容冲突
mkdir ori_repo-config
mv /etc/yum.repos.d/* ./ori_repo-config/

touch /etc/yum.repos.d/CentOS-PrivateLocal.repo
vim /etc/yum.repos.d/CentOS-PrivateLocal.repo

注意:
①IP地址更换为yumrepository所在主机的地址。
②为避免安装冲突,[centos-openstack-stein]和[centos-openstack-train]只保留一个。

[base]
name=CentOS-$releasever - Base
baseurl=http://192.168.2.123/yumrepository/base/
gpgcheck=0
enabled=1

[updates]
name=CentOS-$releasever - Updates
baseurl=http://192.168.2.123/yumrepository/updates/
gpgcheck=0
enabled=1

[extras]
name=CentOS-$releasever - Extras
baseurl=http://192.168.2.123/yumrepository/extras/
gpgcheck=0
enabled=1

[centos-openstack-train]
name=CentOS-7 - OpenStack train
baseurl=http://192.168.2.123/yumrepository/centos-openstack-train/
gpgcheck=0
enabled=1



[centos-qemu-ev]
name=CentOS-$releasever - QEMU EV
baseurl=http://192.168.2.123/yumrepository/centos-qemu-ev/
gpgcheck=0
enabled=1

[centos-ceph-nautilus]
name=CentOS-7 - Ceph Nautilus
baseurl=http://192.168.2.123/yumrepository/centos-ceph-nautilus/
gpgcheck=0
enabled=1


[centos-nfs-ganesha28]
name=CentOS-7 - NFS Ganesha 2.8
baseurl=http://192.168.2.123/yumrepository/centos-nfs-ganesha28/
gpgcheck=0
enabled=1

配置完成后,通常需要清除yum中原有的cache,并重新生成cache。清除yum陈旧cache的命令如下:

yum clean all
yum makecache