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

相关推荐
wasp5208 小时前
做了技术管理后,我发现技术和管理其实可以兼得
java·运维·网络
云和数据.ChenGuang8 小时前
mysqld.service is not a native service问题解决!
运维·nginx·运维技术·运维工程师技术
赖small强8 小时前
【Linux 网络基础】HTTPS 技术文档
linux·网络·https·tls
写代码的学渣8 小时前
ubuntu 22.04 新装的系统 xshell 连不上
linux·运维·ubuntu
2501_941805939 小时前
深入解析现代多语言后端架构设计:Python、Java、C++与Go在高性能服务中的实践
运维
F***E2399 小时前
如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器
运维·服务器·ssh
序属秋秋秋9 小时前
《Linux系统编程之进程环境》【环境变量】
linux·运维·服务器·c语言·c++·操作系统·系统编程
云边有个稻草人9 小时前
手机也能控 Linux?Cpolar+JuiceSSH 搞定内网远程
运维·服务器·cpolar
Altair12319 小时前
nginx的https的搭建
运维·网络·nginx·云计算
云计算练习生10 小时前
linux shell编程实战 10 Git工具详解与运维场景实战
linux·运维·git