軟件定義網絡(SDN)應用基礎(微課版)課件 項目6 基于ONOS搭建SND集群_第1頁
軟件定義網絡(SDN)應用基礎(微課版)課件 項目6 基于ONOS搭建SND集群_第2頁
軟件定義網絡(SDN)應用基礎(微課版)課件 項目6 基于ONOS搭建SND集群_第3頁
軟件定義網絡(SDN)應用基礎(微課版)課件 項目6 基于ONOS搭建SND集群_第4頁
軟件定義網絡(SDN)應用基礎(微課版)課件 項目6 基于ONOS搭建SND集群_第5頁
已閱讀5頁,還剩46頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目6基于ONOS搭建SDN集群學習目標項目背景項目需求分析項目相關知識項目實踐項目習題目錄(1)了解ONOS控制器基本架構。(2)掌握ONOS控制器安裝和使用。(2)掌握ONOS控制器集群與監控配置。6.1學習目標項目描述在前面的項目中,公司網絡都只部署了一臺控制器,無法保證網絡運行的穩定性和可靠性,管理員計劃使用主備方式來部署多臺控制器解決這一問題。部署多臺控制器不僅可以實現流量的負載均衡,而且在主控制器發生故障時,備份的控制器能夠接替主控制器的工作,確保業務能夠平穩運行。經研究和對比,本項目決定采用ONOS控制器進行集群的部署和測試。項目拓撲如圖6-1所示。項目描述圖6-1項目拓撲項目描述角色規劃如下表所示主機名稱端口IP地址用途LAN區段controllerens33DHCP連接互聯網

ens340/24SDN控制網Lan0controller2ens33DHCP連接互聯網

ens341/24SDN控制網Lan0表6-1角色規劃項目需求分析本項目通過在SDN環境下部署ONOS控制器,并結合Mininet模擬工具進行測試。通過主備方式部署ONOS控制器,模擬故障觀察ONOS控制器能否實現負載和冗余的功能。在ONOS控制器的UI界面,實現流量的可視化。綜上所述,本次項目設計如下幾點任務。(1)ONOS控制器的安裝和使用。(2)ONOS控制器的集群構建。項目需求分析項目相關知識開放網絡操作系統(OpenNetworkOperatingSystem,ONOS)是由ON.Lab社區發布和維護的開源網絡操作系統。它的主要目的是為軟件定義網絡提供控制器平面組件和管理網絡組件;使用戶在ONOS之上運行軟件程序或模塊;向終端主機和鄰居網絡提供網絡服務。ONOS對網絡及設備進行了更深層次的抽象,對用戶屏蔽了底層網絡硬件、協議以及接口等實現細節,用戶可以直接在ONOS的內核上層編寫應用程序。ONOS從設計之初就為了滿足最苛刻的運營商網絡所提出的要求,它的許多機制都是確保網絡及連接的可靠性,同時保障高可用性。ONOS在北向接口上能支持數百萬個應用程序的操作請求,對網絡事件的響應能保持在50毫秒以下,還能支持控制平面的橫向擴容。ONOS同樣使用了模塊化的概念,用戶能通過模塊的形式對應用程序進行靈活的增加和刪除。6.4.1ONOS控制器的概述ONOS對外開放北向接口API,用戶能基于這些北向API接口開發應用程序。ONOS也支持許多的南向協議,如P4、OpenFlow、Netconf、SNMP、RESTCONF等。1.ONOS控制器架構 ONOS采用了分層架構的設計理念,其分層架構如圖6-2所示。6.4.1ONOS控制器的概述圖6-2ONOS的分層架構ONOS的分層架構分為7層,從上到下分別為應用程序(Apps)、北向APINB(Consumer)API)、Core(Device,Host,Link,Topology,Path,Flow,Intent,Network,...)(內核層)、SB(Providers)API(南向API)、Providers(Device,Host,Link,Flow)(適配器)、Protocols(協議)、NetworkElements(網元)。其中,內核層使用的是分布式的架構,主要負責實現控制器的基本功能。在內核層中,ONOS使用了Floodlight的模塊來實現控制器的基本功能,如交換機的管理、鏈路管理、流表管理等。在ONOS中,用于實現控制器基本功能的模塊被稱為服務或子系統。ONOS定義了幾種主要服務或子系統,如下所示。①設備子系統:用于管理基礎架構設備。②鏈接子系統:用于管理基礎架構鏈接。③主機子系統:用于管理終端主機及終端主機所在網絡上的位置。④拓撲子系統:用于管理按時間順序排列的網絡視圖快照。6.4.1ONOS控制器的概述6.4.1ONOS控制器的概述⑤路徑服務:用于通過最新的拓撲圖快照計算來查找基礎設備之間或終端主機之間的路徑。⑥流規則子系統:用于管理基礎設備的流規則并提供流表計量。⑦數據包子系統:允許偵聽從網絡設備上接收到的數據包,并將數據包通過網絡設備進行輸出。2.ONOS常用命令ONOS的常用命令如表6-2所示。6.4.1ONOS控制器的概述命令作用appactivateModuleName為ONOS激活ModuleName模塊apps列出ONOS中應用程序的信息devices列出所有基礎架構的設備flows列出所有當前已知的流信息get-stats列出統計信息hosts列出當前已知的主機信息links列出所有連接的信息metrics列出系統中已有的計量信息nodes列出所有控制器集群節點ports列出所有設備上的端口信息topology列出ONOS拓撲的摘要信息logout注銷身份,退出已登錄的命令行并且退出ONOSsystem:shutdown關閉并退出ONOS表6-2ONOS常用的命令3.ONOS的Web-UI模塊ONOS啟動之后,默認情況下將自動啟動Web-UI模塊,監聽端口為8181,默認情況下ONOS的圖形界面地址為“http://<controller-ip>:8181/onos/ui/index.html”,頁面默認登錄用戶為onos,默認密碼為rocks,ONOS登錄界面如圖6-3所示。6.4.1ONOS控制器的概述圖6-3ONOS認證頁面ONOS首頁如圖6-4所示,ONOS首頁頂部是一個黑條,如紅色箭頭所示,主要用于顯示導航菜單按鈕、ONOS圖標、使用幫助以及用戶名。除了黑條以外,屏幕上默認情況下顯示的是拓撲視圖,如紫色箭頭所示,其中包括ONOS群集節點面板、ONOS摘要面板、拓撲工具欄。6.4.1ONOS控制器的概述圖6-4ONOS首頁4.ONOS的App應用程序ONOS在啟動后,默認只激活維持基本圖形界面和命令行界面運行的相關模塊。如果需要管理交換機等功能,那么需要用戶通過圖形界面或命令行界面激活對應的App應用程序。激活App應用程序所涉及到的3條關鍵命令如表6-3所示。備注:默認情況下,ONOS通過監聽6633端口提供控制器服務;通過監聽8181端口提供Web-UI圖形界面服務。6.4.1ONOS控制器的概述命令作用appactivateorg.onosproject.openflow激活openflow功能appactivateorg.onosproject.fwd激活2層轉發功能appactivateorg.onosproject.mobility激活主機監測功能表6-3激活App應用程序的關鍵命令在網絡中,如果僅使用一臺控制器對網絡進行集中管理,那么當控制器出現故障時,將會導致整個網絡不可用。通過創建控制器集群可以解決這一問題。ONOS在1.14版本之后開始支持構建ONOS控制器集群。在ONOS的定義中,默認情況下允許單臺OpenFlow交換機連接多臺控制器,但同一時間僅能有一臺主控制器,其他連接上的控制器則均為從控制器。一旦主控制器出現故障或失去連接,從控制器就能接管主控制器的功能。經過重新的鏈路發現操作后,網絡拓撲收斂,網絡控制層服務保持正常。在多個服務器上啟動了ONOS之后,通過執行onos-form-cluster命令即可構建集群。兩臺服務器構建ONOS集群的示例命令如下所示。6.4.2ONOS集群root@hostname:~#/opt/onos/bin/onos-form-clusterSERVER1-IPSERVER2-IP在執行了構建集群的命令后,默認情況下,ONOS服務會自動重啟一次,用于重新加載集群相關的命令和模塊。在ONOS服務重啟完畢時,就可使用ONOS集群的常用命令來維護集群,相關的常用命令如表6-4所示。6.4.2ONOS集群命令作用masters列出當前連接的所有交換機設備balance-masters重新平衡ONOS集群的負載表6-4ONOS集群的常用命令項目實踐任務描述基于源代碼安裝ONOS控制器,配置Mininet連接ONOS控制器。具體可以通過以下步驟完成。(1)上傳對應軟件包到控制器節點。(2)安裝ONOS控制器。(3)Mininet創建拓撲并連接ONOS控制器任務1ONOS控制器的安裝與使用任務拓撲如圖6-5所示。任務1ONOS控制器的安裝與使用圖6-5任務拓撲任務實施(1)登錄控制器,執行【ping】命令測試與外網的連通情況。(2)將提前準備好的ONOS軟件包使用【lrzsz】命令導入到控制器節點內,并查看上傳結果。(3)獲取到的源代碼包格式是壓縮文件格式,因此需要將源代碼包通過tar命令解壓,現將壓縮包解壓到“/opt”目錄下。(4)將解壓后的目錄名稱從onos-1.12.1修改為onos。任務1ONOS控制器的安裝與使用root@controller:~#ls/usr/local/|greponosonos-1.12.1.tar.gzroot@controller:/usr/local#tar-zxfonos-1.12.1.tar.gz-C/optroot@controller:~#mv/opt/onos-1.12.1//opt/onos(5)將ONOS自帶的服務文件進行復制,以便將ONOS作為服務運行。(6)啟動ONOS控制器(ONOS依賴于Java平臺,在本任務中默認已經部署了Java8的平臺)。任務1ONOS控制器的安裝與使用root@controller:~#cp/opt/onos/init/onos.initd/etc/init.d/onos

root@controller:~#cp/opt/onos/init/onos.conf/etc/init/onos.confroot@controller:~#/opt/onos/bin/onos-servicestart啟動ONOS控制器結果如圖6-6所示。任務1ONOS控制器的安裝與使用圖6-6啟動ONOS控制器可以看出,ONOS控制器已經運行,運行時將占用一個會話窗口。 (7)ONOS控制器類似于OpenDayLight控制器,正常提供服務需要在命令行控制臺中使用命令安裝必要組件,相關組件的安裝命令如下所示。安裝必要組件結果如圖6-7所示。任務1ONOS控制器的安裝與使用onos>appactivateorg.onosproject.openflow #安裝OpenFlow的支持onos>appactivateorg.onosproject.fwd #安裝2層交換的支持onos>appactivateorg.onosproject.mobility #安裝主機組件的支持圖6-7安裝必要組件(8)登錄mininet主機,打開終端命令行,切換為root用戶身份,根據任務需求執行命令創建一個樹型拓撲,命令如下。任務驗證(1)登錄控制器主機,打開新一個終端命令行窗口,切換為root用戶身份,查看ONOS控制器監聽端口的狀態。任務1ONOS控制器的安裝與使用root@mininet:~#mn--topo=linear,2,1--switch=ovs,protocols=OpenFlow10--controller=remote,ip=0,port=6633classroom@controller:~$su-root@controller:~#ss-tlnp|grep6633root@controller:~#ss-tlnp|grep8181操作結果如圖6-54所示。可以看出,端口都已經正常啟用了。其中,8181是ONOS的WEBUI監聽端口,6633是ONOS的控制服務監聽端口。(2)在交互式命令行中執行命令查看交換機詳細信息。任務1ONOS控制器的安裝與使用圖6-54查看端口mininet>shovs-vsctlshow查看交換機詳細信息結果如圖6-9所示。可以看出,拓撲中所有交換機都連接上了控制器0,交換機的工作模式是secure。任務1ONOS控制器的安裝與使用圖6-9查看交換機詳細信息(3)在交互式命令行中執行命令查看流表信息。可以看出,ONOS控制器會自動進行LLDP鏈路發現,并且,ONOS控制器下發了默認流表來保證鏈路通信正常。任務1ONOS控制器的安裝與使用mininet>shovs-ofctldump-flowss1mininet>shovs-ofctldump-flowss2mininet>shovs-ofctldump-flowss3查看流表信息結果如圖6-10所示,(以s1為例)

(4)在交互式命令行中執行pingall命令測試拓撲中主機間的連通情況。pingall命令執行結果如圖6-11所示。可以看出,拓撲中的主機通信是正常的。任務1ONOS控制器的安裝與使用圖6-11pingall命令執行結果mininet>pingall(5)在pingall測試后再次執行查看流表的命令(以s1為例)。查看流表結果如圖6-12所示。可以看出,在pingall測試后,新增了8條流表項,這是由于ONOS會自動為拓撲中的交換機針對主機間的ARP通信下發精準流表項。任務1ONOS控制器的安裝與使用圖6-12查看流表(6)在控制器主機上,使用火狐瀏覽器訪問:8181/onos/ui/頁面(默認用戶名為onos,密碼為rocks)查看當前拓撲結構。如圖6-13和6-14所示。任務1ONOS控制器的安裝與使用圖6-13ONOS登錄頁面任務1ONOS控制器的安裝與使用圖6-14當前拓撲結構圖任務描述部署兩臺ONOS控制器節點,并在控制器內部署集群。具體可以通過以下步驟完成。(1)完成ONOS控制器初始化操作。(2)部署ONOS控制器集群。(3)通過Mininet連接ONOS控制器。任務2ONOS控制器的集群構建任務實施(1)參考任務1,完成controller和controller2節點上ONOS控制器的安裝與啟動(步驟1-7)。(2)登錄mininet主機,打開終端命令行,切換為root用戶身份,并執行mn命令按照任務要求創建拓撲結構(3)返回controller節點,打開新終端命令行,切換為root用戶身份后,執行命令利用兩臺ONOS構建控制器集群。任務2ONOS控制器的集群構建classroom@mininet:~$su–root@mininet:~#mn--topo=linear,4,1--switch=ovs,protocols=OpenFlow10--controller=remote,ip=0,port=6633classroom@controller:~$su-root@controller:~#/opt/onos/bin/onos-form-cluster01執行命令利用兩臺ONOS構建控制器集群結果如圖6-15所示。(4)通過ONOS命令行控制臺執行命令查看集群控制器連接情況。masters命令執行結果如圖6-16所示。任務2ONOS控制器的集群構建圖6-15執行命令利用兩臺ONOS構建控制器集群onos>masters圖6-16

執行masters命令查看集群控制器連接情況(5)在Mininet命令行中配置各交換機節點連接controller2主機。(6)通過ONOS命令行控制臺執行命令實現集群控制器之間的負載均衡。在默認情況下運行負載均衡的命令是沒有反饋信息的。任務2ONOS控制器的集群構建mininet>shovs-vsctlset-controllers1tcp:0:6633tcp:1:6633mininet>shovs-vsctlset-controllers2tcp:0:6633tcp:1:6633mininet>shovs-vsctlset-controllers3tcp:0:6633tcp:1:6633mininet>shovs-vsctlset-controllers4tcp:0:6633tcp:1:6633onos>balance-masters

(9)登錄ONOS控制器WEBUI界面,查看拓撲結構。如圖6-71所示。可以看出,執行了負載均衡命令后,原全部連接到0控制器的交換機都被均勻分配給兩臺控制器進行管理。將鼠標指針移動到OVS上,停留1s,將會顯示該OVS所連接的控制器。任務2ONOS控制器的集群構建圖6-17

查看拓撲結構任務驗證(1)通過ss命令查看onos監聽端口的狀態。①在controller上查看。在controller上查看onos監聽端口結果如圖6-18所示。可以看出,controller2上的onos已經成功運行。 任務2ONOS控制器的集群構建root@controller:~#ss-tlnp|grep6633root@controller:~#ss-tlnp|grep8181圖6-18

在controller上查看onos監聽端口(2)在控制集群形成后通過Mininet交互式命令行查看交換機信息(可以看出集群形成后,各交換機均能正常同時連接0與1的控制器)。以S3為例查看交換機信息結果如圖6-20所示。任務2ONOS控制器的集群構建圖6-20

查看交換機信息(3)測試集群形成后拓撲內主機連通情況。pingall命令執行結果如圖6-21所示。可以看出,集群形成后對拓撲內主機連通情況無影響。任務2ONOS控制器的集群構建mininet>pingall圖6-21

pingall命令執行結果(4)通過ONOS命令行控制臺查看負載情況。masters命令執行結果如圖6-22所示。

可以看出,集群內每個控制器平均連接了2個交換機,已經達到了負載均衡的效果。任務2ONOS控制器的集群構建onos>masters圖6-22

masters命令執行結果(5)通過ONOS命令行控制臺查看節點情況。nodes命令執行結果如圖6-23所示。可以看出,當前存在2臺控制器,控制器的IP地址為0和1,使用的端口為9876,控制器的版本為1.12.1。(6)通過ONOS命令行控制臺查看主備情況。任務2ONOS控制器的集群構建onos>nodes圖6-23

nodes命令執行結果onos>rolesroles命令執行結果如圖6-24所示。可以看出,controller節點作為s1和s2的主控制器,而controller2節點作為s3和s4的主控制器,并且兩臺控制器互為備份。(7)在Mininet節點,執行ping命令,令h1節點與h4節點互通。任務2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論