对于研发人员,存储技术的学习内容非常之多。我根据自己的理解,把它们大致分为以下8项内容:
- 系统管理:UNIX/Linux/Windows操作系统管理,要求熟悉甚至精通。
- 开发技术:C/C++,网络编程,多进程/多线程,进程间通信。如果能掌握内核开发、驱
动程序开发则更佳。 - 存储基础:磁盘、RAID阵列、文件系统等存储相关硬件和软件的安装、配置、调试。
- 存储系统:RAID, DAS, SAN, NAS, CAS等,对存储系统的原理以及实现技术熟悉。
- 存储协议:TCP/IP, SCSI, iSCSI, NFS/CIFS等, 熟悉这些存储相关协议。
- 文件系统:VFS, EXTx/NTFS/FAT32等磁盘文件系统, NFS/CIFS网络文件系统, Lustre/GFS/AFS
等分布式文件系统,掌握原理和实现技术,能够阅读源码则更好。 - 存储技术:Deduplication, SSD, HSM, Virtualization, Snapshot, Replication, CDP
, VTL, Thin Provision等等,尽量多跟踪最新存储技术进展,多多益善。 - 存储架构:掌握不同行业的存储需求,能够根据实际需求提出存储解决方案,并进行存
储系统架构、设计和实现。
存储研发人员成长大致可分为四个级别:
- 存储初级研发:掌握1、2、3项存储内容,在中高级存储研发指导下,可以进行存储研发工作。
- 存储中级研发:掌握4、5项存储内容,可以带领团队进行研发工作,并指导初级研发。
- 存储高级研发:掌握6、7项存储内容,可以进行存储新技术的研究,对现有存储系统优
化改进,原型系统开发。 - 存储研发专家:掌握8项存储内容,存储前沿技术研究,存储系统规划与架构,对存储发
展趋势有着很好的理解和洞察。
10000小时法则 (The 10,OOO Hour Rule),简单地说,任何人要在任何领域出类拔萃,脱颖
而出,都需要认真投入10000小时以上。10000小时是一个突破的临界点。以每天10个小时算
,10000小时相当于三年。也就是说,要做成功一件事情,你就要每天10小时投入,持续3年
。如果每天只有5小时,那么需要6年。如果每天3小时,则需要10年。因此,如果想成为存
储领域的专家,没有什么捷径可走,只有坚持学习、实践、思考。3年、5年、8年、10年后
,只要你仍在追求既定目标,定会有所成就。
“厚积而薄发”,与所有存储同行共勉!
###存储学习之路
- 0、存储入门
领路人的作用很大,这个人可能是你做研究生的导师,或者工作中的tutor,或者是朋友、
同事。指点迷津,学习和研究过程中将少走很多弯路,经验的价值这在这里体现。如果你是
存储初学者,赶快去寻找你的领路人。当然自学成才的例子举不胜举,还是靠自己来做权衡。
- 1、存储图书
学习存储的基础理论最直接的方法就是读书。相对于计算与网络技术,存储技术发展是相
对落后的,因此图书方面也要少很多,国内的更少,而且大多是翻译或改编的。我读过的国
内存储图书有:
- 网络存储技术 清华大学出版社
- 网络存储技术导论 清华大学出版社
- SAN存储区域网络 机械工业出版社
- 数据存储备份与灾难恢复 电子工业出版社
- 基于对象的网络存储 电子工业出版社
- IPSAN权威指南 中国电力出版社
- 成就存储专家之路 清华大学出版社
- 信息存储与管理 人民邮电出版社
- 大话存储 清华大学出版社
- 数据重现 清华大学出版社
- 2、存储资源
网络资源也是学习存储的重要资源,而且能够很好地跟踪存储的最近发展动态。我常访问的URL有:
- InfoStor: http://www.infostor.com
- SINA: http://www.snia.org/home
- Gartner: http://www.gartner.com/technology/home.jsp
- SanSky: http://www.sansky.net/
- DoStor: http://www.dostor.com/
- WatchStor: http://www.watchstor.com/
另外还有一些国际上存储会议,比如:
- SDC,Storage Developer Conference (2009,http://www.snia.org/events/storage-developer2009/presentations)
- FAST, File and Storage Technologies (http://www.usenix.org/events/fast/)
3、存储实践
大学中我们最缺是估计就是实践。实践可以帮助我们更深刻地理解和掌握理论,并且获得
将理论进行实现和应用的能力。实践有很多方式,比如自己动手进行存储软硬件的调试、存
储系统集优化改进、开发一些软件、阅读存储软件源码等等。实践这个东西,多多益善,尽
量找机会多做。源代码除了Linux kernel外,www.sourceforge.net是最好的去处,可以读
VFS、EXT2/3/4、Soft RAID、LVM、FDISK、NFS/CIFS、SCSI/iSCSI、FUSE、AFS、LUSTRE等等。4、存储交流
牛人大多都是喜欢与人分享的,你也不要担心分享自己的东西,别人就超越你了。能把自
己的东西说得让别人明白,实际上对自己也是一个提升。物以类聚,人以群分。现在网络不
要太方便,找一群兴趣相投的人,多多交流,大家共同进步就何等的好事。而且同时可以建
立人脉,说不定哪天志同道合的人,就一起做共事或创业了。
- 5、存储思考
学而不思则罔,思而不学则贻。当已经掌握了一些存储理论和实践后,我们可能会遇到发
展的瓶颈,需要选择一两个方向进行深入学习和研究。这样我们才能有精力去分析和思考理
论和技术上优点与不足,继而不断实践和思考。从而就有可能达到一个更高的层次,并且可
能会发现一些机会。
- 6、存储经验
我们常常看到招聘信息上要求8-10年的相关工作经验。不管是失败还是成功的经验,对
未来的工作都很有意义,尤其是失败的经验,将大大提成功的几率。对搞存储的来说,最好
能找机会进入存储行业的公司或研究机构工作,这对经验的提升非常重要。因为这是正规军
,是适应市场用户需求的,而自己的学习和研究,都是出自自身需求的。如果你在公司工作
,或者自己创业,用户需求是做产品的根本出发点,这个意识要尽早培养。
- 7、存储趋势
熟悉历史,把握现在,预测未来。一旦我们对存储技术的过去和现在都非常熟悉和深入理
解,那么我们就有可能正确地对存储的未来趋势进行分析和预测,掌握先机和商机。这种人
是大牛,或许我们很难达到这个层次,但至少大牛提出很多新的观点和概念时,我们能很快
理解和认同。
- 8、存储创新
创新是需要前提条件的,如果没有前面的学习、实践、思考,存储创新根本无从谈起。创
新可能是理论创新和技术创新,主要出发点就是要解决和改进目前理论或技术上存在的缺陷
与不足,这自然就要求我们对现有的东西非常熟悉。达到可以深入思考和寻求创新的层次,
我想大概规律性的东西就很少了。成功有时是需要点运气,但前期的功课是要做好的,成功
还是眷顾有充分准备的人的。