centos/ubuntu挂载vmdk、 vdi为块设备的方法(非vdfuse)

因vdfuse只支持virtualbox4.x,目前已经在新版ubuntu或centos中取消,换个思路,可以使用qemu+nbd的方法挂载vmdk,vdi,vhd,vhdx等格式的磁盘。

以下方法在centos7上实现。

1、编译内核,编译nbd为模块。

yumgroupinstall"DevelopmentTools"
yuminstallgccncursesncurses-develbc
yumupdate
wgethttps://www.kernel.org/pub/linux/kernel/v4.x/linux-4.0.tar.xz
tar-xflinux-4.0.tar.xz-C/usr/src/
cd/usr/src/linux-4.0/
makemenuconfig

在配置界面,进入菜单

Device Drivers → Block devices

选中:

<M> Network block device support

保存,退出:

< Save >

< Exit >

大致如下图:

.config - Linux/x86 4.0.0 Kernel Configuration

→ Device Drivers → Block devices ─────────────────────────────────────────────

┌───────────────────────────── Block devices ─────────────────────────────┐

│ Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty │

│ submenus ----). Highlighted letters are hotkeys. Pressing <Y> │

│ includes,<N> excludes,<M> modularizes features. Press <Esc><Esc> to │

│ exit,<?> for Help,</> for Search. Legend: [*] built-in [ ] │

│ ┌────↑(-)─────────────────────────────────────────────────────────────┐ │

│ │ [*] Compressed RAM block device debug support │ │

│ │ < > Compaq Smart Array 5xxx support │ │

│ │ < > Mylex DAC960/DAC1100 PCI RAID Controller support │ │

│ │ < > Micro Memory MM5415 Battery Backed RAM support │ │

│ │ <M> Loopback device support │ │

│ │ (0) Number of loop devices to pre-create at init time │ │

│ │ < > Cryptoloop Support │ │ │ │ < > DRBD Distributed Replicated Block Device support │ │

│ │ <M> Network block device support │ │ │ │ <M> NVM Express block device │ │

│ └────↓(+)─────────────────────────────────────────────────────────────┘ │

├─────────────────────────────────────────────────────────────────────────┤

│ <Select> < Exit > < Help > < Save > < Load > │

└─────────────────────────────────────────────────────────────────────────┘

再编译内核:

make
makemodules_installinstall

完成后,reboot

2、修改配置:

设置新内核为自动启动:

grub2-set-default0

设置nbd模块自动加载:

建立文件:/etc/sysconfig/modules/nbd.modules

内容:

modprobenbdmax_part=16

重启。

3、安装配置qemu-img与qemu-nbd

yuminstallqemu-img

4、创建文件并挂载:

qemu-imgcreate-fvpctest.vhd10G//创建一个动态模式的10GVHD格式文件
qemu-imgcreate-fvmdktest.vmdk10G//创建一个动态模式的10GVMDK格式文件
qemu-nbd-c/dev/nbd0test.vmdk//将test.vmdk挂载到/dev/nbd0设备文件上

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。