作者:张冬
链接:https://www.zhihu.com/question/24177242/answer/27167044
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

块泛指底层磁盘上的扇区组合,某个文件可以对应一个或者多个这样的块。客户端访问存储系统的接口有两种:网络文件系统接口和SCSI或者ATA接口。前者指的是CIFS和NFS;后者可以是SCSI、FCP、ISCSI、ATA/IDE、SATA、eSATA、1394、USB。
前者在网线上的数据三元素是文件名、起始偏移量、读写字节数,后者在线缆上传递的三元素是起始扇区号码、操作码(读、写等)、要操作的扇区数量。文件系统的作用就是将块虚拟成文件。如果磁盘阵列中集成了自己的文件系统,则可以虚拟这些块,向外面提供NAS接口访问,此时盘阵的存储空间在主机端表现为一个挂载上的目录(不需要格式化,直接向其中读写文件,也就是NAS访问方式)。如果盘阵自己没有文件系统虚拟化功能,则只能依靠客户端,也就是主机端上的文件系统来管理此盘阵向这个主机映射的磁盘。关于“数据块”级和“文件”级之间的差异,Block级别就是直接通过读写存储空间(磁盘,LUN,Volume)中的一个或者一段地址的扇区来存取数据,文件级别则是通过读写某个文件中的一段数据。
我简单理解来说:
比如你是存储设备,我是主机,我说:请你将LUN1上的0~127这128个扇区的数据给我,你给我了,咱俩之间就是Block级的访问。
如果我这样和你要数据:请你将X目录下的tellme.txt文件的前128字节传给我,这就是文件级别的访问。前者俗称SAN Block访问,后者俗称NAS访问。