snapshot در همان میزبان جای backup مستقل را نمی‌گیرد. امشب تفاوت بازگرداندن instance، ساخت image و export قابل انتقال را با یک فایل شاهد بررسی می‌کنیم.

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

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

محیط: ct305؛ custom volume شب ۳۸ همچنان object مستقلی است. مقصد export فضای کافی دارد و خارج از storage pool نگه‌داری می‌شود.

mkdir -p "$HOME/lpic305/backups"
chmod 700 "$HOME/lpic305/backups"
sudo lxc stop ct305
sudo lxc snapshot ct305 before-change
sudo lxc export ct305 "$HOME/lpic305/backups/ct305.tar.gz"
sudo chmod 600 "$HOME/lpic305/backups/ct305.tar.gz"
sudo lxc start ct305
sudo lxc exec ct305 -- sh -c 'printf "changed\n" > /root/lab305.txt'
sudo lxc stop ct305
sudo lxc restore ct305 before-change
sudo lxc start ct305
sudo lxc exec ct305 -- cat /root/lab305.txt

توقف به سازگاری داده کمک می‌کند؛ برای database، backup برنامه هم لازم است. root filesystem به وضعیت snapshot برمی‌گردد، اما custom volume متصل را همراه آن برگشته فرض نکن.

sudo lxc stop ct305
sudo lxc storage volume export lpic305-dir lab305-data \
  "$HOME/lpic305/backups/lab305-data.tar.gz"
sudo lxc import "$HOME/lpic305/backups/ct305.tar.gz" ct305-restored
sudo lxc config show ct305-restored --expanded

نسخهٔ بازیابی‌شده را قبل start برای IP ثابت، دستگاه volume خارجی و profile اصلاح کن تا با اصل تعارض نکند. روی میزبان تازه باید سازگاری storage، profile و NIC را بررسی کرد؛ صرف داشتن tar تضمین استقرار نیست.

publish از instance متوقف یا snapshot image می‌سازد:

sudo lxc publish ct305/before-change --alias lab305-template
sudo lxc image info lab305-template

این image خصوصی باقی می‌ماند؛ ممکن است کلید، token، history و داده داشته باشد. قبل تبدیل به template قابل اشتراک، نمونهٔ جدا را پاک‌سازی و بازبینی کن.

بررسی و بازگشت: checksum export، config و فایل شاهد restore را ثبت کن؛ backup را واقعاً روی نام جدید آزمون کن. پس از آزمون، فقط instance بازیابی‌شده و image آزمایشی را حذف کن؛ نسخهٔ اصلی backup را نگه دار.

منبع: backup LXD ، مدیریت image .