云计算: OVN 集群 部署分布式交换机

目录

一、实验

1.环境

[2.OVN 集群 部署云主机](#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)中心端查看

南向控制器

bash 复制代码
ovn-sbctl  show

北向控制器目前为空

bash 复制代码
ovn-nbctl  show

(3)业务端查看

bash 复制代码
 ovs-vsctl show

ovn_node01

ovn_node02

2.OVN 集群 部署云主机

(1)ovn_node01创建云主机

bash 复制代码
virt-manager

新建虚拟机

前进

使用镜像

修改内存

完成

强制关机

查看云主机

bash 复制代码
virsh list-all

修改云主机

bash 复制代码
virsh edit cloudserver01

搜索接口

bash 复制代码
:/interface

修改前:

修改后:

bash 复制代码
<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创建云主机

bash 复制代码
virt-manager

新建虚拟机

前进

使用镜像

修改内存

完成(网络默认,暂不修改)

强制关机

查看云主机

bash 复制代码
virsh list-all

修改云主机

bash 复制代码
virsh edit cloudserver02

搜索接口

bash 复制代码
:/interface

修改前:

修改后:

bash 复制代码
<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)北向添加逻辑交换机

bash 复制代码
 ovn-nbctl ls-add ls1

(2)添加并设置⽤于连接业务端1的端⼝

bash 复制代码
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的端⼝

bash 复制代码
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)查看北向控制器

bash 复制代码
ovn-nbctl show

(5)查看南向控制器

bash 复制代码
ovn-sbctl show

(6) 业务端查看流表

bash 复制代码
ovs-ofctl  dump-flows  br-int | wc -l

ovn_node01

ovn_node02

(7)业务端OVS添加端⼝映射(南北向接⼝映射)

ovn_node01

bash 复制代码
ovs-vsctl set Interface vm01-1 external_ids:iface-id=ls1-node1-vm1

ovn_node02

bash 复制代码
ovs-vsctl set Interface vm02-1 external_ids:iface-id=ls1-node2-vm2

(8)中心端再次查看南向控制器

端⼝已经绑定

bash 复制代码
ovn-sbctl show

(9)业务端再次查看流表

bash 复制代码
ovs-ofctl  dump-flows  br-int | wc -l

ovn_node01

ovn_node02

(10)网络测试

云主机01 ping 云主机02,目前已通

二、问题

1.南向控制器查看主机名只显示localhost

(1)报错

主机名显示localhost

(2)原因分析

hosts文件配置需要修改。

(3)解决方法

修改hosts文件

bash 复制代码
vim /etc/hosts

成功:

2.中心端如何添加DVR分布式⼤三层路由器

(1)中心端添加逻辑路由器

bash 复制代码
ovn-nbctl lr-add lr1

(2)逻辑路由器添加连接交换机ls1的端⼝

bash 复制代码
ovn-nbctl lrp-add lr1 lr1-ls1 02:01:01:01:0F:01 172.16.1.254/24

(3)逻辑路由器连接逻辑交换机ls1

bash 复制代码
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)查看北向数据库信息

bash 复制代码
ovn-nbctl show

(5)查看南向数据库信息

bash 复制代码
ovn-sbctl show

(6)业务端查看流表

bash 复制代码
ovs-ofctl  dump-flows  br-int | wc -l

ovn_node01

ovn_node02

相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes