经常有很多网友问我,作为一个新入门的存储人,该如何去学习存储技术,存储行业该如何入门,希望我能给点建议。每当遇到这样的问题时,我总是不敢轻易作答,因为我自己从事存储技术类工作也是半路出家,之前并没有化大量的时间去专门学习存储,更没有参加过很多厂商或者集成商的技术培训,也没有什么存储证书。唯一的一次与存储有关的培训是2004年的两天半Brocade BCFP,记得因为当时工作特别忙,两天半培训中我迟到两次、早退一次、缺课半下午。所以几天后的考试没有通过,以后也没有时间再去考了。呵呵,想想真惭愧。

(个人介绍)在大学里学的是水利水电工程建筑,是一个非计算机类的传统型专业。从毕业后在长江三峡水电站的两年混凝土施工工作开始,到现在存储厂商售前技术工程师,在这十年的时间里,我曾经正式工作过的单位有5个,分别属于水电、网站、校园网、广电、和存储等5个行业。

接触存储和SAN网络始于2002年。那时候刚到sobey上班,感谢公司给我了将近4个月的培训和实习机会,让我有机会和有时间深入地学习DDN S2A6000(我看过的第一台存储设备)。跟着老员工一起接受S2A6000的技术培训和安装配置操作,并有大量的时间可以让我自己动手。跟着老员工一起搭建非编制作网(一个40多台主机的SAN网络),调试Vixel FC交换、安装FC HBA卡驱动,安装SANergy软件(SAN网络存储系统管理软件)。我们在同一个网络上做了四次测试,所以我有机会将所有的操作重复了4遍以上。那个时候我虽然可以很快的完成工作,但我心里还是不懂为什么要这样做,不明白SAN网络和IP网络(但是对IP网络也不是很明白)为什么有区别,WWN地址和IP地址的工作什么到底有什么不同。只是很积极的争取动手的机会,有把握的独立完成,没把握的事,就在同事的注视下自己操刀干,这样一旦有错误他会马上提示。

后来我在北京有三个月的时间一个人负责3个非编制作网(5-10台主机的SAN网络)的维护。感谢老天,当时那3个网络不是有问题就是需要升级系统平台,让我让机会将这3个网络格式化重装了5遍,呵呵,有两遍我做错了。总部的同事也能给我非常及时和认真细致的电话支持。即使是在这个过程中,我仍然对SAN网络很迷糊,知其然,不知道其所以然。等到这些工作完后的快两周时间里,当我反复回想近半年的工作时,有一天忽然一下子明白了什么是SAN,为什么要用到FC 交换机。呵呵,有点像佛学里讲的顿悟,又像武侠小说里主人公的功力突然进入了一个很久不能到达的层次。

一个月后,国内第一个大型媒体资产管理在CCTV开始实施。我全程参与了整个系统的30台应用服务器和200台工作站、两套存储系统和数据流磁带库、以及其它很多系统的安装过程。这些系统在当时不是最新的、就是最大的。感谢老天,在系统建成后半年里,因各种原因迟迟没有开始使用,同时也没有人关注,所以我有时间和有机会,反复去熟悉系统。有点过分的是,除了几台一点都不懂的服务器没有动过之外,其它所有的服务器、存储设备都被我格式化重新安装过,幸好都能按原样调试好。在这段时间,我也充分利用该系统做了很多实验和测试,以验证自己的疑问和想法。

那段时间虽然没有人管我是否上班,是否迟到早退,但我差不多每天都是早早到机房,直到晚上十点才离开。那是我这辈子学习最认真,最努力的半年多时间。学的东西最多,记忆的最清楚,现在我还记得30多台服务器和200台工作站的位置(分布在3幢办公楼里),S2A和DFT现在都还是我最熟悉的存储设备。

后来直到加入UIT之间的很长一段时间,我工作的中心一直都在视频编辑方面,即使是做了一年非编系统售前技术,存储占工作的比重也不是很多。但这段时间对我学习存储来讲仍然是一个很重要的过程,它是一个进一步消化、沉淀和酝酿的过程。多次对新同事和客户的培训也让我有机会去梳理以前的所学,使之更加条理化,也就是在那个时候我逐渐有了想写点东西的想法。

2005年10月份我来到UIT。说实话,别看我现在整天给客户忽悠ISCSI,当时还真的不知道什么是ISCSI。是工作需要逼迫我必须尽快熟悉公司的产品和其它厂家的产品,我这才开始比较全面翻看和查阅与存储有关的技术资料和文档。

通过这么多年接触存储,我总结自己学习存储的经历如下:

1、动手操作。动手是人学习一项技能时最有效、最快速的方法,同时也是记忆一件事情时最有效、最快速、记忆时间最长的方法。我一直以来都体行动手第一的思想,有机会一定要自己动手操作。以前项目实施时,有把握的自己做。没把握的,让同事在旁边看着自己做,遇到问题他可以随时提醒。更早之前,当我开始学电脑时,卖的书也都是插图比较图、操作步骤化的书,这样只需要按书上的提示操作两遍就可以理解和记住。因此我建议大家有就会接触存储时,一定想办法亲自动手操作。

2、认真地重复操作。不要认为重复做一件事就只是简单地重复,重复地次数多了,量变就会发生质变。当你认真地做了,就会发现每一次重复中都能获得新的东西或发现新的问题。正是因为当初反复重装多次网络才出现了”顿悟”。对S2A重复做RAID,发现了原来S2A双控制器的工作方式与其它存储是不一样的,选择不同扩张柜中的磁盘存储设备的带宽也有可能发生变话,因此知道了该如何去优化存储设备的带宽和IOPS性能。重复做性能测试,发现设置不同的BLOCKSIZE,测试的结果也是不一样,因而知道了不同类型的业务系统,blocksize的大小应该是不同的。通过一遍一遍安装SANergy软件,知道了SAN存储共享系统中管理软件的工作原理,以及正确维护共享系统的方法和措施。一遍一遍查看数据迁移系统的日志记录,才发现系统设计的存储策略和迁移策略有问题,提出优化方案后,将数据流磁带机的损坏率由原来的每年12台,减少到不到1台。这些都是从一遍遍的重复操作中得来的。

其实不管是做售前还是售后,工作很多时候都是重复,只是面对的人有区别,业务系统略有不同罢了。如果你认为重复不是积累,只是简单地重复,你可能什么都得不到。

3、只专一类技术。虽然存储技术只是整个IT技术中很小的一个分类,但存储技术内仍然有很多分类。作为我们这样的普通人,不可能对存储技术的每一类都非常清楚,在每一个技术方向都能有建树。当然那些牛人例外。那么何不只专某一个分类呢?找一个自己熟悉、有一定基础的认真地深入下去,只要努力一段时间很快就会出成绩。实际上我们平时看到的牛人差不多也只是在某一两个技术方面很牛,其它方面一般罢了。只要你能在一个方面做的很深,那你也是牛人。

另外很多厂商的产品只是在技术参数、指标、名称上有区别,很多功能都是相通或者差不多的,所以当你从外到内,由浅到深地了解了一个产品后,再去了解别的产品就非常容易了。我只是个一般人,所以我选择了自己熟悉的视频应用类存储系统,平时看的资料也主要是与视频存储的技术。实际上我调试过的存储设备只有两款,但因为对这两款设备所有模块的功能都比较熟悉,再遇到别的设备时就很容易去理解了,剩下的区别就是命令行不同罢了。

4、重视基础知识。现在很多开始学习存储人可能有一个浮躁的毛病,喜欢学习最流行的技术,看知名厂商的白皮书,听新产品的报告,和人聊最新的话题,好像不这样就不是搞存储的。我觉得大家关注的这些实际上都厂商用来市场宣传的噱头,很新很实际的东西太少,了解一下就可以了,没有必要太执着。所谓”信息生命周期管理”就是通过应用系统、结合预先设定的存储策略和迁移策略使数据在不同的时期存储在不同的存储设备上。所谓”统一存储”说白了就是在一台高性能服务器上安装NAS软件、FC target和ISCSI taiget软件,使之可以对外提供IP、FC和ISCSI访问协议。所谓”存储虚拟化”其实就是对存储设备上的逻辑卷再进行一次逻辑化。

这些概念和噱头最核心的内容其实还都是建立在SCSI、IP、fable channal、文件系统以及操作系统等很多基础内容之上的。想要深入了解存储技术,第一步就是深入了解操作系统和文件系统。对主机来讲,NAS只是相当于一个网络共享磁盘,DAS、FC存储、ISCSI存储相当于本地磁盘。存储系统设计的核心就是操作系统对磁盘和文件系统的管理和业务流程的设计和优化了,剩下的就是简单地按照说明书对存储设备本身进行安装调试了。这就是为什么很多做数据库存储的都要求对solaris和oracle都必须了解的原因。

我想我现在的技术能力很大程度上与我买第一台电脑有关。记得那是买了一个硬盘容量只有1GB的旧电脑,装了WIN98、office97和auto-CAD后,基本上就没有空间了,想玩个帝国时代或者星际游戏还得先把office或者auto-CAD先下载了才有空间来安装。那时候在电脑上干的最多的事情就是想办法优化系统,删除系统里自己认为不需要的东西,为的就是想办法节约空间。当然了因为操作不当经常重装系统,就是现在一想到重装WIN98我都想吐。不过在那一年多的时间里,我基本上对windows操作系统的各部分,特别是对文件系统和磁盘管理有了比较深入的了解。使得我在以后的学习中很容易就可以理解存储设备的应用。

5、多分析多比较。子曰:学而不思则罔,思而不学则殆。学习存储也一样,经过一段时间的学习之后,一定要化时间自己去分析和比较各个知道点之间的不同。比如,SAN和NAS有什么不同,能否在系统里同时应用?NAS、ISCSI和FC存储之间能否演变?能否通过技术指标分析出存储是基于控制器架构还是PC架构的,两种架构各有什么优缺点? 主机对存储系统的数据访问类型可分为几种,数据库访问和文件访问对存储各有什么样的要求?快照、卷镜像等有几种技术,是如何实现的?

各厂家,类似的很多问题一旦能想通,且能有一个很清晰的脉络,那可能你离牛人就不远了。

6、实用主义。学习存储是为了用才学,不是为了学而学。我一直的做法都是只学习工作中能用到的或者当时非常感兴趣的,至于其它的,等我以后遇到的时候再说。可以学习的技术太多了,厂商的产品和白皮书太多了,我不是过目不忘的高人,所以我只学自己能学懂的,只做熟悉范围内的专家。我看过的存储技术书籍只有两本,一本是2004年版的BROCADE BCFP培训教材,另一本是”使用brocade交换机组建SAN存储区域网络“。其它的资料基本上都是用的时候才去网上找,幸好现在的网络上你想要什么都可以到。

这些只我个在学习存储技术过程中的一些感想,不一定适用于其他人,希望大家可以参考。

写到这里,再次想起了当时帮我入门的几位高人,他们是sobey的杨琛、陈晓涛和汪大庆,在此我向他们几位表示感谢和敬意。

几个月前,我写了一篇名为“我是如何学习存储的”文章,虽然在这篇文章中我详细地介绍了自己学习存储的过程,但据大家反应并不具有代表性,特殊化的东西太多。为了能给刚开始学习存储技术的新人,或准备学习存储技术的朋友有一个相对明确的指导,我写了本文。

我个人建议学习存储技术可以分为前期准备阶段、存储新人阶段、存储老人阶段、存储高人阶段和存储牛人阶段,每个阶段应该学习或应该达到的目标如下:

前期准备阶段:

1、至少熟悉一个操作系统windows,unix或linuix,特别是操作系统中对磁盘设备,磁盘和分区管理部分。
2、知道熟悉一种文件系统的原理、创建和管理。
3、至少熟悉一种应用系统读写数据的方式,是文件访问、数据块访问和流媒体访问,熟悉系统中各服务器在数据读写时的流程和调用方式。
4、熟悉物理磁盘、逻辑磁盘、volume.分区等基本概念、区别和关系。
5、非常熟悉各种级别的RAID之间的区别、读写访问时的区别。
6、熟悉IP协议、SCSI协议。
7、具有一定的英文阅读能力,可以看明白IT技术类资料。

我所说的熟悉不是仅仅知道概念,而是要能够很清楚地解释或写出来,至少能用理论正确地说服自己,这才叫熟悉。
这些都是学习存储技术前必须具有的基础东西,如果你不具备,请在学习存储技术的过程中不断的深化,但建议有一定的基础。

存储新人阶段:

1、了解FC 协议,了解FC协议的OSI模型,熟悉WWN地址的原理和作用。
2、至少熟悉一个品牌FC交换机的安装、调试、管理和故障排除,深刻理解ZONE的概念和作用。
3、至少熟悉一款FC存储设备的安装、调试和管理,熟悉存储、FC交换机和主机之间连接方式和设置指令。
4、熟悉该款存储设备的创建RAID、LUN、LUN MAPPING、block size、cache等基本操作的指令、原理、各项参数的区别和优化方法。
5、熟悉快照、镜像、复制等指令。
6、说白了,要熟悉该款设备的任何一个指令。

建议在这个阶段只选定一两款设备,深入、深入再深入。把所有其它设备的资料束之高阁。如果你有上机操作的机会,请在设备上反复进行练习。也可以下载个别厂商提供的模拟机软件。若能做到闭着眼睛都可以完成每步操作、知道每步操作的作用就表示你已经胜利完成初学阶段了。

存储老人阶段:
1、熟悉不同操作系统和文件系统下,存储设备逻辑卷的管理和使用。
2、熟悉不同应用系统下选择最佳的RAID方式,控制器cache工作方式。
3、至少熟悉一款存储设备的逻辑模块图,了解各模块之间的工作方式和调用方式。
4、熟悉应用系统对带宽、IOPS等性能指标的要求。
5、熟悉SCSI,ISCSI,FC协议。
6、知道什么是存储介质,什么是存储设备的类型,什么是存储系统的网络架构。
7、熟悉3-5款存储设备的指令和功能。不要求记住命令行,只要求知道命令的作用,能区分它们之间的异同点。
8、了解存储虚拟化、重复数据删除、持续数据保护、绿色存储等概念。

当有人问“NAS、ISCSI和FC那个最好”这样的问题,或者说“端口越多cache越大,性能就越好”这样的话,你可以从内心深处鄙视他的时候,就说明你已经完成了该阶段了。

写到这里,突然觉得写不下去了。再回头看看,发现把学习指导写成了能力评定标准了。越来越觉得不能给每一个阶段指定必须要学习什么,我见过几个牛人化了很多年时间只去深入一个方向。再者技术分工也很多,我也没有能力一一列举出来。不过我相信等过了这个阶段,大家就自然会明确自己下一步该学习什么,该在哪一个方面继续努力。

存储高人和存储牛人两个阶段我就不写了,免得贻笑大方。呵呵。
仅以此文做为给大家的2008年新年贺礼,祝愿大家在新的一年里工作顺利,升职加薪!

学习存储技术的5个阶段相关推荐

  1. 从研发角度谈存储技术的学习

    从研发角度谈存储技术的学习 收藏 对于研发人员,存储技术的学习内容非常之多.我根据自己的理解,把它们大致分为以下8项内容: http://blog.csdn.net/liuben/archive/20 ...

  2. 乐鑫esp8266学习rtos3.0笔记第3篇: 一篇文章带你搞掂存储技术 NVS 的认识和使用,如何利用NVS保存整型、字符串、数组以及结构体。(附带demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个" ...

  3. linux存储技术学习资料

    参考 https://www.cnblogs.com/pengdonglin137/p/16525428.html Linux I/O栈 Linux内核的I/O栈大图 知乎Linux I/O专栏1 L ...

  4. 陈天奇:深度学习编译技术的现状和未来

    https://www.toutiao.com/a6690418726631637512/ 2019-05-13 16:03:04 传统的深度学习框架采用人工优化算子,然后建立运行时图解释器来解决内存 ...

  5. C语言再学习 -- 存储类型关键字

    定义: 是对声明的实现或者实例化.连接器(linker)需要它(定义)来引用内存实体.与上面的声明相应的定义如下:参看:C语言再学习 -- 存储类.链接 C语言中有 5 个作为存储类说明符的关键字,分 ...

  6. 2020 存储技术热点与趋势总结

    作者 | 张凯,SmartX 联合创始人 & CTO. 2 年前我们发表了一遍文章 2018 存储技术热点与趋势总结,受到了不少朋友的关注.2 年过去了,存储行业也在不断的发生着变化.今天,我 ...

  7. 详解SAN存储技术的前世今生

    SAN存储自从80年代产生以来,推动着存储技术不断前进.SAN首先带来了大容量高性能的存储,能够适用于从小型服务器到大型主机的应用需求. SAN存储更重要的核心特点就是存储的大整合, SAN存储可以灵 ...

  8. 大数据工程师需要学习哪些技术?

    "大数据"是一个体量特别大,数据类别特别大的数据集,并且这样的数据集无法用传统数据库工具对其内容进行抓取.管理和处理. 1. 数据体量巨大.从TB级别,跃升到PB级别. 2. 数据 ...

  9. 微软黑科技:DNA存储技术催生方糖大小的数据中心

    凤凰科技讯 北京时间4月12日消息,据科技网站Computerworld报道,微软和华盛顿大学研究人员已经展示了利用人工合成DNA作为数据存储介质的技术. 研究人员表示,如果这一技术成熟到适合主流应用 ...

最新文章

  1. 最先进的开源游戏引擎KlayGE 3.12.0发布
  2. ios开发-UI基础-应用管理(单纯界面)
  3. python导入txt文件并绘图-Python实现读取txt文件并画三维图简单代码示例
  4. 【知识发现】基于用户的协同过滤推荐算法python实现
  5. 处理JS中数据失真问题-随笔
  6. 一键将Python2代码自动转化为Python3
  7. cstring越界_char*、WCHAR*、vc8中的CString
  8. mysql 回滚段_MySQL和PostgreSQL比较
  9. matlab rgb2ntsc函数,matlab 颜色模型之间的转换
  10. php省城联动_thinkPHP实现的省市区三级联动功能示例
  11. 【To Understand】动态规划:求最长公共子串/最长公共子序列
  12. .NetCore 利用反射处理RESTful的更新自动赋值
  13. 【前端react 粒子特效】
  14. PLsql oracle 误删除 恢复
  15. todo游戏行业实战案例3:玩家等级停滞率
  16. 工业计算机控制系统的分类,工业自动化系统组成和产品分类介绍
  17. 2018甲骨文云大会:如何用“灵全快”抢占市场?
  18. 骑行318、 2016.7.31
  19. Python 基于modbus tcp 协议 实现与plc通信
  20. 利用信号量机制实现前驱关系

热门文章

  1. 夜产房:孕妈呼吸困难,三次吸氧,检查后发现,左肺几乎不见?
  2. http://blossomsandaccents.com/mk.html 57568
  3. 关于天地图官网资源的一些记录
  4. 关于一粒云盘使用心得
  5. JVM 对 Java 的原生锁做了哪些优化?
  6. 机器学习要用到的基础知识
  7. (机器学习实战)2.3手写识别系统(详细注释)
  8. 创业成功必须看的20个经典小故事
  9. mysql 外键唯一,关于mysql:外键可以引用非唯一索引吗?
  10. 安卓zip解压软件_压缩软件哪家强?