云计算:Linux 部署 OVN 集群

news2024/10/6 8:23:55

目录

一、实验

1.环境

2.Linux 部署 OVN 集群(中心端)

3.Linux 部署 OVN 集群(业务端1)

4.Linux 部署 OVN 集群(业务端2)

4.OVN 中心端 连接数据库

5.OVN 业务端1 加⼊控制器

6.OVN 业务端2 加⼊控制器

7.OVN 集群查看

二、问题

1.南向控制器节点名称报错


一、实验

1.环境

(1) 主机

表1 主机

主机架构软件主要服务IP备注
ovn_central中心端

ovn-central

openvswitch

ovn-northd(控制平面层)

ovn-controller

192.168.204.64

ovn-nbctl(北向控制器)

ovn-sbctl(南向控制器)

ovn_node01业务端1

openvswitch

libvirt

ovn-controller

openvswitch

libvirtd

192.168.204.65

ovn_node02业务端2

openvswitch

libvirt

ovn-controller

openvswitch

libvirtd

192.168.204.66

(2) 修改hostname

ovs_central

hostnamectl set-hostname ovn_central && bash

ovn_node01

hostnamectl set-hostname ovn_node01 && bash

ovn_node02

hostnamectl set-hostname ovn_node02 && bash

(3) 修改hosts

vim /etc/hosts

① ovs_central

修改前:

修改后:

② ovn_node01

 修改前:

修改后:

③ ovn_node02

 修改前:

修改后:

2.Linux 部署 OVN 集群(中心端)

(1)查阅

1)官方安装文档
https://github.com/ovn-org/ovn/blob/main/Documentation/intro/install/general.rst

(2)删除旧repo

rm -rf /etc/yum.repos.d/*

(3)上传新repo

ls /etc/yum.repos.d/

(4)更新yum源

yum clean all && yum makecache

(5)更新内核

 yum upgrade -y --nogpgcheck

完成:

(6)安装软件包

yum install -y openssl-devel kernel-devel openvswitch openvswitch-devel openvswitch-ipsec openvswitch-test  openvswitch-ovn-common openvswitch-ovn-host libibverbs  --nogpgcheck

完成:

(7)启动服务

systemctl start openvswitch.service && systemctl enable openvswitch.service

(8)查看OVS

ovs-vsctl  show

(9)安装ovn-central

yum install -y ovn-central --nogpgcheck

(10)启动服务

systemctl start ovn-northd.service &&  systemctl enable  ovn-northd.service

systemctl start ovn-controller.service &&  systemctl enable  ovn-controller.service

北向进程ovn-northd.service

控制进程ovn-controller.service

(11)关闭防火墙并查看

关闭

systemctl stop firewalld && systemctl disable firewalld

查看

systemctl status firewalld

(12)验证

目前为空

ovn-nbctl  show
ovn-sbctl  show

(13)查看服务

systemctl list-units | grep -i ovn

(14)确认服务状态

systemctl  is-active ovn-northd.service
systemctl  is-active ovn-controller.service

3.Linux 部署 OVN 集群(业务端1)

(1) 删除旧repo

rm -rf /etc/yum.repos.d/*

(2)上传新repo

ls /etc/yum.repos.d/

(3)更新yum源

yum clean all && yum makecache

(4)更新内核

 yum upgrade -y --nogpgcheck

完成:

(5)安装软件包

yum install -y openssl-devel kernel-devel openvswitch openvswitch-devel openvswitch-ipsec openvswitch-test  openvswitch-ovn-common openvswitch-ovn-host libibverbs  --nogpgcheck

完成:

(6)启动服务

systemctl start openvswitch.service && systemctl enable openvswitch.service
systemctl start ovn-controller.service &&  systemctl enable  ovn-controller.service

 (7)查看OVS

ovs-vsctl  show

(8)确认服务状态

systemctl  is-active openvswitch.service
systemctl  is-active ovn-controller.service

(9) 关闭防火墙并查看

关闭

systemctl stop firewalld && systemctl disable firewalld

 查看

systemctl status firewalld

(10)安装libvirt

yum install -y qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer --nogpgcheck

完成:

(11)启动libvirtd服务

 systemctl start libvirtd && systemctl enable libvirtd

4.Linux 部署 OVN 集群(业务端2)

 (1) 删除旧repo

rm -rf /etc/yum.repos.d/*

(2)上传新repo

ls /etc/yum.repos.d/

(3)更新yum源

yum clean all && yum makecache

(4)更新内核

 yum upgrade -y --nogpgcheck

完成:

(5)安装软件包

yum install -y openssl-devel kernel-devel openvswitch openvswitch-devel openvswitch-ipsec openvswitch-test  openvswitch-ovn-common openvswitch-ovn-host libibverbs  --nogpgcheck

完成:

(6)启动服务

systemctl start openvswitch.service && systemctl enable openvswitch.service
systemctl start ovn-controller.service &&  systemctl enable  ovn-controller.service

 (7)查看OVS

ovs-vsctl  show

(8)确认服务状态

systemctl  is-active openvswitch.service
systemctl  is-active ovn-controller.service

(9) 关闭防火墙并查看

关闭

systemctl stop firewalld && systemctl disable firewalld

 查看

systemctl status firewalld

(10)安装libvirt

yum install -y qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer --nogpgcheck

完成:

(11)启动libvirtd服务

 systemctl start libvirtd && systemctl enable libvirtd

4.OVN 中心端 连接数据库

(1)监听OVN北向数据库

ovn-nbctl set-connection ptcp:6641:192.168.204.64

(2)监听OVN南向数据库

 ovn-sbctl set-connection ptcp:6642:192.168.204.64

(3)查看端口

netstat  -nltp | grep ovsdb-server 

5.OVN 业务端1 加⼊控制器

(1)加入控制器南向接口

ovs-vsctl set open . external-ids:ovn-remote=tcp:192.168.204.64:6642

(2)设置OVN系统ID

 ovs-vsctl set open . external-ids:system-id=node01

(3)设置OVN控制消息封装模式

ovs-vsctl set open . external-ids:ovn-encap-type=geneve

(4)设置OVN本地连接地址

ovs-vsctl set open . external-ids:ovn-encap-ip=192.168.204.65

(5)监听端口

netstat -antp | grep 6642

 (6)查看OVS

ovn_node01

ovs-vsctl show

已⾃动建⽴分布式全互联管理综合⽹桥br-int

6.OVN 业务端2 加⼊控制器

 (1)加入控制器南向接口

ovs-vsctl set open . external-ids:ovn-remote=tcp:192.168.204.64:6642

(2)设置OVN系统ID

 ovs-vsctl set open . external-ids:system-id=node02

(3)设置OVN控制消息封装模式

ovs-vsctl set open . external-ids:ovn-encap-type=geneve

(4)设置OVN本地连接地址

ovs-vsctl set open . external-ids:ovn-encap-ip=192.168.204.66

(5)监听端口

netstat -antp | grep 6642

(6)查看OVS

ovn_node02

ovs-vsctl show

已⾃动建⽴分布式全互联管理综合⽹桥br-int

7.OVN 集群查看

(1) 中心端查看北向控制器

目前为空

ovn-nbctl  show

(2) 中心端查看南向控制器

已更新

ovn-sbctl  show

(3)中心端监听OVN南向数据库

netstat -antp | grep 6642

(3)业务端查看隧道接⼝

ip link | grep gene

ovn_node01

ovn_node02

(4)业务端查看Geneve协议

ip -d link show  genev_sys_6081

ovn_node01

ovn_node02

(5)业务端查看Geneve端口

ovn_node01

ovn_node02

二、问题

1.南向控制器节点名称报错

(1)报错

 ovn_central

Chassis "a01fe9cb-463f-4d2d-b3bb-810b6a923a01"
……
Chassis "37752d67-f6d8-47b7-9ce0-248eb2c1f1fc"
……

 ovn_node01

……
Port "ovn-37752d-0"
……

 ovn_node02

……
Port "ovn-a01fe9-0"
……

(2)原因分析

系统重启后,OVN系统ID丢失。

(3)解决方法

设置OVN系统ID,名字显示为Chassis:

 ovn_node01

ovs-vsctl set open . external-ids:system-id=node01
ovs-vsctl  show

ovn_node02

ovs-vsctl set open . external-ids:system-id=node02
ovs-vsctl  show

 ovn_central

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1594974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI克隆语音(基于GPT-SoVITS)

概述 使用GPT-SoVITS训练声音模型,实现文本转语音功能。可以模拟出语气,语速。如果数据质量足够高,可以达到非常相似的结果。相比于So-VITS-SVC需要的显卡配置更低,数据集更小(我的笔记本NVIDIA GeForce RTX 4050 Lap…

基于LSTM的新闻中文文本分类——基于textCNN与textRNN

构建词语字典 def build_vocab(file_path, tokenizer, max_size, min_freq):# 定义词汇表字典:使用 vocab_dic {} 初始化一个空字典,用于存储每个词及其出现频率vocab_dic {}with open(file_path, r, encodingUTF-8) as f:for line in tqdm(f):lin l…

为什么光伏探勘测绘需要无人机?

随着全球对可再生能源需求的不断增长,光伏产业也迎来了快速发展的机遇。光伏电站作为太阳能发电的主要形式之一,其建设前期的探勘测绘工作至关重要。在这一过程中,无人机技术的应用正逐渐展现出其独特的优势。那么,为什么光伏探勘…

《手机维修600G资料》云盘下载地址

无意中发现一个生财之道,哈哈哈,就是发现有人在一些视频平台,发手机维修之类的视频吸引客户。这样自己就不用开店也可以接生意了。问题剩下就一个了,把手机维修技术学好,一技在手,天上我有。 《手机维修600…

有条件的打破IBGP水平分割----反射规则和联邦+实验举例

背景:在一个AS中的设备运行了BGP协议,那么正常应该都连接了其他的AS,存在EBGP邻居关系;又由于IBGP的水平分割规则,导致从外部学习到的路由传递给本地AS时,需要和本地AS中运行BGP协议都要建立IBGP邻居关系&a…

基于R语言实现的负二项回归模型【理解与实现】-理解负二项回归模型和泊松回归模型之间的区别

前言 我们可以在R语言中使用MASS包中的glm.nb函数来拟合负二项模型,以及使用glm函数来拟合泊松模型。以下是一个详细的过程,包括模拟数据的生成、模型的拟合、结果的比较和解释。 需要的包 if (!require("MASS")) install.packages("M…

ES增强框架easy-es

因为最近做的功能是关于舆情的,所以数据量比较大的,本来打算用MySQL做时间分表来做,但是经过一段时间的测试,发现数据量太大,用时间分表不能满足性能的要求,所以决定将数据存储改为ES,但是短时间内改底层框架又不是一个小工程,时间上不允许,所以找到了一个很合适的框架,他跟myb…

Echarts简单的多表联动效果和添加水印和按钮切换数据效果

多表联动 多表联动效果指的是在多个表格之间建立一种交互关系,以便它们之间的操作或选择能够相互影响。通常情况下,多表联动效果可以通过以下方式之一实现: 数据关联: 当在一个表格中选择或操作某些数据时,另一个表格…

DataGrip连接Docker中的MySQL容器

获取MySQL镜像 通过命令行工具或者docker desktop 命令行: docker pull mysqldocker desktop工具,tag可以指定版本 创建mysql容器 我们知道dockerfile用于编写镜像,dockercompose用于编排容器,所以这里我用dockercompose来创…

eNSP防火墙配置实验(trust、DMZ、untrust)

【拓扑】 设备 接口 IP地址/子网掩码/网关 AR1 G0/0/0 10.1.3.2/24 G0/0/1 100.1.1.2/24 FW1 G0/0/0 192.168.166.254/24 G1/0/0 10.1.1.1/24,trust域 G1/0/1 10.1.2.1/24,DMZ域 G1/0/2 100.1.3.1/24,untrust域 LSW1 G0/0/…

ssm051网上医院预约挂号系统+jsp

网上医院预约挂号系统设计与实现 摘 要 如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让医院预约挂号信息的管理模式进行升级,也为了更好的维护医院预约挂号信息,网上医院…

13.多通道视频流缓存以及显示架构

1 简介 多通道视频流缓存以及显示架构是一个在数字图像处理中很基础也很重要的一个架构。在图像拼接以及高分辨率图像显示方面应用范围较为广泛。本文将介绍一个四通道的图像显示。可以四个图像信息输入以及拼接到一个显示屏里面。使用的开发板为A7 2 框架图 架构图如下图所示…

Day20-【Java SE高级】单元测试 反射 注解 动态代理

一、单元测试 就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试。 1. 咱们之前是如何进行单元测试的?有啥问题? 只能在main方法编写测试代码,去调用其他方法进行测试。无法实现自动化测试,一个方法测试失败,可能…

FJSP:水鹿优化算法(Sambar Optimization Algorithm,SOA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码

一、柔性作业车间调度问题 柔性作业车间调度问题(Flexible Job Shop Scheduling Problem,FJSP),是一种经典的组合优化问题。在FJSP问题中,有多个作业需要在多个机器上进行加工,每个作业由一系列工序组成&a…

什么是 MVVM、mvc 模型

mvc模型 MVC: MVC 即 model-view-controller(模型-视图-控制器)是项目的一种分层架构思想,它把复杂的业务逻辑, 抽离为职能单一的小模块,每个模块看似相互独立,其实又各自有相互依赖关系。它的好处是:保证了…

【信道编码】1 无线通信发展历程与挑战、信道分类、多径信道、单径信号传输与检测

【信道编码】1 无线通信发展历程与挑战、信道分类、多径信道、单径信号传输与检测 写在最前面无线通信发展历程一、电磁波的发现与利用(19世纪末至20世纪初)二、无线电技术的广泛应用(20世纪初至20世纪中叶)三、数字化与移动通信的…

HTML重要标签重点及属性(表格表单列表)——之转生在异世界学前端

表格标签 table是用于定义表格的标签 tr是用于定义表格的行 td是用来定义表格的列,th是表头一般只有一个表头会加粗 表格属性border是设置边框值为1;1是有边框, align设置居中对齐方式center,left,right cellpadding设置文字…

如何下载和安装Google Chrome扩展插件:一步步指南

Google Chrome 插件为我们提供了这样的便利,但有时找到一个有用的插件后,我们可能需要将其下载到本地以便离线使用或备份。 一、为什么可以从Google Chrome商店直接下载插件? Google Chrome 扩展插件主要通过Chrome Web Store分发&#xff…

万兆以太网MAC设计(4)CRC_process模块

文章目录 前言一、模块功能二、实现过程三、仿真总结 前言 上文介绍的MAC_RX模块当中增加了CRC校验和比对的功能,本文将根据CRC校验的结果,来决定将数据输出到上层用户还是丢弃。 一、模块功能 接收MAC_RX模块输出的AXIS数据,存入本地环形…

Spring Cloud学习笔记:Eureka集群搭建样例

这是本人学习的总结,主要学习资料如下 - 马士兵教育 1、项目架构2、Dependency3、项目启动类4、application.yml5、启动项目 1、项目架构 因为这是单机模拟集群搭建,为了方便管理就都放在了一个项目中。这次准备搭建三个项目server1, server2, server3 …