Migrate Gitlab CE sang máy chủ mới

Bài viết này là phần 7 trong 9 phần của serie bài viết Cài đặt Gitlab CE trên Ubuntu 18

ToiVietBlog - Migrate Gitlab CE sang máy chủ mới. Bài viết này mình sẽ hướng dẫn các bạn thực hiện việc migrate gitlab.

Việc migrate máy chủ thường khá ít khi xảy ra, tần suất vài tháng cho đến vài năm, thậm chí là chục năm một lần. Điều này tùy thuộc vào điều kiện cũng như yêu cầu vận hành của hệ thống.

Với mình thì đơn giản là vì máy ảo chạy hệ thống Gitlab đang nằm trên một máy chủ vật lý sắp đầy ổ cứng. Và mình cần migrate nó sang một máy chủ vật lý còn nhiều dung lượng ổ cứng.

Bạn đừng hỏi các vấn đề migrate nguyên cái máy ảo ở đây nhé. Điều đó phụ thuộc nhiều vào điều kiện hạ tầng.

Chuẩn bị hệ thống máy chủ

Ở đây, mình giả sử có 2 máy chủ trong quá trình chuyển đổi di dời.

  • 192.168.1.10: máy chủ gitlab cũ.
  • 192.168.1.11: máy chủ gitlab mới.

Hệ điều hành sử dụng của cả 2 máy chủ đều là Ubuntu server 18.04.

Lưu ý: mình cần ghi lưu ý này trước khi bạn thực hiện tiếp các công việc dưới đây. Bạn cần chạy phiên bản gitlab trên máy chủ mới giống với phiên bản gitlab trên máy chủ cũ. Điều này đồng nghĩa, hoặc bạn upgrade phiên bản trên máy chủ gitlab cũ lên latest, hoặc bạn downgrade/cài phiên bản thấp trên máy chủ gitlab mới.

migrate-gitlab-ce-sang-may-chu-moi Migrate Gitlab CE sang máy chủ mới
Migrate Gitlab CE sang máy chủ mới.

Migrate Gitlab CE sang máy chủ mới

Trước tiên, bạn sẽ thực hiện trên máy chủ gitlab cũ.

Trên máy gitlab cũ

Nếu phiên bản gitlab trên máy chủ cũ của bạn đang không phải phiên bản latest. Bạn hãy update nó trước khi thực hiện migrate, bạn có thể thực hiện việc này riêng.

Bạn lưu ý thực hiện việc update Gitlab theo minor version, tài liệu tham khảo.

# apt-get update
# apt-get install gitlab-ce -y

Khi phiên bản gitab đã được cập nhật mới nhất. Tiếp theo, bạn dừng các dịch vụ trên máy chủ gitlab cũ.

# gitlab-ctl stop unicorn
# gitlab-ctl stop puma
# gitlab-ctl stop sidekiq

Tạo một thư mục chứa dữ liệu backup.

# mkdir /tmp/migrate_gitlab

Tạo backup dữ liệu gitlab, lưu ý là bạn cần kiểm tra dung lượng ổ đĩa còn trống trước khi backup.

# gitlab-backup create

Copy dữ liệu backup gitlab vào thư mục migrate_gitlab.

# cp /var/opt/gitlab/backups/xxxxxxxxxx_yyyy_mm_dd_13.2.2_gitlab_backup.tar /tmp/migrate_gitlab
# cp -rp /etc/gitlab /tmp/migrate_gitlab

Chuyển thư mục migrate_gitlab sang máy chủ gitlab mới.

# scp -rp /tmp/migrate_gitlab root@192.168.1.11:/tmp/

Trên máy gitlab mới

Trên máy chủ gitlab mới, mặc định là bạn đã cài đặt phiên bản Gitlab CE mới nhất và thiết lập ban đầu, có thể truy cập vào website của hệ thống.

Bây giờ, bạn cũng tiến hành dừng các dịch vụ kết nối database của Gitlab.

# gitlab-ctl stop unicorn
# gitlab-ctl stop puma
# gitlab-ctl stop sidekiq

Copy file backup từ máy chủ gitlab cũ.

# cp /tmp/migrate_gitlab/xxxxxxxxxx_yyyy_mm_dd_13.2.2_gitlab_backup.tar /var/opt/gitlab/backups/
# chown git:git /var/opt/gitlab/backups/xxxxxxxxxx_yyyy_mm_dd_13.2.2_gitlab_backup.tar
# mv /etc/gitlab /etc/gitlab.current_bk
# cp -rp /tmp/migrate_gitlab/gitlab /etc/
# chown -R root:root /etc/gitlab

Chạy lệnh restore.

# gitlab-backup restore xxxxxxxxxx_yyyy_mm_dd_13.2.2

Bước restore này có thể sẽ khá lâu, 15GB dữ liệu backup có thể mất đến hơn 30 phút restore. Vì vậy, bạn cần lưu ý thời gian timeout cho kết nối SSH của máy chủ.

Sau khi thực hiện bước restore dữ liệu xong, bạn thực hiện reconfigure lại Gitlab để hệ thống apply các cấu hình từ máy chủ cũ.

# gitlab-ctl reconfigure
# gitlab-ctl restart

Và cuối cùng, bạn verify hệ thống Gitlab mới một lần nữa.

# gitlab-rake gitlab:check SANITIZE=true

Kết luận

Bài viết này của mình đã hướng dẫn các bạn từng bước một để thực hiện việc migrate Gitlab từ một máy chủ cũ sang một máy chủ mới. Trong trường hợp quá trình migrate sang máy chủ mới thất bại, bạn hoàn toàn vẫn có thể sử dụng máy chủ cũ vì nó không ảnh hưởng gì cả.

Tiếp tục đọc serie bài viết«« Phần trước: Hướng dẫn update phiên bản Gitlab CEPhần tiếp theo: Lỗi thường gặp khi sử dụng SSH key trên Gitlab »»
5 1 vote
Article Rating
Nhấn vào đây để đánh giá bài này!
[Tổng: 0 - Trung bình: 0]

If you appreciate what we share in this blog, you can support us by:
  1. Stay connected to: Facebook | Twitter | Google Plus | YouTube
  2. Subscribe email to recieve new posts from us: Sign up now.
  3. Start your own blog with SSD VPS - Free Let's Encrypt SSL ($2.5/month).
  4. Become a Supporter - Make a contribution via PayPal.
  5. Support us by purchasing Ribbon Lite Child theme being using on this website.

We are thankful for your support.

«« »»
Theo dõi
Thông báo về
guest
1 Comment
cũ nhất
mới nhất được bình chọn nhiều nhất
Inline Feedbacks
View all comments
ndakhang
ndakhang
12/10/2020 10:52

Bai viet qua hay!
Cho e hoi giua migrate va backup/restore co nhung gi khac nhau vay admin?

Last edited 6 tháng trước đây by ndakhang