云计算: 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

相关推荐
不开心就吐槽3 小时前
docker-compose方式快速安装MySQL
运维·docker·容器
青靴3 小时前
关于NGINX,你了解多少?
运维·nginx
运维行者_3 小时前
DDI 与 OpManager 集成对企业 IT 架构的全维度优化
运维·网络·数据库·华为·架构·1024程序员节·snmp监控
命运之光3 小时前
【快速解决】Linux服务器安装Java17运行环境
linux·运维·服务器
你喜欢喝可乐吗?3 小时前
Ubuntu服务器无法显示命令行登录提示
linux·运维·服务器·ubuntu
阿Q说代码3 小时前
IPIDEA实现数据采集自动化:高效自动化采集方案
运维·python·自动化·数据采集
small_white_robot3 小时前
vulnerable_docker_containement 靶机
运维·网络·web安全·网络安全·docker·容器
FJW0208144 小时前
【Linux】用户管理及优化
linux·运维·服务器
---学无止境---4 小时前
Linux中内核和用户空间通信send_uevent函数的实现
linux·网络
艾莉丝努力练剑4 小时前
【C++:继承】C++面向对象继承全面解析:派生类构造、多继承、菱形虚拟继承与设计模式实践
linux·开发语言·c++·人工智能·stl·1024程序员节