qemu-nbd
NBD指的是Network Block Device,正如其名字的意思,NBD让用户可以通过网络访问到某个块设备,或者设备镜像。 NFS的方式只能管到文件系统层,而NBD的方式则不仅可以管到文件系统层,还可以管到更下面的块设备层。
加载 nbd 驱动
sudo modprobe nbd
lsmod | grep nbd
ls /dev/nbd*
connect qemu-nbd
$ sudo qemu-nbd -c /dev/nbd0 ./eip-cluster-ubuntu16.04-x64-20230420.qcow2
$ sudo fdisk -l /dev/nbd0
Disk /dev/nbd0: 40 GiB, 42949672960 bytes, 83886080 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
Disklabel type: dos
Disk identifier: 0x7bda01c6
Device Boot Start End Sectors Size Id Type
/dev/nbd0p1 * 2048 83886046 83883999 40G 83 Linux
$
mount to a dir
sudo mount /dev/nbd0p1 /mnt/
如果找不到nbd0p1,可能是分区丢失,可以用以下命令试试
partx -a /dev/ndb0
或者
kpartx -a /dev/ndb0
sudo chroot mnt sudo su - eipadmin
退出
root@ecs--20210331:~# umount /mnt/
root@ecs--20210331:~# ls /dev/nbd3
/dev/nbd3p1 /dev/nbd3
root@ecs--20210331:~# qemu-nbd --disconnect /dev/nbd3
/dev/nbd3 disconnected
root@ecs--20210331:~# sudo rmmod nbd
root@ecs--20210331:~#