GITLAB یک رابط خط فرمان برای بازگرداندن کل نصب شما فراهم می کند و به اندازه کافی انعطاف پذیر است تا متناسب با نیازهای شما باشد.
بخش پیش نیازهای Restore شامل اطلاعات مهم است. حتماً حداقل یک بار قبل از تلاش برای انجام آن در یک محیط تولید ، روند بازیابی کامل را بخوانید و آزمایش کنید.
شما می توانید نسخه پشتیبان تهیه کنید فقط به همان نسخه و نوع (CE/EE) GitLab که آن را ایجاد کرده اید (به عنوان مثال CE 9. 1. 0) بازیابی کنید.
اگر پشتیبان گیری شما نسخه متفاوتی نسبت به نصب فعلی است ، باید قبل از بازگرداندن نسخه پشتیبان ، نصب GitLab خود را کاهش یا به روز کنید.
هر بایگانی پشتیبان حاوی یک نسخه پشتیبان کامل از خود ، از جمله مواردی است که از طریق روش پشتیبان گیری از مخزن افزایشی ایجاد شده است. برای بازگرداندن نسخه پشتیبان از مخزن افزایشی ، از همان دستورالعمل های بازگرداندن هر بایگانی معمولی پشتیبان استفاده کنید.
پیش نیازها را بازیابی کنید
قبل از اینکه بتوانید بازیابی را انجام دهید ، باید نصب GitLab را انجام دهید. این امر به این دلیل است که کاربر سیستم انجام اقدامات Restore (GIT) معمولاً مجاز به ایجاد یا حذف پایگاه داده SQL مورد نیاز برای وارد کردن داده ها به (GITLABHQ_PRODUCTION) نیست. تمام داده های موجود یا پاک شده (SQL) یا به یک فهرست جداگانه (مانند مخازن و بارگذاری) منتقل می شوند.
برای بازگرداندن نسخه پشتیبان ، شما باید /etc/gitlab/gitlab-secrets. json (برای بسته های omnibus) یا /home/git/gitlab/. secret (برای نصب از منبع) بازیابی کنید. این پرونده شامل کلید رمزگذاری پایگاه داده ، متغیرهای CI/CD و متغیرهای مورد استفاده برای احراز هویت دو عاملی است. اگر نتوانید این پرونده کلید رمزگذاری را به همراه پشتیبان گیری از داده های برنامه بازیابی کنید ، کاربرانی که دارای تأیید اعتبار دو عاملی هستند و GitLab Ruer دسترسی به سرور GitLab شما را از دست می دهد.
همچنین ممکن است بخواهید قبلی /etc/gitlab/gitlab. rb (برای بسته های omnibus) یا /home/git/gitlab/config/gitlab. yml (برای نصب از منبع) و هرگونه کلیدهای TLS ، گواهینامه ها (/و غیره////////////Gitlab/SSL ،/etc/gitlab/trusted-certs) یا کلیدهای میزبان SSH.
- پشتیبان گیری = timestamp_of_backup: در صورت وجود بیش از یک نسخه پشتیبان مورد نیاز است. بخوانید که Timestamp پشتیبان گیری در مورد چیست.
- FORCE = بله: نمی پرسید که آیا پرونده مجاز_ Keys باید احیا شود ، و فرض می کند "بله" برای هشدار در مورد جداول پایگاه داده حذف شده ، امکان نوشتن را به تنظیم پرونده های مجاز_ KEYS و به روزرسانی ارائه دهندگان LDAP می دهد.
اگر در دایرکتوری هایی که Mount Points هستند ، بازیابی می کنید ، باید اطمینان حاصل کنید که این دایرکتوری ها قبل از تلاش برای بازیابی خالی هستند. در غیر این صورت ، GitLab سعی می کند قبل از بازگرداندن داده های جدید ، این دایرکتوری ها را جابجا کند ، که باعث ایجاد خطایی می شود.
برای نصب omnibus gitlab بازیابی کنید
- شما دقیقاً همان نسخه و نوع (CE/EE) Gitlab Omnibus را که با آن تهیه نسخه پشتیبان تهیه شده است ، نصب کرده اید.
- شما حداقل یک بار دوباره پیکربندی sudo gitlab-ctl را اجرا کرده اید.
- Gitlab در حال اجرا است. اگر اینطور نیست ، آن را با استفاده از Sudo Gitlab-CTL شروع کنید.
ابتدا اطمینان حاصل کنید که پرونده TAR پشتیبان شما در فهرست پشتیبان است که در پیکربندی Gitlab. rb Gitlab_Rails ['backup_path'] شرح داده شده است. پیش فرض/var/opt/gitlab/backup است. پرونده پشتیبان باید متعلق به کاربر GIT باشد.
11493107454_2018_04_25_10. 6. 4-ce_gitlab_backup. tar/var/opt/gitlab/backup/git: git /var/opt/gitlab/backups/11493107454_2018_04_25_10. 6. 4-ce_gitlab_backup. tar
فرآیندهای متصل به پایگاه داده را متوقف کنید. بقیه Gitlab را در حال اجرا بگذارید:
Gitlab-ctl Stop Puma Gitlab-Ctl Stop Sidekiqوضعیت gitlab-ctl
در مرحله بعد ، نسخه پشتیبان را بازیابی کنید ، و مشخصات زمانی از پشتیبان گیری را که می خواهید بازیابی کنید مشخص کنید:
بازگرداندن Gitlab-Backupکاربران GITLAB 12. 1 و قبل از آن باید از دستور gitlab-rake gitlab: backup: به جای آن بازیابی کنید. برخی از پیام های خطای غیر مسدود کننده شناخته شده ممکن است ظاهر شود.
احتیاط
Gitlab-Rake GitLab: Backup: Restore مجوزهای صحیح سیستم پرونده را در فهرست رجیستری خود تنظیم نمی کند. این یک مسئله شناخته شده است. در GitLab 12. 2 یا بالاتر ، می توانید از GitLab-Backup Restore برای جلوگیری از این مسئله استفاده کنید.
اگر یک عدم تطابق نسخه GITLAB بین پرونده TAR پشتیبان شما و نسخه نصب شده GitLab وجود دارد ، دستور Restore با یک پیام خطا قطع می شود. نسخه صحیح gitlab را نصب کنید و دوباره امتحان کنید.
احتیاط
دستور بازیابی در هنگام نصب شما از PGBouncer ، به دلایل عملکرد یا هنگام استفاده از آن با خوشه Patroni ، به پارامترهای اضافی نیاز دارد.
در مرحله بعد ، همانطور که قبلاً ذکر شد ، در صورت لزوم ، در صورت لزوم ، در صورت لزوم بازیابی /etc/gitlab-secets. json.
دوباره پیکربندی کنید ، مجدداً راه اندازی کنید و GITLAB را بررسی کنید:
gitlab-ctl مجدداً شکل gitlab-ctl gitlab-roke gitlab را مجدداً راه اندازی کنید: در gitlab 13. 1 و بعد ، بررسی کنید که مقادیر پایگاه داده را می توان رمزگشایی کرد به خصوص اگر /etc/gitlab/gitlab-secets. json بازگردانده شد ، یا اگر سرور متفاوت هدف قرار گرفته است. بازیابی
Gitlab-Rake Gitlab: دکتر: اسرار
Gitlab-Rake Gitlab: Artifacts: Gitlab-Rake Gitlab: LFS: Gitlab-Rake Gitlab: بارگذاری را بررسی کنید: بارگذاری: بررسی کنید
برای نصب و راه اندازی نمودار Docker Image و GitLab Helm Returt
برای نصب GitLab با استفاده از تصویر Docker یا نمودار کلاه GitLab در خوشه Kubeetes ، وظیفه بازیابی انتظار دارد که دایرکتوری های بازیابی خالی باشند. با این حال ، با استفاده از حجم Docker و Kubeetes ، برخی از دایرکتوری های سطح سیستم ممکن است در ریشه های حجم ایجاد شوند ، مانند دایرکتوری Lost+Found که در سیستم عامل های لینوکس یافت می شود. این دایرکتوری ها معمولاً متعلق به Root هستند که می تواند باعث ایجاد خطاهای اجازه دسترسی شود زیرا وظیفه بازیابی Rake به عنوان کاربر GIT اجرا می شود. برای بازگرداندن نصب GitLab ، کاربران باید تأیید کنند که دایرکتوری های هدف بازیابی خالی هستند.
برای هر دو نوع نصب ، Tarball Backup باید در محل تهیه نسخه پشتیبان تهیه شود (مکان پیش فرض است/VAR/OPT/GITLAB/BACKUP).
برای نصب Docker ، کار بازیابی را می توان از میزبان اجرا کرد:
اسکلهاسکلهاسکلهراه اندازی مجدد داکراسکلهکاربران GITLAB 12. 1 و قبل از آن باید از دستور gitlab-rake gitlab: backup: به جای آن ایجاد کنید.
احتیاط
Gitlab-Rake GitLab: Backup: Restore مجوزهای صحیح سیستم پرونده را در فهرست رجیستری خود تنظیم نمی کند. این یک مسئله شناخته شده است. در GitLab 12. 2 یا بالاتر ، می توانید از GitLab-Backup Restore برای جلوگیری از این مسئله استفاده کنید.
نمودار Helm GitLab از یک فرآیند متفاوت استفاده می کند ، که در بازیابی نصب نمودار Helm GitLab ثبت شده است.
Gitlab را از پشتیبان گیری با استفاده از swarm docker بازیابی کنید
Docker Swarm ممکن است ظرف را در طی مراحل بازیابی مجدداً راه اندازی کند زیرا PUMA خاموش است ، بنابراین بررسی سلامت کانتینر از بین می رود. برای کار در مورد این مشکل ، مکانیسم بررسی سلامت را در پرونده آهنگسازی Docker غیرفعال کنید:
بیشتر در شماره شماره 6846 بخوانید ، GitLab Restore به دلیل Gitlab-HealthCheck می تواند شکست بخورد.
برای نصب از منبع بازیابی کنید
ابتدا اطمینان حاصل کنید که پرونده TAR پشتیبان شما در فهرست پشتیبان است که در پیکربندی Gitlab. yml شرح داده شده است:
پیش فرض/home/git/gitlab/tmp/backup است و باید متعلق به کاربر GIT باشد. اکنون می توانید روش پشتیبان گیری را شروع کنید:
سرویس Gitlab STOPخروجی مثال:
Unpacking backup. [DONE] Restoring database tables: -- create_table("events", true>) ->0. 2231s [.] - بارگیری رویدادهای فیکسچر.[انجام شده] - بارگیری مشکلات فیکسچر.[انجام شده] - بارگیری کلیدهای فیکسچر.[پرش] - بارگذاری فیکسچر ادغام_ request.[انجام شده] - بارگذاری نقاط عطف فیکسچر.[انجام شده] - بارگیری نام های نام فیکسچر.[انجام شده] - بارگیری یادداشت های فیکسچر.[انجام شده] - بارگیری پروژه های فیکسچر.[انجام شده] - بارگذاری فیکسچر محافظت شده_برانس.[پرش] - بارگذاری schema_migrations.[انجام شده] - بارگذاری خدمات فیکسچر.[پرش] - بارگیری قطعه قطعه.[پرش] - بارگذاری برچسب های فیکسچر.[پرش] - بارگذاری برچسب های فیکسچر.[پرش] - بارگیری کاربران فیکسچر.[انجام شده] - بارگیری کاربران فیکسچر_پروژها.[انجام شده] - بارگیری فیکسچر web_hooks.[پرش] - بارگیری ویکی فیکسچر.[پرش] بازگرداندن مخازن: - بازگرداندن مخزن ABCD.[انجام شده] - استخر شی 1. حذف دایرکتوری های TMP.[انجام شده]
در مرحله بعد ، همانطور که قبلاً گفته شد ، در صورت لزوم ، در صورت لزوم بازیابی/home/gitlab/. secret را بازیابی کنید.
خدمات مجدداً خدمات gitlab
بازگرداندن فقط یک یا چند پروژه یا گروه از پشتیبان
- یک نمونه جدید GitLab را در همان نسخه به عنوان نمونه پشتیبان که می خواهید بازیابی کنید نصب کنید.
- نسخه پشتیبان را به این نمونه جدید بازیابی کنید ، سپس پروژه یا گروه خود را صادر کنید. برای کسب اطلاعات بیشتر در مورد آنچه و صادر نشده است ، به اسناد ویژگی صادرات مراجعه کنید.
- پس از اتمام صادرات ، به نمونه قدیمی بروید و سپس آن را وارد کنید.
- پس از وارد کردن پروژه ها یا گروه هایی که می خواهید کامل است ، می توانید نمونه جدید و موقت GitLab را حذف کنید.
درخواست ویژگی برای ارائه بازگرداندن مستقیم پروژه ها یا گروه های فردی در شماره شماره 17517 مورد بحث قرار می گیرد.
گزینه های بازیابی
ابزار Line Line Gitlab برای بازگرداندن پشتیبان گیری می تواند گزینه های بیشتری را بپذیرد.
غیرفعال کردن اعلان ها در هنگام بازیابی
در حین بازیابی از پشتیبان گیری ، اسکریپت Restore ممکن است قبل از اقدام تأیید کند. اگر می خواهید این اعلان ها را غیرفعال کنید ، می توانید متغیر محیط gitlab_assume_yes را روی 1 تنظیم کنید.
برای بسته های omnibus gitlab:
برای نصب از منبع:
Rake Gitlab: پشتیبان گیری: بازیابی
- DB (پایگاه داده)
- بارگذاری (پیوست ها)
- Builds (سیاهههای خروجی کار CI)
- مصنوعات (مصنوعات شغلی CI)
- LFS (اشیاء LFS)
- terraform_state (حالت های Terraform)
- رجیستری (تصاویر رجیستری کانتینر)
- صفحات (محتوای صفحات)
- مخازن (داده های مخازن git)
- بسته ها (بسته ها)
برای بسته های omnibus gitlab:
بازگرداندن GitLab-Backup برای نصب از منبع:
Rake Gitlab: پشتیبان گیری: بازیابی
هنگام استفاده از چندین انبار مخزن ، مخازن از انبارهای مخزن خاص می توانند به طور جداگانه با استفاده از گزینه repositories_storages بازیابی شوند. این گزینه لیستی از نام های ذخیره سازی جدا از کاما را می پذیرد.
به عنوان مثال ، برای نصب Omnibus gitlab:
به عنوان مثال ، برای نصب از منبع بازیابی کنید:
Rake Gitlab: پشتیبان گیری: بازیابی
می توانید مخازن خاص را با استفاده از گزینه Repositories_Paths بازیابی کنید. این گزینه یک لیست جدا از کاما از مسیرهای پروژه و گروهی را می پذیرد. اگر یک مسیر گروهی را مشخص کنید ، کلیه مخازن در کلیه پروژه های گروه و گروه های نسل گنجانده شده است. پروژه و مخازن گروهی باید در نسخه پشتیبان تهیه شده وجود داشته باشند.
نصب Omnibus gitlab:
Gitlab-Backup بازگرداندن نصب از منبع:
Rake Gitlab: پشتیبان گیری: بازیابی
اگر یک نسخه پشتیبان تهیه نشده (ساخته شده با Skip = TAR) پیدا شود ، و هیچ نسخه پشتیبان با نسخه پشتیبان تهیه نمی شود ، از نسخه پشتیبان تهیه نشده استفاده می شود.
به عنوان مثال ، برای نصب Omnibus gitlab:
بازگرداندن Gitlab-Backup
به عنوان مثال ، برای نصب از منبع:
Rake Gitlab: پشتیبان گیری: بازیابی
ویدیو های آموزشی فارکس...
ما را در سایت ویدیو های آموزشی فارکس دنبال می کنید
برچسب :
نویسنده : محبوب امانی
بازدید : 35
تاريخ : شنبه
31 تير
1402 ساعت: 11:13