1. nbd模块加载
# lsmod | grep nbd
如果没有nbd模块,要手动挂载
modprobe nbd max_part=8
成功加载之后,dev下生成虚拟设备目录
# ll /dev/ | grep nbd
brw-rw---- 1 root disk 43, 0 9?. 6 09:13 nbd0
brw-rw---- 1 root disk 43, 16 9?. 6 09:13 nbd1
brw-rw---- 1 root disk 43, 160 9?. 6 09:13 nbd10
brw-rw---- 1 root disk 43, 176 9?. 6 09:13 nbd11
brw-rw---- 1 root disk 43, 192 9?. 6 09:13 nbd12
brw-rw---- 1 root disk 43, 208 9?. 6 09:13 nbd13
brw-rw---- 1 root disk 43, 224 9?. 6 09:13 nbd14
brw-rw---- 1 root disk 43, 240 9?. 6 09:13 nbd15
brw-rw---- 1 root disk 43, 32 9?. 6 09:13 nbd2
brw-rw---- 1 root disk 43, 48 9?. 6 09:13 nbd3
brw-rw---- 1 root disk 43, 64 9?. 6 09:13 nbd4
brw-rw---- 1 root disk 43, 80 9?. 6 09:13 nbd5
brw-rw---- 1 root disk 43, 96 9?. 6 09:13 nbd6
brw-rw---- 1 root disk 43, 112 9?. 6 09:13 nbd7
brw-rw---- 1 root disk 43, 128 9?. 6 09:13 nbd8
brw-rw---- 1 root disk 43, 144 9?. 6 09:13 nbd9
2. 关联img文件到nbd设备
将需要修改的img文件关联到某个nbd设备上
# qemu-nbd -c /dev/nbd8 /var/lib/libvirt/images/dog2.img
之后就能看见img文件的内容了
# fdisk -l /dev/nbd8
Disk /dev/nbd8: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005f92c
Device Boot Start End Blocks Id System
/dev/nbd8p1 * 1 65 522081 83 Linux
/dev/nbd8p2 66 1341 10249470 83 Linux
/dev/nbd8p3 1342 3382 16394332+ 82 Linux swap / Solaris
/dev/nbd8p4 3383 6527 25262212+ 5 Extended
/dev/nbd8p5 3383 4658 10249438+ 83 Linux
/dev/nbd8p6 4659 6527 15012711 83 Linux
3. 修改img文件内容
如果要修改某个分区的内容,就将该分区挂载到某个目录
mkdir yyy1
mkdir yyy2
mount /dev/nbd8p1 ./yyy1
mount /dev/nbd8p2 ./yyy2
修改完成后,记得umount
umount ./yyy1
umount ./yyy2
4. 取消img文件与nbd的关联
# qemu-nbd -d /dev/nbd8
/dev/nbd8 disconnected
# lsmod | grep nbd
如果没有nbd模块,要手动挂载
modprobe nbd max_part=8
成功加载之后,dev下生成虚拟设备目录
# ll /dev/ | grep nbd
brw-rw---- 1 root disk 43, 0 9?. 6 09:13 nbd0
brw-rw---- 1 root disk 43, 16 9?. 6 09:13 nbd1
brw-rw---- 1 root disk 43, 160 9?. 6 09:13 nbd10
brw-rw---- 1 root disk 43, 176 9?. 6 09:13 nbd11
brw-rw---- 1 root disk 43, 192 9?. 6 09:13 nbd12
brw-rw---- 1 root disk 43, 208 9?. 6 09:13 nbd13
brw-rw---- 1 root disk 43, 224 9?. 6 09:13 nbd14
brw-rw---- 1 root disk 43, 240 9?. 6 09:13 nbd15
brw-rw---- 1 root disk 43, 32 9?. 6 09:13 nbd2
brw-rw---- 1 root disk 43, 48 9?. 6 09:13 nbd3
brw-rw---- 1 root disk 43, 64 9?. 6 09:13 nbd4
brw-rw---- 1 root disk 43, 80 9?. 6 09:13 nbd5
brw-rw---- 1 root disk 43, 96 9?. 6 09:13 nbd6
brw-rw---- 1 root disk 43, 112 9?. 6 09:13 nbd7
brw-rw---- 1 root disk 43, 128 9?. 6 09:13 nbd8
brw-rw---- 1 root disk 43, 144 9?. 6 09:13 nbd9
2. 关联img文件到nbd设备
将需要修改的img文件关联到某个nbd设备上
# qemu-nbd -c /dev/nbd8 /var/lib/libvirt/images/dog2.img
之后就能看见img文件的内容了
# fdisk -l /dev/nbd8
Disk /dev/nbd8: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005f92c
Device Boot Start End Blocks Id System
/dev/nbd8p1 * 1 65 522081 83 Linux
/dev/nbd8p2 66 1341 10249470 83 Linux
/dev/nbd8p3 1342 3382 16394332+ 82 Linux swap / Solaris
/dev/nbd8p4 3383 6527 25262212+ 5 Extended
/dev/nbd8p5 3383 4658 10249438+ 83 Linux
/dev/nbd8p6 4659 6527 15012711 83 Linux
3. 修改img文件内容
如果要修改某个分区的内容,就将该分区挂载到某个目录
mkdir yyy1
mkdir yyy2
mount /dev/nbd8p1 ./yyy1
mount /dev/nbd8p2 ./yyy2
修改完成后,记得umount
umount ./yyy1
umount ./yyy2
4. 取消img文件与nbd的关联
# qemu-nbd -d /dev/nbd8
/dev/nbd8 disconnected