聚类opendaylight-boron

时间:2017-04-10 19:21:40

标签: openflow opendaylight

我是使用Mininet对Opendaylight(Boron)群集的新手。我按照“http://docs.opendaylight.org/en/stable-boron/getting-started-guide/common-features/clustering.html”提供的说明进行操作,并配置了三个节点群集。所有三个节点都显示了dlux GUI中已连接交换机的完整拓扑。但是,当我尝试使用“pingall”命令ping所有主机时。我丢失了大部分数据包。并且控制器仅显示拓扑中主机的一部分。

h1 - > X X h4 h5 X h7 h8 h9 h10 h11 h12 h13 X h15 h16
 h2 - > h1 h3 h4 h5 X h7 h8 h9 h10 h11 h12 h13 X h15 h16
 h3 - > h1 h2 h4 h5 X h7 h8 h9 h10 h11 h12 h13 X h15 h16
 h4 - > h1 h2 h3 h5 X h7 h8 h9 h10 h11 h12 h13 X h15 h16
 h5 - > h1 h2 h3 h4 X h7 h8 h9 h10 h11 h12 h13 X h15 h16
 h6 - > X X X X X X X X X X X X14 X X
 h7 - > h1 h2 h3 h4 h5 X h8 h9 h10 h11 h12 h13 X h15 h16
h8 - > h1 h2 h3 h4 h5 X h7 h9 h10 h11 h12 h13 X h15 h16
h9 - > h1 h2 h3 h4 h5 X h7 h8 h10 h11 h12 h13 X h15 h16
h10 - > h1 h2 h3 h4 h5 X h7 h8 h9 h11 h12 h13 X h15 h16
h11 - > h1 h2 h3 h4 h5 X h7 h8 h9 h10 h12 h13 X h15 h16
h12 - > h1 h2 h3 h4 h5 X h7 h8 h9 h10 h11 h13 X h15 h16
h13 - > h1 h2 h3 h4 h5 X h7 h8 h9 h10 h11 h12 X h15 h16
h14 - > X X X X X h6 X X X X X X X X X
h15 - > h1 h2 h3 h4 h5 X h7 h8 h9 h10 h11 h12 h13 X h16
h16 - > h1 h2 h3 h4 h5 X h7 h8 h9 h10 h11 h12 h13 X h15
***结果:24%下降(收到182/240)

在单个控制器下进行测试时,拓扑结构正常,我测试了不同的拓扑尺寸,并得到了相同的结果。我注意到,与提供的链接中的示例相比,My akka.conf文件缺少类“dl-cluster-rpc”。

我在启动拓扑之前使用了addSwitch和addHost函数来创建交换机和主机

        sw = self.addSwitch('c{}'.format(i + 1),cls=OVSKernelSwitch, protocols='OpenFlow13')
            host = self.addHost('h{}'.format(count))

以下是我尝试在mininet中添加多个控制器的方法:

    topo = FatTreeTopo()
    net = Mininet(topo=topo, controller=None, link=TCLink)
    cnt1 = net.addController( 'cnt1',controller=RemoteController,ip='159.203.64.13')
    cnt2 = net.addController( 'cnt2',controller=RemoteController,ip='159.203.10.11')
    cnt3 = net.addController( 'cnt3',controller=RemoteController,ip='159.203.18.68')

    info('*** Starting network\n')
    cnt1.start()
    cnt2.start()
    cnt3.start()
    switches = net.switches
    for sname in switches:
        sname.start([cnt1,cnt2,cnt3]
   net.start()        

我使用OVS-VSCTL命令检查了所有连接到三个控制器的开关:

桥“e16”         控制器“tcp:159.203.103.171:6653”
            is_connected:true
        控制器“tcp:159.203.118.68:6653”
            is_connected:true
        控制器“tcp:159.203.64.133:6653”
            is_connected:true

此外,下面显示了交换机的openflow表,我看到了将数据包转发到所有三个控制器的规则。

OFPST_FLOW回复(OF1.3)(xid = 0x2):  cookie = 0x2b00000000000013,duration = 511.822s,table = 0,n_packets = 206,n_bytes = 17510,priority = 100,dl_type = 0x88cc actions = CONTROLLER:65535  cookie = 0x2b0000000000001a,duration = 506.785s,table = 0,n_packets = 3106,n_bytes = 462409,priority = 2,in_port = 2 actions = output:4,output:3  cookie = 0x2b0000000000001b,duration = 506.785s,table = 0,n_packets = 69,n_bytes = 4354,priority = 2,in_port = 4 actions = output:2,output:3,CONTROLLER:65535  cookie = 0x2b0000000000001c,duration = 506.757s,table = 0,n_packets = 81,n_bytes = 4970,priority = 2,in_port = 3 actions = output:2,output:4,CONTROLLER:65535  cookie = 0x2b00000000000013,持续时间= 511.822s,表= 0,n_packets = 129,n_bytes = 22447,优先级= 0动作=丢弃

非常感谢和祝福

1 个答案:

答案 0 :(得分:0)

问题可能有多种原因

1)检查karaf日志

2)检查实体所有权详细信息

3)检查数据存储碎片状态

4)控制器,控制器和开关之间是否有连接挡板

5)检查操作和配置DS中的流程或条目。

这应该让你对这个问题有一个全面的了解。