云计算: OVN 集群 部署分布式交换机
目录
一、实验
1.环境
2.OVN 集群 部署云主机
3.中心端添加DVS分布式大二层交换机
二、问题
1.南向控制器查看主机名只显示localhost
2.中心端如何添加DVR分布式⼤三层路由器
一、实验
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 目标云主机
云主机 | IP | 备注 |
cloudserver01 | 172.16.1.1 | 宿主机ovn_node01 |
cloudserver02 | 172.16.1.2 | 宿主机ovn_node02 |
(2)中心端查看
南向控制器
ovn-sbctl show
北向控制器目前为空
ovn-nbctl show
(3)业务端查看
ovs-vsctl show
ovn_node01
ovn_node02
2.OVN 集群 部署云主机
(1)ovn_node01创建云主机
virt-manager
新建虚拟机
前进
使用镜像
修改内存
完成
强制关机
查看云主机
virsh list-all
修改云主机
virsh edit cloudserver01
搜索接口
:/interface
修改前:
修改后:
<interface type='bridge'><mac address='02:01:01:01:01:01'/><source bridge='br-int'/><virtualport type='openvswitch'/><target dev='vm01-1'/><model type='virtio'/><address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
挂载镜像
修改启动项为光驱
开机选择第3个命令行
(2) ovn_node02创建云主机
virt-manager
新建虚拟机
前进
使用镜像
修改内存
完成(网络默认,暂不修改)
强制关机
查看云主机
virsh list-all
修改云主机
virsh edit cloudserver02
搜索接口
:/interface
修改前:
修改后:
<interface type='bridge'><mac address='02:01:01:01:01:02'/><source bridge='br-int'/><virtualport type='openvswitch'/><target dev='vm02-1'/><model type='virtio'/><address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
挂载镜像
修改启动项为光驱
开机选择第3个命令行
(3)网络测试
云主机01 ping 云主机02,目前不通
3.中心端添加DVS分布式大二层交换机
(1)北向添加逻辑交换机
ovn-nbctl ls-add ls1
(2)添加并设置⽤于连接业务端1的端⼝
ovn-nbctl lsp-add ls1 ls1-node1-vm1
ovn-nbctl lsp-set-addresses ls1-node1-vm1 02:01:01:01:01:01
ovn-nbctl lsp-set-port-security ls1-node1-vm1 02:01:01:01:01:01
(3)添加并设置⽤于连接业务端2的端⼝
ovn-nbctl lsp-add ls1 ls1-node2-vm2
ovn-nbctl lsp-set-addresses ls1-node2-vm2 02:01:01:01:01:02
ovn-nbctl lsp-set-port-security ls1-node2-vm2 02:01:01:01:01:02
(4)查看北向控制器
ovn-nbctl show
(5)查看南向控制器
ovn-sbctl show
(6) 业务端查看流表
ovs-ofctl dump-flows br-int | wc -l
ovn_node01
ovn_node02
(7)业务端OVS添加端⼝映射(南北向接⼝映射)
ovn_node01
ovs-vsctl set Interface vm01-1 external_ids:iface-id=ls1-node1-vm1
ovn_node02
ovs-vsctl set Interface vm02-1 external_ids:iface-id=ls1-node2-vm2
(8)中心端再次查看南向控制器
端⼝已经绑定
ovn-sbctl show
(9)业务端再次查看流表
ovs-ofctl dump-flows br-int | wc -l
ovn_node01
ovn_node02
(10)网络测试
云主机01 ping 云主机02,目前已通
二、问题
1.南向控制器查看主机名只显示localhost
(1)报错
主机名显示localhost
(2)原因分析
hosts文件配置需要修改。
(3)解决方法
修改hosts文件
vim /etc/hosts
成功:
2.中心端如何添加DVR分布式⼤三层路由器
(1)中心端添加逻辑路由器
ovn-nbctl lr-add lr1
(2)逻辑路由器添加连接交换机ls1的端⼝
ovn-nbctl lrp-add lr1 lr1-ls1 02:01:01:01:0F:01 172.16.1.254/24
(3)逻辑路由器连接逻辑交换机ls1
ovn-nbctl lsp-add ls1 ls1-lr1
ovn-nbctl lsp-set-type ls1-lr1 router
ovn-nbctl lsp-set-addresses ls1-lr1 02:01:01:01:0F:01
ovn-nbctl lsp-set-options ls1-lr1 router-port=lr1-ls1
(4)查看北向数据库信息
ovn-nbctl show
(5)查看南向数据库信息
ovn-sbctl show
(6)业务端查看流表
ovs-ofctl dump-flows br-int | wc -l
ovn_node01
ovn_node02
相关文章:

云计算: OVN 集群 部署分布式交换机
目录 一、实验 1.环境 2.OVN 集群 部署云主机 3.中心端添加DVS分布式大二层交换机 二、问题 1.南向控制器查看主机名只显示localhost 2.中心端如何添加DVR分布式⼤三层路由器 一、实验 1.环境 (1) 主机 表1 宿主机 主机架构软件主要服务IP备注ovn_central中心端 ovn…...

electron+Vue3构建桌面应用之IPC通讯
最近在做一个C/S架构的项目预研 过程中遇到 Electron 与 Vue3 通讯的问题,费劲巴力的在网上找方案,发现都不理想,最终攻克之后,计划将过程写下来,供有需求的同学白嫖! 开始之前,先说一件重要的…...

html球体涨水
简单 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>div…...

ubuntu手动编译opencv 4.9.0遇到的问题汇总
ubuntu手动编译opencv 4.9.0遇到的问题汇总 编译流程 以4.9.0版本为例,可参考:https://docs.opencv.org/4.9.0/d2/de6/tutorial_py_setup_in_ubuntu.html 编译加速 https://blog.csdn.net/tfb760/article/details/104030841 ippicv_2021.10.0_lnx_i…...

SEO之搜索引擎的工作原理(三)
初创企业需要建站的朋友看这篇文章,谢谢支持:我给不会敲代码又想搭建网站的人建议 (接上一篇。。。) 排名 经过搜索引擎蜘蛛抓取页面,索引程序计算得到倒排索引后,搜索引擎就准备好可以随时处理用户搜索了…...

开发语言漫谈-python
python的语法和C完全不同,但是它也是C写的。也就是想成为高手,C是必备武功。不是每个人都想成为武林高手。所以客观上需要个简单上手开发效率高的语言,就这样python诞生了。python的发明人其实不喜欢蟒蛇,但是不知道为啥选这个名字…...

JVM指令收集
1. 栈和局部变量操作 1.1 将常量压入栈的指令aconst_null 将null对象引用压入栈 iconst_m1 将int类型常量-1压入栈 iconst_0 将int类型常量0压入栈 iconst_1 将int类型常量1压入栈 iconst_2 将int类型常量2压入栈 iconst_3 将int类型常量3压入栈 iconst_4 将int类型常量4压入…...

小程序解析二维码:jsQR
1.了解jsQR jsQR是一个纯javascript脚本实现的二维码识别库,不仅可以在浏览器端使用,而且支持后端node.js环境。jsQR使用较为简单,有着不错的识别率。 2.效果图 3.二维码 4.下载jsqr包 npm i -d jsqr5.代码 <!-- index.wxml --> &l…...

【verilog 设计】 reg有没有必要全部赋初值?
一、前言 在知乎发现“reg有没有必要全部赋初值”这个问题,与自己近期对Verilog reg的进一步学习相契合,此文对这个问题进行总结。 二、reg的初值赋值方式 就语法意义赋初值而言,就是在声明reg时对其赋值。在工程中,对于数字系…...

NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
目录 一、说明 二、Deepset SQUAD是个啥? 三、问答系统(QA系统),QA系统在各行业的应用及基本原理 3.1 医疗 3.2 金融 3.3 顾客服务 3.4 教育 3.5 制造业 3.6 法律 3.7 媒体 3.8 政府 四、在不同行业使用QA系统的基本原理 五、关于…...

php开发中如何防止抓包工具伪造请求
要防止抓包工具伪造请求,采取一系列的技术和策略来增强应用程序的安全性。以下是一些关键步骤和最佳实践: 1. 使用HTTPS 确保应用程序使用HTTPS协议进行通信。HTTPS通过TLS/SSL加密客户端和服务器之间的数据传输,这使得抓包工具捕获到的数据…...
密码学 | 椭圆曲线数字签名方法 ECDSA(下)
目录 10 ECDSA 算法 11 创建签名 12 验证签名 13 ECDSA 的安全性 14 随机 k 值的重要性 15 结语 ⚠️ 原文:Understanding How ECDSA Protects Your Data. ⚠️ 写在前面:本文属于搬运博客,自己留着学习。同时,经过几…...

拟态个人主页UI源码
拟态个人主页 效果图源代码领取源码 效果图 PC端 移动端 源代码 index.php <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>孤客 |佩恩</title><meta name"keywords" co…...

移动硬盘无法打开?别慌!这里有救星!
移动硬盘作为现代生活中重要的数据存储工具,承载着我们大量的文件和数据。然而,有时我们会遇到移动硬盘无法打开的情况,这往往让人焦虑不已。那么,当移动硬盘无法打开时,我们应该如何应对呢? 移动硬盘无法打…...

windows下已经创建好了虚拟环境,但是切换不了的解决方法
用得多Ubuntu,今天用Windows重新更新anaconda出问题,重新安装之后,打开pycharm发现打开终端之后,刚开始是ps的状态,后面试了网上改cmd的方法,终端变成c盘开头了 切换到虚拟环境如下:目前的shell…...

Java反序列化基础-类的动态加载
类加载器&双亲委派 什么是类加载器 类加载器是一个负责加载器类的对象,用于实现类加载的过程中的加载这一步。每个Java类都有一个引用指向加载它的ClassLoader。而数组类是由JVM直接生成的(数组类没有对应的二进制字节流) 类加载器有哪…...

课堂行为动作识别数据集
一共8884张图片 xml .txt格式都有 Yolo可直接训练 已跑通 动作类别一共8类。 全部为教室监控真实照片,没有网络爬虫滥竽充数的图片,可直接用来训练。以上图片均一一手工标注,标签格式为VOC格式。适用于YOLO算法、SSD算法等各种目标检测算法…...

【数据库】MVCC
MVCC是一种用来解决读写冲突的无锁并发控制,也就是为事务分配单项增长的时间戳,为每个修改保存一个版本,版本与事务时间戳关联,读操作只读该事务开始前的数据库的快照 MVCC,全称Multi-Version Concurrency Control&am…...

快速排序题目SelectK问题
力扣75.颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sor…...

es6解构赋值
ES6解构赋值是一种简洁的为变量赋值的方式,它允许我们从数组或对象中提取值并赋给对应的变量。 解构赋值在ES6中被引入,主要目的是为了简化代码,提高代码的可读性。以下是解构赋值的基本用法: 数组解构:当我们需要从数…...

Jenkins上面使用pnpm打包
问题 前端也想用Jenkins的CI/CD工作流。 步骤 Jenkins安装NodeJS插件 安装完成,记得重启Jenkins。 全局配置nodejs Jenksinfile pipeline {agent anytools {nodejs "18.15.0"}stages {stage(Check tool version) {steps {sh node -vnpm -vnpm config…...

设计编程网站集:动物,昆虫,蚂蚁养殖笔记
入门指南 区分白蚁与蚂蚁 日常生活中,人们常常会把白蚁与蚂蚁搞混淆,其实这两者是有很大区别的,养殖方式差别也很大。白蚁主要食用木质纤维,会给家庭房屋带来较大危害,而蚂蚁主要采食甜食和蛋白质类食物,不…...

面经学习(众智宏图实习)
个人评价 难度还是有的,中等难度吧,可能是因为项目使用的是物流项目,该项目本来就比较庞大难度比较高,流的八股文我真的是一点不会,还需要加强,reidis的多路io复用模型没有深问,要是问了就寄了&…...

DataGrip2024安装包(亲测可用)
目录 一、软件简介 二、软件下载 一、软件简介 DataGrip是由JetBrains公司开发的一款强大的关系数据库集成开发环境(IDE),专为数据库开发人员和数据库管理员设计。它提供了一个统一的界面,用于管理和开发各种关系型数据库&#x…...

【InternLM 实战营第二期-笔记4】XTuner 微调个人小助手认知
书生浦语是上海人工智能实验室和商汤科技联合研发的一款大模型,很高兴能参与本次第二期训练营,我也将会通过笔记博客的方式记录学习的过程与遇到的问题,并为代码添加注释,希望可以帮助到你们。 记得点赞哟(๑ゝω╹๑) XTuner 微调个人小助手…...

<计算机网络自顶向下> CDN
视频服务挑战 规模性异构性:不同用户有不同的能力(比如有线接入和移动用户;贷款丰富和受限用户)解决方法是:分布式的应用层面的基础设施CDN 多媒体:视频 视频是固定速度显示的一系列图像的序列ÿ…...

【Git教程】(十二)工作流之项目设置 — 何时使用工作流,工作流的结构,项目设置概述、执行过程及其实现 ~
Git教程 工作流之项目设置 1️⃣ 何时使用工作流2️⃣ 工作流的结构3️⃣ 概述4️⃣ 使用要求5️⃣ 执行过程及其实现5.1 基于项目目录创建一个新的版本库5.2 以文件访问的方式共享版本库5.3 用 Git daemon 来共享版本库5.4 用 HTTP 协议来共享版本库5.5 用 SSH 协议来共享版…...

Java 排序算法
冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法,它通过重复地遍历要排序的数列,比较相邻元素的大小并交换位置,使得较大的元素逐渐向数列的末尾移动。 以下是Java实现的冒泡排序代码: public stat…...

【重磅更新】开源表单系统填鸭表单v5版发布!
亲爱的TDucker,你们好。 真诚感谢您对填鸭表单的关注与支持。今天我们将为您带来新版本的更新说明,以便您更好的使用我们的产品。 社区版版V5更新概览: ✅ 增加WebHook数据推送功能,集成TReport实现数据大屏展示。 ✅ 增加主题…...

保姆级教程 | Adobe Illustrator 中插入数学符号
背景 鉴于Adobe Illustrator作为比较专业的绘图/组图软件,我的论文数据作图都会选择先在origin中把原始数据绘制好,后都放入AI中细修。由于在作图过程中需要插入数学符号,但仿佛没有PowerPoint用起来那么熟悉,遂记录下。 步骤 …...