在Ubuntu 12.04 上安裝Open vSwitch
雲計算時代我們已經虛擬化了服務器硬件,現在我們有無數的虛擬機跑在服務器硬件上,看上去很美好,但是任務還沒有完成,這麼多的虛擬機都依賴物理服務器(所在)的網絡端口、網絡和交換機(除了物理依賴還依賴這些物理硬件上的軟件配置),這讓底層變動成為一個大問題,比如我們想改變服務器A 上的網絡設置(192.168.2.0 改成172.16.2.0)或者物理移動服務器A 到另一機房,那麼服務器A 上運行的虛擬機怎麼辦呢?逐個改動配置很麻煩。有沒有一種辦法把虛擬機所在的網絡和物理服務器的網絡隔開呢(雖然可以用VLAN,但是還是不夠)?這正是網絡虛擬化正在做的,通過軟件的方式形成交換機部件(vSwitch),讓各個虛擬機和虛擬交換機連接起來而不用去理會真實物理機和物理交換機。比如,讓Host A 上的VM02 和Host B 上的虛擬機VM10 連成一個網絡而不用理會虛擬機(VM)所在服務器(Host)的網絡設置。 網絡虛擬化或者軟件定義網絡(Software Defined Network, SDN)的應用遠不止這些,任何理解SDN 的技術人員都不應該懷疑SDN 的未來,優勢是如此的明顯以致於沒辦法懷疑,這也是為啥VMware願意花12億美金買Nicira(軟件定義網絡的先驅)。 要使用SDN/OpenFlow 就必須有支持OpenFlow 協議的物理(或軟件)交換機,OpenvSwitch 就是這麼一個支持OpenFlow 協議的開源虛擬交換機。我們從安裝虛擬交換機Open vSwitch 開始來慢慢了解網絡虛擬化吧。 安裝必要軟件包: $ sudo -i # apt-get install kvm libvirt-bin openvswitch-controller openvswitch-brcompat openvswitch-switch openvswitch-datapath-source 啟動Open vSwitch 服務,如果報錯FATAL: Error inserting brcompat_mod 模塊錯誤則需要編譯和加載brcompat_mod 這個模塊,這個模塊是openvswitch 為了兼容linux bridge 而來的,有些程序使用Linux bridge(比如brctl),這些程序為了能在openvswitch 下繼續使用將需要這個brc...