Mininet與OpenDaylight
在Ryu GUI呈現的結果中可以發現,Ryu GUI呈現結果其實蠻陽春的,Host的部分也沒有顯示出來,此次我們將使用OpenDaylight,使呈現的拓樸能夠更加完整。
SDN Hub對於OpenDaylight的介紹相當充實,連映像檔中所存在的OpenDaylight也不同於其他Controller,網站的頁面上也有相當詳細的教學與說明。
這邊所使用的是OpenDaylight的第二代SDN Framework - OpenDaylight Helium (第一代為Hydrogen)
(筆者OS: 第一代氫 第二代氦 接下來應該是鋰鈹硼了)
(筆者OS: 第一代氫 第二代氦 接下來應該是鋰鈹硼了)
SDN Hub已經內建OpenDaylight,這邊我們就不討論從無到有的安裝,直接進入使用階段。
基本上都還是依照網站的教學進行,因此想要獲得更詳細資訊的可以直接前往網頁查看
SDN Hub OpenDaylight Helium : http://sdnhub.org/tutorials/opendaylight-helium/
(2015/08/16)此時的OpenDaylight已經釋出Lithium版本(穩定版為Helium)
不想使用的可以到官方網站下載Li版本嘗試(建議以官方版本為主)
https://www.opendaylight.org/downloads
不想使用的可以到官方網站下載Li版本嘗試(建議以官方版本為主)
https://www.opendaylight.org/downloads
設定步驟
- 架構mininet拓墣
若是要測試結果,可採用網站提供的預設拓樸指令
sudo mn --topo single,3 --mac --switch ovsk,protocols=OpenFlow13 --controller remote
也可以使用自定義的拓墣(在此檔名為testtopo.py 檔案位置~/mininet/examples)
cd ~/mininet/examples nano YourTopoFileName.py
Topo寫完後,需要進行編譯
sudo chmod +x YourTopoFileName.py
接下來就可以執行了 (如果程式有錯在此會出現訊息)
sudo ./YourTopoFileName.py
- 接下來開啟另一個Terminal,用於執行OpenDaylight
SDN Hub已經內建包含OpenDaylight在內的許多Controller
私心建議還是建議下載官方版本安裝會比較好。
如果還是採用SDN Hub版本的話,首先重新編譯一下專案cd SDNHub_Opendaylight_Tutorial mvn clean install
- 這邊可以發現到網站教學指示要找到 run.sh
完全找不到RR
好的,這邊因為與第一版不一樣,所以執行檔也略有更動,改名叫karaf,但是教學似乎沒有隨著版本更新的樣子。我們可以發現目錄裡很貼心的放了run所在位置的捷徑資料夾(run-location)。
該資料夾的實際路徑是(執行檔在bin目錄下)
/home/ubuntu/SDNHub_Opendaylight_Tutorial/distribution/opendaylight-karaf/target/assembly/
- 都準備好之後就可以正式執行OpenDaylight了
- OpenDaylight GUI
進入OpenDaylight的頁面 http://localhost:8181/index.html
這邊使用8181的原因是因為8080被karaf控制佔用了
我們可以發現無法存取
我們需要額外安裝附加的功能
OpenDaylight的features相容性上對我來說相當...複雜
基本上測試了一段時間才終於成功
首先,feature的安裝順序有一些先後順序,
有些feature在沒有安裝前置feature之前就安裝的話可能會發生錯誤。
各種feature的相容性可以參考官方文件(以下是Lithium版本)
https://www.opendaylight.org/software/downloads/lithium
根據OpenDaylight官方文件,在安裝其他feature之前,必需先安裝 MD-SAL clustering
接下來就可以安裝DLUX的Web介面了
如果要一次安裝多種feature,可以使用以下指令feature:install [feature name] [feature name] ...
這邊為了以免發生錯誤什麼的 就一條一條下了feature:install odl-mdsal-clustering feature:install odl-restconf feature:install odl-l2switch-switch feature:install odl-openflowplugin-all feature:install odl-dlux-all feature:install odl-mdsal-all feature:install odl-adsal-northbound
筆者在使用SDN Hub版本的OpenDaylight時,
安裝odl-adsal-northbound時,有發生Error executing command: No feature matching odl-adsal-northbound/0.0.0錯誤
我個人的解法是不要使用SDN Hub版本的OpenDaylight,直接採用官方版本(Lithium)。
最後大概是這樣的畫面 - Mininet拓樸與OpenDaylight
完成前面的步驟後,就可以登入Web介面了
網址為: http://ODL安裝的主機位址:8181/index.html
帳號與密碼皆為admin (如果發生帳密錯誤,請重裝feature)
這邊用預設的拓墣先測試一下,一開始會發現只有一顆switch (controller就真的只知道switch而已)
讓mininet pingall之後,Controller獲得網路狀態,再Reload一次,host就會出現了
cd SDNHub_Opendaylight_Tutorial/run-location
cd bin
./karaf
如果是自行下載官方版本的,karaf就不那麼深了
cd distribution-karaf-0.3.0-Lithium.zip cd bin ./karaf
成功後可以看到以下畫面(若非SDN Hub,則會出現OpenDaylight圖案)
Note :如果GUI介面顯示有任何問題
Note:如果發生No route to host錯誤。
對org.apache.karaf.management.cfg進行修改。
更改為rmiServerHost = 127.0.0.1(或者是你要安裝的主機位址)
cd SDNHub_Opendaylight_Tutorial/run-location/etc/
nano org.apache.karaf.management.cfg
將第42行rmiServerHost = 0.0.0.0更改為rmiServerHost = 127.0.0.1(或者是你要安裝的主機位址)
沒有留言:
張貼留言