1. 程式人生 > >Open vSwitch(開放虛擬交換標準)詳解

Open vSwitch(開放虛擬交換標準)詳解

  從虛擬機器到虛擬交換

  提到虛擬化,大家第一印象往往是虛擬機器(Virtual Machine),VMware、Virtualbox,這些大名鼎鼎的虛擬機器軟體不少人都耳熟能詳。對企業使用者來說,虛擬技術最直接的好處是通過靈活配置資源、程式來高資源的利用率,從而降低應用成本。近些年,隨著虛擬化技術、交換技術以及雲端計算服務的發展,虛擬交換(Virtual Switch)已經越來越多的引起人們的關注。

  顧名思義,虛擬交換就是利用虛擬平臺,通過軟體的方式形成交換機部件。跟傳統的物理交換機相比,虛擬交換機同樣具備眾多優點,一是配置更加靈活。一臺普通的伺服器可以配置出數十臺甚至上百臺虛擬交換機,且埠數目可以靈活選擇。例如,VMware的ESX一臺伺服器可以模擬出248臺虛擬交換機,且每臺交換機預設虛擬埠即可達56個;二是成本更加低廉,通過虛擬交換往往可以獲得昂貴的普通交換機才能達到的效能,例如微軟的Hyper-V平臺,虛擬機器與虛擬交換機之間的聯機速度輕易可達10Gbps。

  虛擬交換與Open vSwitch

  2008年底,思科釋出了針對VMWare的Nexus 1000V虛擬交換機,一時之間在業界掀起不小的風頭,並被評為當年虛擬世界大會的最佳新產品。或許思科已經習慣了“群星捧月”,此後很長一段時間裡並沒有見到正式的虛擬交換標準形成。除了惠普一年多以後提出了VEPA(虛擬乙太網埠聚合器),其他廠家關注的多,做事的少。隨著雲端計算跟虛擬技術的緊密融合,以及雲安全的角度考慮,技術市場曲線已經到了拐點,業界已經迫切需要一套開放的VS標準,眾多門派蠢蠢欲動。

  烽煙即燃之際,Open vSwitch橫空出世,以開源技術作為基礎(遵循Apache2.0許可),由Nicira Networks開發,主要實現程式碼為可移植的C程式碼。它的誕生從一開始就得到了虛擬界大佬——Citrix System的關注。可能有讀者對Citrix不熟,但說到Xen恐怕就是婦孺皆知了,沒錯,Citrix正是Xen的東家。OVS在2010年5月才釋出1.0版本。而早在1月初Citrix就在其最新版本的開放雲平臺(ref[2])中宣佈將Open vSwitch作為其預設元件,並在XenServer5.6 FP1中整合,作為其商用的Xen管理器(hypervisor)。除了Xen、Xen Cloud Platform、XenServer之外,支援的其他虛擬平臺包括 KVM、VirtualBox等。

  OVS官方的定位是要做一個產品級質量的多層虛擬交換機,通過支援可程式設計擴充套件來實現大規模的網路自動化。設計目標是方便管理和配置虛擬機器網路,檢測多物理主機在動態虛擬環境中的流量情況。針對這一目標,OVS具備很強的靈活性。可以在管理程式中作為軟體switch執行,也可以直接部署到硬體裝置上作為控制層。同時在Linux上支援核心態(效能高)、使用者態(靈活)。此外OVS還支援多種標準的管理介面,如Netlow、sFlow、RSPAN,、ERSPAN, 、CLI。對於其他的虛擬交換機裝置如VMware的vNetwork分散式交換機跟思科Nexus 1000V虛擬交換機等它也提供了較好的支援。

  目前OVS的官方版本為1.1.0pre2,主要特性包括

  • 虛擬機器間互聯的可視性;
  • 支援trunking的標準802.1Q VLAN模組;
  • 細粒度的QoS;
  • 每虛擬機器埠的流量策略;
  • 負載均衡支援OpenFlow (參考openflow–打造彈性化的可控網際網路)
  • 遠端配置相容Linux 橋接模組程式碼

  OVS獲取

  由於是開源專案,程式碼獲取十分簡單,最新程式碼可以利用git從官方網站下載。此外官方網站還提供了比較清晰的文件資料和應用例程,其部署十分輕鬆。當前最新程式碼包主要包括以下模組和特性:

  • ovs-vswitchd 主要模組,實現switch的daemon,包括一個支援流交換的Linux核心模組;
  • ovsdb-server 輕量級資料庫伺服器,提供ovs-vswitchd獲取配置資訊;
  • ovs-brcompatd 讓ovs-vSwitch替換Linux bridge,包括獲取bridge ioctls的Linux核心模組;
  • ovs-dpctl 用來配置switch核心模組;
  • 一些Scripts and specs 輔助OVS安裝在Citrix XenServer上,作為預設switch;
  • ovs-vsctl 查詢和更新ovs-vswitchd的配置;
  • ovs-appctl 傳送命令訊息,執行相關daemon;
  • ovsdbmonitor GUI工具,可以遠端獲取OVS資料庫和OpenFlow的流表。

  此外,OVS也提供了支援OpenFlow的特性實現,包括

  • ovs-openflowd 一個簡單的OpenFlow交換機;
  • ovs-controller 一個簡單的OpenFlow控制器;
  • ovs-ofctl 查詢和控制OpenFlow交換機和控制器;
  • ovs-pki 為OpenFlow交換機建立和管理公鑰框架;
  • tcpdump的補丁,解析OpenFlow的訊息;

  結語

  IT領域可以稱得上是人類歷史上最開放創新,也是最容易壟斷的行業。PC行業,wintel帝國曾塑造了不朽的神話,證明誰控制了cpu跟os,誰就控制了話語權,只要PC的軟硬體模式不發生革命性變化,wintel帝國的地位將是無人能撼的。後起之秀ARM藉助重視能耗的東風,再加上智慧終端技術的大發展才展露頭角。而在網際網路界,思科更是首先把握住了最核心的交換市場,早早登上至尊之位,即使是步後塵的juniper、huawei也只能是虎口奪食,各憑絕技分天下。現在虛擬交換技術的提出將給這一領域帶來新的契機,究竟鹿死誰手,更待後人評說。

相關閱讀: