پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری
این مقاله ابزارهای پشتیبان گیری را با هم مقایسه می کند، اما ابتدا باید دریابید که آنها چقدر سریع و خوب با بازیابی داده ها از پشتیبان گیری کنار می آیند.
برای سهولت مقایسه، بازیابی از یک نسخه پشتیبان کامل را در نظر خواهیم گرفت، به خصوص که همه نامزدها از این حالت عملکرد پشتیبانی می کنند. برای سادگی، اعداد قبلاً میانگین گرفته شده اند (میانگین حسابی چندین اجرا). نتایج در یک جدول خلاصه می شود که حاوی اطلاعاتی در مورد قابلیت ها نیز خواهد بود: وجود یک رابط وب، سهولت راه اندازی و عملکرد، قابلیت خودکارسازی، وجود ویژگی های مختلف اضافی (به عنوان مثال، بررسی یکپارچگی داده ها) ، و غیره. نمودارها بار روی سروری را که از داده ها استفاده می شود نشان می دهد (نه سرور برای ذخیره نسخه های پشتیبان).

بازیابی اطلاعات

از rsync و tar به عنوان یک نقطه مرجع استفاده می شود آنها معمولا بر اساس آنها هستند اسکریپت های ساده برای تهیه نسخه پشتیبان.

Rsync با مجموعه داده های تست در 4 دقیقه و 28 ثانیه کنار آمد و نشان داد

چنین باریپشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

فرآیند بازیابی با محدودیت زیرسیستم دیسک سرور ذخیره سازی پشتیبان مواجه شد (نمودارهای دندانه اره). همچنین می توانید بارگذاری یک هسته را بدون هیچ مشکلی به وضوح مشاهده کنید (iowait و softirq کم - به ترتیب بدون مشکل با دیسک و شبکه). از آنجایی که دو برنامه دیگر، یعنی rdiff-backup و rsnapshot، مبتنی بر rsync هستند و همچنین rsync معمولی را به عنوان یک ابزار بازیابی ارائه می‌دهند، تقریباً نمایه بار و زمان بازیابی نسخه پشتیبان مشابهی خواهند داشت.

قیر کمی سریعتر انجامش داد

2 دقیقه و 43 ثانیه:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

بار کل سیستم به دلیل افزایش softirq به طور متوسط ​​20٪ بیشتر بود - هزینه های سربار در طول عملیات زیر سیستم شبکه افزایش یافت.

اگر آرشیو بیشتر فشرده شود، زمان بازیابی به 3 دقیقه و 19 ثانیه افزایش می یابد.
با چنین بارگذاری روی سرور اصلی (باز کردن بسته بندی در کنار سرور اصلی):پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

فرآیند رفع فشرده سازی هر دو هسته پردازنده را اشغال می کند زیرا دو فرآیند در حال اجرا هستند. به طور کلی، این نتیجه مورد انتظار است. همچنین، هنگام اجرای gzip در سمت سرور با پشتیبان‌گیری، یک نتیجه قابل مقایسه (3 دقیقه و 20 ثانیه) به دست آمد؛ نمایه بار روی سرور اصلی بسیار شبیه به اجرای tar بدون کمپرسور gzip بود (نمودار قبلی را ببینید).

В rdif-backup می توانید آخرین نسخه پشتیبان تهیه شده را با استفاده از rsync معمولی همگام سازی کنید (نتایج مشابه خواهد بود)، اما نسخه های پشتیبان قدیمی هنوز باید با استفاده از برنامه rdiff-backup بازیابی شوند، که بازیابی را در 17 دقیقه و 17 ثانیه به پایان رساند.

این بار:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

شاید این هدف حداقل برای محدود کردن سرعت نویسندگان بوده است چنین راه حلی ارائه دهد. فرآیند بازیابی یک نسخه پشتیبان به خودی خود کمی کمتر از نیمی از یک هسته با عملکرد نسبتاً قابل مقایسه (یعنی 2 تا 5 برابر کندتر) روی دیسک و شبکه با rsync طول می کشد.

اسنپ ​​شات برای بازیابی، استفاده از rsync معمولی را پیشنهاد می کند، بنابراین نتایج آن مشابه خواهد بود. در کل اینطور شد.

اروغ زدن کار بازیابی یک نسخه پشتیبان را در 7 دقیقه و 2 ثانیه با انجام دادم
با این بار:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

خیلی سریع کار می‌کرد و حداقل بسیار راحت‌تر از rsync خالص است: نیازی نیست هیچ پرچمی را به خاطر بسپارید، یک رابط کاربری ساده و بصری، پشتیبانی داخلی از چندین نسخه - اگرچه دو برابر کندتر است. اگر نیاز به بازیابی اطلاعات از آخرین نسخه پشتیبان تهیه کرده‌اید، می‌توانید از rsync با چند اخطار استفاده کنید.

برنامه تقریباً همان سرعت و بار را نشان می داد پشتیبان گیری PC هنگام فعال کردن حالت انتقال rsync، استقرار نسخه پشتیبان برای

7 دقیقه و 42 ثانیه:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

اما در حالت انتقال داده، BackupPC کندتر با تار کنار آمد: در 12 دقیقه و 15 ثانیه، بار پردازنده به طور کلی کمتر بود.

یک و نیم بار:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

دورویی بدون رمزگذاری نتایج کمی بهتر نشان داد و یک نسخه پشتیبان را در 10 دقیقه و 58 ثانیه بازیابی کرد. اگر رمزگذاری را با استفاده از gpg فعال کنید، زمان بازیابی به 15 دقیقه و 3 ثانیه افزایش می یابد. همچنین، هنگام ایجاد یک مخزن برای ذخیره کپی ها، می توانید اندازه بایگانی را که هنگام تقسیم جریان داده های ورودی استفاده می شود، مشخص کنید. به طور کلی در هارد دیسک های معمولی نیز به دلیل حالت کار تک رشته ای تفاوت چندانی وجود ندارد. هنگامی که از ذخیره سازی هیبریدی استفاده می شود، ممکن است در اندازه های مختلف بلوک ظاهر شود. بار روی سرور اصلی در هنگام بازیابی به شرح زیر بود:

بدون رمزگذاریپشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

با رمزگذاریپشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

کپی کردن سرعت بهبودی قابل مقایسه ای را نشان داد و آن را در 13 دقیقه و 45 ثانیه کامل کرد. بررسی صحت اطلاعات بازیابی شده حدود 5 دقیقه دیگر طول کشید (در مجموع حدود 19 دقیقه). بار بود

بسیار بالا:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

هنگامی که رمزگذاری aes به صورت داخلی فعال شد، زمان بازیابی 21 دقیقه و 40 ثانیه بود، با حداکثر استفاده از CPU (هر دو هسته!) در طول بازیابی. هنگام بررسی داده ها، تنها یک رشته فعال بود که یک هسته پردازنده را اشغال می کرد. بررسی اطلاعات پس از بازیابی همان 5 دقیقه (در کل تقریباً 27 دقیقه) طول کشید.

نتیجهپشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

در هنگام استفاده از برنامه gpg خارجی برای رمزگذاری، duplicati با بازیابی کمی سریع تر بود، اما به طور کلی تفاوت ها با حالت قبلی حداقل است. زمان عملیات 16 دقیقه و 30 ثانیه با تأیید اطلاعات در 6 دقیقه بود. بار بود

مانند:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

AMANDAبا استفاده از تار، آن را در 2 دقیقه و 49 ثانیه تکمیل کرد که در اصل به تار معمولی بسیار نزدیک است. در اصل سیستم را بارگذاری کنید

همان:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

هنگام بازیابی نسخه پشتیبان با استفاده از zbackup نتایج زیر بدست آمده اند:

رمزگذاری، فشرده سازی lzmaپشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

مدت زمان 11 دقیقه و 8 ثانیه

رمزگذاری AES، فشرده سازی lzmaپشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

زمان کار 14 دقیقه

رمزگذاری AES، فشرده سازی lzoپشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

مدت زمان 6 دقیقه و 19 ثانیه

در کل بد نیست همه چیز به سرعت پردازنده روی سرور پشتیبان بستگی دارد که از زمان اجرای برنامه با کمپرسورهای مختلف به وضوح قابل مشاهده است. در سمت سرور پشتیبان، یک تار معمولی راه اندازی شد، بنابراین اگر آن را با آن مقایسه کنید، بازیابی 3 برابر کندتر است. ممکن است ارزش بررسی عملکرد در حالت چند رشته ای با بیش از دو رشته را داشته باشد.

BorgBackup در حالت رمزگذاری نشده، کمی کندتر از tar بود، در 2 دقیقه و 45 ثانیه، با این حال، بر خلاف tar، امکان حذف مخزن وجود داشت. بار معلوم شد

بعد:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

اگر رمزگذاری مبتنی بر blake را فعال کنید، سرعت بازیابی نسخه پشتیبان کمی کندتر است. زمان بازیابی در این حالت 3 دقیقه و 19 ثانیه است و بار از بین رفته است

مثل این:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

رمزگذاری AES کمی کندتر است، زمان بازیابی 3 دقیقه و 23 ثانیه است، بارگذاری به ویژه

تغییر نکرده است:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

از آنجایی که Borg می تواند در حالت چند رشته ای کار کند، بار پردازنده حداکثر است و هنگامی که عملکردهای اضافی فعال می شوند، زمان کار به سادگی افزایش می یابد. ظاهراً ارزش دارد که multithreading را به روشی مشابه zbackup بررسی کنید.

آرام با بازیابی کمی آهسته تر کنار آمد، زمان عملیات 4 دقیقه و 28 ثانیه بود. بار به نظر می رسید

بنابراین:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

ظاهراً فرآیند بازیابی در چندین رشته کار می کند، اما کارایی آن به اندازه BorgBackup نیست، اما از نظر زمان با rsync معمولی قابل مقایسه است.

با پشتیبان گیری UrBackup امکان بازیابی اطلاعات در 8 دقیقه و 19 ثانیه وجود داشت، بارگذاری شد

مانند:پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری

بار هنوز خیلی زیاد نیست، حتی کمتر از قطران. در برخی مکان ها انفجار وجود دارد، اما بیش از بار یک هسته نیست.

انتخاب و توجیه معیارهای مقایسه

همانطور که در یکی از مقالات قبلی بیان شد، سیستم پشتیبان باید دارای معیارهای زیر باشد:

  • راحتی در استفاده
  • تطبیق پذیری
  • ثبات
  • سرعت

ارزش آن را دارد که هر نکته را جداگانه با جزئیات بیشتر در نظر بگیرید.

سهولت عملیات

بهترین کار زمانی است که یک دکمه وجود دارد "همه چیز را به خوبی انجام دهید"، اما اگر به برنامه های واقعی برگردید، راحت ترین چیز یک اصل عملکرد آشنا و استاندارد خواهد بود.
اکثر کاربران اگر مجبور نباشند دسته ای از کلیدها را برای cli به خاطر بسپارند، مجموعه ای از گزینه های مختلف و اغلب مبهم را از طریق وب یا tui پیکربندی نکنند، یا اعلان های مربوط به عملکرد ناموفق را تنظیم کنند، به احتمال زیاد وضعیت بهتری خواهند داشت. این همچنین شامل توانایی "تطبیق" آسان یک راه حل پشتیبان در زیرساخت موجود و همچنین اتوماسیون فرآیند پشتیبان گیری است. همچنین امکان نصب با استفاده از یک مدیریت بسته یا در یک یا دو دستور مانند "دانلود و باز کردن بسته بندی" وجود دارد. curl ссылка | sudo bash - یک روش پیچیده، زیرا باید بررسی کنید که چه چیزی از طریق پیوند وارد می شود.

به عنوان مثال، از کاندیداهای در نظر گرفته شده، یک راه حل ساده آروغ زدن، rdiff-backup و restic است که دارای کلیدهای یادگاری برای حالت های مختلف عملکرد هستند. اندکی پیچیده تر، borg و duplicity هستند. سخت ترین آماندا بود. بقیه از نظر سهولت استفاده در حد وسط قرار دارند. در هر صورت، اگر برای خواندن دفترچه راهنمای کاربر به بیش از 30 ثانیه زمان نیاز دارید، یا باید به گوگل یا موتور جستجوی دیگری بروید، و همچنین در یک برگه طولانی از راهنما پیمایش کنید، تصمیم به هر شکلی دشوار است.

برخی از نامزدهای در نظر گرفته شده قادر به ارسال خودکار پیام از طریق e-mailjabber هستند، در حالی که برخی دیگر به هشدارهای پیکربندی شده در سیستم متکی هستند. علاوه بر این، اغلب راه حل های پیچیده تنظیمات هشدار کاملا واضحی ندارند. در هر صورت، اگر برنامه پشتیبان یک کد بازگشتی غیر صفر تولید کند که توسط سرویس سیستم برای کارهای دوره ای به درستی درک می شود (پیامی به مدیر سیستم یا مستقیماً برای نظارت ارسال می شود) - وضعیت ساده است. اما اگر سیستم پشتیبان‌گیری که روی سرور پشتیبان اجرا نمی‌شود، قابل پیکربندی نباشد، راه واضح برای گفتن در مورد مشکل این است که پیچیدگی در حال حاضر بیش از حد است. در هر صورت، صدور اخطارها و سایر پیام‌ها فقط به رابط وب یا به گزارش کار بدی است، زیرا اغلب نادیده گرفته می‌شوند.

در مورد اتوماسیون، یک برنامه ساده می‌تواند متغیرهای محیطی را بخواند که حالت عملکرد آن را تنظیم می‌کنند، یا دارای یک کلید توسعه‌یافته است که می‌تواند به طور کامل رفتار را هنگام کار از طریق یک رابط وب، به عنوان مثال، تکرار کند. این همچنین شامل امکان عملیات مداوم، در دسترس بودن فرصت های توسعه و غیره است.

تطبیق پذیری

تا حدی با تکرار زیربخش قبلی در مورد اتوماسیون، "تطبیق" فرآیند پشتیبان گیری در زیرساخت موجود نباید مشکل خاصی باشد.
شایان ذکر است که استفاده از پورت های غیر استاندارد (خوب، به جز رابط وب) برای کار، اجرای رمزگذاری به روش غیر استاندارد، تبادل داده ها با استفاده از پروتکل غیر استاندارد از نشانه های غیر استاندارد است. -راه حل جهانی در بیشتر موارد، همه کاندیداها آنها را به یک طریق یا به دلایل دیگر دارند: سادگی و تطبیق پذیری معمولاً با هم نیستند. به عنوان یک استثنا - آروغ، دیگران وجود دارد.

به عنوان یک نشانه - توانایی کار با استفاده از ssh معمولی.

سرعت کار

بحث برانگیزترین و بحث برانگیزترین نکته. از یک طرف، ما این فرآیند را راه اندازی کردیم، در سریع ترین زمان ممکن کار کرد و با وظایف اصلی تداخلی نداشت. از سوی دیگر، در طول دوره پشتیبان گیری، ترافیک و بار پردازنده افزایش می یابد. همچنین شایان ذکر است که سریع‌ترین برنامه‌ها برای کپی کردن معمولاً از نظر عملکردهایی که برای کاربران مهم هستند ضعیف‌ترین برنامه‌ها هستند. باز هم: اگر برای دریافت یک فایل متنی ناگوار با اندازه چند ده بایت با رمز عبور، و به همین دلیل کل سرویس هزینه می کند (بله، بله، من می دانم که فرآیند پشتیبان گیری اغلب در اینجا مقصر نیست)، و باید تمام فایل‌های موجود در مخزن را به ترتیب دوباره بخوانید یا کل آرشیو را گسترش دهید - سیستم پشتیبان هرگز سریع نیست. نکته دیگری که اغلب به یک مانع تبدیل می شود، سرعت استقرار یک نسخه پشتیبان از یک آرشیو است. در اینجا یک مزیت واضح برای کسانی وجود دارد که می توانند به سادگی فایل ها را بدون دستکاری زیاد به مکان مورد نظر کپی یا انتقال دهند (مثلاً rsync)، اما اغلب مشکل باید به روشی سازمانی و تجربی حل شود: با اندازه گیری زمان بازیابی نسخه پشتیبان. و علناً به کاربران در این مورد اطلاع رسانی می کند.

ثبات

این باید به این صورت درک شود: از یک طرف، باید امکان استقرار نسخه پشتیبان به هر شکلی وجود داشته باشد، از طرف دیگر، باید در برابر مشکلات مختلف مقاوم باشد: قطع شبکه، خرابی دیسک، حذف بخشی از مخزن

مقایسه ابزارهای پشتیبان گیری

زمان ایجاد کپی
زمان بازیابی را کپی کنید
نصب آسان
راه اندازی آسان
استفاده ساده
اتوماسیون ساده
آیا به سرور مشتری نیاز دارید؟
بررسی یکپارچگی مخزن
کپی های دیفرانسیل
کار از طریق لوله
تطبیق پذیری
استقلال
شفافیت مخزن
رمزگذاری
فشرده سازی
کپی برداری
رابط وب
پر شدن به ابر
پشتیبانی از ویندوز
امتیاز

Rsync
4 متر 15 ثانیه
4 متر 28 ثانیه
بله
هیچ
هیچ
هیچ
بله
هیچ
هیچ
بله
هیچ
بله
بله
هیچ
هیچ
هیچ
هیچ
هیچ
بله
6

قیر
خالص
3 متر 12 ثانیه
2 متر 43 ثانیه
بله
هیچ
هیچ
هیچ
هیچ
هیچ
بله
بله
هیچ
بله
هیچ
هیچ
هیچ
هیچ
هیچ
هیچ
بله
8,5

از gzip
9 متر 37 ثانیه
3 متر 19 ثانیه
بله

Rdiff-backup
16 متر 26 ثانیه
17 متر 17 ثانیه
بله
بله
بله
بله
بله
هیچ
بله
هیچ
بله
هیچ
بله
هیچ
بله
بله
بله
هیچ
بله
11

اسنپ ​​شات
4 متر 19 ثانیه
4 متر 28 ثانیه
بله
بله
بله
بله
هیچ
هیچ
بله
هیچ
بله
هیچ
بله
هیچ
هیچ
بله
بله
هیچ
بله
12,5

اروغ زدن
11 متر 9 ثانیه
7 متر 2 ثانیه
بله
هیچ
بله
بله
بله
بله
بله
هیچ
بله
بله
هیچ
هیچ
بله
هیچ
بله
هیچ
بله
10,5

دورویی
بدون رمزگذاری
16 متر 48 ثانیه
10 متر 58 ثانیه
بله
بله
هیچ
بله
هیچ
بله
بله
هیچ
هیچ
بله
هیچ
بله
بله
هیچ
بله
هیچ
بله
11

gpg
17 متر 27 ثانیه
15 متر 3 ثانیه

کپی کردن
بدون رمزگذاری
20 متر 28 ثانیه
13 متر 45 ثانیه
هیچ
بله
هیچ
هیچ
هیچ
بله
بله
هیچ
هیچ
بله
هیچ
بله
بله
بله
بله
بله
بله
11

aes
29 متر 41 ثانیه
21 متر 40 ثانیه

gpg
26 متر 19 ثانیه
16 متر 30 ثانیه

پشتیبان گیری
بدون رمزگذاری
40 متر 3 ثانیه
11 متر 8 ثانیه
بله
بله
هیچ
هیچ
هیچ
بله
بله
بله
هیچ
بله
هیچ
بله
بله
بله
هیچ
هیچ
هیچ
10

aes
42 متر 0 ثانیه
14 متر 1 ثانیه

aes+lzo
18 متر 9 ثانیه
6 متر 19 ثانیه

BorgBackup
بدون رمزگذاری
4 متر 7 ثانیه
2 متر 45 ثانیه
بله
بله
بله
بله
بله
بله
بله
بله
بله
بله
هیچ
بله
بله
بله
بله
هیچ
بله
16

aes
4 متر 58 ثانیه
3 متر 23 ثانیه

blake2
4 متر 39 ثانیه
3 متر 19 ثانیه

آرام
5 متر 38 ثانیه
4 متر 28 ثانیه
بله
بله
بله
بله
هیچ
بله
بله
بله
بله
بله
هیچ
بله
هیچ
بله
هیچ
بله
بله
15,5

پشتیبان گیری UrBackup
8 متر 21 ثانیه
8 متر 19 ثانیه
بله
بله
بله
هیچ
بله
هیچ
بله
هیچ
بله
بله
هیچ
بله
بله
بله
بله
هیچ
بله
12

آماندا
9 متر 3 ثانیه
2 متر 49 ثانیه
بله
هیچ
هیچ
بله
بله
بله
بله
هیچ
بله
بله
بله
بله
بله
هیچ
بله
بله
بله
13

پشتیبان گیری PC
rsync
12 متر 22 ثانیه
7 متر 42 ثانیه
بله
هیچ
بله
بله
بله
بله
بله
هیچ
بله
هیچ
هیچ
بله
بله
هیچ
بله
هیچ
بله
10,5

قیر
12 متر 34 ثانیه
12 متر 15 ثانیه

افسانه جدول:

  • سبز، زمان کار کمتر از پنج دقیقه، یا پاسخ «بله» (به جز ستون «به سرور مشتری نیاز دارید؟»)، 1 امتیاز
  • زرد، زمان کار پنج تا ده دقیقه، 0.5 امتیاز
  • قرمز، زمان کار بیش از ده دقیقه است، یا پاسخ "نه" است (به جز ستون "آیا به سرور مشتری نیاز دارید؟")، 0 امتیاز

با توجه به جدول بالا، ساده ترین، سریع ترین و در عین حال راحت ترین و قدرتمندترین ابزار پشتیبان گیری BorgBackup است. Restic مقام دوم را کسب کرد، بقیه نامزدهای در نظر گرفته شده تقریباً به طور مساوی با یک یا دو امتیاز در پایان قرار گرفتند.

من از همه کسانی که سریال را تا آخر خواندند تشکر می کنم، از شما دعوت می کنم در مورد گزینه ها بحث کنید و در صورت وجود گزینه های خود را ارائه دهید. با پیشرفت بحث، جدول ممکن است گسترش یابد.

نتیجه این مجموعه مقاله نهایی خواهد بود که در آن تلاش می شود تا یک ابزار پشتیبان گیری ایده آل، سریع و قابل مدیریت ایجاد شود که به شما امکان می دهد یک نسخه را در کوتاه ترین زمان ممکن بازگردانید و در عین حال راحت و آسان باشد. برای پیکربندی و نگهداری

اطلاعیه

پشتیبان گیری، قسمت 1: چرا پشتیبان گیری مورد نیاز است، مروری بر روش ها، فناوری ها
پشتیبان گیری، قسمت 2: بررسی و آزمایش ابزارهای پشتیبان گیری مبتنی بر rsync
پشتیبان گیری قسمت 3: بررسی و تست duplicity، duplicati
پشتیبان گیری قسمت 4: بررسی و آزمایش zbackup، restic، borgbackup
پشتیبان گیری، قسمت 5: تست بکاپ باکولا و veeam برای لینوکس
پشتیبان گیری قسمت 6: مقایسه ابزارهای پشتیبان گیری
پشتیبان گیری قسمت 7: نتیجه گیری

منبع: www.habr.com

اضافه کردن نظر