我正在尝试使用 自动创建云图像virt-builder
。
我在 Centos 7 中使用以下命令,但一直失败。您知道问题出在哪里吗?
# virt-builder debian-9 -o /var/lib/libvirt/images/DB9-20G.qcow2 --format qcow2 --hostname ip.com --update --root-password password:root123 --firstboot-command 'dhclient ens3' --size 20G
这是输出:
[ 2.3] Downloading: http://libguestfs.org/download/builder/debian-9.xz
[ 3.3] Planning how to build this image
[ 3.3] Uncompressing
[ 6.2] Resizing (using virt-resize) to expand the disk to 20.0G
virt-resize: error: libguestfs error: resize2fs: e2fsck 1.42.9
(28-Dec-2013)
/dev/sda1 has unsupported feature(s): metadata_csum
e2fsck: Get a newer version of e2fsck!
If reporting bugs, run virt-resize with debugging enabled and include the
complete output:
virt-resize -v -x [...]
更新-01:看来 Centos 7 中的 e2fsprogs 已经过时了,无法处理这个问题。有没有其他方法可以更好地处理从命令行动态创建云图像?
答案1
CentOS 7 附带的 e2fsprogs 是轻微地年龄太大,无法理解 ext4 文件系统的功能元数据_csum磁盘映像就是用它构建的。用户空间支持出现在 1.43 版中(过时的 wiki 建议这样做)。
维基百科还指出,不了解该功能的旧工具不适合使用该功能。
因此,建议您:“获取较新版本的 e2fsck!”
在我理想的世界中,Red Hat 会将这个部分移植到 e2fsprogs 中,或者只是重新建立它,但我不会指望这一点。
由于您正在构建较新的操作系统映像,因此您应该考虑使用更现代的操作系统作为工作站。我使用 Fedora(目前为 27,偶尔为测试版)来实现类似的目的。