Khi làm việc với môi trường Production, bất kỳ ai cũng sẽ cảm thấy áp lực và cần chuẩn bị kỹ lưỡng. Tuy nhiên, việc "chuẩn bị kỹ lưỡng" cụ thể là gì thì không phải tài liệu nào trên Internet cũng đề cập rõ ràng. Dưới đây là những kinh nghiệm thực tế mà mình muốn chia sẻ. Nếu bạn có ý kiến đóng góp, vui lòng để lại bình luận.
Trước khi thực hiện bất kỳ thay đổi nào, bạn cần hiểu rõ hệ thống mình đang làm việc: nó là gì, có khả năng gì, và điểm yếu ở đâu. Không thể tác động vào một hệ thống mà bạn không nắm rõ. Đặc biệt, khi làm việc với môi trường Production, bạn cần nắm thông tin cơ bản về hệ thống, một số trường hợp bạn có thể gặp phải như thay switch core, RAM, CPU, GPU cho server. Những thay đổi này thường dẫn đến downtime trong vài giờ, thậm chí vài ngày nếu xảy ra lỗi. Để giảm thiểu downtime, các doanh nghiệp thường sử dụng hệ thống HA (High Availability). Khi đó, bạn có thể thay thế từng thiết bị một cách tuần tự. Trong môi trường Production, ảo hóa là công nghệ được sử dụng phổ biến. Các máy ảo (VM) chạy dịch vụ sẽ được di chuyển sang các host khác để đảm bảo dịch vụ hoạt động liên tục. Tuy nhiên, để thực hiện điều này, bạn cần làm vài bước sau:
Bước 1: Kiểm tra tài nguyên hệ thống
Giả sử bạn có hai host A và B được kết nối theo dạng cluster. Nếu cần thay thế phần cứng trên host A, bạn phải di chuyển các VM từ host A sang host B để tránh downtime. Công thức kiểm tra tài nguyên như sau:
Ability <=> Resource - SumUsed
- Ability: Khả năng thực hiện thay đổi mà không gây downtime.
- Resource: Lượng tài nguyên còn lại sau khi tắt các thiết bị cần thay thế.
- SumUsed: Tổng lượng tài nguyên mà các VM đang sử dụng.
- Nếu Ability ≥ 0, bạn có thể thực hiện thay đổi mà không cần lo lắng về downtime (nếu bằng 0, nên thực hiện vào giờ ít người dùng).
- Tắt các VM không quan trọng để tối ưu tài nguyên.
- Xin phép downtime một số dịch vụ.
- Hoặc, nếu có chi phí, chuyển dịch vụ sang site khác như cloud.
Các công cụ ảo hóa thường hỗ trợ xuất thông tin VM dưới dạng bảng, giúp bạn dễ dàng tính toán tài nguyên.
Không ai có thể nhớ hết mọi thứ, đặc biệt khi làm việc với các thiết bị giá trị lớn. Vì vậy, việc tạo checklist chi tiết là rất quan trọng. Một checklist chuẩn cần bao gồm:

Bước 2: Lên checklist công việc
Không ai có thể nhớ hết mọi thứ, đặc biệt khi làm việc với các thiết bị giá trị lớn. Vì vậy, việc tạo checklist chi tiết là rất quan trọng. Một checklist chuẩn cần bao gồm:
- Chuẩn bị: Các bước chuẩn bị trước khi thực hiện.
- Thao tác với hệ thống: Các bước thực hiện cụ thể.
- Tối ưu hóa (Optimize): Kiểm tra và tinh chỉnh sau khi thực hiện.
- Roll Back: Kế hoạch khôi phục trong trường hợp xảy ra sự cố.
Checklist cần chi tiết đến mức ghi rõ từng thao tác nhỏ, ví dụ như "nhấn nút thoát". Ngoài ra, nên có các bước kiểm tra liên tục để đảm bảo hệ thống hoạt động ổn định.
Khi thực hiện, cần kiểm tra kỹ vị trí thiết bị trên rack để tránh rút nhầm dây. Kinh nghiệm là không nên tin hoàn toàn vào sơ đồ hoặc mô hình đã vẽ, mà hãy kiểm tra trực tiếp trên thiết bị. Các thiết bị thường có Serial Number trên nắp hoặc phần LED để nhận diện.
Sau khi hoàn tất, bạn cần trả hệ thống về trạng thái ban đầu, bao gồm:
Bước 3: Thực hiện checklist
Khi thực hiện, cần kiểm tra kỹ vị trí thiết bị trên rack để tránh rút nhầm dây. Kinh nghiệm là không nên tin hoàn toàn vào sơ đồ hoặc mô hình đã vẽ, mà hãy kiểm tra trực tiếp trên thiết bị. Các thiết bị thường có Serial Number trên nắp hoặc phần LED để nhận diện.


Bước 4: Trả hệ thống về hiện trạng ban đầu
Sau khi hoàn tất, bạn cần trả hệ thống về trạng thái ban đầu, bao gồm:
- Lắp lại dây.
- Di chuyển các VM về host cũ.
Một số công cụ ảo hóa, như VMware, hỗ trợ tính năng di chuyển VM mà không gây downtime (ví dụ: vMotion). Tuy nhiên, trong một số trường hợp, vẫn có thể mất vài gói tin. Để giảm thiểu rủi ro, bạn có thể sử dụng tính năng "Schedule vMotion with high priority" để tăng tốc độ di chuyển VM. Khi di chuyển, không nên thực hiện tất cả cùng lúc mà chỉ nên di chuyển 1-2 VM mỗi lượt.
Khi làm việc trong môi trường Production, việc chuẩn bị kỹ lưỡng không chỉ giúp giảm thiểu rủi ro mà còn đảm bảo sự ổn định cho hệ thống. Qua các bước kiểm tra tài nguyên, lập checklist, thực hiện theo quy trình và trả hệ thống về trạng thái ban đầu, bạn có thể tự tin thực hiện các thay đổi cần thiết mà không lo ngại về downtime. Hãy luôn nhớ rằng, sự cẩn trọng và chuẩn bị chu đáo sẽ là chìa khóa giúp bạn vượt qua áp lực và đạt được thành công trong công việc. Chúc bạn luôn thành công và an toàn trong mọi dự án!

Khi làm việc trong môi trường Production, việc chuẩn bị kỹ lưỡng không chỉ giúp giảm thiểu rủi ro mà còn đảm bảo sự ổn định cho hệ thống. Qua các bước kiểm tra tài nguyên, lập checklist, thực hiện theo quy trình và trả hệ thống về trạng thái ban đầu, bạn có thể tự tin thực hiện các thay đổi cần thiết mà không lo ngại về downtime. Hãy luôn nhớ rằng, sự cẩn trọng và chuẩn bị chu đáo sẽ là chìa khóa giúp bạn vượt qua áp lực và đạt được thành công trong công việc. Chúc bạn luôn thành công và an toàn trong mọi dự án!
Đính kèm
Sửa lần cuối: