官术网_书友最值得收藏!

第2章 基礎設施云對比分析

2.1 基礎設施云對比分析概述

為了使讀者能對基礎設施云有更加深刻的了解,本節對若干典型的開源基礎設施云基本信息、虛擬運行環境、虛擬網絡、云存儲、云安全等進行詳細分析(表2.1)。

表2.1 基礎設施云基本信息表

表2.1總結了當前主流的開源云系統的基本信息。其中,開發語言多集中在C、Java、Python 等主流編程語言上,并且多數云系統的開發語言不只一種。究其原因是因為 IaaS 系統規模比較龐大,一般需要劃分模塊設計實現,模塊間耦合度非常小。同時考慮模塊的需求和各編程語言的特點,選取不同的編程語言對特定模塊進行開發,如 C 語言支持系統調用,速度較快,多用來做底層開發;Java 或 Python 等高級語言進行外圍開發和模塊互連,以Nimbus為例,大部分使用Java語言編寫,但考慮到Python的I/O速度比Java快4、5倍,所以它的存儲模塊Cumulus采用Python語言編寫。值得注意的是,幾乎所有IaaS云系統都用到了Python語言,甚至全部由Python語言開發,如OpenStack和Enomaly ECP,這是因為Python語言的簡單易用、快速開發和高性能越來越受到關注。

IaaS云系統的物理服務器操作系統基本全部選擇Linux,主要原因是Linux的高安全性和高穩定性使其更適合作為網絡服務器;Linux 是免費的,這會帶來更小的成本開銷;Linux是開源的,可以根據需求靈活定制應用。

1.開源協議

本書調研的IaaS云系統皆為開源系統,使用的開源協議包括Apache、GPL和LGPL。Apache Licence是對商業應用友好的許可。使用者可以在需要的時候修改代碼來滿足需要并作為開源或商業產品發布、銷售。而 GPL 要求任何對源代碼的修改都必須開源,并不得用于商業活動,因此如果需要從事商業活動,建議使用 Apache 許可證的基礎設施云平臺。LGPL 是 GPL 的一個為主要類庫使用設計的開源協議,LGPL 允許商業軟件通過類庫引用(link)方式使用LGPL類庫而不需要開源商業軟件的代碼。這使得采用LGPL協議的開源代碼可以被商業軟件作為類庫引用并發布和銷售。

2.管理接口

所有IaaS云系統都提供基于Web的管理接口,以BS架構提供可視化界面對云進行管理成為了趨勢。

3.可擴展性

IaaS 云系統基本的組織結構都是集群,盡管各自名稱不同。集群管理可以很方便地對系統規模進行擴展,并且方便對集群內的虛擬機或主機進行管理。然而,集群管理也有它的缺點,如配置復雜可能是集群的最大缺點,建立集群框架、管理主機間的連通性、配置共享存儲都需要考慮整個集群的結構,另外集群中各主機間發生著大量的、復雜的交互,這也會給軟件更新和系統升級帶來困難因素。

4.模塊互連

大部分IaaS云系統選擇簡單對象訪問協議(SOAP)作為模塊互連的協議,SOAP是一種輕量的、簡單的、基于 XML 的協議,可以和許多網絡協議和格式結合使用,并且, SOAP與編程語言無關,可以使用任何語言來完成,這也是它被選擇作為模塊連接協議的重要原因。另外,XCP和Ganeti使用遠程API或遠程過程調用完成模塊間互連。基礎設施云虛擬化運行環境對比如表2.2所示。

表2.2 基礎設施云虛擬化運行環境對比

5.多租戶

本書所調研的IaaS云系統都支持多租戶,這也是云系統與個人虛擬化工具的區別。

6.虛擬機管理器適配

除了XCP外,其他IaaS都使用libvirt做虛擬機管理器適配,libvirt為多種虛擬化工具提供了一套方便、可靠的編程接口,符合云系統支持多種虛擬機管理器的需求,所以使用libvirt做虛擬機管理器適配已成為了趨勢。XCP之所以未使用libvirt是因為它是Xen公司開發,主要針對Xen一種虛擬機管理器,不需要進行適配。

7.虛擬管理器

Xen和QEMU+KVM成為了主流的虛擬機管理器。各云系統選擇Xen的原因除了其開源外,還因為它具有很好的平臺支持、可管理性、實施、動態遷移和性能基準;選擇 KVM因為從Linux 2.6.20開始內核中已經開始集成KVM,其本身也具有很好的虛擬化性能。

8.支持的客戶操作系統

所有的云都支持Linux操作系統,而Nimbus不支持Windows操作系統,部分支持MAC OS,基礎設施云需要考慮提供Windows與Linux兩種常規操作系統,而伴隨著MAC OS的流行,云也將支持該系統。

9.對外接口

鑒于EC2的影響力,IaaS云系統在提供自己的對外接口時,大多也提供了兼容EC2的接口。另外,大部分所調研的云系統選擇RESTful架構,REST的原則規定客戶端和服務器之間的交互在請求之間是無狀態的,如果服務器在請求之間的任何時間點重啟,客戶端不會得到通知,此外無狀態請求可以由任何可用服務器回答,這十分適合云計算的環境。各個IaaS也根據各自的特點選擇適當的接口,如WSRF、XVP、OGF-OCCI、vCloud等。

10.虛擬機IP地址分配與管理

虛擬機的IP均以靜態地址進行分配,從而方便IP地址管理,另外為了使外部地址能有效利用,一般都用NAT對內外地址進行轉發(表2.3)。

表2.3 基礎設施云虛擬網絡對比

11.隔離性

由于VLAN的配置、管理方便,基礎設施云主要通過VLAN對虛擬機組成的網絡進行流量控制,使其廣播數據包能有效隔離,有效緩解云環境中大量虛擬機帶來的網絡壓力。另外,云環境中多租戶特性也需要VLAN進行訪問控制。

12.訪問控制

由于基礎設施云的多租戶特性,基礎設施云就必須對各個租戶的虛擬機進行訪問授權控制。iptables、ebtables和Firewall為基礎設施云中訪問控制的組件,ebtables在數據鏈路層提供包過濾功能,而iptables在網絡層進行過濾。

13.存儲模式和存儲網絡協議

基礎設施云中的存儲以文件為主,使用 SAN 或 NAS 實現多服務器共享一個陣列子系統,實現數據的共享和集中管理,進而達到基礎設施云中快速、大容量和安全可靠的數據存儲(表2.4)。此外,考慮到擴展性、負載平衡、災難恢復等因素,云平臺傾向于使用面向對象的存儲模式。在存儲協議上使用iSCSI、AOE、NFS等進行傳輸。另外,NFS適用于較少的客戶端訪問相對較小的數據集的情況,可是如果大量的客戶端需要訪問數據或太大的數據集時,NFS服務器很快就變成了一個瓶頸,抑制了系統性能,而pNFS從根本上消除了這個瓶頸,因此ECP使用pNFS協議進行傳輸。

表2.4 基礎設施云存儲對比

14.元數據存儲和管理

基礎設施云中的元數據普遍使用關系型數據庫進行存儲和管理。

15.存儲對外接口

鑒于S3的影響力,大多數開源云都會提供兼容S3的接口,其他接口則與存儲網絡協議相關。

16.內部安全策略

為了保證內部安全通信,IaaS 云平臺普遍使用到三種安全機制:WS-Security,SSL 和SSH公鑰認證(表2.5)。WS-Security制定了基于SOAP的擴展以創建一個安全的Web服務,它將安全策略應用于消息本身,通過對消息進行簽名、加密實現消息安全傳輸;而SSL 是將安全傳輸策略應用到傳輸層的數據段,進而間接地實現基于消息的安全傳輸;另外,IaaS節點間通過SSH公鑰認證的方式驗證通信的合法性。

表2.5 基礎設施云安全策略對比

17.外部安全策略

IaaS云系統多使用X509對用戶身份進行認證,并通過SSH公鑰認證的方式,使用戶方便地訪問自己的虛擬機。此外,XCP、Ganeti、OpenNebula 還具有 LDAP(Lightweight Directory Access Protocol,輕量目錄訪問協議)認證機制,LDAP目錄下必須通過某種認證過程來建立客戶端對于會話的權限。

主站蜘蛛池模板: 曲松县| 滨州市| 岑巩县| 黄骅市| 右玉县| 时尚| 环江| 金阳县| 桃源县| 凌海市| 英吉沙县| 娄底市| 霍山县| 鱼台县| 荣成市| 桑日县| 武城县| 澳门| 北流市| 东乌珠穆沁旗| 平陆县| 武威市| 石台县| 纳雍县| 霸州市| 上杭县| 万源市| 辽宁省| 平凉市| 尚义县| 社旗县| 财经| 巫山县| 巴里| 阿鲁科尔沁旗| 洛阳市| 德格县| 阳江市| 桐梓县| 雅江县| 工布江达县|