 |
|
|
Introduction
OK,首先我會介紹幾個名詞,第一個名詞叫做SAN,Storage Area Network。儲存區域網路,這指的是什麼呢?就是你在做存取的時候,是透過網路來完成的。你們覺得這滿奇怪的,為什麼?因為你們非常熟悉的情況是什麼?是說我們的PC裡面有一顆硬碟,這硬碟是用什麼來連接的?我們說現在看是用PCI來連接的,那它的介面可能是IDE,比較高級的玩家他可能是用SCSI硬碟,很平常。可是所謂Storage Area Network是說我在儲的時候,不是透過PCI bus去儲存,而是透過網路去做儲存。你說這怎麼會那麼特別?不要忘了,以前的硬碟很貴。在我們那個年代,硬碟非常非常貴,所以事實是我們儲存的方式會透過Network,我們都會用一個Diskless的Workstation來做。直到後面呢,PC時代開始,APPLE-II、Macintosh是沒有硬碟的,是用floppy來儲存的,真正要硬碟可能要用Diskless的Workstation來做。在這年我們是要怎麼樣達成儲存的目的可是是用網路來完成的,也就是說它是一個網路的磁碟機,你說這個東西好像聽過麻,譬如說網路芳鄰好像就是網路磁碟機嘛!但是它的意義不一樣。我們講的Storage Area Network指的是說我們去做Low Devices Access,Issue一個SCSI命令。各位可以想像,原來我們是透過PCI去接到我的電腦,現在是透過網路,第一個好處是距離加長,我們待會兒會介紹距離加長有什麼好處。第二個名詞叫NAS,Network Attached Storage。SAN跟NAS這個差別在哪裡呢?在於如果你是用NAS的話,它就是用類似網路芳鄰的方式。這時候在網路上送的命令不是SCSI command,不是說我要read哪一個section哪一個block,而是說我要open一個file,請把那個file的handle給我,我要access。差別在這個地方,因為SAN不需要透過file system,所以performance要好很多。NAS因為要透過file system,以OS來看的話,各位可以看到,各位可知道TCP/IP是在Protocol什麼state?在OS上面是屬於kernel的部份。我們在上面寫程式都用socket,socket是user space,所以在上面送一個command時,必需要從user space把data copy到kernal space,然後送出去。問題是我現在已經在做data access了,我說我要access一個file,這個file要去存取的時候發現這個file不在那裡,所以又從kernel space issues一個command回user space去處理。所以它必需做很多次的memory copy,經過Intel分析的話,大概需要做到八次到十次的memory copy才能完成,每一次都可以讓原來的performance變成原來的二分之一,所以事實上performance在far system也是非常差的。NAS,我們強調它的方便性,因為我們可以做到file的locking,就是我們可以透過網路芳鄰設限一些file,可是performance是比較差的。對於我們是沒有什麼差別的,因為我們只要能聽到MP3,能夠給我看到電影我就滿意了。可是對一個enterprise而言呢,不是這樣子的。因為database在上面執行時必需要很高的performance。我們說transaction per second,這個是要求很高的。所以基本上NAS的performance已經不再能滿足需求了,尤其到最近這些database的application,譬如說SQL,譬如說exchange 2000,譬如說Oracle,他們都必需要直接對disk做存取,原因是因為file system locking的機制已經不能滿足他做sharing的方式了。所以對SAN是唯一能解決的方案。接下來我們看到PCI bus的速度一直在增加,我們說現在PCI是32bit,33MHz,一乘的話相當於1Gbps。PCI-X是64bit,66MHz,所以4Gbps。所以依照傳遞,一個PCI bus,這些in和out,在扣掉一些overhead大概是400Mbps。各位知道我們在講Ethernet時是講1Gbits、10Gbits,但到現在已經沒有人在討論1Gbits,現在都是在討論10Gbits的網路。可是呢在你們notebook或desk PC都還是用10/100,為什麼?因為Giga bit還是算滿貴的。多貴呢?20塊美金。差不多七百塊。若滿足聽音樂看電影,100MB大概可以了。但未來video的發展,儲存量愈來愈多,sharing量愈來愈多時,Giga bit是絕對跑不掉的。而且我們預測今年會是滿重要的一年。Any way,現在PCI的speed我們說可以到達1Gbps,所以之前若一個Giga bit的網路卡插到PCI上,事實上它是沒有辦法deliver到Giga bit per second的速度。直到最近在PCI-X,以及未來PCI-express。既然我都可以做到我的網路速度比我的bus速度還要快,各位同學,如果說我把我的硬碟設備放到網路上有沒有關係呢?以through put而言,幾乎沒有關係。可能比較concern的是latency。什麼是latency呢?我issue一個command進去的時候,我要等多久才能看到它的response。這部份可能是一個concern,事實上網路上最重要的就是latency。我們發現PCI bus一直在增快的時候,把儲存設備放在外面的可能性愈來愈增加。因為我們現在在討論1Giga bit和10Giga bit,所以PCI的速度幾乎都趕不上了。另外一點我們要知道的是說,我們一直在講storage,我們是沒有人在討論硬碟的空間該多大,這不需要去談,我們都知道每年它的capacity會增加一倍,價錢會減少一半,這樣就可以了。但是加上Networking以後就有很多好玩的東西跑出來,所以我認為Storage is no fun until networking comes in。
[prev] [next]
|
|