NBD(Network Block Device)简介及基本使用

NBD(Network Block Device)简介及基本使用NBD指的是NetworkBlockDevice,正如其名字的意思,NBD让用户可以通过网络访问到某个块设备,或者设备镜像

NBD指的是Network Block Device,正如其名字的意思,NBD让用户可以通过网络访问到某个块设备,或者设备镜像。

你可能会想NFS(Network File System)不是已经可以实现通过网络挂载各种文件系统并进行访问了吗,为什么还要整个NBD呢?

如果用户的目的只是为了简单地访问对文件系统内的文件进行读写,那么NFS已经完全足够用了,但是有时候用户可能需要对存储块设备执行一些更底层的操作,这时候NFS可能就无法满足,需要NBD的方式了。简单地来说,NFS的方式只能管到文件系统层,而NBD的方式则不仅可以管到文件系统层,还可以管到更下面的块设备层。

比如,用户可能想要格式化哪个存储块设备,或者对存储块设备进行重新分区,这时候NFS的方式就无法满足该要求,因为在这些操作过程中,将会导致存在该存储块设备中的文件系统被卸载。对于NFS而言,卸载该文件系统的话,就会失去对该设备的连接。但是如果存储块设备是以NBD的方式挂载到系统中的话,则用户可以像操作本地存储块设备一样操作该通过NBD方式挂载的存储块设备,就像该存储块设备在本地就是通过SCSI或者SATA线连接着的。简单地说,NBD针对的是存储块设备,而NFS针对的是文件系统。

一、 如何使用NBD

NBD的工作方式也是遵循client/server的基本架构。在server端,通过设置将一个存储块设备或者镜像文件变成一个可以使用的网络块设备,然后在client端,连接挂载该设备进行使用。

Server端:Ubuntu IP:192.168.1.5

默认情况下,系统是没有安装NBD server的,在Ubuntu下可以执行下面命令进行安装:
sudo apt install nbd-server
安装完毕后,通过下面命令将NBD模块加载起来:
modprobe nbd

NBD(Network Block Device)简介及基本使用
执行命令nbd-server 9999 nbd.file,将一个win7的安装镜像作为目标文件,查看nbd相关进程可以发现nbd-server已经运行起来了

NBD(Network Block Device)简介及基本使用

 

Client端

执行apt install nbd-client指令安装nbd客户端
客户端主机页需要安装nbd模块,执行modprobe nbd,然后可以在/dev/目录下发现多了几个/dev/nbd#的设备。

NBD(Network Block Device)简介及基本使用

执行nbd-client 192.168.1.5 9999 /dev/nbd0,将nbd设备关联到/dev/nbd0设备上。

NBD(Network Block Device)简介及基本使用

将/dev/nbd0p1挂载到/mnt/目录下,可以看到iso文件里面的内容了。

NBD(Network Block Device)简介及基本使用

 

二、QEMU中的NBD

虚拟化程序QEMU中的qemu-nbd程序也是基于NBD方式对块设备或文件进行挂载,例如可以通过qemu-nbd命令查看一个虚拟机镜像文件的内部信息。
以一个win7.img的虚拟机镜像为例,首先用qemu-nbd命令将该镜像关联到NBD设备/dev/nbd3上(当然需要先加载ndb内核模块)

NBD(Network Block Device)简介及基本使用

然后查看NBD设备,可以发现多出了两个nbd设备,即/dev/nbd3p1和/dev/nbd3p2,说明win7.img镜像中有两个分区。

NBD(Network Block Device)简介及基本使用

分别将这两个设备文件挂载到文件系统中查看一下里面的内容:

NBD(Network Block Device)简介及基本使用

NBD(Network Block Device)简介及基本使用

可以发现/dev/nbd3p1其实就是系统的启动分区,而/dev/nbd3p2就是Win7的主分区,即Win7系统的C盘。

 

欢迎关注同名微信公众号“河马虚拟化”第一时间获取最新文章。

今天的文章NBD(Network Block Device)简介及基本使用分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/64507.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注