2014-02-10 3 views
2

Если когда-нибудь я пытаюсь войти в SSH к моему mininet VM от хоста терминала он показывает Отказано в ошибка и даже внутри VM терминала, где Mininet размещенный с помощью команды:Mininet ОВС-контроллер может «т быть загружен и запустить

sudo mn --topo single,3 --mac --switch ovsk --controller remote` 

он показывает следующее сообщение об ошибке:

[email protected]:~$ 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) 
[email protected]:~$ 

Поэтому я не могу продолжать использовать сеть SDN! Как это можно исправить вручную и почему эта ошибка происходит!

+0

Какую версию Mininet и Open vSwitch вы используете? Я только что обновил Open vSwitch до 2.1, и я получаю ту же ошибку. Я думаю, это не должно быть слишком сложно исправить. Я нашел некоторые инструкции по https://github.com/mininet/mininet/wiki/Installing-new-version-of-Open-vSwitch, но кажется, что ovs изменили имя двоичного файла ovs-controller (см. Примечания к выпуску). – csl

+0

My Mininet - 2.1, и да, я также обновил OVS до 2.1 и каждый раз: $ sudo mn *** Добавление переключателей: 2014-04-28T23: 45: 28Z | 00001 | reconnect | WARN | unix:/usr/local/var/run/openvswitch/db.sock: попытка подключения не выполнена (соединение отклонено) ovs-vsctl: unix:/usr/local/var/run/openvswitch/db.sock: соединение с базой данных не выполнено (соединение отклонено) ovs-vsctl с кодом 1 *** Ошибка подключения к ovs-db с ovs-vsctl Убедитесь, что установлен Open vSwitch, этот ovsdb-сервер запущен и что «ovs-vsctl show» работает правильно. Возможно, вы захотите попробовать «сервис openvswitch-switch start». – Milson

+0

Попробуйте запустить Mininet с помощью пульта дистанционного управления 'sudo mn --controller = remote'. Я думаю, что это должно сработать. – csl

ответ

4

У меня была такая же проблема, когда я обновился до Open vSwitch 2.1. В выпуске нот OVS (NEWS) Я нашел это:

- 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

Поблагодарите @csl за понимание. Я пробовал: http://gregorygee.wordpress.com/2013/08/20/upgrading-openvswitch-in-mininet-2-0-vm-to-ovs-1-10/ И теперь хотите полностью удалить OVS? У вас есть какие-либо предложения, как я могу это сделать? так что sudo mn без какого-либо дополнительного контроллера может работать нормально, как раньше? – Milson

+0

Если вы хотите удалить его, лучше всего перейти в исходный каталог и запустить 'make uninstall'. Но вы должны убедиться, что вы также остановите службы и удалите модуль ядра. См. Https://github.com/mininet/mininet/wiki/Installing-new-version-of-Open-vSwitch – csl

1

Чистым способом установки было бы использование обновлений пакета Ubuntu. Это облегчит будущую модернизацию OVS и удаление. Пример: http://gregorygee.wordpress.com/2013/10/24/another-way-to-upgrade-open-vswitch-in-mininet/.

Если вы установили Open vSwitch из источника и хотите его удалить, вернитесь в исходный каталог и запустите «make uninstall».

BTW, я обнаружил, что если у вас не было установки Open vSwitch в вашей системе перед установкой из исходного кода, то установка Open vSwitch не будет включать сценарии запуска системы, поэтому вам придется устанавливать их вручную. Лучше всего попробовать и установить Open vSwtich с помощью упаковочных скриптов.

+1

Справедливая точка зрения, но это разрешает только часть установки/удаления; не проблема с отсутствующим (или переименованным) двоичным кодом в ovs 2.1. – csl

+0

@Greg: установить Open vSwtich с помощью упаковочных скриптов можно ли с помощью ubuntu 12.04 LTS? – Milson

+0

Ubuntu 12.04 поставляется с OVS 1.4.3. В моем блоге говорится, как создавать новые пакеты OVS. Что касается отсутствующего двоичного файла, неизвестно, что будет делать Mininet с контроллером OVS. Последние пакеты OVS Ubuntu 14.04 2.0.1, которые по-прежнему содержат ovs-контроллер. Поэтому, как только выпущена версия Ubuntu, которая не включает ovs-контроллер, Mininet нужно будет обновить. – Greg

3

В качестве указателя csl выше, вам необходимо установить контроллер openvswitch отдельно. В ubuntu это то, что сработало для меня:

sudo apt-get install openvswitch-testcontroller 
sudo cp /usr/bin/ovs-testcontroller /usr/bin/ovs-controller 
Смежные вопросы