文章目录
一、实验环境
-
① 控制节点 命名为ct
CPU:双核双线程–CPU虚拟化开启
内存:8G 硬盘:300G+2048G(充当CEPH块存储)
网卡:VM1-192.168.100.10 NAT-192.168.226.100(静态)
- 注意,要在安装centos时,选择安装,然后按Tab键,输入 net.ifnames=0 biosdevname=0将网卡改为eth模式
操作系统 centos7(1810) --最小化安装
-
② 计算节点 (网络模块)命名为c1
CPU:双核双线程–CPU虚拟化开启
内存:8G 硬盘:300G+2048G(充当CEPH块存储)
网卡:VM1-192.168.100.11
操作系统 centos7(1810) --最小化安装
-
③ 计算节点2(网络模块)命名为c2
CPU:双核双线程–CPU虚拟化开启
内存:8G 硬盘:300G+2048G(充当CEPH块存储)
网卡:VM1-192.168.100.12
操作系统 centos7(1810) --最小化安装
-
配置要求
控制节点:最小内存6G
计算节点、网络节点:最小内存6G
NAT 充当外部浮动IP地址,远程可以访问内部主机
镜像文件下载处:
https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.iso
#到阿里云下载镜像1908操作系统
二、实验配置思路
-
所有节点:
-
① 安装操作系统,设置好磁盘
-
② 规划网络,配置网卡和IP地址
-
③ 配置本地YUM源仓库(控制节点配置完成后可以直接推送给计算节点
-
④ 关闭防火墙(firewalld、iptables) 设为开机不自启
-
⑤ 关闭网络管理,设为开机不自启
-
⑥ 配置地址映射
-
⑦ 配置免交互 (rst)
-
⑧ 配置时间同步
-
以下只在控制节点配置
-
① 部署OpenStack一键安装工具
-
② 修改应答文件
-
③ 一键部署
-
④ 登录web页面测试
三、实验步骤
3.1 硬件规划
3.2 网络配置
- eth0(VMnet1网卡设置)
[root@ct ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=a2bdfd6d-4e2a-40eb-a5c2-26662ce7e727
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
#GATEWAY=192.168.100.1
#先注释网关,不然之后配置NAT后无法连通外部网络
- eth1(NAT网卡设置)
[root@ct ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
UUID=b9a62994-c748-49a6-881a-8fe8dfefcc43
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.226.100
NETMASK=255.255.255.0
GATEWAY=192.168.226.2
- 加入端口映射、重启网卡,尝试ping 百度
[root@ct ~]# vi /etc/resolv.conf
nameserver 8.8.8.8
[root@ct ~]# systemctl restart network
[root@ct ~]# ping www.baidu.com
PING www.wshifen.com (104.193.88.77) 56(84) bytes of data.
64 bytes from 104.193.88.77 (104.193.88.77): icmp_seq=4 ttl=128 time=149 ms
64 bytes from 104.193.88.77 (104.193.88.77): icmp_seq=5 ttl=128 time=147 ms
64 bytes from 104.193.88.77 (104.193.88.77): icmp_seq=6 ttl=128 time=145 ms
- C1与C2 只要修改VMnet1网卡,与ct节点的VMnet1在同一网段即可
- PS:查看网卡信息命令为:ip addr ,也可以下载ifconfig软件包来使用ifconfig查看网卡
3.3 环境优化
-
使用OpenStack本地yum源搭建yum仓库
① 挂载镜像ISO
[root@ct ~]# vi /etc/fstab
/dev/cdrom /mnt iso9660 defaults 0 0
#添加以上内容
------》wq
#刷新生效
[root@ct ~]# mount -a
[root@ct ~]# df -hT
/dev/sr0 iso9660 4.2G 4.2G 0 100% /mnt
#镜像已挂载成功
- ② 上传openstck文件包,搭建yum仓库
使用finalshell远程连接直接把openstack_rocky.tar.gz上传到/opt目录即可
[root@ct ~]# cd /opt
[root@ct opt]# tar zxvf openstack_rocky.tar.gz
......省略部分内容
[root@ct opt]# cd /etc/yum.repos.d
[root@ct yum.repos.d]# mkdir backup
[root@ct yum.repos.d]# mv Cen* backup
[root@ct yum.repos.d]# vi local.repo
#以下为openstack源
[openstack]
name=openstack
baseurl=file:///opt/openstack_rocky
gpgcheck=0
enabled=1
#以下为本地镜像
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enabled=1
-----》wq
[root@ct yum.repos.d]# yum clean all
[root@ct yum.repos.d]# yum makecache
#先清除缓存,再创建缓存
- 关闭防火墙、核心防护与网络管理,同时设置为开启不自启
[root@ct yum.repos.d]# systemctl stop firewalld
[root@ct yum.repos.d]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@ct yum.repos.d]# setenforce 0
[root@ct yum.repos.d]# vi /etc/sysconfig/selinux
SELINUX=disabled
[root@ct yum.repos.d]# systemctl stop NetworkManager
[root@ct yum.repos.d]# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
-
配置本地主机映射(所有节点服务都需要配置)
此处只展示ct节点
[root@ct yum.repos.d]# vi /etc/hosts
192.168.100.10 ct
192.168.100.11 c1
192.168.100.12 c2
----->wq
- 配置ct 控制节点的时钟服务,同时配置c1 c2节点时间同步
#安装ntp、ntpdate 服务,C1 C2节点只需要安装ntpdate服务即可
[root@ct yum.repos.d]# yum install ntp ntpdate -y
.....省略部分内容
#ct节点同步阿里云时间服务器,c1 c2 直接同步ct服务器即可
[root@ct yum.repos.d]# ntpdate ntp.aliyun.com
#创建计划性任务,周期性进行时间同步
[root@ct yum.repos.d]# crotab -e
*/30 * * * * /usr/sbin/ntpdate ntp.aliyun.com >>/var/log/ntpdate.log
#实验中 同步的时间可以稍微调整长一点,以免产生过多日志文件
#c1 c2节点服务器同理创建周期性计划任务,如下
*/30 * * * * /usr/sbin/ntpdate ct >>/var/log/ntpdate.log
- 修改ct 控制节点ntp主配置文件
[root@ct yum.repos.d]# vim /etc/ntp.conf
#第8行修改
restrict default nomodify
#第17行将default 修改为100网段
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
#21-24行删除
21 server 0.centos.pool.ntp.org iburst
22 server 1.centos.pool.ntp.org iburst
23 server 2.centos.pool.ntp.org iburst
24 server 3.centos.pool.ntp.org iburst
#25-26添加以下内容
fudeg 127.127.1.0 stratum 10
server 127.127.1.0
-----》wq
-
开始crond服务、ntp服务
ct 控制节点开启以下服务
[root@ct yum.repos.d]# systemctl restart crond
[root@ct yum.repos.d]# systemctl enable crond
[root@ct yum.repos.d]# systemctl restart ntpd
[root@ct yum.repos.d]# systemctl enable ntpd
[root@ct yum.repos.d]# systemctl disable chronyd.service
#chronyd 此时间同步服务需要关闭开机自启动,否则ntp服务开机自启动无效
- 两个计算节点仅需开启以下服务
[root@ct yum.repos.d]# systemctl restart crond
[root@ct yum.repos.d]# systemctl enable crond
- 免交互配置(所有节点)
[root@ct yum.repos.d]# ssh-keygen -t rsa
#生成密钥队步骤全部按回车即可
[root@ct yum.repos.d]# ssh-copy-id ct
#需要先确定,输入yes ,然后输入推送目标服务器的密码即可
[root@ct yum.repos.d]# ssh-copy-id c1
[root@ct yum.repos.d]# ssh-copy-id c2
- 重启,检查配置是否生效
[root@ct yum.repos.d]# reboot
3.4 ct 控制节点部署OpenStack
3.4.1 安装一键部署工具
#安装一键部署工具
[root@ct ~]# yum install openstack-packstack
.......省略部分内容
#生成应答文件
[root@ct ~]# packstack --gen-answer-file=openstack.txt
- 在ct 控制节点修改应答文件、同时一键部署openstack
[root@ct ~]# vi openstack.txt
#第41行SWIFT是OpenStack的对象存储组件,默认是Y,在生产环境中一般是不装,所以改n
CONFIG_SWIFT_INSTALL=n
#第50行,默认是Y 需要改n
CONFIG_AODH_INSTALL=n
#第97行需要更改计算节点的IP地址'
CONFIG_COMPUTE_HOSTS=192.168.100.11,192.168.100.12
#第101行 需要更改网络节点的IP地址
CONFIG_NETWORK_HOSTS=192.168.100.10
#第782行LBAAS负载均衡组件。必选要装 选y
CONFIG_LBAAS_INSTALL=y
#第790行 FWAAS是防火墙组件。必选要装 选y
CONFIG_NEUTRON_FWAAS=y
#第794行 VPNAAS是VPN组件。必选要装 选y
CONFIG_NEUTRON_VPNAAS=y
#第817行,FLAT网络这边要设置物理网卡名字
CONFIG_NEUTRON_ML2_FLAT_NETWORKS=physnet1
#第862行,这边要设置物理网卡的名字
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex
#第873行,这边br-ex:eth1是网络节点的nat网卡
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth1
#第1185行 是OpenStack联网下载一个测试镜像,这边没联网。说以改成n
CONFIG_PROVISION_DEMO=n
- 修改openstack账号密码
[root@ct ~]# sed -i -r 's/(.+_PW)=.+/\1=123123/' openstack.tx
- 修改应答文件中所有控制节点IP
[root@ct ~]# sed -i -r 's/192.168.233.100/192.168.100.10/g' openstack.txt
- 备份应答文件
[root@ct ~]# grep -vE "^#|^$" openstack.txt >openstackbak.txt
-
一键部署安装openstack
时间较长,我们可以同时查看后台日志文件 :tail -f /var/log/messages
[root@ct ~]# packstack --answer-file=openstack.txt
#等待时间较长
**** Installation completed successfully ******
#看到此处显示,安装成功
- 查看账户名和密码
[root@ct ~]# cat keystonerc_admin
[root@ct ~]# cat keystonerc_admin
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin #用户名
export OS_PASSWORD='123123' #密码
export OS_AUTH_URL=http://192.168.11.100:5000/v3
export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
3.5 登录web页面测试
- 输入192.168.100.10 进入openstack 页面