因vdfuse只支持virtualbox4.x,目前已经在新版ubuntu或centos中取消,换个思路,可以使用qemu+nbd的方法挂载vmdk,vdi,vhd,vhdx等格式的磁盘。
以下方法在centos7上实现。
1、编译内核,编译nbd为模块。
在配置界面,进入菜单
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 > │ └─────────────────────────────────────────────────────────────────────────┘
再编译内核:
1
2
| make
make modules_install install
|
完成后,reboot
2、修改配置:
设置新内核为自动启动:
设置nbd模块自动加载:
建立文件:/etc/sysconfig/modules/nbd.modules
内容:
1
| modprobe nbd max_part=16
|
重启。
3、安装配置qemu-img与qemu-nbd
4、创建文件并挂载:
1
2
3
| qemu-img create -f vpc test.vhd 10G //创建一个动态模式的10G VHD格式文件
qemu-img create -f vmdk test.vmdk 10G //创建一个动态模式的10G VMDK格式文件
qemu-nbd -c /dev/nbd0 test.vmdk //将test.vmdk挂载到/dev/nbd0设备文件上
|
|