新來的工程師在第一天的工作中就將其編寫的新功能部署平臺上,這在Facebook公司中并不罕見。結合其用戶群的增長速度,這種應用開發(fā)的速度要求企業(yè)數(shù)據(jù)中心的社交網(wǎng)絡基礎設施團隊更加靈活。Facebook公司加快部署的目標,可以提高其軟件和數(shù)據(jù)中心的能力。
Facebook公司開發(fā)一種搭積木的方法來構建其數(shù)據(jù)中心,以縮短施工所需的時間,,現(xiàn)在通過開放計算項目進行開源硬件設計的工作,這樣可以減少將新的服務器安裝到機架上的時間。
其中一個Facebook的數(shù)據(jù)中心團隊的最新項目是壓縮服務器物理安裝在數(shù)據(jù)中心所花費的時間,也就是從聯(lián)機開始到正常運行之間的時間。該項目是從舊版本的動態(tài)主機配置協(xié)議切換到一個新的版本。
當一個新的設備連接到網(wǎng)絡時,人們使用DHCP配置其所定義的范圍內網(wǎng)絡中所指定的一個IP地址。這在IT基礎設施管理是一個雖然小但是很重要的功能,這在Facebook數(shù)據(jù)中心部署新服務器的時候,已經(jīng)證明在部署時間上已有很大的分別。
該代碼為以前版本的DHCP,稱為ISCDHCP(ISC代表互聯(lián)網(wǎng)系統(tǒng)協(xié)會)已經(jīng)存在了近20年。新的替代版本,被稱之為KEA,是更適合當今的IT環(huán)境、尤其像Facebook這樣的公司,其IT環(huán)境與20年前沒有多少相似之處。
根據(jù)Facebook公司的一位生產(chǎn)工程師安杰洛 菲爾拉的博客文章可知,F(xiàn)acebook最近在其數(shù)據(jù)中心從ISCDHCP切換到KEA,作為一個結果可以看到新服務器的速度得到了顯著的提高。
該公司所使用的協(xié)議在新服務器上安裝操作系統(tǒng),并分配IP地址分配給帶外管理接口。這些接口的系統(tǒng)管理者使用遠程監(jiān)控和管理服務器,不論這些服務器是否被開啟或已安裝的操作系統(tǒng)。
舊的模式對于Facebook公司的規(guī)模和變革來說步伐太慢。技術人員在其巨大的數(shù)據(jù)中心不斷地添加或更換網(wǎng)卡或整個服務器之類的東西,以及每一個變化可能要花上三個小時,減緩了維修進度。
其數(shù)據(jù)中心在添加或更換部件是如此緩慢,ISCDHCP是其中最主要的原因之一。技術人員會加載一個靜態(tài)的配置文件到DHCP服務器,但是這些服務器針對變化將不得不重新啟動。“DHCP服務器重新配置比其實際提供服務的流量還要花費更多的時間。”安杰洛 菲爾拉寫道。
在KEA的幫助下,事先設置存儲信息,例如主機分配和子網(wǎng)在中央庫存系統(tǒng)。當DCHP服務器需要部署或更改時,系統(tǒng)從庫存中查找配置信息。這意味著重新加載DHCP服務器時不再需要生成靜態(tài)的配置文件,并使更改生效。
根據(jù)菲爾拉的描述,F(xiàn)acebook的新的DHCP應用運行在Tupperware系統(tǒng)上,這是該公司自己的Linux容器技術,它類似于谷歌的博格系統(tǒng),而博格系統(tǒng)可以非常高效地在谷歌數(shù)目眾多的服務器陣列中分配工作。
舊的模型也不太靈活。Facebook公司曾經(jīng)有兩個冗余的DHCP服務器/服務器集群,但是如果他們都失效了,那么整個集群將遭受重創(chuàng)。
這種新方法就是采用分布在整個網(wǎng)絡的DHCP服務器的虛擬集群。他們管理著IP地址的公共池和任何虛擬的DHCP機,可以分配一個地址給網(wǎng)絡上的任何其它裝置。這種方式如果在集群中的本地DHCP服務器失敗,系統(tǒng)可以更快恢復。
這種新設計在傳播系統(tǒng)的變化時只需要一或兩分鐘,這比舊版本三個小時以上的傳播時間有了顯著地改善。菲爾拉寫道。