linux qemu-nbd介绍

article/2025/11/1 12:04:28

1. 介绍

NBD(Network Block Device),即网络块设备。可以将一个远程主机的磁盘空间,当作一个块设备来使用。就像一块硬盘一样使用它,你可以很方便的将另一台服务器的硬盘空间,增加到本地服务器上。NBD与NFS有所不同,NFS只是提供一个挂载点供客户端使用,客户端无法改变这个挂载点的分区格式,而NBD提供的是一个块设备,客户端可以把这个块设备格式化成各种类型的分区,更便于用户的使用。NBD是一个内核模块,大部分Linux发行版都已包含它。

在centos中, 编译成模块NBD, 保存在 /lib/modules/$version/kernel/driver/block/

远程服务器是一段轻量级的守护进程代码,它提供对远程设备的访问,而且该守护进程并不需要运行在linux平台之上。本地操作系统必须是linux,而且要支持Linux内核NBD驱动,并且能够运行本地客户端进程。

在这里插入图片描述
图1.NBD在本地客户端代表远程资源

文件系统能被挂载到NBD上(图1),而且NBD设备也能够用来组成冗余磁盘阵列(RAID)。在本地Linux上挂载一个EXT2文件系统到NBD,其传输率要比在同样的远程机器上挂载一个NFS快。

在这里插入图片描述
图2.使用NBD的冗余磁盘阵列

2. 加载 nbd 驱动

某些版本的 Linux 不加 max_part 参数会导致没有设备节点 /dev/nbd0p{1,2,3,4…} 等.用 kpartx 也不行. /dev/nbd0p{1,2,3,4} 分区。

# modprobe nbd max_part=8

备注:查看Linux 模块信息(modinfo),例如查看nbd模块的参数。 加载后,在/dev/目录下,根据参数创建nbdxx块设备文件。

# modinfo nbd
filename:       /lib/modules/4.18.0-147.el8.x86_64/kernel/drivers/block/nbd.ko.xz
license:        GPL
description:    Network Block Device
rhelversion:    8.1
srcversion:     6A98CFDAB8374FFFD7FCD25
depends:        
intree:         Y
name:           nbd
vermagic:       4.18.0-147.el8.x86_64 SMP mod_unload modversions 
sig_id:         PKCS#7
signer:         CentOS Linux kernel signing key
sig_key:        79:05:D0:5C:21:6F:8A:C5:DD:6E:19:BB:77:9D:05:F6:F2:21:B8:17
sig_hashalgo:   sha256
signature:      AB:3E:49:FE:84:52:F2:52:6B:AB:C8:D7:A5:71:06:40:87:C8:E6:17:E2:EF:0E:B9:2C:ED:F4:D8:FA:82:0B:31:70:37:7D:A1:3D:7A:79:32:1D:89:9C:F2:2E:89:D9:9B:D4:86:EC:33:56:60:60:A3:64:2F:B1:26:08:9E:47:EF:76:48:96:67:2B:3A:83:A5:8E:5D:F2:4B:D7:83:05:86:FD:54:AC:ED:38:2E:8B:E8:EE:66:6B:F7:4B:E2:D7:CE:63:A7:4A:2B:E6:CD:DA:24:04:CC:56:61:CC:84:6D:0B:0E:E6:A3:D2:90:37:E5:FA:1B:36:91:57:F7:37:B3:FC:5F:44:93:24:9A:B3:A5:8F:8E:BE:08:FA:35:58:61:9B:C2:4D:02:29:AC:A0:75:8D:3E:0B:75:77:93:31:44:90:39:BF:C7:ED:39:CE:38:E3:44:30:CA:D4:29:9F:57:E5:86:75:C0:A5:F0:88:76:A6:37:00:43:A2:10:98:E5:89:38:22:89:25:AE:35:BE:00:F4:5B:C6:3F:68:C5:49:06:15:6D:58:AF:34:2C:C5:A0:A4:E6:55:49:10:BD:B1:1A:E5:F2:07:BE:26:AC:80:2B:2D:2C:00:B2:AA:59:79:90:7B:15:95:FC:28:E7:FE:D0:9D:F3:2F:FE:7C:37:B4:93:99:77:B1:E8:FD:3D:4B:3A:51:D6:53:FA:DF:FE:47:52:08:14:4B:4A:C8:F3:B9:FD:A0:98:3F:3F:92:1A:66:3A:D9:5F:80:5E:26:5C:11:3C:E2:38:4D:D0:D1:DB:DF:16:1B:02:C2:88:AA:5D:24:12:AE:1A:CB:B7:32:2E:50:42:C7:E1:E5:6F:47:D7:8A:F3:C9:7E:F5:56:B8:38:3C:B1:58:76:1A:CA:51:E7:1B:E5:CA:6A:6F:72:C7:08:DC:DC:CC:1B:86:C8:8F:8D:38:22:4C:07:AE:C2:2C:3D:D3:13:8C:FF:3E:BD:27:D8:03:7E:45:B1:2C:85:13:EE:02:B7
parm:           nbds_max:number of network block devices to initialize (default: 16) (int)
parm:           max_part:number of partitions per device (default: 16) (int)

3. 挂载

连接:

# qemu-nbd -c /dev/nbd0 test.qcow2 

查看分区:

# fdisk -l /dev/nbd0
Disk /dev/nbd0: 1 GiB, 1073741824 bytes, 2097152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

格式化:

# mkfs.ext4  /dev/nbd0 
mke2fs 1.44.6 (5-Mar-2019)
Discarding device blocks: done                            
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: 361767db-1aae-4f07-bac2-e93e7903d6c8

挂载:

# mount /dev/nbd0  /root/fs

4. 卸载

卸载文件系统:

# umount /root/fs

断开连接:

# qemu-nbd -d /dev/nbd0 
/dev/nbd0 disconnected

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

相关文章

centos7 nbd 挂在qcow2或qcow,raw,虚机镜像,virsh,virt,使用qemu-nbd挂载qcow2镜像文件

基本原理 nbd(网络块设备: Network Block Device),利用qemu-nbd将qemu虚拟机镜像挂载到Linux上。   展开来讲,nbd可以将一个远程主机的磁盘空间,当作一个块设备来使用,就像一块硬盘一样。使用它,你可以很…

linux nbd模块,Centos7.3 安装编译nbd模块-Go语言中文社区

未安装nbd模块 [zhaojqlocalhost ~]$modprobe nbd modprobe: FATAL: Module nbd not found. 查看linux版本 [zhaojqlocalhost ~]$cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [zhaojqlocalhost ~]$uname -r 3.10.0-514.26.2.el7.x86_64 安装 [rootlocalhost…

linux nbd模块,Centos7.3 安装编译nbd模块

未安装nbd模块 [[email protected] ~]$ modprobe nbd modprobe: FATAL: Module nbd not found. [[email protected] ~]$ cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [[email protected] ~]$ uname -r 3.10.0-514.26.2.el7.x86_64 安装 [[email protected] …

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

NBD指的是Network Block Device,正如其名字的意思,NBD让用户可以通过网络访问到某个块设备,或者设备镜像。 你可能会想NFS(Network File System)不是已经可以实现通过网络挂载各种文件系统并进行访问了吗,…

微信开放平台开发者认证

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 创建一个自定义列表如何创建一个…