فرمت image روی allocation، snapshot و portability اثر دارد. امشب copy سرد را بین فرمت‌ها تبدیل و محتوا را با فرمت درست مقایسه می‌کنیم.

این جلسه بخشی از دورهٔ لینوکس ۳۰۵ در ۶۰ شب است.

جایگاه در دوره: هدف‌های 351.5 آزمون 305-300.

محیط: COLD_IMAGE معتبر و متوقف شب ۲۲، نسخهٔ user-owned خصوصی؛ همهٔ خروجی‌ها جدید و فضای واقعی کافی دارند.

qemu-img info --backing-chain "$COLD_IMAGE"
qemu-img check -f qcow2 "$COLD_IMAGE"
qemu-img convert -f qcow2 -O raw "$COLD_IMAGE" lab01.raw
qemu-img convert -f raw -O qcow2 lab01.raw lab01-converted.qcow2
qemu-img compare -f qcow2 -F qcow2 "$COLD_IMAGE" lab01-converted.qcow2

check برای integrity فرمت است، نه تأیید سالم بودن filesystem یا برنامه. -r repair را بدون backup به این فرمان اضافه نکن. compare در این مثال محتوای virtual disk را می‌سنجد، نه برابری بایت فایل و metadata qcow2.

raw ساده است ولی allocation آن ممکن است sparse باشد؛ virtual size، allocated size و فضای filesystem میزبان یک مقدار نیستند. qcow2 backing chain و snapshot دارد و وابستگی به base را باید نگه داشت.

qemu-img convert -f qcow2 -O vmdk "$COLD_IMAGE" lab01.vmdk
qemu-img info lab01.vmdk

VMDK variant/controller/boot باید با مقصد تطبیق داده شود. فایل vmdk خروجی به‌تنهایی OVF نیست؛ OVF توصیف بستهٔ appliance و metadata/resources است و OVA معمولاً archive آن است.

آزمون: تبدیل رفت‌وبرگشت باید compare موفق داشته باشد؛ سپس output مستقل را با UUID/MAC تازه در Clone بوت کن و marker را ببین. compare موفق تضمین driver/firmware مقصد نیست.

بازگشت: source سرد دست‌نخورده است؛ فقط outputهای جدید را پس از ثبت نتیجه پاک کن. convert روی image فعال یا overwrite source انجام نمی‌شود.

منبع: qemu-img ، فرمت‌های QEMU .