这本书买了一年了,最近终于比较完整的读了一遍,感觉收获不少,应该写一篇读后感吧。
首先这本书是讲存储的,市面上关于存储的书少之又少,好书就更是稀缺资源,这本书可以说一定程度上弥补了资料的缺失。书里几乎涉及到了存储的方方面面,涵盖了磁盘、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,其实还有一些困惑。