在10Gbps的以太網(wǎng)出現(xiàn)以前,像iSCSI和NFS那樣的基于IP的存儲(chǔ)技術(shù)基本都停留在1Gbps的時(shí)代,那時(shí)2Gbps和4Gbps的光纖信道擁有至高無(wú)上的地位?,F(xiàn)在,面對(duì)適用面廣,廉價(jià)的10GbE網(wǎng)絡(luò)硬件,許多人反而爭(zhēng)論起來(lái)了——真是夠諷刺的,世道的確是變了啊!
當(dāng)你開始認(rèn)真研究它的時(shí)候,那些原始的吞吐量統(tǒng)計(jì)數(shù)據(jù)到底能起到多大的作用呢?10Gbps的速度給運(yùn)維帶來(lái)的那些好處,多個(gè)1Gbps的連接無(wú)法提供嗎?要回答這些問(wèn)題似乎很簡(jiǎn)單,但是又不像看上去那么簡(jiǎn)單。
推送數(shù)據(jù)
當(dāng)然,物理法則仍然存在:使用10GbE的管道,你可以推送的數(shù)據(jù)量大約是1GbE管道的10倍。但是,讓我們回過(guò)頭來(lái),用現(xiàn)實(shí)的眼光來(lái)看一看這些數(shù)字。
在現(xiàn)實(shí)生活中,使用一個(gè)1Gbps的連接,你可以獲得110MBps的iSCSI吞吐量——在配置正確,負(fù)載均衡也完美無(wú)缺的情況下,這個(gè)數(shù)字可能會(huì)翻倍。在我見過(guò)的一些10GbE測(cè)試平臺(tái)上,單個(gè)連接的推送速度大約是1,150MBps。
這比1GBps要高一些。我承認(rèn)還有許多優(yōu)秀的案例,但是,我們中有多少人敢說(shuō)一個(gè)正常的應(yīng)用程序的確需要高速地遷移這么多的數(shù)據(jù)(或者只是提供遷移這么多數(shù)據(jù)的能力)呢?我敢打賭,就算在大型的企業(yè),政府和學(xué)術(shù)界中,這樣的應(yīng)用程序也是寥寥無(wú)幾的。
一般來(lái)說(shuō),你遇到的最常見的存儲(chǔ)問(wèn)題并不是對(duì)原始數(shù)據(jù)吞吐量的處理,而是對(duì)大量的,非常微小的,而且完全是隨機(jī)的I/O操作的處理。對(duì)于完整的數(shù)據(jù)庫(kù)應(yīng)用程序來(lái)說(shuō),這些類型的負(fù)載更加常見,對(duì)于傳統(tǒng)的旋轉(zhuǎn)式磁盤來(lái)說(shuō),這些負(fù)載是最難處理的。
這是因?yàn)榇牌D(zhuǎn)的速度和磁頭的定位速度都是有限的。最后,一個(gè)相對(duì)重量級(jí)的磁盤的IOPS(每秒I/O的次數(shù))也許只能達(dá)到20,000 4KB IOPS,原始的吞吐量也許只能達(dá)到80MBps——一個(gè)1GbE連接已經(jīng)足夠用了。但是,由于磁盤延遲的限制,同樣的負(fù)載可能需要高于110 15K RPM的磁盤。對(duì)于這些類型的負(fù)載來(lái)說(shuō),存儲(chǔ)的瓶頸通常是磁盤子系統(tǒng)本身,而不是存儲(chǔ)設(shè)備之間的互聯(lián)速度。
可以肯定的是,如果可以把當(dāng)前的磁盤全部替換成超高速的SSD,那么瓶頸又會(huì)變成存儲(chǔ)設(shè)備之間的互聯(lián)速度,甚至是服務(wù)器本身。但是現(xiàn)在,SSD那高昂的價(jià)格,以及相對(duì)較低的容量,導(dǎo)致它們很難引起的大家的注意(除了那些需要使用最高端的事務(wù)處理程序的人和那些預(yù)算十分充足的人)。如果你要把當(dāng)前的磁盤全部替換成超高速的SSD,那么10GbE的互聯(lián)速度才是必須的,因?yàn)橹挥羞@樣才能完全發(fā)揮出它的潛力。
否則,除了特定用途的應(yīng)用程序(例如:高碼率的視頻和圖像應(yīng)用程序)以外,在生產(chǎn)環(huán)境下,你很少能看到磁盤負(fù)載可以“吃掉”10GbE帶寬的情況。但是,有一個(gè)重要的領(lǐng)域需要特別說(shuō)明一下,那就是:備份。為了保護(hù)我們?nèi)找嬖鲩L(zhǎng)的,堆積如山的數(shù)據(jù),我們要不斷地進(jìn)行備份。
不像數(shù)據(jù)庫(kù)應(yīng)用程序,備份通常會(huì)持續(xù)不斷地遷移大量的數(shù)據(jù)——通常遷移到高性能的磁帶驅(qū)動(dòng)器,它們可以很輕松地承受高于1Gbps的連續(xù)吞吐量。如果你需要在一個(gè)夜間備份窗口中備份幾十個(gè)TB的數(shù)據(jù),那么,并行地運(yùn)行大量的磁帶驅(qū)動(dòng)器也許是實(shí)現(xiàn)這個(gè)目標(biāo)的唯一方法。如果你采取了這種方法,并且不考慮其他因素的話,那么只有10GbE的互聯(lián)速度才可以確保你的SAN能夠滿足你的備份設(shè)備的需要。
減少延遲
10GbE的以太網(wǎng)能提高性能的另外一個(gè)領(lǐng)域是延遲領(lǐng)域。但是,它們之間的差別也許并不想你想象的那樣明顯。除了一些磁盤問(wèn)題之外,還有兩個(gè)和延遲有關(guān)的問(wèn)題必須要考慮:傳輸和序列化。
傳輸是指數(shù)據(jù)通過(guò)特定介質(zhì)(光纖,銅線,等等)的速度。無(wú)論是實(shí)施10GbE的以太網(wǎng)還是1GbE的以太網(wǎng),只要使用的介質(zhì)相同,那么絕對(duì)不會(huì)對(duì)傳播速度造成什么影響的——電子或光學(xué)信號(hào)從導(dǎo)線的一端傳送到導(dǎo)線另外一端的速度都是一樣的,這和你把多少數(shù)據(jù)放入了那個(gè)管道沒(méi)有什么關(guān)系。另一方面,序列化是指你把指定數(shù)量的數(shù)據(jù)放入那個(gè)管道的速度。在這方面,10GbE的以太網(wǎng)可以快10倍。
在延遲時(shí)間中,序列化時(shí)間只占很小的一部分。連接層的巨大延遲主要是由連接的每一端的接口和系統(tǒng)引入的。在一天快要結(jié)束的時(shí)候,你可能會(huì)發(fā)現(xiàn),對(duì)于一個(gè)特定的包來(lái)說(shuō),它通過(guò)一個(gè)調(diào)整好的1GbE的連接的往返時(shí)間是135µs,而它通過(guò)一個(gè)10GbE的連接的往返時(shí)間只能下降到75µs——大多數(shù)其他的開銷都是來(lái)自于設(shè)備的兩端,而不是來(lái)自于連接本身。
雖然10GbE以太網(wǎng)的延遲時(shí)間比1GbE以太網(wǎng)的延遲時(shí)間要少,但是,一般來(lái)說(shuō),這個(gè)差別并不會(huì)對(duì)存儲(chǔ)性能造成太大的影響——尤其是你使用傳統(tǒng)的旋轉(zhuǎn)式磁盤的時(shí)候。當(dāng)你的存儲(chǔ)設(shè)備要花費(fèi)長(zhǎng)達(dá)100倍的時(shí)間來(lái)響應(yīng)的時(shí)候,減少60微秒的連接延遲時(shí)間并不會(huì)起到什么明顯的效果。如果你大量使用SSD的話,那么,相對(duì)于存儲(chǔ)的延遲時(shí)間來(lái)說(shuō),這個(gè)連接延遲時(shí)間所占的比例會(huì)更大一些,也許在這種情況下,值得進(jìn)行這項(xiàng)額外的投資。
可管理性和聚合
10GbE以太網(wǎng)的亮點(diǎn)是容易管理。雖然通過(guò)多個(gè)1GbE的連接,使用現(xiàn)有的硬件和軟件也可以實(shí)現(xiàn)MPIO (Multi-Path IO),但是配置,監(jiān)控和管理起來(lái)都比較痛苦。甚至布線也成為了一種痛苦——一個(gè)1GbE的SAN,在兩個(gè)冗余控制器之間可能有8個(gè)或8個(gè)以上的1GbE連接,而且,一個(gè)1GbE的SAN通常會(huì)使用上限為4個(gè)控制器的主動(dòng)/被動(dòng)控制器架構(gòu)。
即使在存儲(chǔ)設(shè)備上你不選擇10GbE的以太網(wǎng),你也應(yīng)該認(rèn)真地考慮一下在服務(wù)器端使用它——尤其是你處在虛擬化的環(huán)境下。一個(gè)支持iSCSI的虛擬主機(jī)主機(jī),如果使用1GbE網(wǎng)絡(luò)的話,每次(也許是每?jī)纱?進(jìn)行主機(jī)管理,虛擬機(jī)通信,以及iSCSI訪問(wèn)至少會(huì)消耗掉6個(gè)1GbE的端口。你可以用一對(duì)冗余的10GbE接口替換掉那6個(gè)接口,這是很容易做到的,你可以通過(guò)這對(duì)接口來(lái)做任何事情,雖然你的端口消耗量和電纜數(shù)顯著地減少了,但是你的總體可用帶寬卻增加了。
此外,如果你使用“刀片”架構(gòu)的話,那么你可以通過(guò)使用智能的聚合網(wǎng)絡(luò)(converged networking)進(jìn)一步深化這個(gè)模型。HP為他們的C類“刀片”產(chǎn)品提供的Virtual Connect模塊就是一個(gè)很好的例子(當(dāng)然,這方面的例子不止這一個(gè))。通過(guò)這個(gè)VC(Virtual Connect)模塊,你可以在“刀片”服務(wù)器內(nèi)置的10GbE接口上創(chuàng)建多個(gè)“Flex NIC”,它們每個(gè)都有自己的帶寬限制和網(wǎng)絡(luò)設(shè)置。一個(gè)完整的“刀片”框架也許只需要兩個(gè)或四個(gè)外部的10GbE連接就可以連接到你的物理交換網(wǎng)絡(luò)的其余部分了——令人難以置信的管理和成本優(yōu)勢(shì)。
不要沖動(dòng),沖動(dòng)是“魔鬼”
概括起來(lái),10GbE的IP存儲(chǔ)比1GbE的IP存儲(chǔ)更快,更容易管理,但是,它還是太貴了,并且,你可能根本就不需要它(但是如果你能得到它,那么你會(huì)喜歡它的)。
當(dāng)然,在接下來(lái)的幾年里,這些陳述也許會(huì)變得十分不合時(shí)宜,就像我在幾年之前(那時(shí)我的筆記本還沒(méi)有Gb級(jí)的接口)說(shuō)的話一樣:“除了核心的網(wǎng)絡(luò)骨干之外,沒(méi)有人會(huì)需要1GbE的網(wǎng)絡(luò)。”或者,再往前幾年,人們會(huì)說(shuō):“除了核心的網(wǎng)絡(luò)骨干之外,沒(méi)有人會(huì)需要100Mbps的網(wǎng)絡(luò)。”或者,許多,許多年以前,人們會(huì)說(shuō):“LocalTalk比較不錯(cuò)——以太網(wǎng)太貴了。”歡迎大家在評(píng)論中談?wù)勛约旱南敕ā?/p>