Amazon EC2探秘:45萬臺定制版紅帽
譯文【51CTO 3月20日外電頭條】大家都清楚,Linux在服務器領域正變得日益壯大、普及度也在迅速提升。大家應該也知道在Eucalyptus以及OpenStack等開源云程序的支持之下,Linux在云領域的發展迅猛且前途光明。但大家可能不了解的是,Amazon的Elastic Compute Cloud(EC2)目前已經有近半百萬臺服務器,均運行在紅帽的衍生發行版本之上。
來自Accenture技術實驗室的研究員Huang Liu是一位電氣工程學博士,他通過對EC2基礎設施的大量研究取證及云計算體系分析之后,發現Amazon EC2一共由454400臺服務器所組成。
盡管Amazon從未官方說明他們在EC2中所運行的基礎操作系統,但根據大多數資料的說明及專家們的推論,我們普遍認為他們采用的是一款定制版本的紅帽企業版Linux(RHEL)。在虛擬化方面,Amazon用Xen Hypervisor對Linux、OpenSolaris、Solaris、Windows 2003及2008、FreeBSD以及NetBSD虛擬機實例等進行托管。
Amazon從未向外界公開過他們的主流云平臺具體由多少臺服務器所構成,因此Huang博士不得不通過自己的調研親自找出答案。他向我們解釋稱,“要弄清楚EC2云平臺的規??刹皇羌菀椎氖?。最困難的部分在于,由于EC2使用了大量虛擬機系統,因此我們很難明確了解每臺物理主機上到底運行著多少套虛擬機。而且即使我們能夠確定虛擬機的數量,物理服務器的具體數量仍然是一個謎。正是出于這樣的原因,我們決定不再關注服務器的數量,而將著眼點放在服務器機架的數量上。”
Huang博士接著說道,“大家可能很難理解服務器機架的數量要如何統計。我們很幸運地發現了EC2所使用的IP地址分配機制,并從中發現了規律,我們正是利用這一點摸清了相關服務器機架的具體數量。在觀察大量由我們啟用的運行實例的過程中,這種模式逐漸開始浮出水面;而隨著時間的推移,加上實例中路由追蹤工具的幫助,我們注意到并最終理解了這種模式。”
接下來,“對這一模式的理解使我們能夠推斷出機架的實際數量。舉例來說,如果我們發現某套虛擬機系統擁有一個固定的內部IP地址(假如說是10.2.13.243),并進一步了解到某套機架正使用/22作為地址范圍(例如該機架處于10.2.12.x/22)。在這種情況下,由于每個IP地址至少對應機架中的一套虛擬機,我們就能夠以此為契機了解到整個EC2體系中究竟包含著多少套機架。
就以上推斷過程自身而言,其實還稱不上嚴謹。我們當然可以嘗試利用端口掃描來弄清楚到底有多少臺服務器,但這么干會違反Amazon發布的服務條款。出于這種考慮,由于每項Amazon網絡服務(簡稱AWS)“實例中同樣包含一個內部IP地址……我們能夠利用DNS轉換機制弄清究竟有有哪些內部IP地址。”
有了這些數據的支持,他才能夠找出服務器機架的確切數量。然后,他將機架數乘以每套機架中的服務器數量。“遺憾的是,我們不知道每套機架中到底安置了多少臺物理服務器,所以我們必須做出某種程度上的假設。我們假設Amazon采用了密集型機架排布,也就是說每個機架中擁有四個10U機箱,而每個機箱能夠容納16臺刀片服務器,也就是說每套機架上承載著64臺刀片服務器。”
這就是Huang博士摸索EC2云平臺具體服務器數量的整從此過程。這件工作對他而言算得上一項了不起的成就,而結論同樣令人印象深刻——他讓我們了解到Linux對于服務器及云平臺到底有多么重要。
原文:Amazon EC2 cloud is made up of almost half-a-million Linux servers
【編輯推薦】