当我尝试从主机终端登录SSH到我的 mininet VM时,它会显示权限被拒绝 错误 ,甚至可以从VM终端中使用命令
托管 Mininetsudo mn --topo single,3 --mac --switch ovsk --controller remote`
它显示以下错误:
ubuntu@ubuntu:~$ sudo mn
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
Cannot find required executable ovs-controller.
Please make sure that it is installed and availabe in your $PATH:
(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin/:/bin)
ubuntu@ubuntu:~$
所以我无法继续使用SDN网络! 如何手动修复以及为什么会发生此错误!
答案 0 :(得分:5)
当我升级到Open vSwitch 2.1时,我遇到了完全相同的问题。 在ovs的发行说明(新闻)中,我发现了这个:
- ovs-controller has been renamed test-controller. It is no longer
packaged or installed by default, because too many users assumed
incorrectly that ovs-controller was a necessary or desirable part
of an Open vSwitch deployment.
我还在test-controller
下找到了./tests/test-controller
(来源分发),所以我试过了
sudo cp tests/test-controller /usr/bin/ovs-controller
这对我来说很好!我也在使用Mininet 2.1,但我不得不做以上工作。 这是输出:
$ sudo mn --controller=ovsc
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
*** Starting 1 switches
s1
*** Starting CLI:
mininet> pingall
*** Ping: testing ping reachability
h1 -> h2
h2 -> h1
*** Results: 0% dropped (2/2 received)
mininet>
有趣的是,他们不鼓励使用test-controller
,甚至更多,以至于Mininet似乎依赖它。也许为此目的有更好的可执行文件?
请告诉我这是否适合您!
答案 1 :(得分:4)
作为上面 csl 的指针,您必须单独安装openvswitch控制器。在ubuntu中,这对我有用:
Englobing.jl
答案 2 :(得分:2)
更简洁的安装方式是使用Ubuntu软件包升级。这将使OVS的未来升级和删除更容易。一个例子是http://gregorygee.wordpress.com/2013/10/24/another-way-to-upgrade-open-vswitch-in-mininet/。
如果您从源代码安装了Open vSwitch并想要将其删除,那么只需返回源目录并运行“卸载”即可。
BTW,我发现如果您在从源安装之前没有在系统上安装Open vSwitch,Open vSwitch安装将不包括系统启动脚本,因此您必须手动安装它们。最好尝试使用打包脚本安装Open vSwtich。