自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenStack云平臺的網(wǎng)絡(luò)模式及其工作機(jī)制

運(yùn)維 系統(tǒng)運(yùn)維 OpenStack
網(wǎng)絡(luò),是OpenStack的部署中最容易出問題的,也是其結(jié)構(gòu)中難以理清的部分。經(jīng)常收到關(guān)于OneStack部署網(wǎng)絡(luò)方面問題和OpenStack網(wǎng)絡(luò)結(jié)構(gòu)問題的郵件。下面根據(jù)自己的理解,談一談OpenStack的虛擬網(wǎng)絡(luò)、網(wǎng)絡(luò)拓?fù)浜途W(wǎng)絡(luò)流。

網(wǎng)絡(luò),是OpenStack的部署中最容易出問題的,也是其結(jié)構(gòu)中難以理清的部分。經(jīng)常收到關(guān)于OneStack部署網(wǎng)絡(luò)方面問題和OpenStack網(wǎng)絡(luò)結(jié)構(gòu)問題的郵件。下面根據(jù)自己的理解,談一談OpenStack的虛擬網(wǎng)絡(luò)、網(wǎng)絡(luò)拓?fù)浜途W(wǎng)絡(luò)流。個人理解有限,僅拋磚引玉,有問題請指正,謝謝。

一、相關(guān)概念和要點(diǎn)(可跳過)

1、OpenStack中nova-network的作用

OpenStack平臺中有兩種類型的物理節(jié)點(diǎn),控制節(jié)點(diǎn)和計算節(jié)點(diǎn)??刂乒?jié)點(diǎn)包括網(wǎng)絡(luò)控制、調(diào)度管理、api服務(wù)、存儲卷管理、數(shù)據(jù)庫管理、身份管理和鏡像管理等,計算節(jié)點(diǎn)主要提供nova-compute服務(wù)??刂乒?jié)點(diǎn)的服務(wù)可以分開在多個節(jié)點(diǎn),我們把提供nova-network服務(wù)的節(jié)點(diǎn)稱為網(wǎng)絡(luò)控制器。

OpenStack的網(wǎng)絡(luò)由nova-network(網(wǎng)絡(luò)控制器)管理,它會創(chuàng)建虛擬網(wǎng)絡(luò),使主機(jī)之間以及與外部網(wǎng)絡(luò)互相訪問。

OpenStack的API服務(wù)器通過消息隊列分發(fā)nova-network提供的命令,這些命令之后會被nova-network處理,主要的操作有:分配ip地址、配置虛擬網(wǎng)絡(luò)和通信。

 

區(qū)分以下兩個概念:控制節(jié)點(diǎn)和網(wǎng)絡(luò)控制器

在最簡單的情況下,所有服務(wù)都部署在一個主機(jī),這就是all-in-one;

稍微復(fù)雜點(diǎn),除了nova-compute外所有服務(wù)都部署在一個主機(jī),這個主機(jī)進(jìn)行各種控制管理,因此也就是控制節(jié)點(diǎn)(本文把2個或以上節(jié)點(diǎn)的部署都稱為“多節(jié)點(diǎn)”);

但是,很多情況下(比如為了高可用性),需要把各種管理服務(wù)分別部署在不同主機(jī)(比如分別提供數(shù)據(jù)庫集群服務(wù)、消息隊列、鏡像管理、網(wǎng)絡(luò)控制等)。這個時候網(wǎng)絡(luò)控制器(運(yùn)行nova-network)只是控制節(jié)點(diǎn)群中的一部分。

2、OpenStack中network的2種ip、3種管理模式

Nova有固定IP和浮動IP的概念。固定IP被分發(fā)到創(chuàng)建的實例不再改變,浮動IP是一些可以和實例動態(tài)綁定和釋放的IP地址。

Nova支持3種類型的網(wǎng)絡(luò),對應(yīng)3種“網(wǎng)絡(luò)管理”類型:Flat管理模式、FlatDHCP管理模式、VLAN管理模式。默認(rèn)使用VLAN摸式。

這3種類型的網(wǎng)絡(luò)管理模式,可以在一個ОpenStack部署里面共存,可以在不同節(jié)點(diǎn)不一樣,可以進(jìn)行多種配置實現(xiàn)高可用性。

簡要介紹這3種管理模式,后面再詳細(xì)分析。

  1. Flat(扁平):所有實例橋接到同一個虛擬網(wǎng)絡(luò),需要手動設(shè)置網(wǎng)橋。
  2. FlatDHCP:與Flat(扁平)管理模式類似,這種網(wǎng)絡(luò)所有實例橋接到同一個虛擬網(wǎng)絡(luò),扁平拓?fù)?。不同的是,正如名字的區(qū)別,實例的ip提供dhcp獲?。╪ova-network節(jié)點(diǎn)提供dhcp服務(wù)),而且可以自動幫助建立網(wǎng)橋。
  3. VLAN:為每個項目提供受保護(hù)的網(wǎng)段(虛擬LAN)。 #p#

二、3種網(wǎng)絡(luò)模式的工作機(jī)制

•Flat模式

1)指定一個子網(wǎng),規(guī)定虛擬機(jī)能使用的ip范圍,也就是一個ip池(

  • 分配ip不會超過這個范圍,也就是配置里面的fixed_range,比如10.0.0.1/27,那么可用ip就有32個;
  • 這個網(wǎng)絡(luò)是可以改變的,比如配置好節(jié)點(diǎn)nova.conf和interfaces后,nova-manage network delete 10.0.0.1/27 1 32;nova-manage network create192.168.1.0/24 1 255

);

2)創(chuàng)建實例時,從有效ip地址池接取一個IP,為虛擬機(jī)實例分配,然后在虛擬機(jī)啟動時候注入虛擬機(jī)鏡像(文件系統(tǒng));

3)必須手動配置好網(wǎng)橋(br100),所有的系統(tǒng)實例都是和同一個網(wǎng)橋連接;網(wǎng)橋與連到網(wǎng)橋的實例組成一個虛擬網(wǎng)絡(luò),nova-network所在的節(jié)點(diǎn)作為默認(rèn)網(wǎng)關(guān)。比如flat_interface=eth1;eth1的ip為10.0.0.1,其它網(wǎng)絡(luò)ip在10.0.0.1/27內(nèi)。flat interface-->br100-->flat network

4)此后,網(wǎng)絡(luò)控制器(nova-network節(jié)點(diǎn))對虛擬機(jī)實例進(jìn)行NAT轉(zhuǎn)換,實現(xiàn)與外部的通信。

注意:目前好像配置注入只能夠?qū)inux類型的操作系統(tǒng)實例正常工作,網(wǎng)絡(luò)配置保存在/etc/network/interfaces文件。

•Flat DHCP模式

與Flat模式一樣,從ip池取出ip分配給虛擬機(jī)實例,所有的實例都在計算節(jié)點(diǎn)中和一個網(wǎng)橋相關(guān)。不過,在這個模式里,控制節(jié)點(diǎn)做了更多一些的配置,嘗試和以太網(wǎng)設(shè)備(默認(rèn)為eth0)建立網(wǎng)橋,通過dhcp自動為實例分配flat網(wǎng)絡(luò)的固定ip,可以回收釋放ip。

1)網(wǎng)絡(luò)控制器(運(yùn)行nova-network服務(wù)的節(jié)點(diǎn))運(yùn)行dusmasq作為DHCP服務(wù)器監(jiān)聽這個網(wǎng)橋;

2)實例做一次dhcp discover操作,發(fā)送請求;

3)網(wǎng)絡(luò)控制器把從一個指定的子網(wǎng)中獲得的IP地址響應(yīng)給虛擬機(jī)實例;

4)實例通過網(wǎng)絡(luò)控制器與外部實現(xiàn)互相訪問。

•VLAN網(wǎng)絡(luò)模式

OpenStack的默認(rèn)網(wǎng)絡(luò)管理模式,沒有設(shè)置--network_manager=nova.network.manager.FlatDHCPManager或者FlatManager的時候默認(rèn)為vlan。為了實現(xiàn)多臺機(jī)器的安裝,VLAN網(wǎng)絡(luò)模式需要一個支持VLAN標(biāo)簽(IEEE 802.1Q)的交換機(jī)(switch)。

在這個模式里,為每個項目創(chuàng)建了VLAN和網(wǎng)橋。所有屬于某個項目的實例都會連接到同一個VLAN,必要的時候會創(chuàng)建Linux網(wǎng)橋和VLAN。

每個項目獲得一些只能從VLAN內(nèi)部訪問的私有IP地址,即私網(wǎng)網(wǎng)段。每個項目擁有它自己的VLAN,Linux網(wǎng)橋還有子網(wǎng)。被網(wǎng)絡(luò)管理員所指定的子網(wǎng)都會在需要的時候動態(tài)地分配給一個項目。

1)網(wǎng)絡(luò)控制器上的DHCP服務(wù)器為所有的VLAN所啟動,從被分配到項目的子網(wǎng)中獲取IP地址并傳輸?shù)教摂M機(jī)實例。

2)為了實現(xiàn)用戶獲得項目的實例,訪問私網(wǎng)網(wǎng)段,需要創(chuàng)建一個特殊的VPN實例(代碼名為cloudpipe,用了創(chuàng)建整數(shù)、key和vpn訪問實例)。

3)計算節(jié)點(diǎn)為用戶生成了證明書和key,使得用戶可以訪問VPN,同時計算節(jié)點(diǎn)自動啟動VPN。

4)vpn訪問。

Flat與vLAN的比較

在兩種Flat模式里,網(wǎng)絡(luò)控制器扮演默認(rèn)網(wǎng)關(guān)的角色,實例都被分配了公共的IP地址(扁平式結(jié)構(gòu),都在一個橋接網(wǎng)絡(luò)里)。

vLAN模式功能豐富,很適合提供給企業(yè)內(nèi)部部署使用。但是,需要支持vLAN的switches來連接,而且相對比較復(fù)雜,在小范圍實驗中常采用FlatDHCP模式。#p#

三、詳解FlatDHCP模式(Flat模式類似,只是少了dhcp的部分而已,就略過了)

可以有多種部署方式,比如為了實現(xiàn)高可用性,可以使用多網(wǎng)卡、外部網(wǎng)關(guān)、multi_host 等方法。這里主要介紹基本的部署方式(一個控制節(jié)點(diǎn),或者說一個網(wǎng)絡(luò)控制器)。

1、網(wǎng)卡與節(jié)點(diǎn)

由于網(wǎng)卡和節(jié)點(diǎn)數(shù)的不同,可以簡單分為:單節(jié)點(diǎn)(all-in-one)單網(wǎng)卡、多節(jié)點(diǎn)單網(wǎng)卡、多節(jié)點(diǎn)單網(wǎng)卡、多節(jié)點(diǎn)多網(wǎng)卡

單節(jié)點(diǎn)的情況下,網(wǎng)絡(luò)控制器(運(yùn)行nova-network)與計算(運(yùn)行nova-compute,或者更確切的說,運(yùn)行虛擬機(jī)實例)部署在一個主機(jī)。這樣就不需要控制節(jié)點(diǎn)與計算節(jié)點(diǎn)之間的通信,也就少了很多網(wǎng)絡(luò)概念,這也是入門者常用的方式。

多節(jié)點(diǎn)時,網(wǎng)絡(luò)控制器與計算節(jié)點(diǎn)分別在不同主機(jī),普通部署方式下(不是multi_host),只有nova-network控制網(wǎng)絡(luò),而它僅僅在控制節(jié)點(diǎn)運(yùn)行。因此,所有計算節(jié)點(diǎn)的實例都需要通過控制節(jié)點(diǎn)來與外網(wǎng)通信。

單網(wǎng)卡時,網(wǎng)卡需要作為public網(wǎng)絡(luò)的接口使用,也需要作為flat網(wǎng)絡(luò)的接口,因此需要處于混雜模式。不過建立的網(wǎng)絡(luò)與雙網(wǎng)卡類似,都分為flat網(wǎng)絡(luò)和public網(wǎng)絡(luò)。

使用單網(wǎng)卡,需要在nova.conf中使public_interface和flat_interface都為eth0。

2、網(wǎng)絡(luò)流

如上面分析,在普通部署方式下,只有一個控制節(jié)點(diǎn)(或網(wǎng)絡(luò)控制器),dhcp和外網(wǎng)訪問都需要經(jīng)過它。

dhcp時:

1)網(wǎng)絡(luò)控制器(運(yùn)行nova-network服務(wù)的節(jié)點(diǎn))一直運(yùn)行dusmasq作為DHCP服務(wù)器監(jiān)聽網(wǎng)橋(br100);

2)實例做一次dhcp discover操作,發(fā)送請求;

3)網(wǎng)絡(luò)控制器把從一個指定的子網(wǎng)中獲得的IP地址響應(yīng)給虛擬機(jī)實例。

實例訪問外網(wǎng)時:

1)實例經(jīng)過所在主機(jī)的flat_interface(這是一個flat網(wǎng)絡(luò)),連接到nova-network所在的主機(jī)(控制節(jié)點(diǎn));

2)網(wǎng)絡(luò)控制器對外出網(wǎng)絡(luò)流進(jìn)行轉(zhuǎn)發(fā)。

外網(wǎng)訪問實例時:

1)網(wǎng)絡(luò)控制器對floating ip進(jìn)行nat;

2)通過flat網(wǎng)絡(luò)將流入數(shù)據(jù)路由給對應(yīng)的實例。

下圖1、圖2可以比較單網(wǎng)卡和雙網(wǎng)卡的網(wǎng)絡(luò)流(traffic)情況,圖2、圖3可以比較單節(jié)點(diǎn)和多節(jié)點(diǎn)的網(wǎng)絡(luò)流。

圖1:雙網(wǎng)卡多節(jié)點(diǎn)OpenStack網(wǎng)絡(luò)流

圖2:單網(wǎng)卡多節(jié)點(diǎn)OpenStack網(wǎng)絡(luò)流

圖3:單網(wǎng)卡單節(jié)點(diǎn)OpenStack網(wǎng)絡(luò)流

3、多節(jié)點(diǎn)時控制節(jié)點(diǎn)和計算節(jié)點(diǎn)的工作原理

控制節(jié)點(diǎn):

1)在主機(jī)上創(chuàng)建一個網(wǎng)橋(br100),把網(wǎng)關(guān)ip賦給這個橋;如果已經(jīng)有ip,會自動把這個ip賦給網(wǎng)橋作為網(wǎng)關(guān),并修復(fù)網(wǎng)關(guān);

2)建立dhcp server,監(jiān)聽這個網(wǎng)橋;并在數(shù)據(jù)庫記錄ip的分配和釋放,從而判定虛擬機(jī)釋放正常關(guān)閉dhcp;

3)監(jiān)聽到ip請求時,從ip池取出ip,響應(yīng)這個ip給實例;

4)建立iptables規(guī)則,限制和開放與外網(wǎng)的通信或與其它服務(wù)的訪問。

計算節(jié)點(diǎn):

1)在主機(jī)上建立一個對應(yīng)控制節(jié)點(diǎn)的網(wǎng)橋(br100),把其上實例(虛擬機(jī))橋接到一個網(wǎng)絡(luò)(br100所在的網(wǎng)絡(luò));

2)此后,這個橋、控制節(jié)點(diǎn)的橋和實例的虛擬網(wǎng)卡都在同一虛擬網(wǎng)絡(luò),通過控制節(jié)點(diǎn)對外訪問。

可見,這種方式有以下特點(diǎn)

1)所有實例與外網(wǎng)通信都經(jīng)過網(wǎng)絡(luò)控制器,這也就是SPoF(單故障點(diǎn));

2)控制節(jié)點(diǎn)提供dhcp服務(wù)、nat、建立子網(wǎng),作為虛擬網(wǎng)絡(luò)的網(wǎng)關(guān);

3)計算節(jié)點(diǎn)可以沒有外網(wǎng)ip,同其上的實例一樣,可以把控制節(jié)點(diǎn)作為網(wǎng)關(guān)對外訪問;

4)實例與外網(wǎng)通信太多,會造成控制節(jié)點(diǎn)網(wǎng)絡(luò)的堵塞或者高負(fù)載。#p#

四、VLAN模式的特點(diǎn)

VLAN模式的目的是為每個項目提供受保護(hù)的網(wǎng)段,具有以下特點(diǎn):

  • NAT實現(xiàn)public ip
  • 除了public NAT外沒有其它途徑進(jìn)入每個lan
  • 受限的流出網(wǎng)絡(luò),project-admin可以控制
  • 受限的項目之間的訪問,同樣project-admin控制
  • 所以實例和api的連接通過vpn

vLAN模式了解較少,借用OpenStack文檔里的一個圖供對比了解:

../_images/cloudpipe.png

圖4:VLAN模式OpenStack網(wǎng)絡(luò)結(jié)構(gòu)#p#

五、網(wǎng)絡(luò)部署

1、網(wǎng)絡(luò)配置

apt-get install bridge-utils

安裝bridge-utils就是為了建立虛擬網(wǎng)橋,實現(xiàn)虛擬網(wǎng)絡(luò)。OpenStack會自動的創(chuàng)建br100這個網(wǎng)橋,所以不用自己創(chuàng)建。

--network_manager=nova.network.manager.FlatDHCPManager

設(shè)置網(wǎng)絡(luò)管理模式,一般使用FlatDHCP,還可以配合multi_host實現(xiàn)高可用。

# Network Configuration --dhcpbridge_flagfile=/etc/nova/nova.conf --dhcpbridge=/usr/bin/nova-dhcpbridge --flat_network_bridge=br100 --flat_interface=eth1 --flat_injected=False

--public_interface=eth0

dhcpbridge_flagfile指定配置文件,flat_injected實現(xiàn)ipv6地址的注入,因此關(guān)閉。

flat_network_bridge指定網(wǎng)橋。

flat_interface指定網(wǎng)卡,這個主機(jī)節(jié)點(diǎn)(一般就是控制節(jié)點(diǎn))用來建立橋,橋接實例和虛擬網(wǎng)絡(luò)以及public網(wǎng)絡(luò)。單網(wǎng)卡是設(shè)為eth0,與public的同一個。

#Block of IP addresses that are fixed IPs --fixed_range=10.0.0.1/27

指定ip池的范圍,文中多次提到的從指定的ip池取出ip分配給實例,就是這個ip池。

2、OpenStack中網(wǎng)絡(luò)的高可用性(HA)

在基本的網(wǎng)絡(luò)管理方式中,所有實例的網(wǎng)絡(luò)流都要經(jīng)過網(wǎng)絡(luò)控制器。當(dāng)網(wǎng)絡(luò)控制器出現(xiàn)問題時,網(wǎng)絡(luò)就出現(xiàn)故障,網(wǎng)絡(luò)控制器是一個SPoF(單故障點(diǎn))?!?a target="_blank" >構(gòu)建OpenStack的高可用性(HA,High Availability)》簡單介紹了4種方法和未來的Quantum。

主要的部署方式是FlagDHCP + multi_host:

1)、每個計算節(jié)點(diǎn)安裝nova-network,設(shè)置multi_host為true。這樣,每個計算節(jié)點(diǎn)上flat_interface作為網(wǎng)橋,提供dhcp、dns,作為其上所有實例的網(wǎng)關(guān)(gateway)。實例不再都從控制節(jié)點(diǎn)經(jīng)過,控制節(jié)點(diǎn)出現(xiàn)問題不會影響網(wǎng)絡(luò)。

2)、每個計算節(jié)點(diǎn)的flat_interface提供switch連接,實現(xiàn)實例之間的虛擬網(wǎng)絡(luò)的傳輸和通信。

3)、每個計算節(jié)點(diǎn)有個public_interface,與外網(wǎng)連接。

4)、為每個實例分配floating ip,作為實例的第二個虛擬ip,與外網(wǎng)通信。

也就是發(fā)生了如下的變化:

圖5:multi_host部署方式時的OpenStack網(wǎng)絡(luò)流

未來的Quantum和Melarge提供更好的網(wǎng)絡(luò)服務(wù),值得期待。Quantum項目實現(xiàn)二層網(wǎng)絡(luò)相關(guān)的功能,如創(chuàng)建和管理虛擬網(wǎng)絡(luò)、端口等。Melange負(fù)責(zé)三層網(wǎng)絡(luò)相關(guān),它的主要任務(wù)是IP地址管理(IPAM)、DHCP、NAT甚至負(fù)載均衡。不過由于其實現(xiàn)需要一定的時間,需要多個階段,現(xiàn)在還是需要了解以上的各種網(wǎng)絡(luò)模式和部署。

責(zé)任編輯:黃丹 來源: 博客
相關(guān)推薦

2012-08-31 09:24:24

SUSEOpenStack云計算

2011-11-08 09:58:01

OpenStack

2013-05-07 09:14:35

OpenStack

2012-04-06 08:52:40

思杰OpenStack云計算

2014-01-07 10:54:43

openstackvlan網(wǎng)絡(luò)模式

2013-07-23 10:53:36

虛擬化平臺云計算

2013-08-23 17:39:48

虛擬化云計算

2012-07-05 09:22:05

云計算IaaS

2013-10-16 09:26:02

OpenStack HOpenStack云網(wǎng)絡(luò)

2014-01-10 09:20:33

OpenStackOpenStack N

2013-08-12 11:30:52

Iaas虛擬化

2013-07-25 09:13:57

SwiftStackOpenStackSwift對象存儲

2016-01-14 10:02:54

DockerOpenStack私有云

2015-06-23 16:59:07

ZDNetserver

2013-10-18 15:02:08

OpenStack

2015-09-21 15:00:54

聯(lián)想OpenStack企業(yè)云平臺

2015-04-17 09:11:34

2010-10-25 09:32:44

Windows Ser

2018-08-27 17:35:15

云平臺

2012-07-23 10:23:25

CloudStackOpenStack云平臺
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號