技术杂谈 · 2022年12月2日 0

[openstack]01—搭建离线yum本地源

此系列为OpenStack搭建企业私有云实战案例,以下内容均经过个人验证。

注:此处省略centos的安装,若有不懂,请留言。

一、配置yum源

1、启动克隆好的虚拟机,改 hostname 、 ip

#修改hostname为yum01
hostnamectl set-hostname yum01

#检验是否修改成功,返回为yum01表明成功
hostname

#修改IP地址,重启网络,测试网络
sed -i 's/59.251/59.250/g' /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
ping baidu.com

2、检查selinux 和防火墙状态是否关闭

#检查selinux状态,返回为Disabled为关闭
getendorce

#检查防火墙状态
syatemctl status firewalld

3、从阿里云下载 yum 配置文件

cd /etc/yum.repos.d && mkdir backup && mv *.repo backup/
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum -y install centos-release-openstack-train

添加 ceph-nautilus 源

vim /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64
enabled=1
gpgcheck=0
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch
enabled=1
gpgcheck=0
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
enabled=1
gpgcheck=0

4、安装相关软件包

yum -y install createrepo yum-utils httpd reposync
systemctl start httpd && systemctl enable httpd

5、创建仓库目录,同步阿里云软件包至本地

mkdir -p /var/www/html/yumrepos
#同步所有的包到本地,可不操作
reposync -p /var/www/html/yumrepos/
#以下仓库必须同步
reposync -n --repoid=base --repoid=updates -p /var/www/html/yumrepos/
reposync -n --repoid=ceph --repoid=ceph-noarch -p /var/www/html/yumrepos/
reposync -n --repoid=centos-openstack-train -p /var/www/html/yumrepos/
reposync -n --repoid=centos-qemu-ev -p /var/www/html/yumrepos/

安装openresty,同步至本地

yum install yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
reposync -n --repoid=openresty -p /var/www/html/yumrepos/

centos7 离线安装docker-ce

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
reposync -n --repoid=docker-ce --repoid=docker-ce-stable -p /var/www/html/yumrepos/

配置epel源

yum install epel-release
reposync -n --repoid=epel -p /var/www/html/yumrepos/

6、使用 createrepo 命令创建本地 yum 源,即为存放于本地特定位置的众多 rpm 包建立索引,描述各包所需依赖信息,并形成元数据。

进到 /var/www/html/yumrepos/ 目录下的每一个目录执行 createrepo . 命令

cd /var/www/html/yumrepos/base
createrepo .

定期更新

reposync -n --repoid=base -p /var/www/html/yumrepos/
cd /var/www/html/yumrepos/base
createrepo --update . 

二、使用yum源

1、yum源主机上创建private.repo

cd /var/www/html
vim private.repo

[base]
name=CentOS-$releasever - Base
baseurl=http://yum01/yumrepos/base/
gpgcheck=0
enabled=1
[epel]
name=CentOS-$releasever - epel
baseurl=http://yum01/yumrepos/epel/
gpgcheck=0
enabled=1
[docker-ce-stable]
name=CentOS-$releasever - docker-ce-stable
baseurl=http://yum01/yumrepos/docker-ce-stable/
gpgcheck=0
enabled=1
[updates]
name=CentOS-$releasever - Updates
baseurl=http://yum01/yumrepos/updates/
gpgcheck=0
enabled=1
[extras]
name=CentOS-$releasever - Extras
baseurl=http://yum01/yumrepos/extras/
gpgcheck=0
enabled=1
[centos-openstack-train]
name=CentOS-7 - OpenStack train
baseurl=http://yum01/yumrepos/centos-openstack-train/
gpgcheck=0
enabled=1
[centos-qemu-ev]
name=CentOS-$releasever - QEMU EV
baseurl=http://yum01/yumrepos/centos-qemu-ev/
gpgcheck=0
enabled=1
[ceph]
name=ceph-Nautilus
baseurl=http://yum01/yumrepos/ceph/
gpgcheck=0
enabled=1
[ceph-noarch]
name=ceph-noarch Nautilus
baseurl=http://yum01/yumrepos/ceph-noarch/
gpgcheck=0
enabled=1
[centos-nfs-ganesha28]
name=CentOS-7 - NFS Ganesha 2.8
baseurl=http://yum01/yumrepos/centos-nfs-ganesha28/
gpgcheck=0
enabled=1
[openresty]
name=Official OpenResty Open Source Repository for CentOS
baseurl=http://yum01/yumrepos/openresty/
skip_if_unavailable=False
gpgcheck=0
repo_gpgcheck=0
gpgkey=file:///etc/yum.repos.d/pubkey.gpg
enabled=1
enabled_metadata=1

2、在 template 模板主机上执行

cd /etc/yum.repos.d/ && mkdir backup && mv *.repo backup/
wget http://yum01/private.repo -O /etc/yum.repos.d/private.repo

3、更新yum源

yum update
#在执行 yum update 时可能会出现如下包冲突情况。
处理方法:根据提示卸载对应包,再执行 update
yum erase PyQt4-4.10.1-13.el7.x86_64 sip-4.14.6-4.el7.x86_64 -y
yum update -y
#更新完成后, 在/etc/yum.repos.d/目录下会重新生成缺省的 repo 文件,需要先移除,才能继续下一步。
cd /etc/yum.repos.d/ && mkdir bak
mv Cent-*.repo bak

4、安装OpenStack 客户端

yum -y install python-openstackclient

三、关机、克隆

关闭 template 虚拟机,基于更新后的 template 虚拟机进行克隆,需克隆 6 台主机,包括 controller、compute01、compute02、ceph01、ceph02、ceph03。