专家问答:为什么Block协议会比File协议快?

问:iSCSI所用的Block协议中的Block是否是和RAID概念中所说的Strip size一个概念啊? 就是可以自行设置数据块大小的.

能否详细说说问什么Block协议会比File协议快呢? 如果说底层的协议当然会比应用层的快这个原因的话, 那么为什么RAID 3用的Strip就没有RAID4用的Block好呢?

答:这个block,不是Raid里面那种block

block和file,其实就是数据结构,协议。

直接和磁盘打交道,或者和fs打叫道,利用的数据结构和协议是不一样的。但是他们的payload很大程度上是一样的。

只不过他们的数据交互逻辑,交互格式,不太一样

Linux kernel

一般顺序是vfs->mapping layer(filesystem)->generic block layer->IO scheduler layer->block device driver

上层的进程只知道vfs,具体的活由mapping layer做,例如一个文件系统。

具体的文件系统知道generic block layer,具体的活由IO scheduler layer和block device driver做。

IO scheduler是操作系统对IO的最后调度的部件,剩下的事情由device driver做,比如生成SCSI指令。

点击进入,参与讨论该话题