1
2
3
4
5
6
7
作者:李晓辉

联系方式:

微信:Lxh_Chat

邮箱:939958092@qq.com

配置网络

在OpenStack中,管理网络和Provider网络是两种重要的网络类型,它们在架构和使用场景上各有特点。

管理网络

  • 定义:管理网络主要用于OpenStack内部组件之间的通信,例如,计算节点(Nova)、网络节点(Neutron)、存储节点(Cinder)等之间的通信。它确保了OpenStack服务之间的协调和管理功能能够正常运行。

  • 特点

    • 通常是一个私有网络,不直接暴露给外部用户。

    • 配置相对简单,主要关注内部服务的连通性。

    • 在部署时,管理网络的配置是基础步骤之一,确保所有OpenStack节点能够相互通信。

在部署OpenStack时,通常会配置一个管理网络,例如使用一个私有IP段(如192.168.8.0/24),并将所有OpenStack节点的管理接口连接到这个网络。

配置网络

管理网络配置:

  1. IP: 192.168.8.20/23

  2. 网关: 192.168.8.2

  3. DNS: 223.5.5.5

配置方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cat > /etc/NetworkManager/system-connections/ens160.nmconnection <<-'EOF'
[connection]
id=ens160
uuid=0a87b242-54f7-49f2-addd-9cf55772e2f3
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1715837362

[ethernet]

[ipv4]
address1=192.168.8.20/24,192.168.8.2
dns=223.5.5.5;
method=manual

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]
EOF

网卡配置好之后,重启NetworkManager服务或者重启链接生效

1
systemctl restart NetworkManager

Provider网络

  • 定义:Provider网络是由OpenStack管理员创建的网络,它直接映射到数据中心的物理网络上。Provider网络允许虚拟机(VM)直接连接到外部网络,从而实现与外部世界的通信。

  • 特点

    • 直接与物理网络相连,可以使用Flat(无标签)或VLAN(带标签)类型。

    • 对于Flat类型的Provider网络,所有实例都位于同一个网络中,没有VLAN tagging。

    • 对于VLAN类型的Provider网络,可以使用VLAN ID(802.1Q tagged)在物理网络中创建多个隔离的网络。

    • 可以被多个租户共享,提供了一种灵活的方式来管理外部网络访问

Provider网络要求:

我的Provider网络网卡名称为ens224

  1. 这个网络要求没有任何有效的IP地址

  2. 重启服务器要求会自动激活接口

配置方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
cat > /etc/NetworkManager/system-connections/ens224.nmconnection <<-'EOF'
[connection]
id=ens224
uuid=782ef496-4742-4bda-9e4a-01ef691ab0a8
type=ethernet
autoconnect-priority=-999
interface-name=ens224
timestamp=1715865778

[ethernet]

[ipv4]
method=auto

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]
EOF

网卡配置好之后,重启NetworkManager服务或者重启链接生效

1
systemctl restart NetworkManager

配置名称解析

所有机器上都要能互相解析才可以,所以请在所有节点之间完成解析

1
2
3
4
5
6
cat > /etc/hosts <<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.10 controller
192.168.8.20 node
EOF

这里要自己测试是否能ping通各个其他节点,确保通信正常

配置主机名

1
hostnamectl hostname node

关闭防火墙和SELINUX

1
2
3
systemctl disable firewalld --now
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=permissive/' /etc/selinux/config

配置NTP

NTP的作用

在OpenStack中,NTP(网络时间协议)服务是确保整个云平台时间同步的关键组件,NTP服务在OpenStack中的主要作用是确保所有节点(包括控制节点、计算节点、网络节点等)的时间保持一致。这对于分布式系统的正常运行至关重要,因为时间不一致可能导致数据复制、事务处理等问题。例如,数据库系统需要各个节点的时间同步,以确保数据的一致性。

安装NTP

我这里安装了chrony服务做NTP同步

1
2
dnf install chrony -y
systemctl enable chronyd --now

验证NTP

1
2
3
4
5
6
7
[root@controller ~]# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- ntp.wdc2.us.leaseweb.net 2 6 17 44 -13ms[ -13ms] +/- 261ms
^- makaki.miuku.net 3 6 17 44 -33ms[ -33ms] +/- 86ms
^* dns1.synet.edu.cn 1 6 17 44 +352us[ +25ms] +/- 28ms
^- ntp7.flashdance.cx 2 6 17 44 -30ms[ -30ms] +/- 165ms

启用软件仓库

这里的release版本可以参考: https://releases.openstack.org

我这里选择安装dalmatian版本,也就是2025年1月的版本

1
2
3
dnf install dnf-plugins-core epel-release -y
dnf config-manager --set-enabled crb
dnf install centos-release-openstack-dalmatian vim bash-completion -y

安装openstack客户端

1
dnf install python3-openstackclient openstack-selinux -y

安装CRUDINI编辑器(可选)

这一步是为了防止手工vim修改配置文件改错,如果你熟练掌握vim搜索和输入,这一步并不是必须的

1
yum install crudini -y