存储系统其实由三个部分组成:介质(硬盘,闪存,SCM等),控制器硬件(CPU,内存,主板),系统软件。
存储的核心一直都是:系统软件。
DELL/EMC既不生产控制器硬件:CPU,内存,主板;也不生产介质:硬盘和闪存。作为世界上最大的存储公司EMC(其实硬件就是X86存储服务器和普通的硬盘/闪存盘),真正的核心是软件,存储系统软件,也就是广义的“文件系统”。
江湖中的传说:“编译器和操作系统是计算机科学的皇后”。系统软件中最核心的是操作系统,包括五大功能:1.设备管理 2.内存管理 3. 进程调度 4.文件系统 5.系统调用。而存储系统的核心其实就是操作系统中的广义“文件系统”,以解决数据存储的,名字空间,地址空间和存取性能等问题。文件系统跟操作系统中的其他部件(内存管理,设备管理)紧密耦合,因此对开发者操作系统原理,语义和算法方面的要求相当高。
系统软件和应用软件的差别在于:
应用软件是业务逻辑和应用逻辑驱动的,而系统软件是语义、协议和算法驱动的。
应用软件正常运行的前提是假设下层的系统软件是正常和可靠的;但是系统软件,面临上层各种各样的应用模式,下层随时可能出故障的子系统和硬件,几乎不能做任何假设。保证系统可靠性和高可用的前提是有相当高的容错性,才能容忍各种故障的同时尽可能对应用系统透明,这是系统软件开发的原则和目标。
存储系统总体来分,可以分为:块存储,对象