之前幾篇文章主要著重於VMware NSX的邏輯交換器運作機制,接下來要由網路二層提升至三層,討論NSX內的邏輯分散式路由器(Logical Distributed Router,簡稱LDR或「邏輯路由器」)架構與功能。
1. 當管理者由NSX Manager或雲平台要求建立一個新
的邏輯路由器,NSX Manager告知vCenter建立LDR Control VM;同時亦告知NSX Controller建立新的Routing Instance。
2. NSX Controller連往各台vSphere Hypervisor的
Routing Kernel Module,告知哪些邏輯交換器會透過此邏輯路由器連結(建立各邏輯交換器間連結的Logical Interface)。
3. LDR Control VM藉由所設定的靜態(Static Route)
或動態路由協定(OSPF/BGP)與Edge Service Gateway進行路由協定交換,並據以建立路由表。
4. LDR Control VM將路由表送往NSX Controller。
5. NSX Controller將建立出的轉發表(Forwarding
Table)送給各Hypervisor內的Routing Kernel Module。
6. 各個Hypervisor內的Routing Kernel Module據此直接
進行各邏輯交換器間,或是往Edge Service Gateway間的封包轉發。
透過邏輯分散式路由器機制,用戶可以在建置NSX環境時,取得下列的效益:
·直接在離各個虛擬機器最近的地方(vSphere Hypervisor)進行封包路由轉發,達成東西向網路流的最佳化。
·將控制層與資料層分離,封包轉送直接於vSphere Hypervisor內發生,而且DLR Control VM失效不影響現有虛擬網路流連線。
·路由器的建立與組態直接透過NSX Manager或雲平台建立,提供集中且自動化的組態。
·不同的系統與租戶都可以依據需求建立自己的邏輯路由器,無須受限於實體網路設備。
接下來,示範如何Step by Step建立邏輯路由器的步驟。雖然由前所述,邏輯路由器的架構與傳統硬體或VM-based的路由器很不一樣,但在設定與管理上,用戶感受到的完全就是一個快速而且直覺的路由器建立流程。
先想像一下實體環境內,原本要建立一台路由器時,管理者要進行的工作計有:
·去找一台或買一台路由器、上架、接電源。
·找網路線把路由器的各個介面接取到對應交換機或者對應VLAN。
·開始進行路由器的機器本身基本設定,例如接Console、設Hostname、設NTP/DNS這類標準的工作。
·設定每個使用的實體介面參數,如IP Address、Mask等等。
·設定路由協定如OSPF、BGP、Static Route等等。
接著,說明在NSX內的邏輯路由器設定方法。考慮下面於NSX內已經建立的三個邏輯交換器,分別是Web、AP、DB網段,各網段內也已經接取了對應的虛擬機器。圖4是簡易的示意圖與NSX介面上的顯示資訊。
|
▲圖4 已經建立的邏輯交換器。 |
此時,Demo-Web-A與Demo-AP-A這兩個虛擬機器可以互相溝通嗎?應該不行,目前是位於兩個完全獨立,沒有透過路由接取的獨立交換器內,如圖5所示。
|
▲圖5 兩個VM Demo-Web-A及Demo-AP-A並不能互相連通。 |
所以藉由邏輯路由器的建立,希望要將三個網段接取在一起,如圖6所示。
|
▲圖6 利用邏輯路由器將三個網段連結路由相通。 |
新增邏輯路由器
要做到上述需求,首先到vCenter NSX選單的NSX Edges介面內,按下〔+〕圖示按鈕來建立新的邏輯路由器,如圖7所示。
|
▲圖7 新增邏輯路由器。 |
因為要建立的是VM與VM間的東西向邏輯路由器,因此當然要在此選擇「Logical (Distributed) Router」選項。
同時,替新路由器選擇一個可以識別的名稱,然後按下〔Next〕按鈕繼續,如圖8所示。
|
▲圖8 選擇邏輯路由器並設定名稱。 |
由前所述,雖然實際的封包路由轉發是在vSphere Host的Hypervisor內直接處理,但仍然會有一個路由器的虛機(LDR Control VM)存在,負責進行路由協定的溝通與路由運算。
既然有VM存在,那麼要設定基本的管理帳戶與密碼也是天經地義的。但是,在圖9中有幾個較為注目的選項:
·Enable SSH access:設定可否由SSH連入CLI介面進行管理。若未點擊,僅能由vSphere Console連入CLI介面。
·Enable High Availability:設定是否啟動HA功能。此處的HA並非vSphere的HA功能,但是若啟用,除了Active的Router VM外,另外還會再啟動一個Standby Router VM。於Active Router VM如果失效,Standby VM會接手提供此路由器的功能。
·Edge Control Level Logging:設定Syslog的發送等級。
|
▲圖9 建立邏輯路由器基本設定。 |
下一步,因為這裡有一個VM存在,所以當然也必須設定所放置的Cluster,以及被安排可使用的Datastore,如圖10所示。
|
▲圖10 設定邏輯路由器虛機所在之Cluster與使用的儲存體。 |
再下一步,LDR需要有一個特殊的管理介面要用來作為虛機本身HA偵測Heartbeat的用途,一般選擇與NSX Controller/NSX Manager可連通的Port-Group,但其實不需要設定IP等資訊,如圖11所示。
|
▲圖11 管理介面設定。 |
設定接取至各個邏輯交換器的資訊
管理項目設定完成,下面則是設定Router的重頭戲,也就是要將此LDR上面的邏輯介面,接取至各個邏輯交換器的資訊設定進去。這邊設定的資訊應該包括:
·與Demo-Web-Switch交換器接取介面:名稱為Web-VIF,Internal Type介面,IP為172.16.10.254,Mask為24。
·與Demo-AP-Switch交換器接取介面:名稱為AP-VIF,Internal Type介面,IP為172.16.20.254,Mask為24。
·與Demo-DB-Switch交換器接取介面:名稱為DB-VIF,Internal Type介面,IP為172.16.30.254,Mask為24。
圖12至圖14為增加第一個邏輯介面Web-VIF的設定畫面。
|
▲圖12 增加路由器上的邏輯介面與設定。 |
|
▲圖13 增加路由器上的邏輯介面,並接取至對應的邏輯交換器。 |
|
▲圖14 設定邏輯介面的IP與Mask資訊。 |
總共有三個網段,依序把三個邏輯介面都設定完後,可以看到如圖15所示的畫面。
|
▲圖15 介面設定完成畫面。 |
下一步是進行Default Gateway的設定,這裡示範的僅是要將三個邏輯交換器連起來,因此就不設定Default Gateway。可以在建立Router時就設定Default Gateway指向再上一層的Edge Service Gateway,或是後續到Router的管理介面內設定路由,如採用Static Route、BGP、OSPF等,如圖16所示。
|
▲圖16 設定Default Gateway。 |