OpenStack离线安装之yum源制作

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

OpenStack离线安装之yum源制作

环境说明

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

OpenStack版本:Stein、Tain

软件安装

1.完成Centos7的系统安装后,先安装以下软件。

1
2
3
4
5
6
7
yum clean all
yum makecache
yum -y install vim reposync createrepo yum-utils httpd net-tools

yum install centos-release-openstack-stein centos-release-openstack-train
ls -1 /etc/yum.repos.d/
yum repolist

2.查看本机repolist

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[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

同步本地

1.新建文件夹yumrepository,然后进行同步

1
2
mkdir /var/www/html/yumrepository
reposync -p /var/www/html/yumrepository/

2.同步完成

1
2
3
4
5
6
[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安装包下载到本地目录/var/www/html/yumrepository/之后,需要重新生成yum仓库或者更新原有仓库。因此同步完成后远程yum仓库中的repodata可能不会被同步到本地,仓库路径可能已经改变,因此仅需对同步到本地的yum仓库进行升级。创建或更新本地yum仓库的命令为createrepo,该命令由createrepo安装包提供。

本地制作

1.创建本地yum仓库
进入yumrepository的每一个子文件夹。本次为首次搭建是采用上述同步到本地的方法,以后重新搭建本地源,如果不考虑软件包的更新,可以直接将本次下载到yumrepository中的安装包直接拷贝之本文使用的目录,依然按照下面的步骤继续操作。

1
2
3
4
cd /var/www/html/yumrepository
cd ./base
# 利用createrepo工具制作yum源,如果没有createrepo工具则利用yum安装
createrepo .

2.制作完成后,相对应的路径下会出现repodata文件,则说明制作成功。

3.整个制作过程如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[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仓库目录都需要执行,上述操作。

1
2
3
49  cd /var/www/html/yumrepository/base/
50 ls
51 createrepo .

如果后续更新了rpm软件库包的文件后,都要进入相应的目录,利用createrepo update进行同步。

1
2
reposync -p /var/www/html/yumrepository/
createrepo --update .

配置服务httpd

1.启动服务并设置开机自启

1
2
3
systemctl start httpd
systemctl enable httpd
systemctl status httpd

2.配置目录文件说明

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

3.防火墙相关配置
修改配置文件 /etc/selinux/config

1
2
3
vim /etc/selinux/config

SELINUX=disabled

关闭防火墙,selinux,NetworkManager

1
2
3
4
systemctl stop firewalld NetworkManager.service
systemctl disable firewalld NetworkManager.service
systemctl status firewalld NetworkManager.service
setenforce 0

验证结果

1.在另一台机器,新建一个repo文件,并移除原系统自带的repo文件,避免和新建的配置文件内容冲突。

1
2
3
4
5
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

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

3.repo文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[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

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

1
2
yum clean all
yum makecache

如果出现连接错误,请检查主机网络连接状态,并确认yum源主机的服务是否开启,防火墙是否关闭。

5.安装测试

1
yum install -y openstack-neutron openstack-neutron-ml2

---本文结束感谢您的阅读---
北岸冷若冰霜 wechat
欢迎使用微信扫一扫上面的二维码,订阅我的公众号!
坚持原创分享,点击下方打赏,您的支持将鼓励我继续创作!