【OpenDayLight(Lithium版本)介紹與安裝 — on Ubuntu 16.04】

OpenDaylight (ODL) is a modular open platform for customizing and automating networks of any size and scale. The OpenDaylight Project arose out of the SDN movement, with a clear focus on network programmability. It was designed from the outset as a foundation for commercial solutions that address a variety of use cases in existing network environments.

ODL is driven by a global, collaborative community of vendor and user organizations that continuously adapts to support the industry’s broadest set of SDN and NFV use cases. With over 1000 developers, 50 member organizations and supporting approximately 1 billion subscribers around the world, OpenDaylight is quickly evolving integrated toolchains for leading use cases.

OpenDaylight code has been integrated or embedded in more than 50 vendor solutions and apps, and can be utilized within a range of services. It is also at the core of broader open source frameworks, including ONAPOpenStack, and OPNFV.

                       (節錄於 https://www.opendaylight.org/what-we-do/odl-platform-overview)

OpenDayLigh是一個開放原始碼軟體專案,由Linux基金會支持。 Linux基金會在2013年4月8日公布了這項專案,其目標在於開發支援軟體定義網路(SDN)的各種軟體工具,建立網路功能虛擬化的基礎。主要開發語言為Java

———————————–  安裝流程 ——————————–

現在我們就直接來看看要怎麼安裝吧,首先我們先安裝好Ubuntu 16.04(在這裡示範的是16.04的版本,其他版本沒有測試過)和mininet(還沒安裝mininet的可先到  【Mininet介紹與安裝 — on Ubuntu 16.04】 看看怎麼安裝吧)

  • 安裝java的jdk版本(建議安裝jdk版本比較完整)

    sudo cd /home/[帳戶名稱]
    sudo apt-get install openjdk-8-jdk

    Screenshot from 2017-11-08 17-02-06.png
    安裝java 8 的jdk版本
  • 檢查java是否有成功安裝,以及版本是否正確

    sudo javac
    sudo java -version

    Screenshot from 2017-11-08 03-30-09.png
    輸入javac指令後,系統會提示後面的參數訊息,確認無誤後按下鍵盤 “Ctrl + C”鍵來停止,確認java的版本號為1.8.X開頭

     

  • 設定java的系統變數

    sudo export JAVA_HOME=/usr/lib/jvm/[java版本號資料夾]
    # 預設java安裝路徑在/usr/lib/jvm/底下

    sudo vi /etc/profile
    # 我們將“JAVA_HOME=/usr/lib/jvm/[java版本號資料夾]” 指令加在/etc/profile 檔案裡面的最後一行,作為系統的全域變數

    sudo source /etc/profile
    # 利用source引入進系統變數內

    Screenshot from 2017-11-08 17-05-15.png
    範例中引入的java安裝位置在/usr/lib/jvm/java-1.8.0-openjdk-amd64,請依照實際狀況做替換
    Screenshot from 2017-11-08 17-05-28.png
    將“JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64”加在/etc/profile檔案中的最後一行並儲存

    Screenshot from 2017-11-08 17-05-46.png

  • 下載OpenDayLight套件

    # 下載方式
    1) 官網中直接透過瀏覽器下載(tar / zip 格式均可)
    2) 透過wget 指令下載

    sudo wget [OpenDayLight的網站位址]

    Screenshot from 2017-11-08 17-08-17.png
    OpenDayLight官網的下載位置,由於本範例採用Lithium的版本,所以要到先前的版本去尋找下載頁面

    Screenshot from 2017-11-08 17-14-09
    透過wget指令下載ODL套件
  • 解開壓縮檔

    # 副檔名為tar.gz適用
    sudo tar -zxvf [檔案名稱].tar.gz

    # 副檔名為zip適用
    sudo unzip  [檔案名稱].zip

    Screenshot from 2017-11-08 17-14-29.png
    此處下載下來的檔案名稱為“distribution-karaf-0.3.0-Lithium.tar.gz”
    Screenshot from 2017-11-08 17-15-07.png
    解壓縮後在該目錄底下多了“distribution-karaf-0.3.0-Lithium”資料夾

     

  • 啟動OpenDayLight

    sudo cd distribution-karaf-0.3.0-Lithium
    sudo cd bin
    sudo ./karaf

    Screenshot from 2017-11-08 17-15-30.png
    進入位於ODL所在資料夾底下的bin,並執行./karaf

     

    Screenshot from 2017-11-08 17-15-52.png
    ODL執行成功後,就會看到此畫面
  • 安裝ODL相關features

    # 啟動成功後,系統會有 opendaylight-user@root> 的提示字元,我們可以進行以下操作
    feature:list                                        查看所有features
    feature:list -i                                     查看所有已安裝的features
    feature:install [feature名稱]          安裝features

    # 我們進行以下套件安裝
    feature:install odl-restconf
    feature:install odl-l2switch-switch
    feature:install odl-l2switch-all
    feature:install odl-openflowplugin-all
    feature:install odl-mdsal-all
    feature:install odl-mdsal-apidocs
    feature:install odl-dlux-all
    feature:install odl-adsal-northbound
    feature:install odl-mdsal-clustering
    feature:install odl-dlux-core
    feature:install odl-dlux-node

    Screenshot from 2017-11-09 05-50-32
    安裝完後就把它放著,不要動它
  • 讓OpenDayLight 連上Mininet

    # 請開出兩個terminate,一個執行ODL,一個執行Mininet
    [ODL左]
    保持剛剛的terminate

    —————————————————-
    [Mininet右]
    mn –topo=tree,3 –controller=remote,ip=[本機端/Controller IP 位址]

    Screenshot from 2017-11-08 17-40-03
    此範例本機端位址為192.168.64.12,請視情況調整
  • 查看OpenDayLight GUI 拓墣

    # 請打開外部瀏覽器
    連結網址http://[Controller IP]:8181/index.html
    帳號以及密碼預設均為admin

    螢幕快照 2017-11-08 下午5.45.33.png
    此處範例是用Mac OS執行parallel desktop虛擬機的ubuntu,故以Mac系統來說算是外部瀏覽器
    螢幕快照 2017-11-08 下午5.37.27
    連結網址http://192.168.64.12:8181/index.html,即可看見ODL的登入介面,帳號密碼輸入admin進行登入,此處Controller IP為192.168.64.12請視情況替換
    螢幕快照 2017-11-08 下午5.41.09
    剛剛用mininet所建立的拓墣
    螢幕快照 2017-11-08 下午5.41.45
    flow table欄位

     

    螢幕快照 2017-11-08 下午5.43.07
    相對於Ryu GUI而言,ODL GUI提供較多的資訊,且介面比較華麗

     

  • 顯示OpenDayLight GUI 拓墣的host節點

    # mininet執行pingall
    mininet> pingall

    # 切換至瀏覽器重新載入即可看到host

    Screenshot from 2017-11-09 05-52-45
    右邊mininet環境中執行pingall指令
    螢幕快照 2017-11-09 上午5.53.00
    ODL拓墣顯示了host節點

     

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s