Openstack离线安装系统-1利用answer文件安装
0. 环境资源规划
- 硬件资源配置单
硬件资源 | 配置 |
---|---|
cpu | 4核 |
内存 | 10G(至少6.5G) |
硬盘 | 100G |
- 软件资源配置单
软件资源 | 版本 |
---|---|
Vmware fusion/workstation | 15.0 |
cent os7 | x86_64-Minimal-2009.iso(建议从阿里云镜像站下载) |
- 网络规划配置单
网卡 | ip |
---|---|
ens33 | 192.168.64.105 |
1. 环境配置
- 关闭防火墙
# 关闭防火墙
systemctl stop firewalld
# 开机禁止启动
systemctl disable firewalld
- 关闭selinux
vi /etc/sysconfig/selinux
在第7行设置SELINUX=disabled
- 修改主机名
hostnamectl set-hostname controller
- 关闭NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
- 配置本地yum源
# 移除原系统自带的repo。
mkdir ori_repo-config
# 移动之前的repo到备份文件架
mv /etc/yum.repos.d/* ./ori_repo-config/
# 创建新的repo文件
vi /etc/yum.repos.d/CentOS-PrivateLocal.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://192.168.2.166/yumrepository/base/
gpgcheck=0
enabled=1
[updates]
name=CentOS-$releasever - Updates
baseurl=http://192.168.2.166/yumrepository/updates/
gpgcheck=0
enabled=1
[extras]
name=CentOS-$releasever - Extras
baseurl=http://192.168.2.166/yumrepository/extras/
gpgcheck=0
enabled=1
[centos-openstack-train]
name=CentOS-7 - OpenStack train
baseurl=http://192.168.2.166/yumrepository/centos-openstack-train/
gpgcheck=0
enabled=1
[centos-qemu-ev]
name=CentOS-$releasever - QEMU EV
baseurl=http://192.168.2.166/yumrepository/centos-qemu-ev/
gpgcheck=0
enabled=1
[centos-ceph-nautilus]
name=CentOS-7 - Ceph Nautilus
baseurl=http://192.168.2.166/yumrepository/centos-ceph-nautilus/
gpgcheck=0
enabled=1
[centos-nfs-ganesha28]
name=CentOS-7 - NFS Ganesha 2.8
baseurl=http://192.168.2.166/yumrepository/centos-nfs-ganesha28/
gpgcheck=0
enabled=1
重新构建yum缓存
yum clean all
yum makecache
- 配置时间同步
ntpdate xxx.xx.xx(选择局域网内时间同步服务器)
- 配置hosts
vi /etc/hosts
192.168.64.104 controller
- 配置网卡为eth0
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 修改device=eth0
DEVICE=eth0
NAME=eth0
# 重命名该网络配置文件为ifcfg-eth0
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
# 编辑grub文件 在第6行处添加
vi /etc/default/grub
net.ifnames=0 biosdevname=0
# 重新生成GRUB配置并更新内核参数
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
2. 安装
- 安装packstack
yum install -y openstack-packstack
- 生成应答文件
packstack --gen-answer-file=/root/test-answer.ini
- 修改配置文件
CONFIG_DEFAULT_PASSWORD=123456
CONFIG_MANILA_INSTALL=n
CONFIG_NOVA_INSTALL=y
CONFIG_NEUTRON_INSTALL=y
CONFIG_HORIZON_INSTALL=y
CONFIG_SWIFT_INSTALL=n
CONFIG_CEILOMETER_INSTALL=n
CONFIG_AODH_INSTALL=n
CONFIG_PANKO_INSTALL=n
CONFIG_SAHARA_INSTALL=n
CONFIG_HEAT_INSTALL=n
CONFIG_MAGNUM_INSTALL=n
CONFIG_TROVE_INSTALL=n
CONFIG_IRONIC_INSTALL=n
CONFIG_CLIENT_INSTALL=y
CONFIG_DEBUG_MODE=n
CONFIG_CONTROLLER_HOST=9.111.x.x 这个就是controller节点的地址,一般就是主节点的地址,主节点意思就是选择一个资源比较好的节点充当主节点
CONFIG_COMPUTE_HOSTS=9.111.x.x, 9.111.x.x 这个是compute节点的地址,一般就是除了主节点剩下的地址,如果你只有两台,那么就两台节点地址都写上,用逗号隔开
CONFIG_NETWORK_HOSTS=9.111.x.x 这个是network节点的地址,一般就是主节点的地址
CONFIG_VMWARE_BACKEND=n
CONFIG_STORAGE_HOST=9.111.x.x
CONFIG_SAHARA_HOST=9.111.x.x 这个和上面那个注释写的不支持了,所以就别管
CONFIG_MARIADB_HOST=9.111.x.x 这个就是openstack的数据库的地址,一般就是主节点的地址
CONFIG_MARIADB_USER=root openstack数据库的用户名
CONFIG_MARIADB_PW=xxx openstack数据库的密码
CONFIG_KEYSTONE_DB_PW=xxx 这个密码就整个统一的密码
CONFIG_KEYSTONE_ADMIN_USERNAME=admin 这个是安装之后dashboard的登录名,建议不改
CONFIG_KEYSTONE_ADMIN_PW=xxx 这个是安装之后dashboard的登录密码,改成统一的密码
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat 这块加
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex # 此处的physnet1命名会和稍后的网络配置有关。
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0
CONFIG_PROVISION_DEMO=n 安装演示demo. 不建议,需要连接到github.占用磁盘空间
- 安装open-stack
packstack --answer-file=/root/test-answer.ini
报错1
ERROR : Failed to run remote script, stdout:
stderr: Warning: Permanently added '10.0.1.221' (ECDSA) to the list of known hosts.
+ trap t ERR
+ facter -p
facter: error while loading shared libraries: leatherman_curl.so.1.3.0: cannot open shared object file: No such file or directory
++ t
++ exit 127
解决:leatherman版本高,需要降低到1.3.0
[root@controller ~]# yum list | grep leatherman
leatherman.x86_64 1.10.0-1.el7 @epel
leatherman-devel.x86_64 1.10.0-1.el7 epel
[root@controller ~]# yum downgrade leatherman
[root@controller ~]# yum list | grep leatherman
leatherman.x86_64 1.3.0-9.el7 @openstack-train
leatherman.x86_64 1.10.0-1.el7 epel
leatherman-devel.x86_64 1.10.0-1.el7 epel
报错2
ERROR : Error appeared during Puppet run: 10.0.1.221_controller.pp
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install openstack-keystone' returned 1: Error: Package: python2-qpid-proton-0.26.0-2.el7.x86_64 (openstack-train)
You will find full trace in log /var/tmp/packstack/20211217-144811-4zhqhW/manifests/10.0.1.221_controller.pp.log
解决:python2-qpid-proton-0.26.0-2.el7.x86_64 这个rpm包找不到合适的。在阿里开源社区下载
- 开源社区地址:https://developer.aliyun.com/packageSearch?word=mitaka
- 搜索 python2-qpid-proton-0.26.0-2.el7.x86_64
上传到controller节点后,使用yum安装
yum install -y python2-qpid-proton-0.26.0-2.el7.x86_64.rpm
安装成功后会显示如图所示信息
查看网络信息
# 安装ifconfig依赖
yum install net-tools.x86_64 -y
# 查看网络信息
ifconfig
图中显示的ip为写文档时新建虚拟机