vmdk到qcow转换显示问题

时间:2018-05-23 06:33:27

标签: linux docker

将VMDK文件转换为qcow格式时,是否有人遇到过以下问题?

Write failed to dstDisk [####] server1/server1.vmdk curSector 146792448,numSectorToRead 2046 error write /dev/nbd0: no space left on device

CloneDisk: Failed to copy sectors : write /dev/nbd0: no space left on device

CMD: %!(EXTRA *exec.Cmd=&{/usr/bin/qemu-nbd [qemu-nbd -d /dev/nbd0] []  <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> <nil> false [] [] [] [] <nil> <nil>})

1 个答案:

答案 0 :(得分:0)

我使用qemu-img QEMU实用程序(在Debian qemu-utils软件包中)在bash中进行了两阶段转换(vmdk-> raw-> qcow)。

该脚本处理单个VMDK或多个VMDK文件。

echo "Converting multiple VMDK files in $PWD into QCOW..."

rm -f tmpImage.raw
for i in *.vmdk; do
    echo "Converting $i ..."
    qemu-img convert -f vmdk "$i" -O raw "$i.raw"
    cat "$i".raw >> tmpImage.raw
done
echo "Creating finalImage.qcow..."
qemu-img convert -f raw -O qcow tmpImage.raw finalImage.qcow
rm tmpImage.raw

唯一真正的问题是,我们是否要在转换之前将未排序的“ $ i.vmdk”文件附加到其最终原始图像的末尾,但这似乎是最好的方法。