一、openstack 安装与部署(使用VMware)
1、环境介绍
10.10.10.0网段为openstack内部通信局域网,使用10.10.10.0网段,都是用VMnet1的仅主机模式,在网络节点配置了另外一个网卡,使用的为VMnet0桥接模式,使网络节点可以上外网,主要为配置网络yum源,下载一些安装包使用。
在控制节点使用两块硬盘,硬盘为以后存储准备。本身打算配置2台计算节点,但是家里的电脑开四台虚拟机很卡,所以就安装了计算节点computer01和02换成一台computer。
使用的软件有:CentOS-7-x86_64-DVD-1804、openstack_R.tar.gz和xshell6.0,openstack为R版的
2、虚拟机的安装
三台虚拟机都是最小化安装,并且三台linuxCPU配置都是内存4G、4核、CPU开启虚拟化。
control节点: etho 10.10.10.10/24 DNS 114.114.114.114
computer节点:etho 10.10.10.11/24 DNS 114.114.114.114
network节点: etho 10.10.10.13/24 DNS 114.114.114.114
eth1 192.168.10.123 /24 DNS 192.168.10.1 GATEWAY 192.168.10.1
3、linux配置与环境搭建
注意:下面需在是三节点上都做
[root@control ~]# ip add
#使用此命令查看三台虚拟机的ip地址与网卡名是否对应,主要是network的网卡校验,eth0都是10网段,network的eth1是 192网段
[root@control ~] systemctl stop firewalld
[root@control ~] systemctl disable firewalld
[root@control ~] vi /etc/sysconfig/selinux
SELINUX=disabled #修改此行
[root@control ~] setenforce 0
[root@control ~]systemctl stop NetworkManager
[root@control ~]systemctl disable NetworkManager
#上述命令都需在三台虚拟机部署 selinux和firewall都是linux的安全组件,安装前都关了,后面部署虚拟机可以根据需要部署,NetworkManager是网络的图形化配置
[root@control ~]vi /etc/hosts #hosts主机域名解析用
10.10.10.10 control
10.10.10.11 computer
10.10.10.13 network
[root@control ~]vi /etc/ssh/sshd_config #修改DNS解析配置文件
将 #UseDNS yes 一行修改为上图片所示
修改后使用ping命令测试下
[root@control ~]ping network
配置三个节点相互之间ssh 免密码认证
[root@control ~]ssh-keygen -t rsa #一路回车
[root@control ~]ssh-copy-id control #会提示输入节点主机密码,输入就行
[root@control ~]ssh-copy-id network #会提示输入节点主机密码,输入就行
[root@control ~]ssh-copy-id computer #会提示输入节点主机密码,输入就行
[root@network ~]ssh-keygen -t rsa #一路回车
[root@network ~]ssh-copy-id control #会提示输入节点主机密码,输入就行
[root@network ~]ssh-copy-id network #会提示输入节点主机密码,输入就行
[root@network ~]ssh-copy-id computer #会提示输入节点主机密码,输入就行
[root@computer ~]ssh-keygen -t rsa #一路回车
[root@computer ~]ssh-copy-id control #会提示输入节点主机密码,输入就行
[root@computer ~]ssh-copy-id network #会提示输入节点主机密码,输入就行
[root@computer~]ssh-copy-id computer #会提示输入节点主机密码,输入就行
配置完成后可以测试下:
[root@control ~]ssh network #不需要密码直接在control节点上登录了network
下面将上述在control节点修改的hosts文件和sshd_config覆盖network和computer节点的文件,也可以手动编辑
[root@control ~] scp /etc/hosts network:/etc/
[root@control ~] scp /etc/ssh/sshd_config network:/etc/ssh/
[root@control ~] scp /etc/hosts computer:/etc/
[root@control ~] scp /etc/ssh/sshd_config computer:/etc/ssh/
覆盖后最好在另外两个节点处检查下,是否正确
注意:下面只需在network节点上部署
将network节点部署为NTP服务器(时间同步用)
网络节点需要开启软件包缓存,把网上下载的包缓存到本地
[root@network ~]vi /etc/yum.conf
keepcache=1
[root@network ~]yum -y install ntpdate ntp #安装ntpdate和ntp
[root@network ~]vi /etc/ntp.conf #编辑ntp配置文件
restrict default nomodify 删除后面的部分
删除如下四行:
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
添加如下两行:
fudge 127.127.1.0 stratum 10
server 127.127.1.0
去掉注释允许哪些网段的主机来同步时间 改成10网段
restrict 10.10.10.0 mask 255.255.255.0 nomodify notrap
[root@network ~]systemctl start ntpd #启动ntp服务
[root@network ~]systemctl enable ntpd #开机自启动
找到rpm缓存包的位置:
[root@network ~]cd /var/cache/yum/x86_64/7/base/packages
[root@network packages]# scp ntpdate-4.2.6p5-29.el7.centos.x86_64.rpm control:/
将 ntpdate-4.2.6p5-29.el7.centos.x86_64.rpm复制到control根目录下
[root@network packages]# scp ntpdate-4.2.6p5-29.el7.centos.x86_64.rpm computer:/
将 ntpdate-4.2.6p5-29.el7.centos.x86_64.rpm复制到computer根目录下
到control和computer下查看是否存在安装包:
[root@control~]cd /
[root@control /]# ls
[root@control /]#rpm -ivh ntpdate-4.2.6p5-28.el7.centos.x86_64.rpm #安装此包
注意:在computer节点也需同上述步骤
在control和computer节点同步时间到network
[root@control /]# ntpdate 10.10.10.13
[root@copmputer/]# ntpdate 10.10.10.13
在control和computer节点配置计划任务,用来同步时间
[root@control /]# crontab -e
*/2 * * * * /usr/sbin/ntpdate 10.10.10.13 >>/var/log/ntpdate.log #每隔2分钟同步一次时间 并将同步日志记录导入log文件
[root@control /]#systemctl restart crond #重启计划任务
[root@control /]# cat /var/log/ntpdate.log #查看计划任务,等2分钟会刷新出来
注意:在computer节点上也需要如上配置
在network节点上需要安装一些插件,方便传文件到其他几点
[root@network /]# yum -y install lrzsz #安装此插件可以使用rz、sz命令上传、下载数据了
注意:上传文件,执行命令rz,会跳出文件选择窗口,选择好文件,点击确认即可。下载文件,执行命令sz
注意:该命令需要在xshell 或者secucrt 才可使用 但不能再putty或本机里面使用。
此次部署时离线部署,openstack包已下载到本地,只需上传到linux内即可
[root@network /]# rz #上传openstack安装包到network的根目录,在哪个目录下使用rz就上传到哪个目录下,这边使用的是根目录
上传完成后再根目录下用 ls 检查下是否上传成功,然后使用scp命令将openstack包传到control和compuetr节点
[root@network /]# scp openstack_R.tar.gz control:/ #传到了control的根目录
[root@network /]# scp openstack_R.tar.gz computer:/ #传到了computer的根目录
检查三个节点是否都有openstack安装包
[root@network /]# tar xzvf openstack_R.tar.gz #network节点根目录解压安装包
[root@control /]# tar xzvf openstack_R.tar.gz #control节点根目录解压安装包
[root@computer /]# tar xzvf openstack_R.tar.gz #computer节点根目录解压安装包
检查三个节点的根目录下是否都存在解压后的openstack包
创建本地yum源(不会出错)
[root@control /]# cd /etc/yum.repos.d/ #进入到yum源文件包下
[root@control yum.repos.d]# mkdir bak #创建空文件夹bak
[root@control yum.repos.d]#mv *.repo bak #将后缀名为repo的文件移动到bak文件夹下
注意:在network和computer节点上也需上述步骤
[root@control yum.repos.d]# vim openstack.repo *#创建openstack.repo文件并编辑
[openstack]
name=openstack
baseurl=file:///openstack
gpgcheck=0
enabled=1
[centos]
name=centos
baseurl=file:///media
gpgcheck=0
enabled=1
上述配置有两个yum源,其中openstack已准备好,还需要配置一个cenOS7镜像包内的安装软件包的yum源
[root@control /]# mount /dev/cdrom /media #挂载软件包到根目录下的media下
mount: /dev/sr0 is write-protected, mounting read-only #挂载成功
注意:如果不成功,查看vmware的虚拟机配置是否正确,已连接是否选上
注意:挂载的部署也需在network和computer节点上同上述操作
上述完成后,将control节点编辑好的openstack.repo复制到network和computer节点
[root@control /]# scp /etc/yum.repos.d/openstack.repo network:/etc/yum.repos.d/
[root@control /]# scp /etc/yum.repos.d/openstack.repo control:/etc/yum.repos.d/
在三个节点重新刷新yum源
[root@control /]# yum clean all
[root@control /]# yum makecache
[root@control /]# yum repolist
此时control节点的yum已配置完成,还需在network和computer节点同上述三步。
说明:下面操作都是在control节点操作了
[root@control /]# yum -y install openstack-packstack #安装自动化部署工具
[root@control /]# packstack --gen-answer-file=openstack.txt #生成安装应答文件(应答文件会生成在当前目录)
注意目录位置,此时会报错,说是缺少默认网关,在网卡文件上添加GATEWAY=10.10.10.1即可
[root@control /]#vi /etc/sysconf/network-s
[root@control /]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
[root@control /]# packstack --gen-answer-file=openstack.txt #再次使用此命令,会在根目录下生成openstack.txt文件
在根目录下 ls 是否存在openstack.txt文件
[root@control /]# vi openstack.txt #编辑应答文件,修改里面参数
CONFIG_SWIFT_INSTALL=n
CONFIG_AODH_INSTALL=n
CONFIG_CONTROLLER_HOST=10.10.10.10
CONFIG_COMPUTE_HOSTS=10.10.10.11
CONFIG_NETWORK_HOSTS=10.10.10.13
CONFIG_NEUTRON_FWAAS=y
CONFIG_NEUTRON_VPNAAS=y
CONFIG_LBAAS_INSTALL=y
CONFIG_NEUTRON_ML2_FLAT_NETWORKS=physnet1
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth1
CONFIG_PROVISION_DEMO=n
说明:可以使用 /名字 快速定位修改,最好看一遍,里面是openstack的一些软件与配置,可以帮助自己学习openstack,哪些需要安装哪些不需要安装
应答文件中出现的_PW一行都是密码,为方便管理,统一修改为abcd-1234
[root@control /]#sed -i -r ‘s/(.+_PW)=.+/\1=abcd-1234/’ openstack.txt
[root@control /]# packstack --answer-file=openstack.txt #执行自动化安装部署
开始安装
安装时间需要大约20分钟,全是绿色DONE,出现红色表示有错误,需从新查看,错误步骤。
安装完成后,使用火狐浏览器最新版,输入10.10.10.10
用户名:admin
abcd-1234
说明:自己学习时给自己留存的笔记,仅仅提供给大家参考用,后续还会上传一些自己学习理解的笔记,可以看我的资源