qemu-nbd使用教程
阅读原文时间:2023年07月15日阅读:1

服务端

服务器环境

已经安装过qemu-img的32位ubuntu

ubuntu@ubuntu-virtual-machine:~/laboratory$ uname -a
Linux ubuntu-virtual-machine 3.13.0-46-generic #76-Ubuntu SMP Thu Feb 26 18:52:49 UTC 2015 i686 i686 i686 GNU/Linux

服务端配置

  • 创建一个文件系统为ext3的qcow2文件

    ubuntu@ubuntu-virtual-machine:~/laboratory$ qemu-img create data2.img 20M
    ubuntu@ubuntu-virtual-machine:~/laboratory$ mkfs.ext3 data.img
    ubuntu@ubuntu-virtual-machine:~/laboratory$ qemu-img convert -O qcow2 data.img data.qcow2

  • 不需要加载nbd模块

    root@ubuntu-virtual-machine:~# ls /dev/ | grep nbd
    root@ubuntu-virtual-machine:~#

  • 发布文件

    root@ubuntu-virtual-machine:~# qemu-nbd -p 8888 -b 0.0.0.0 /home/ubuntu/laboratory/data.qcow2

客户端

客户端环境

安装了libvirt的64位CentOS

[sm@centos ~]$ uname -a
Linux centos 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

客户端配置

  • 加载nbd模块

    [root@centos sm]# rmmod nbd
    [root@centos sm]# modprobe nbd max_part=8

  • 映射服务器的块设备到本地nbd设备

    [root@centos data]# nbd-client 192.168.100.25 8888 /dev/nbd0

  • 挂载本地nbd设备到文件系统

    [root@centos sm]# mount /dev/nbd0 ./data/
    [root@centos sm]# cd data
    [root@centos sm]# touch mytest.txt

  • 使用完成后断开设备

    [root@centos data]# cd ..
    [root@centos sm]# umount ./data/
    [root@centos sm]# nbd-client -d /dev/nbd0
    Disconnecting: que, disconnect, sock, done

本地使用qemu-nbd访问qcow2文件

  • 加载nbd模块

    [root@centos sm]# rmmod nbd
    [root@centos sm]# modprobe nbd max_part=8

  • 映射qcow2文件到本地nbd设备上

    root@ubuntu-virtual-machine:~# qemu-nbd --connect=/dev/nbd0 /home/ubuntu/laboratory/data.qcow2
    root@ubuntu-virtual-machine:~# mount /dev/nbd0 ./data/
    root@ubuntu-virtual-machine:~# cd data/
    root@ubuntu-virtual-machine:~/data# ls
    mytest.txt

  • 卸载设备并断开链接

    root@ubuntu-virtual-machine:~/data# cd
    root@ubuntu-virtual-machine:~# umount /home/ubuntu/data
    root@ubuntu-virtual-machine:~# qemu-nbd -d /dev/nbd0
    /dev/nbd0 disconnected

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章