پشتیبانگیری و بازیابی
لرالینک از چه چیزهایی نسخهٔ پشتیبان میگیرد، بازگردانی چگونه آزموده میشود، چه چیزهایی را اندازه گرفتهایم، و محدودیتها.
آخرین بهروزرسانی: ۱۳ نوامبر ۲۰۲۶
خلاصه
| تدبیر | آنچه را دربر میگیرد | هر چند وقت | مدت نگهداری | کجا |
|---|---|---|---|---|
| نسخهٔ پشتیبان منطقی شبانه | کل پایگاه داده: همهٔ جدولهایی که دادهٔ برنامه را در خود دارند | هر شب | ۳۰ روز | حوزهٔ قضایی اتحادیهٔ اروپای Cloudflare |
| بازگردانی نقطهبهنقطه (Cloudflare D1 Time Travel) | کل پایگاه داده، به لحظهای پیشتر | پیوسته | ۳۰ روز | حوزهٔ قضایی اتحادیهٔ اروپای Cloudflare |
| ذخیرهسازی پروندهها | تصاویر، صوت، اسناد و دیگر پروندهها | بهصورت افزونه در Cloudflare R2 ذخیره میشوند؛ نسخهٔ پشتیبان جداگانهای وجود ندارد | تا زمانی که پرونده وجود دارد | حوزهٔ قضایی اتحادیهٔ اروپای Cloudflare |
| خروجیهای مشتری | محتوای یک نصب، و دادههای خودِ هر شخص | هر زمان که مشتری یا شخص درخواست کند | چنانکه مشتری تصمیم بگیرد | نزد مشتری |
نسخهٔ پشتیبان شبانه
هر شب، سکو رونوشتی منطقی از کل پایگاه داده را در فضای ذخیرهسازی پروندهها در حوزهٔ قضایی اتحادیهٔ اروپای Cloudflare مینویسد.
- این رونوشت همهٔ جدولهایی را که دادهٔ برنامه را در خود دارند در بر میگیرد. فهرست جدولهای موجود از خودِ پایگاه داده خوانده میشود، پس جدول تازه بیآنکه کسی آن را بیفزاید گنجانده میشود.
- این رونوشت در چند بخش نوشته میشود. هر بخش یک جمعآزما (checksum) و شمار ردیف دارد، و یک فهرست مشخصات (manifest) که در آخر نوشته میشود همهٔ آنها را فهرست میکند. نسخهٔ پشتیبانِ بدون فهرست مشخصات ناقص است و هرگز بازگردانی نمیشود.
- نسخههای پشتیبان ۳۰ روز نگه داشته میشوند و سپس بهطور خودکار حذف میشوند.
- اجرای پشتیبانگیریای که پیشرفتش متوقف شود پس از ۳۰ دقیقه «قطعشده» علامتگذاری میشود، و اگر در ۲۶ ساعت هیچ پشتیبانگیریای موفق نشده باشد، پشتیبانگیری تازهای آغاز میشود. صفحهٔ آمادگیِ مدیر سکو آخرین نسخهٔ پشتیبان را نشان میدهد و اگر در ۳۶ ساعت گذشته هیچ پشتیبانگیریای کامل نشده باشد، آن را با علامت هشدار مشخص میکند.
نسخهٔ پشتیبان در قالبی متنی و باز است. ابزاری برای راستیآزمایی آن را در یک پایگاه دادهٔ استاندارد SQLite بیرون از Cloudflare بازگردانی میکند.
بازگردانی نقطهبهنقطه
برای تغییری مخرب، مانند انتشار معیوب یا ویرایش گروهیِ اشتباه، میتوان پایگاه داده را با استفاده از بازگردانی نقطهبهنقطهٔ Cloudflare به لحظهٔ پیش از آن بازگرداند. هر انتشار در محیط عملیاتی، پیش از اعمال تغییرات در ساختار پایگاه داده، یک نقطهٔ بازگردانی ثبت میکند.
بازگردانی نقطهبهنقطه کل پایگاه داده، و بنابراین همهٔ نصبها، را به آن لحظه بازمیگرداند. بازگرداندن یک نصب به نقطهای پیشتر بیآنکه بر نصبهای دیگر اثر بگذارد، با بازگردانی یک رونوشت جداگانه و انتقال سوابق آسیبدیده انجام میشود که زمان بیشتری میبرد.
مدیر سکو همچنین میتواند نخست نصب آسیبدیده، یا کل سکو، را در حالت فقطخواندنی قرار دهد تا در مدتی که بازگردانی آماده میشود چیز دیگری تغییر نکند.
پروندهها
پروندهها در Cloudflare R2 ذخیره میشوند که هر شیء را بهصورت افزونه در حوزهٔ قضایی خود ذخیره میکند. امروز هیچ رونوشت شبانهٔ جداگانهای از پروندهها وجود ندارد، بنابراین پروندهای که حذف شود بیدرنگ برداشته میشود و ما نمیتوانیم آن را بازگردانیم. ابزار رونوشتبرداریِ راستیآزماییشدهای وجود دارد: این ابزار در ۳ نوامبر ۲۰۲۶ برای انتقال همهٔ پروندهها به اتحادیهٔ اروپا به کار رفت و تکتک آنها را بررسی کرد.
بازگردانی چگونه آزموده میشود
- بازگردانی همیشه نخست در یک پایگاه دادهٔ تازه و جداگانه انجام میشود. برای آزمودن یک نسخهٔ پشتیبان هرگز روی محیط عملیاتی نوشته نمیشود.
- بازگردانی فقط هنگامی پذیرفته میشود که همهٔ جمعآزماها مطابق باشند، شمار ردیفهای هر جدول با فهرست مشخصات مطابق باشد، همهٔ جدولهای نسخهٔ کنونی نرمافزار موجود باشند، و هیچ ارجاعی میان سوابق گسسته نباشد.
- بازگردانی در محیط آزمایشی (staging) و روی رونوشتی از محیط عملیاتی تمرین میشود.
آنچه اندازه گرفتهایم
| رویداد | نتیجه |
|---|---|
| بازگردانی کامل پایگاه داده، روی رونوشتی از محیط عملیاتی (۲۶۳٬۲۸۷ ردیف، ۳۱ اکتبر ۲۰۲۶) | ۲۴ دقیقه، بهاضافهٔ حدود ۱۱ دقیقه بررسی پیش از بازگردانی |
| انتقال سکو به اتحادیهٔ اروپا، ۳ نوامبر ۲۰۲۶ | بازگردانیِ واقعیِ محیط عملیاتی: ۲۷۱٬۰۳۲ ردیف در ۲۴ دقیقه، با تطابق همهٔ شمارشها و بدون هیچ ارجاع گسسته. پیش از آن سه بار تمرین شد؛ تکتک ردیفها و پروندهها بررسی شدند |
| مدت حالت فقطخواندنی در طول آن انتقال | حدود دو ساعت، که حدود نیم ساعت آن تلاش نخستی بود که پیش از نوشتن هر چیزی متوقف و اصلاح شد. بدون آن حدود ۹۰ دقیقه، چنانکه تمرین شده بود |
اهداف بازیابی
| سناریو | نقطهٔ بازیابی (دادهای که ممکن است از دست برود) | زمان بازیابی |
|---|---|---|
| تغییر مخرب (انتشار معیوب، تغییر گروهیِ اشتباه) | بازگردانی نقطهبهنقطه به لحظهٔ پیش از تغییر | هدف مطابق «توافقنامهٔ سطح خدمت» |
| از دست رفتن کامل پایگاه داده | تا ۲۴ ساعت: آخرین نسخهٔ پشتیبان شبانه | هدف مطابق «توافقنامهٔ سطح خدمت» |
| انتشار معیوب بدون آسیب به دادهها | هیچ: نسخهٔ پیشین دوباره مستقر میشود | هدف مطابق «توافقنامهٔ سطح خدمت» |
ما برای یک حادثهٔ مشخص، تا زمانی که مسیر بازگردانی برای آن راستیآزمایی نشده باشد، زمان بازیابیای وعده نمیدهیم. اندازهگیری ۲۴دقیقهای فقط مربوط به بازگردانی پایگاه داده است؛ بررسیهای پیش از بازگشایی خدمت به آن افزوده میشوند.
آنچه خودتان میتوانید انجام دهید
- نصبها میتوانند هر زمان از محتوای خود خروجی بگیرند. نگهداشتن رونوشتی از آنِ خودتان شما را در برابر هر نقصی از سوی ما، و در برابر خروج خودِ ما، محافظت میکند. نگاه کنید به «سیاست خروجیگرفتن از دادهها و خروج».
- هر شخص میتواند دادههای خود را از حساب کاربریاش بارگیری کند. نگاه کنید به «حقوق شما نسبت به دادههایتان».
محدودیتها، صادقانه بیانشده
- نسخهٔ پشتیبان شبانه در حالی که خدمت در حال اجراست، جدول به جدول گرفته میشود. این نسخه تصویری از یک لحظهٔ واحد نیست. سابقهای که در طول پشتیبانگیری تغییر کند ممکن است در وضعیت قدیم یا جدید خود باشد، و سابقهای که در طول اجرا حذف شود ممکن است سابقهای مرتبط را بدون آن باقی بگذارد؛ بررسیِ بازگردانی این را گزارش میکند. برای یک لحظهٔ دقیق، بازگردانی نقطهبهنقطه به کار میرود.
- از دست رفتن کامل ممکن است تا ۲۴ ساعت تغییرات را از میان ببرد.
- نسخههای پشتیبان ۳۰ روز نگه داشته میشوند و بازگردانی نقطهبهنقطه تا ۳۰ روز به عقب میرسد. دادهای که بیش از ۳۰ روز پیش حذف شده باشد بازیابیپذیر نیست.
- پروندهها رونوشت جداگانهای ندارند. آنها به ماندگاری Cloudflare R2 وابستهاند، و پروندهٔ حذفشده بازگردانیپذیر نیست.
- بازگردانی نقطهبهنقطه بر کل پایگاه داده اعمال میشود؛ بازگردانی یک نصب بهتنهایی زمان بیشتری میبرد.
- نسخههای پشتیبان نزد همان ارائهدهنده، Cloudflare، ذخیره میشوند، هرچند جدا از پایگاه دادهٔ زنده. از کار افتادن Cloudflare بهطور کامل در «تداوم کسبوکار» بررسی شده است.
- نسخههای پشتیبان ویرایش نمیشوند. دادهای که بنا به درخواست کسی حذف شده است تا زمان انقضای نسخههای پشتیبان در آنها باقی میماند.
- پشتیبانی مشتریان در ساعات اداری ارائه میشود. بازگردانیای که بیرون از این ساعات درخواست شود و بخشی از پاسخ به یک حادثه نباشد ممکن است دیرتر آغاز شود.