大話存儲

這本書買了一年了,最近終於比較完整的讀了一遍,感覺收穫不少,應該寫一篇讀後感吧。

首先這本書是講存儲的,市面上關於存儲的書少之又少,好書就更是稀缺資源,這本書可以說一定程度上彌補了資料的缺失。書裏幾乎涉及到了存儲的方方面面,涵蓋了磁盤、RAID、FC、SAN、NAS、備份等各個方向。這本書裏不僅對各個技術的概念、原理進行了講解,還包括了一些產品的實踐,就稱它爲理論聯繫實際吧。入學的時候,自己是完全的存儲門外漢,對於FC、SAN這些東西是雲裏霧裏,因此看這本書的時候抱着“關注概念、思想,忽略產品、細節”的心態,純粹是爲了擴展知識面。看完這本書後,如果能對各個存儲技術都說上一兩句,就算是成功了。總之,從知識點的覆蓋面來說,這本書作爲有志存儲方向的人的入門級書籍是非常優秀的。

其次這本書的語言是一大特色,它用武俠風格的文字講解存儲技術。比如從RAID、文件系統,再到NAS、SAN,從SCSI、FC再到iSCSI、IFCP等,儼然就是一部武俠的發展史。其實在初看這本書時,是不太喜歡這種”輕鬆"的風格的,可能是習慣了國產書籍嚴肅、死板的行文風格吧。但是,能夠用這種文字將道理講清楚,恰恰說明作者對於存儲的瞭解是比較深刻的。所以常說,自己理解了不算是真的理解,能讓別人也理解了纔是真的理解。

下面談談讀完這本書最大的收穫吧。

這本書百科全書式地講述了存儲領域的重要概念。相信剛剛接觸存儲的人都會有淹沒在茫茫大海中的感覺,相關的專業名詞實在是太多了吧!SCSI、IDE、SATA、RAID、DAS、NAS、SAN、FC、iSCSI、FCoE、FCIP、IFCP……,天哪,這都是些什麼呀?它們之間又有什麼關係?這種煩惱,自己是深有體會的,看完這本書終於對這些概念不再陌生了,遇到這些詞立刻能蹦出那麼一兩句相關的話來,總算也有那麼一點“存儲人”的摸樣。這是第一大收穫吧。

另一大收穫是對於協議的理解。存儲領域涉及到很多的協議,SCSI、FC甚至ethernet、TCP/IP,還有它們的“合體”iSCSI、FCoE等,初學肯定是會有很多的困惑的。這本書很有特點的用OSI七層結構來講解這些存儲協議,非常通俗易懂。在學網絡的時候,都學過OSI七層結構,分別是物理層,鏈路層,網絡層,傳輸層和上三層(會話層、表示層和應用層)。這裏先談談自己對OSI七層的理解吧,希望有朋友能指出不當之處。

物理層就好像是交通設施,它定義了設備的機械、電氣特性,在這一層數據都看成bit。鏈路層像是司機,將網絡層交給它的貨物安全送到下一站,這一層數據的單位是幀。網絡層提供了尋址的方式,有點像驛站,它知道貨物應該往哪裏送,每到一個驛站就將貨物換車和司機,開往下一站,網絡層還有一個功能是將傳輸層發來的貨物拆成幀的大小來適應貨車的容量。傳輸層是發件人和收件人,保證貨物最終送到目的地,是端到端的協議,收件人收到貨物需要給發件人反饋,不然發件人會重新發送貨物。上三層就是應用程序了,可以是HTTP、FTP、文件系統語義、SCSI指令等等。

這裏有一個問題,既然鏈路層保證了數據的安全,有檢錯、重傳的機制,爲什麼還要傳輸層的安全保證呢?這裏需要注意的是鏈路層只是保證了從驛站出發一定能安全達到下一個驛站,但這時網絡層可能因爲網絡擁塞主動將貨物丟棄,這是鏈路層不知情的,好比驛站收到貨物發現倉庫滿了就把貨物給丟棄,但此時司機已經回去覆命了,因此我們需要一種端到端的安全保證,發信人和收信人之間的協議,保證不論經過多少個驛站都一定要送到收件人手裏。

我們平時用的以太網就是一個涵蓋了物理層、鏈路層和網絡層的協議,但是通常和tcp、ip結合,所以忽略了以太網有網絡層這一事實,mac地址就是網絡層。在平時用的局域網中,tcp/ip租用了以太網的物理層和鏈路層。這裏tcp/ip協議和以太網協議發生了融合,這在協議中是非常常見的。

網絡課上OSI更多的是用來和TCP/IP進行對比,事實上,所有的協議都是可以在這七層找到歸宿的。下面從OSI七層協議的角度介紹存儲協議,當然這些協議都是很複雜的,這裏只是提供一種比較感性的認識。

SCSI是目前廣泛使用的外設通信協議規範,可以將其看成兩部分,SCSI接口和SCSI指令集,SCSI指令集就相當於OSI的上三層,而SCSI接口是下五層,保證了SCSI指令安全地進行傳輸,當然這五層協議可能合併或缺失一些。

FC一般譯爲光纖通道,但是《大話存儲》給出了另一個解釋:網狀通道。書中認爲光纖只是一種傳輸介質(物理層),它可以用於FC,同樣也可以用於以太網,而FC是一套完整的傳輸協議,包含了物理層到傳輸層,物理層可以是光纖,但不侷限與光纖。FC具有高速高效的特點,但價格昂貴、開放性可擴展性較差,目前主要用於存儲網絡(如SAN)。FC定義了下五層,可以用來傳輸SCSI指令集,實際上FC SAN就是這麼做的。

iSCSI的另一個名字叫IP SAN,考慮到FC的缺點,自然想到了目前使用最廣泛、價格又低廉的TCP/IP,使用TCP/IP加以太網的下五層來傳輸SCSI指令,這幾乎提供了無限的可擴展性。

FCoE是FC和以太網的融合,可以想象到,FC租用了以太網的物理層和鏈路層,這是最近比較熱門的技術。

FC和TCP/IP雖然是死對頭,雙方各有優勢,但最終仍然走到了一起去,也就是FCIP和IFCP,FCIP指的是所有FC幀都封裝到TCP/IP協議中傳輸,而IFCP是將FC幀轉換爲TCP/IP包,傳輸到目的地再從包轉換回FC幀。

NAS可以看成是在TCP/IP上傳輸文件系統語義,而SAN一般來說使用FC傳輸SCSI指令。關於NAS和SAN,其實還有一些困惑。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章