实验环境:
两台虚拟机:
OS: CentOS 7.4<br /> node1 2c 4G 60G 两块网卡(host+nat)<br /> node2 2c 2G 40G 两块网卡(host+nat)<br />
IP地址规划:
- host网卡:管理网络(管理机器)+API网络(节点上不同服务之间通信)
nat网卡:VM网络+外部网络
- VM网络:指的是虚拟机通信网络(内部网络)
- 外部网络:虚拟机访问公网服务
- 补充: 业务网络:业务之间网络通信
- 存储网络
- PXE网络
- ....
node1: controller节点(控制|管理节点)
- host: 192.168.100.10
node2: compute节点(计算节点)
- host: 192.168.100.20
- nat: 172.16.100.20
- nat网卡:建议dhcp获取
配置实验环境
配置VMware网络适配器
- 打开虚拟机,选择编辑选项,选择网络编辑器,选择更改设置
- 将host 和 nat ip适配器分别设置成如下图
然后我们保存。
- 检查,打开cmd 输入ipconfig检查网卡是否修改。
装系统
基础环境部署
1. 根据实验室环境修改网卡设置
配置虚拟机网卡
node1: controller节点(控制|管理节点)
- host: 192.168.100.10
- nat: 172.16.100.10
- 我们在第一台虚拟机中进入
/etc/sysconfig/network-scripts/
这个文件夹 - 修改host网卡文件:(注意一般ens33是nat网卡,ens34是host网卡)
- 将这些网卡的ONBOOT都设置成yes(即打开网卡)
- 注意修改完配置之后使用:
systemctl restart network
重启网卡 - 查看网卡ip地址
ip a | grep glo
<注释1>,查看172开头的nat网卡ip地址 - 使用xshell连接虚拟机(注意,这里我们连接的ip地址为nat网卡自动分配的地址,172开头的那个)
编辑ens34文件:
TYPE=Ethernet BOOTPROTO=static NAME=ens34 UUID=1aff4dc3-f361-4993-b185-bc1beeef81da DEVICE=ens34 IPADDR=192.168.100.10 netmask=255.255.255.0 ONBOOT=yes
7.重启ens34网卡
[root@localhost network-scripts]# ifdown ens34 成功断开设备 "ens34"。 [root@localhost network-scripts]# ifup ens34 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)
node2: compute节点(计算节点)
- host: 192.168.100.20
- nat: 172.16.100.20
- nat网卡:建议dhcp获取(原因是我们需要使用虚拟机下载yum源,需要访问外网,所以需要一个访问外网的网卡)
具体配置方法参照1node1
完成之后,我们将两台虚拟机xshell连接的ip地址切换成192.168.100开头的。
2. 修改主机名和添加主机名解析(并测试)
控制节点:
hostnamectl set-hostname controller
vi /etc/hosts
添加 192.168.100.10 controller
192.168.100.20 compute
计算节点:
hostnamectl set-hostname compute
vi /etc/hosts
添加: 192.168.100.10 controller
192.168.100.20 compute
测试验证:
在compute节点: ping controller
在controller节点:ping compute
3. 关闭防火墙和SELINUX
关闭防火墙
https://www.justinwuwei.cn/index.php/archives/67/
关闭selinux
setenforce 0
vi /etc/selinux/config
修改SELINUX=disabled
4. 配置YUM源(阿里云源/本地源)
https://developer.aliyun.com/mirror/centos
NTP同步
NTP提供准确时间,首先要有准确的时间来源,这一时间应该是国际标准时间UTC。
To properly synchronize(同步) services among nodes, you can install Chrony, an implementation(实现) of NTP.
安装chrony服务
controller节点远程同步某台公网上的NTP服务器;compute节点同步controller节点
控制节点(controller)
官方文档:
https://docs.openstack.org/install-guide/environment-ntp-controller.html
NTP服务配置: yum install chrony
1.控制节点修改配置文件
- 同步NTP服务器时间
- 允许其他节点同步控制节点时间
具体操作:vim /etc/chrony.conf
server time1.aliyun.com iburst
server 210.72.145.44 iburst
server s1a.time.edu.cn iburst
allow 192.168.100.0/24
使用 cat /etc/chrony.conf | grep -Ev "^#|^$"
<注释3>查看配置是否添加
自启服务:systemctl enable chronyd && systemctl restart chronyd
2.计算节点修改配置文件
- 同步控制节点vim /etc/chrony.conf
server controller iburst
自启服务:systemctl enable chronyd && systemctl restart chronyd
3. 所有节点启动chronyd服务,并做测试
命令: chronyc sources
查看是否同步:
[root@controller ~]# chronyc sources
210 Number of sources = 3
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 210.72.145.44 0 8 0 - +0ns[ +0ns] +/- 0ns
^* 203.107.6.88 2 6 77 48 -5226us[-4202us] +/- 37ms // 同步成功
^+ 60.10.112.202.in-addr.ar> 1 6 77 47 +13ms[ +13ms] +/- 16ms
[root@compute ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* controller 3 6 37 24 +3617ns[ +941us] +/- 38ms // 同步成功
时区修改命令:timedatectl set-timezone 'Asia/Shanghai'
安装Opnestack包(Q版本): 所有节点
1.下载安装包
yum install centos-release-openstack-queens
2.下载客户端
yum install python-openstackclient
注释
<注释1>
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
详细:https://blog.csdn.net/qq_38646470/article/details/80141695
<注释2>
ifup指令用来启动网络接口设备,设备必须是定义在“/etc/sysconfig/network-scripts/ifcfg-ethX”或者“/etc/sysconfig/network”的文件。这些脚本通常使用一个参数:配置的名称(例如eth0)。在引导序列中,使用“boot”的第二个参数调用它们,以便在引导过程中不想打开的设备(ONBOOT=no)此时可以被忽略。
<注释3>
grep -E和egrep一样,我理解的是扩展版的grep,那个-v是不看后面正则匹配的内容^后面加的东西就是以什么开头的,$前就是以什么结尾的,^#是匹配以#开头的,^$就是空行,这个大概就是不看文件里的空行和以#开头的注释行
此处评论已关闭