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

article/2025/11/1 12:25:39

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-server 9999 nbd.file,将一个win7的安装镜像作为目标文件,查看nbd相关进程可以发现nbd-server已经运行起来了

 

Client端

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

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

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

 

二、QEMU中的NBD

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

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

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

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

 

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


http://chatgpt.dhexx.cn/article/oZoyuHdr.shtml

相关文章

微信开放平台开发者认证

1.邮箱注册,激活账号 2.企业认证 3.登陆微信开放平台,进行开发者认证 4.填写认证信息 5.发票选择,可以选择不开发票 6. 支付费用300 备注:如有疑问,请联系作者!

微信开放平台开发(3) 移动应用微信登录

在这篇微信公众平台开发教程中,我们将介绍如何使用微信开放平台接口实现移动应用微信登录的功能。 移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号&#x…

微信开放平台之第三方平台开发,模板小程序如何提交?

大家好,我是悟空码字 12月25日,天气晴朗,阳光普照,今天是圣诞节。因为疫情影响,小羊人的增多,街上放眼望去,人烟稀少。楼下除了几个十一二岁的小男孩在玩耍,也没有像往日老人悠闲打…

微信开放平台第三方开发,注册试用小程序,一整套流程

大家好,我是小悟 对服务商来说,试用小程序的好处不言而喻,主打一个先创建后认证的流程。只需要提供小程序名称和openid便可快速注册一个试用小程序,在认证之前,有效期14天,大致流程如下。 注册试用小程序 …

微信开放平台开发第三方授权登陆(五):微信小程序

微信开放平台开发系列文章: 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三)&a…

微信开放平台开发-授权、全网发布(PHP)

这两天做了微信开发平台的开发,梳理下。。。 先看看授权的流程: 第一步:接收component_verify_ticket: 1、微信服务器每隔10分钟会向第三方的消息接收地址推送一次component_verify_ticket,拿到后需要在本地做好存储&…

微信开放平台开发——网页微信扫码登录(OAuth2.0)

转自 http://www.cnblogs.com/0201zcr/p/5133062.html 1、OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表)&am…

微信开放平台-第三方平台开发配置及常见的问题

目录 概述 参考文档 开源项目&工具 第三方平台设置 问题及解决方法 概述 本实例:第三方平台微信公众号(服务号) 微信开放平台-第三方平台,为广大公众号和小程序提供运营服务和行业解决方案。分两种类型,定制…

微信第三方平台开发(一)

个人感觉微信在第三方平台开发者这块的开发文档写的很不友好,很隐晦,我在开发的过程总结的一些东西,写出来给大家分享一下。恩,就这样吧。 一、注册第三方平台账号 打开https://open.weixin.qq.com/cgi-bin/index?thome/index&…

微信开放平台开发第三方授权登陆(三):Android客户端

微信开放平台开发系列文章: 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三)&a…

微信开放平台开发第三方授权登陆(二):PC网页端

微信开放平台开发系列文章: 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三)&a…

.md文件用什么软件打开

记事本-------体验感差 效果: Notepad 毫无疑问的完胜记事本 官网下载地址:https://notepad-plus.en.softonic.com/download (下载速度比较慢) 这是百度网盘:(会快一点点) 链接:ht…

md文件打开方式推荐

MD文件介绍 以下介绍来自于百度: md文件是Markdown语法编写的文件,Markdown是一款轻量级的标记语言,可以使用语法来代替排版,插入公式和图片等都非常的容易,目前很多博客都可以使用该语法去编辑。使用Markdown的好处…

md文件如何打开?

阅读md文件时 常常会手足无措 今天教大家如何打开md文件 当在阅览md文件时,一般系统默认是记事本: 阅览效果极其不佳且编辑体验极差! 今天推荐一款软件:Typora 直接上链接:下载地址(官网) …

Windows下右键新建.md文件教程(转)

Windows下右键新建.md文件教程 转载自Keavnn’Blog,并有些许修正 原本创建.md文件需要首先打开markdown文本编辑器,如Typora,或者新建.txt文件然后修改后缀名,本文介绍了如何在Windows操作系统中添加右键创建.md文件的方法。 环…

md文件使用

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

如何编写md格式的文档、vscode中写.md文件的插件推荐

目录 1. 标题 2. 字体 3. 引用 4. 分割线 5. 图片 6. 超链接 7. 无序列表 8. 有序列表 9. 列表嵌套 10. 表格 11.代码 12. vscode中写.md文件的插件推荐 .md格式的文章可以用编辑器Markdown打开,Markdown是一种纯文本格式的标记语言。通过简单的标记语法…

md文件转换成word文档

md文件转成word文档 Typora导出word文件时需要先下载pandoc Typora导出word文件时因为文档里面有表格,导出失败,所以先使用使用pandoc命令导出无边框表格的word 1.在xxx.md所在文件夹打开命令提示符 2.在命令提示符输入:pandoc -s xxxx.md …

.md文件以及markdown语法书写md文档

.md文件以及markdown语法书写md文档 1. .md文件如何打开2. markdown是什么?2.1 markdown用来干嘛?2.2 怎样书写和读取markdown? 3. markdown语法3.1 基本符号3.2 标题(从大到小取决于#号的数量)3.3 正文3.4 段落3.5 字…

md文档的阅读查看

前言: md文档可以用vscode看,也可以直接拖入浏览器看,但看起来不太好看,效果如下: 改进方法: 方法1、假如你的电脑安装了node.js (1)判断是否安装:WindowsR&#xff0…