linux 块设备简要介绍
1. 块设备简单分类:SCSI块设备和LVM逻辑卷块设备;
2. 创建块设备需要两个linux内核函数:alloc_disk;add_disk;
alloc_disk:用于分配一个gendisk结构体的实例;
add_disk:将该结构体实例注册到系统中;
SCSI磁盘的具体实现在文件sd.c(driver/scsi/sd.c)中;
3. 网络块设备NBD(Network Block Device)
NBD本身是一个CS(Client - Sever)架构的程序;
4. do_nbd_request,该函数是NBD块设备的核心,其将一个块请求转换为一个网络请求,并发送给NBD服务端进行处理;
5. DRDB 全称为Distributed Relicated Block Device (分布式复制块设备)
队列处理例程:drbd_make_request