Các Bước Cần Thực Hiện Trước Khi Di Chuyển Server
Di chuyển một server — cho dù đó là đến một VM mới, một nhà cung cấp khác hay phần cứng mới — có vẻ đơn giản cho đến khi có sự cố xảy ra. Một bản sao lưu bị thiếu, một TTL DNS bị bỏ qua, hoặc một phục hồi chưa được thử nghiệm có thể biến một quá trình di chuyển bình thường thành một sự cố. Dưới đây là các bước cần thiết mà bạn luôn nên thực hiện trước khi di chuyển một server.
1. Thực Hiện Bản Sao Lưu Đã Xác Minh
- Bản sao lưu toàn bộ hệ thống: Tạo hình ảnh hoặc snapshot ổ đĩa (sử dụng các snapshot của nhà cung cấp,
rsync
,dd
, hoặc các công cụ như Velero nếu dùng Kubernetes). - Bản sao lưu theo dịch vụ: Xuất dữ liệu từ cơ sở dữ liệu (
pg_dump
,mysqldump
), xuất cấu hình (tar /etc/
), và lưu trữ dữ liệu quan trọng của ứng dụng. - Xác minh: Thử phục hồi một bản sao lưu cơ sở dữ liệu hoặc giải nén một bản lưu trên một VM thử nghiệm. Một bản sao lưu không thực sự cho đến khi bạn có thể phục hồi nó.
2. Đánh Giá Những Gì Đang Chạy
- Liệt kê dịch vụ:
systemctl list-unit-files --type=service | grep enabled
- Các gói đã cài đặt:
dpkg --get-selections > packages.list
(Debian/Ubuntu) hoặcrpm -qa > packages.list
(RHEL). - Cấu hình tùy chỉnh: Xác định các thay đổi trong
/etc/
, crontabs và tập tin cấu hình ứng dụng. - Phụ thuộc: Ghi chú lại các dịch vụ bên ngoài (SMTP, S3, APIs, nhà cung cấp OAuth).
3. Chuẩn Bị DNS & Mạng
- Giảm TTL DNS (ví dụ: 300 giây) ít nhất 24–48 giờ trước khi di chuyển, để bạn có thể chuyển lưu lượng nhanh chóng.
- Kiểm tra quy tắc tường lửa trên server mới (cổng, UFW, nhóm bảo mật).
- Lập kế hoạch quay lại: Biết cách chuyển đổi DNS hoặc cài đặt proxy trở lại nếu cần.
4. Bảo Mật Thông Tin Đăng Nhập & Quyền Truy Cập
- Thu thập khóa SSH, token, mật khẩu được lưu trữ một cách an toàn (tốt nhất là trong một trình quản lý mật khẩu hoặc kho lưu trữ bí mật).
- Kiểm tra rằng bạn có thể đăng nhập vào server mới với quyền người dùng thích hợp.
- Vô hiệu hóa đăng nhập root bằng mật khẩu trên máy chủ mới trước khi đưa nó ra công khai.
5. Chạy Thử Trên Máy Chủ Mới
- Nhân bản môi trường: Tạo người dùng, gói, cấu hình và điểm gắn giống nhau.
- Di chuyển dữ liệu: Sử dụng
rsync -avz --progress
để sao chép, lý tưởng là sử dụng snapshot hoặc với thời gian chết tối thiểu. - Kiểm tra nhanh: Khởi động các dịch vụ chính (ví dụ: cơ sở dữ liệu, máy chủ web, API) và xác nhận chúng phản hồi.
6. Ghi Chép Tất Cả
- Ghi lại sự ánh xạ cũ → mới (tên máy chủ, IP, dịch vụ).
- Ghi chú các bước di chuyển và lệnh đã sử dụng.
- Theo dõi bất kỳ phương án thay thế hoặc sửa chữa nào bạn áp dụng trong quá trình di chuyển — bạn sẽ cảm ơn bản thân sau này.
7. Kế Hoạch Quay Lại
- Nếu có sự cố xảy ra, bạn nên có khả năng:
- Chuyển DNS trở lại máy chủ cũ.
- Kích hoạt lại VM/dịch vụ cũ.
- Khôi phục bản sao lưu trong vài phút, không phải giờ.
Danh Sách Kiểm Tra Trước Khi Nhấn “Chuyển”
- [ ] Bản sao lưu đã xác minh tồn tại và có thể phục hồi
- [ ] TTL DNS đã giảm
- [ ] Tất cả cấu hình/dịch vụ đã được liệt kê
- [ ] Máy chủ mới đã được kiểm tra và an toàn
- [ ] Kế hoạch quay lại sẵn sàng
🔑 Kết luận: Một quá trình di chuyển suôn sẻ liên quan đến việc chuẩn bị, không phải tốc độ. Bản sao lưu + tài liệu + kế hoạch quay lại = sự tự tin.
LiveReview giúp bạn nhận phản hồi tuyệt vời cho PR/MR trong vài phút.
Tiết kiệm hàng giờ cho mỗi PR bằng cách cung cấp các đánh giá tự động nhanh chóng.
Nếu bạn mệt mỏi vì phải chờ người đồng nghiệp xem xét mã của bạn hoặc không tự tin rằng họ sẽ cung cấp phản hồi hợp lệ, LiveReview là dành cho bạn.