Clone با کلید SSH و machine-id قبلی می‌تواند هویت تکراری بسازد. امشب تصویر خاموش را آمادهٔ هویت تازه می‌کنیم و مسیر تبدیل را از کپی ساده جدا می‌دانیم.

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

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

محیط: copy مستقل COLD_IMAGE؛ source اصلی و شبکهٔ فعال دست‌نخورده‌اند. sysprep روی clone تغییر مخرب و عمدی ایجاد می‌کند.

cp --reflink=auto "$COLD_IMAGE" lab01-template.qcow2
virt-sysprep --list-operations
virt-sysprep -a lab01-template.qcow2 \
  --operations machine-id,ssh-hostkeys,udev-persistent-net

عملیات موجود را در نسخهٔ نصب‌شده بررسی کن؛ اگر یکی پشتیبانی نمی‌شود، نام جایگزین همان release را پیدا کن و scope را ثبت کن. این فهرست محدود همهٔ log، credential، user SSH key یا برنامهٔ نصب‌شده را پاک نمی‌کند.

boot هویت تازه#

با NoCloud instance-id و hostname تازه، XML دارای UUID/MAC جدید و IP غیرتکراری boot کن. cloud-init باید state قبلی مناسب template را نداشته باشد؛ پاک‌سازی state را در Clone با ابزار نسخهٔ آن یا عملیات پشتیبانی‌شدهٔ sysprep انجام بده. source cloud-init اصلی را برای template شدن clean نکن.

اثر انگشت SSH جدید را از console ببین. fingerprint قدیمی در known_hosts را بدون تشخیص guest تکراری حذف نکن. public key bootstrap قبلی نیز اگر نباید دسترسی بدهد از template حذف می‌شود؛ sysprep hostkeys آن را خودکار پاک نمی‌کند.

تبدیل در سطح آزمون#

virt-p2v و virt-p2v-make-disk مسیر محیط boot تبدیل سیستم فیزیکی‌اند؛ نیاز به دیسک/شبکه و scope مشخص دارند. virt-v2v می‌تواند driver/config guest را برای مقصد تطبیق دهد؛ تبدیل byte format توسط qemu-img وظیفهٔ محدودتری دارد. برای تمرین فقط guest ساختگی خاموش را انتخاب کن و ابزار/driver و platform مقصد را از support matrix بررسی کن.

آزمون و بازگشت: source و clone identity متفاوت، دادهٔ marker سالم و boot مستقل داشته باشند. در شکست، template را کنار بگذار و از copy سرد سالم تکرار کن؛ source اصلی هیچ sysprep نشده است.

منبع: virt-sysprep ، virt-p2v ، virt-v2v .