(我这边电脑内存16G,所以就分配了两个节点,根据自己电脑情况而定。如在添加一个计算节点,计算节点的配置是一样的)
实验目的: 如何自动化快速搭建一套Rocky版的openstack云平台 。
**
- [ ] 控制节点安装
**
(安装步骤详细,耐心看下去哦!)
点击【创建新的虚拟机】----点击【自定义】----默认【下一步】----点击【稍后安装操作系统】----选择【Linux】选择【Centos 7 64位】---- 虚拟机名称输入: (自己定义) 位置输入路径:(自己定义)---- 处理器数量:2 每个处理器内核数:2 ---- 内存:8G ---- 选择【使用仅主机模式网络】---- 选择【LSI Logic】---- 选择【scsi】---- 选择【创建新虚拟磁盘】----最大磁盘大小【300G】 ----磁盘文件【CentOS 7 64 位.vmdk】默认----选择【自定义硬件】----选择【处理器】“勾选√虚拟化…” ---- 选择【CD/DVD 】----选择【使用ISO映像文件】浏览路径----选择【网络配置】----自定义【VM1】----选择【关闭】----选择【完成】
选择【编辑虚拟机设置】----选择【添加】----选择【网络适配器】----选择【网络适配器2】----选择自定义【NAT】----点击确定
选择【编辑虚拟机设置】----选择【添加】----选择【硬盘】----选择【SCSI】----选择【创建新虚拟磁盘】----选择【最大磁盘大小】1024G ----磁盘文件默认----点击完成
点击【开启此虚拟机】----选择【Install Centos 7】----按TAB键----按空格键----输入 net.ifnames=0 biosdevname=0 ----按回车键
稍等一会 ----语言【中文】----简体中文----软件选择【最小化】默认
----安装位置【勾选300G硬盘】----【我要配置分区】----【标准分区】----【点击这里自动创建他们】----点击完成----接收更改----点击开始安装----选择ROOT密码 (等待…)
- [ ] ### 控制节点
[root@localhost ~]# hostnamectl set-hostname control
[root@localhost ~]# su
[root@control ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
因为要连接外网,eth0的网关先暂时注释掉。后面起openstack之前,再把网关打开。
[root@control ~]# systemctl restart network ‘重启网络’
[root@control ~]#vi /etc/resolv.conf
nameserver 8.8.8.8
(2个节点都需要操作,现在以控制节点为例)
[root@control opt]# tar zxvf openstack_rocky.tar.gz -C /opt
[root@control ~]# cd /etc/yum.repos.d/
[root@control yum.repos.d]# mkdir backup ‘创建备份目录’
[root@control yum.repos.d]# mv C* ./backup ‘将当前目录下,所有内容转移到./backup’
[root@control yum.repos.d]# cp backup/CentOS-Base.repo local.repo
[root@control yum.repos.d]# vi local.repo
[openstack]
name=openstack
baseurl=file:///opt/openstack_rocky
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[root@control yum.repos.d]# vi /etc/yum.conf
keepcache=1
[root@control ~]# yum clean all ‘检验阿里云源是否正常’
[root@control ~]# yum makecache ‘检查源是否工作正常’
可使用scp将yum源传到另外一个节点,也可在另外一个节点上直接创建
[root@control yum.repos.d]# scp local.repo [email protected]:/etc/yum.repos.d/ ‘输入yes回车,对方的root密码 按回车键
[root@control yum.repos.d]# systemctl stop firewalld
[root@control yum.repos.d]# systemctl disable firewalld
[root@control yum.repos.d]# setenforce 0
[root@control yum.repos.d]# vi /etc/sysconfig/selinux
SELINUX=disabled
[root@control yum.repos.d]# systemctl stop NetworkManager
[root@control yum.repos.d]# systemctl disable NetworkManager
[root@control yum.repos.d]# vi /etc/hosts
192.168.100.10 control
192.168.100.11 c1
[root@control yum.repos.d]# yum -y install ntpdate
[root@control yum.repos.d]# ntpdate ntp.aliyun.com
[root@control yum.repos.d]# crontab -e
*/30 * * * * /usr/sbin/ntpdate ntp.aliyun.com >>/var/log/ntpdate.log
[root@control ~]# systemctl restart crond
[root@control ~]# systemctl enable crond
[root@control ~]# yum -y install ntp
[root@control ~]# vi /etc/ntp.conf
restrict default nomodify ’第8行改‘
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap ‘第17行改’
‘将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
‘删除的地方插入下面内容’
fudeg 127.127.1.0 stratum 10
server 127.127.1.0
[root@control ~]# systemctl disable chronyd.service
[root@control ~]# systemctl restart ntpd ‘重启ntp服务端’
[root@control ~]# systemctl enable ntpd ‘开机启动ntp服务端’
[root@control yum.repos.d]# ssh-keygen -t rsa ‘一路默认回车键’
[root@control yum.repos.d]# ssh-copy-id control ‘输入yes 然后输入密码’
[root@control yum.repos.d]# ssh-copy-id c1 ‘输入yes 然后输入密码’
- [ ] ## 计算节点安装
[root@localhost ~]# hostnamectl set-hostname c1
[root@c1 ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
2、本地OpenStack YUM源部署 ------与控制节点配置相同
3、关闭防火墙、核心保护和网络管理 ------与控制节点配置相同
4、hosts映射 ------与控制节点配置相同
5、时间同步
[root@c1 yum.repos.d]# yum -y install ntpdate
[root@c1 yum.repos.d]# ntpdate 192.168.100.10
[root@c1 yum.repos.d]# crontab -e
*/30 * * * * /usr/sbin/ntpdate 192.168.100.10 >>/var/log/ntpdate.log
[root@c1 ~]# systemctl restart crond
[root@c1 ~]# systemctl enable crond
6、免交互 ------与控制节点配置相同
[root@control ~]# yum -y install openstack-packstack
[root@control ~]# packstack --gen-answer-file=openstack.txt
[root@control ~]# sed -i -r 's/192.168.17.10/192.168.100.10/g' openstack.txt
[root@control ~]#vi openstack.txt
41 CONFIG_SWIFT_INSTALL=n ●第41行SWIFT是OpenStack的对象存储组件,默认是Y,在生产环境中一般是不装,所以该n
50 CONFIG_AODH_INSTALL=n ●第50行,默认是Y 需要改n
94 CONFIG_CONTROLLER_HOST=192.168.100.10 第94行CONTROLLER是OpenStack的控制节点,在控制节点上配置的,不需要更改IP地址。
97 CONFIG_COMPUTE_HOSTS=192.168.100.11 ●第97行需要更改计算节点的IP地址
101 CONFIG_NETWORK_HOSTS=192.168.100.10 ●第101行 需要更改网络节点的IP地址
557 CONFIG_CINDER_VOLUMES_SIZE=1G ●第557行 系统在创建CINDER组件的的时候回创建一个20G卷,因为我们虚拟机空间有限所以把空间改下点1G
778 CONFIG_NEUTRON_METADATA_PW=29948657b3aa409c ●第778行,这样的29948657b3aa409c是密码
782 CONFIG_LBAAS_INSTALL=y ●第782行 LBAAS负载均衡组件。必选要装 选y
790 CONFIG_NEUTRON_FWAAS=y ●第790行 FWAAS是防火墙组件。必选要装 选y
794 CONFIG_NEUTRON_VPNAAS=y ●第794行 VPNAAS是VPN组件。必选要装 选y
817 CONFIG_NEUTRON_ML2_FLAT_NETWORKS=physnet1 ●第817行,FLAT网络这边要设置物理网卡名字
862 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex ●第862行,这边要设置物理网卡的名字
873 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth1 ●第873行,这边br-ex:eth1是网络节点的nat网卡
1185 CONFIG_PROVISION_DEMO=n ●第1185行 是OpenStack联网下载一个测试镜像,这边没联网。说以改成n
[root@control ~]# sed -i -r 's/(.+_PW)=.+/\1=123/' openstack.txt ‘更改密码’
[root@control ~]# sed -i -r 's/192.168.48.10/192.168.100.10/g' openstack.txt
[root@control ~]# grep -vE "^#|^$" openstack.txt >openstackbak.txt ‘做备份用的
用下载工具把openstackbak.txt下载后实验的时候做比对用’
注意:openstack必须配网关,所以这里要把eth0中网关打开。
[root@control ~ ]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
(以控制节点为例)
[root@control ~]# mount /dev/cdrom /mnt
[root@control ~]# df -hT
[root@control ~]# vi /etc/fstab
[root@control ~]# /etc/yum.repos.d/local.repo
[root@control ~]# packstack --answer-file=openstack.txt
安装成功:
在网页上输入 192.168.100.10