CloudStack云基礎架構的一些概念
1. Zones(區域)
一個區域在CloudStack配置中是最大的組織單元。一個區域通常代表一個單獨的數據中心,雖然在一個數據中心也允許有多個區域。將基礎架構設施加入到區域中的好處是提供物理隔離和冗余。例如,每個區域可以有它自己的電源和網絡上行鏈路,區域還可以是分布在不同的物理位置上(雖然這不是必須的)。
一個區域包含:
一個或多個機架。每個機架包括一個或多個集群主機或者一個或多個主存儲服務器。
所有區域中的機架所共享的二級存儲。
Zones對終端用戶是可見的。當用戶啟動一個客戶虛擬機的時候,必須為它選擇一個zone。用戶必須復制他們私有的模版到追加的zones中,以便在那些zones中可以利用他們的模版創建客戶虛擬機。
Zones可以是私有的也可以是公共的。公共的zones對所有用戶都是可用的。這意味著任何用戶都可以在區域中創建客戶虛擬機。私有的zones是為一個指定的域預留的。只有在那個域中或者子域中的用戶才可以創建客戶虛擬機。
位于同一個zone中的主機可以相互訪問而不用通過防火墻。位于不同zones中的主機可以通過靜態配置V*N通道相互訪問。
對每一個zone,管理員必須決定:
在zone中放置多少個機架(pods)
每個機架放置多少個集群
每個集群中放置多少臺主機
每個集群中放置多少個主存儲服務器(primary storage servers),存儲服務器的總容量是多大
每個區域中配置多少個二級存儲(secondary storage)
2. Pods
一個pod經常代表一個單獨的機架。位于同一個pod下的主機處于相同的子網。
在一個CloudStack配置中pod是第二大的組織單元。Zones中的pod是獨立的,每個zone可以包含一個或多個pods。
Pods對終端用戶是不可見的。
一個pod包含一個或多個集群主機,包含一個或多個主存儲服務器(primary storage servers)。
3. Clusters
集群提供一種方式來管理主機。確切的來講,一個集群就是一個XenServer服務池,一組KVM服務器的集合或者是一個在vCenter中預先構造的一個VMware集群。集群中的所有主機擁有相同的硬件配置,運行相同的虛擬機管理程序,位于相同的子網,訪問同一個共享的主存儲。虛擬機實例可以動態地從一臺主機遷移到集群中的另一臺主機,不用中斷對用戶的服務。
集群是CloudStack配置中第三大的組織單元。集群被機架包括,機架被區域包括。集群的大小受潛在的虛擬機管理程序限制,雖然大部分情況下CloudStack建議數目要小一些,請看最佳實踐。
一個集群包括一個或多個主機,一個或多個主存儲服務器。
CloudStack允許多個集群存在一個云部署下。
即使當本地存儲是私有的,集群仍然要是有組織的,雖然每個集群只有一臺主機。
當使用VMware時,每個VMware集群被vCenter服務器管理。管理員必須向CloudStack注冊vCenter服務器。每個zone中可能會有多個vCenter服務器。每個vCenter服務器可以管理多個VMware集群。
4. Hosts
宿主機是一臺單獨的計算機。宿主機提供計算資源運行客戶虛擬機。每個宿主機配置有虛擬機管理軟件來管理客戶虛擬機。例如,一個Linux KVM服務器。一個Citrix XenServer服務器,和一個ESXi服務器都是宿主機。
宿主機是一個CloudStack配置中最小的組織單元。區域包含機架,機架包含集群,集群包含宿主機。
CloudStack環境中的宿主機:
提供CPU、內存、存儲和虛擬機需要的網絡資源
用高帶寬的TCP/IP網絡互聯同時連接到Internet
可能駐留在位于不同地理位置的多個數據中心
可能擁有不同的容量(不同的CPU速度、不同數量的內存等),雖然位于一個集群中的主機必須是同質的
添加的宿主機可以在任何時候被添加用來為客戶虛擬機提供更高的能力。
CloudStack自動地發現宿主機提供的CPU數量和內存資源。
宿主機對終端用戶是不可見的。終端用戶不能決定哪些主機可以分配給客戶虛擬機。
在CloudStack中運行一個宿主機,你必須:
在宿主機上配置虛擬機管理軟件
分配IP地址給宿主機
確保宿主機已經鏈接到CloudStack管理服務器
5. Primary Storage
主存儲和一個集群聯系在一起,而且它存儲了位于那個集群宿主機中的所有虛擬機的磁盤卷。你可以為一個集群添加多個主存儲服務器。至少有一個。通常,主存儲服務器越靠近宿主機效能越好。
CloudStack設計用來處理所有符合標準的iSCSI和NFS服務器所支持的底層的虛擬機管理程序,比如包括:(也就是主存儲可以放在NFS共享出來的目錄中和遵循ISCSI共享出來的目錄)
Dell EqualLogic? for iSCSI
Network Appliances filers for NFS and iSCSI
Scale Computing for NFS
如果你打算只使用本地磁盤安裝,你可以跳過添加第二塊存儲。
6. Secondary Storage
二級存儲是和zone關聯的,它存儲下面的東西:
1.模版——可以用來啟動虛擬機和包括附加配置信息(比如已經安裝的應用程序)的操作系統鏡像。[自己理解的是已經安裝若干應用程序的系統打包成iso可以用來新建類似的操作系統]。
2.ISO鏡像——包含數據或可引導操作系統媒介的磁盤鏡像。
3.磁盤卷快照——可用來進行數據恢復或創建新模版的虛擬機數據的副本
基于區域的NFS二級存儲中的元素可以被區域中的所有主機使用。CloudStack管理將客戶虛擬機磁盤分配到特定的主存儲設備上存儲。(所有虛擬機磁盤都是存在主存儲上的)
除了基于區域的NFS二級存儲之外你還可以添加OpenStack項目存儲Swift,以使二級存儲中的元素對云中的所有主機都可用。當使用Swift時,你要對整個的CloudStack配置Swift存儲,然后像往常一樣配置為每個zone配置NFS二級存儲。每個zone中的NFS存儲作為一個緩存區當所有的模版和其它二級存儲轉發到Swift之前。這個Swift存儲像一個位于云端的存儲,使在云中的其它zone可以使用模版或者其它數據。在Swift存儲中沒有層次結構,一個Swift容器包含一個存儲對象。整個云中的任何二級存儲在需要的時候可以從Swift拉一個容器。不用再將模版和快照從一個zone拷貝到另一個zone,但是當只使用zone NFS的時候是必需的。任何地方任何東西都是可用的。
7. Physical Networks
7.1 關于物理網絡
添加一個區域的一個步驟是配置物理網絡。每個zone可以關聯一個或多個物理網絡。網絡對應著hypervisor主機上的一個網卡。每個物理網絡可以承載一個或多種類型的網絡流量。每個網絡流量類型的選擇大部分取決于你是否用基本網絡或高級網絡創建一個zone。
zone中的一個物理網絡是真實的網絡硬件和連線。一個zone可以有多個物理網絡。一個管理員可以:
1> 在一個zone中添加/刪除/更新物理網絡
2> 在物理網絡上配置VLAN
3> 配置一個名字,這個網絡就可以被hypervisors察覺
4> 在一個物理網絡上配置服務提供者(防火墻、本地負載均衡等)
5> 配置物理網絡主干網的IP地址
6> 指定哪種類型的流量可以經過該物理網絡,或者其它屬性像網絡速度。
7.2 配置物理網絡的特性
CloudStack提供了配置設置,你可以用來配置zone中的一個物理網絡,包括:
1> 可以承載什么類型的流量(客戶的,公共的,管理的,存儲的)
2> VLANs
3> 唯一的名字,hypervisors可以發現這個特定的網絡
4> 啟用或禁用。當一個網絡第一次配置的時候,它是禁用的—not in use yet。管理員設置物理網絡可用它才可以被使用。管理員過后也可以再次禁用這個網絡,防止在那個物理網絡上再創建任何新的虛擬網絡;已經存在的網絡流量仍在繼續雖然狀態已經是不可用。
5> 網絡速度
6> 標簽,因此網絡可以匹配到物理網絡
7> 隔離方法
7.3 基本區域的網絡流量類型
當基礎網絡使用時,在zone中可以只有一個物理網絡。那個物理網絡承載下面的流量類型:
1> 客戶的。當終端客戶跑虛擬機的時候,會產生客戶流量。客戶虛擬機可以通過一個網絡進行通信,這個網絡成為客戶網絡。在一個基本區域中一個機架就是一個廣播域,因此對客戶網絡來說每個機架都有一個不同的IP區間。管理員必須為每個機架配置IP區間。
2> 管理的。當CloudStack的內部資源進行通信是,會產生管理流量。這包括宿主機之間、系統虛擬機之間的通信。
[注:強烈建議管理網絡和客戶網絡使用獨立的網卡]
3> 公共的。當云中的虛擬機訪問Internet時產生公共流量。為了這個目的必須分配公網可訪問的IP地址。終端用戶可以通過CloudStack的UI界面來實現他們的客戶網絡和公共網絡的NAT網絡地址轉換,就像獲得了一個新的IP地址。
4> 存儲的。在二級存儲虛擬機和二級存儲服務器之間發送的虛擬機模版和快照產生的流量。CloudStack為存儲網絡流量使用一個獨立的網卡(稱為存儲網卡)。存儲網卡的使用允許在一個高帶寬的網絡上快速地復制模版和快照。你必須為存儲網絡分配IP區間。
在一個基本網絡里配置物理網絡相當的簡單。大部分情況下,你只需要配置一個客戶網絡來承載客戶虛擬機產生的流量。如果你使用NetScaler負載均衡器,而且擁有彈性IP和彈性負載均衡,你必須配置一個網絡來承載公共流量。當你添加一個新的zone的時候CloudStack會在UI界面呈現必要的網絡配置步驟。
7.4 基本區域客戶IP地址
當使用基礎網絡時,CloudStack將會為那個機架中的客戶機分配位于CIDR區間中的IP地址。為了這個目的,管理員必須添加一個直接的IP區間。這些IP地址對主機來說位于相同的VLAN。
7.5 高級區域網絡流量類型
當使用高級網絡時,在zone中可能用多個物理網絡。每一個物理網絡可以承載一個或多個流量類型,你必須要讓CloudStack知道每個物理網絡承載什么類型的網絡流量。位于高級區域中的網絡流量有:
1> 客戶的。當終端用戶跑虛擬機的時候,他們會產生客戶流量。客戶虛擬機用來相互通信的網絡就可以認為是客戶網絡。這個網絡可以是孤立的也可以是共享的。在一個孤立的客戶網絡中,管理員需要儲備VLAN范圍以便為CloudStack的賬戶提供孤立的網絡(可能需要很多歌VLANs)。在一個共享的客戶網絡中,所有的客戶虛擬機共享一個網絡。
2> 管理的。當CloudStack的內部資源相互之間進行通信時,會產生管理流量。這包括宿主機之間、系統虛擬機之間以及任何其它的組件與CloudStack管理服務器直接通信。你必須為系統虛擬機配置IP區間來使用。
3> 公共的。當云中的虛擬機訪問Internet時會產生公共流量。為了這個目的必須分配可以訪問公網的IP。終端用戶可以利用CloudStack的UI界面取得這些IP地址并且在客戶網絡和公共網絡進行通信時進行NAT網絡地址轉換。
4> 存儲的。在二級存儲虛擬機和二級存儲服務器之間發送虛擬機模板和快照時產生的流量。CloudStack利用一個單獨的網卡(稱為存儲網卡)來為存儲網絡提供流量。使用存儲網卡允許在一個高帶寬的網絡上快速傳輸模板和快照的拷貝。你必須為存儲網路配置IP地址區間。
這些流量類型可以每一個都在一個單獨的物理網絡上,或者他們可以通過幾個限制條件聯系在一起。當你在UI界面中利用zone創建向導去創建一個新的zone的時候,你會被指引創建一個唯一的有效的選擇。
8. 高級zone客戶IP地址
當使用高級網絡的時候,管理員可以為客戶創建額外的網絡。這些網絡可以跨越zone并且為所有用戶使用,或者局限于一個單獨的賬戶,有這樣的情況只有附屬于這些網絡的賬號才可創建客戶機。這個網絡用VLAN ID、IP區間和網管標識。如果需要管理員可以提供成千上萬個網絡。
9. 高級zone公共IP地址
當使用高級網絡的時候,管理員可以為客戶創建額外的網絡。這些網絡可以跨越zone并且為所有用戶使用,或者局限于一個單獨的賬戶,有這樣的情況只有附屬于這些網絡的賬號才可創建客戶機。這個網絡用VLAN ID、IP區間和網管標識。如果需要管理員可以提供成千上萬個網絡。
10. 系統保留的IP地址
在每個zone中你必須為管理網絡配置一些預留的IP地址。這個網絡負責CloudStack管理服務器和各種系統虛擬機通信,好比二級存儲虛擬機、控制代理虛擬機和DHCP。。
預留的IP地址在云中必須的唯一的。不能這個zone中的主機擁有一個私有IP地址而另外一個zone中也擁有相同的IP地址。
一個機架中的主機分配私有IP地址。這些通常都是RFC1918地址。控制代理和二級存儲系統虛擬機通常分配CIDR中他們創建的IP地址。
確保計算服務器和管理服務器的IP地址不在系統預留IP地址之內。例如,假設系統預留IP地址區間為192.168.154.2到192.168.154.7.CloudStack可以使用.2到.7的IP地址為系統虛擬機。剩下的機架CIDR可以從.8到.254,可以分配給管理服務器和hypervisor。
在所有的zone中:
為每個機架中的系統分配私有IP地址并在CloudStack中配置它們。
對KVM和XenServer,推薦的是每個機架上的每個主機一個私有IP地址。如果你預期機架容量會增長那么就要為它分配足夠的IP地址以適應它的增長吧。
在一個使用高級網絡的zone中:
對于使用高級網絡的zone,我們建議要為你所有的用戶分配足夠的私有IP地址,為CloudStack系統虛擬機添加足夠的必須的地址。通常,系統虛擬機大約需要10個左右的IP地址。更多的信息請參見管理界面系統虛擬機配置那一部分。
當高級網絡開始使用的時候,每個機架上可用的私有IP地址的數量取決于你的機架節點上跑的是那種hypervisor。Citrix XenServer和KVM使用本地鏈路地址,理論上在地址塊上可以提供多于65000個私有IP地址。即使機架增長很快這些IP地址也是足夠的。VMWare ESXi使用任何管理員制定的子網方案,通常每個機架管理員只提供255個IP地址。因為他們是被物理機器、虛擬路由和其它實體共享的,當機架按比例增長時用盡IP地址是可能的。
當使用高級網絡而且采用ESXi作為虛擬機管理程序要確保有足夠的IP地址。可以使用下面的技術:
為子網指定一個大的CIDR塊。用前20位作為子網號可以指定超過4000個IP地址。
創建多個機架,每個機架擁有他自己的子網。例如,如果你創建10個機架每個機架分配255個IP地址,那么你就可以提供2550個IP地址了。來自:http://blog.csdn.net/houqingdong2012/article/details/9101293