Sao lưu và khôi phục dữ liệu khi có sự cố

Thông báo “sao lưu thành công” cho biết một tác vụ đã hoàn tất, nhưng chưa chứng minh doanh nghiệp có thể tiếp tục làm việc sau sự cố. Bản sao có thể thiếu tệp đính kèm, không mở được bằng phiên bản phần mềm hiện tại hoặc nằm trong tài khoản mà người phụ trách không còn truy cập được.
Vì vậy, chuẩn bị sao lưu cần đi cùng kế hoạch khôi phục: lấy lại dữ liệu nào, dùng bản sao nào, ai thực hiện và kiểm tra thế nào trước khi cho hệ thống hoạt động trở lại. Bài viết dùng ví dụ giả định về phần mềm nhận đơn hàng để giải thích những điểm doanh nghiệp cần thống nhất với đội phát triển hoặc đơn vị vận hành.
1. Xác định dữ liệu và thành phần cần sao lưu
Hãy bắt đầu từ công việc cần tiếp tục sau sự cố. Với phần mềm nhận đơn hàng, nhân viên cần mở được đơn, biết khách đã đặt gì, xem tệp liên quan và xác nhận tình trạng thanh toán. Nếu chỉ lấy lại danh sách đơn nhưng không mở được chứng từ, công việc có thể vẫn bị gián đoạn.
Từ đó, cùng người phụ trách kỹ thuật lập danh sách những thành phần cần có để hệ thống hoạt động: cơ sở dữ liệu, kho tệp, cấu hình kết nối và phiên bản phần mềm phù hợp. Thông tin đăng nhập hoặc khóa giải mã cũng phải được quản lý để người được phép có thể sử dụng khi cần. Không nhất thiết lưu mọi thứ theo cùng một cách, nhưng mỗi thành phần phải có cách lấy lại rõ ràng.
Cần phân biệt sao lưu với đồng bộ dữ liệu. Nếu một tệp bị xóa nhầm và việc xóa được đồng bộ sang nơi khác, bản đang đồng bộ có thể không giúp lấy lại tệp đó. Tương tự, có hệ thống dự phòng đang chạy không có nghĩa là có thể quay về một thời điểm trước khi dữ liệu bị sửa sai. Khi kiểm tra phương án hiện tại, hãy hỏi rõ có thể phục hồi từ tình huống nào và có giữ được các phiên bản trước đó hay không.
2. Xác định cần khôi phục đến đâu và trong bao lâu
Doanh nghiệp cần trả lời hai câu hỏi riêng: nếu xảy ra sự cố, chấp nhận mất phần dữ liệu mới trong khoảng thời gian nào; và hệ thống cần hoạt động trở lại trong bao lâu. Một câu liên quan đến mức dữ liệu phải giữ được, câu còn lại liên quan đến thời gian gián đoạn. Hai mục tiêu này giúp đội kỹ thuật chọn phương án sao lưu và khôi phục phù hợp.
Trong tài liệu kỹ thuật, mục tiêu về thời điểm dữ liệu cần khôi phục được gọi là RPO (Recovery Point Objective). Ví dụ, nếu bản sao dùng được gần nhất được tạo lúc 0 giờ và sự cố xảy ra lúc 15 giờ, những đơn nhận sau 0 giờ chưa nằm trong bản sao đó. Nếu không có nguồn khôi phục khác, doanh nghiệp phải đối chiếu và ghi nhận lại phần thiếu. Đây là ví dụ về khoảng trống dữ liệu, không phải mức mất dữ liệu nên chấp nhận cho mọi hệ thống.
Mục tiêu về thời gian khôi phục được gọi là RTO (Recovery Time Objective). Khi thống nhất mục tiêu này, cần nêu rõ hệ thống hoặc phần dịch vụ nào phải dùng lại được. Việc chép xong dữ liệu chưa đồng nghĩa với khôi phục xong: có thể còn phải dựng môi trường, nối lại dịch vụ và kiểm tra dữ liệu trước khi cho nhân viên tiếp tục xử lý đơn.
Mục tiêu phải dựa trên ảnh hưởng đến công việc. Hệ thống liên tục nhận đơn có thể cần cách bảo vệ khác với báo cáo có thể tạo lại từ dữ liệu gốc. Yêu cầu giữ được dữ liệu mới hơn hoặc khôi phục nhanh hơn có thể làm thay đổi chi phí và cách vận hành, nên cần trao đổi trước với bên triển khai thay vì chỉ ghi “sao lưu hằng ngày”.

Khả năng khôi phục cần được xác định bên cạnh các chức năng, vì nó quyết định hệ thống có thể hỗ trợ công việc thế nào sau sự cố. Để hiểu thêm về nhóm yêu cầu vận hành này, bạn có thể tham khảo bài Yêu cầu phi chức năng là gì?
3. Bảo vệ bản sao và chuẩn bị người khôi phục
Bản sao cần còn dùng được khi hệ thống chính gặp vấn đề. Nếu dữ liệu đang chạy và bản sao đều ở cùng nơi, cùng một tài khoản có thể xóa cả hai, thì sự cố ở nơi lưu hoặc việc tài khoản bị chiếm quyền có thể ảnh hưởng đồng thời đến chúng. Tùy rủi ro, đội kỹ thuật cần xem xét nơi lưu tách biệt, bản không thể sửa trong thời hạn đã đặt hoặc biện pháp bảo vệ phù hợp khác.
Bản sao cũng có thể chứa thông tin khách hàng và chứng từ, nên phải giới hạn người được xem, lấy về hoặc xóa. Nếu có mã hóa, khóa giải mã phải được quản lý an toàn và vẫn lấy được khi cần phục hồi. Những việc này liên quan trực tiếp đến cách phân quyền và bảo vệ dữ liệu. Bảo mật phần mềm: Cần hỏi gì trước khi phát triển?
Kế hoạch khôi phục cần ghi rõ ai được phép bắt đầu, ai thực hiện và ai xác nhận dữ liệu đã đủ để tiếp tục công việc. Người phụ trách kỹ thuật có thể xác nhận phần mềm chạy được, còn người nghiệp vụ cần kiểm tra đơn hàng, tệp và trạng thái thanh toán. Hai phần kiểm tra này không thay thế cho nhau.
Người nhận nhiệm vụ phải có hướng dẫn và quyền truy cập cần thiết, không chỉ tên trong danh sách liên hệ. Khi đổi đội vận hành hoặc kết thúc hợp đồng, cần bàn giao cả quyền lấy bản sao, công cụ sử dụng và cách nhận hỗ trợ để đội mới có thể tự khôi phục. Chờ bổ sung URL của bài: Bàn giao phần mềm cần những gì?
4. Thử khôi phục và kiểm tra công việc thực tế
Cách kiểm tra rõ nhất là thử khôi phục theo một tình huống đã chọn, chẳng hạn xóa nhầm dữ liệu hoặc không sử dụng được nơi lưu chính. Trước khi thử, cần thống nhất bản sao dùng để phục hồi, môi trường thực hiện, người tham gia và kết quả phải kiểm tra. Bố trí môi trường và biện pháp phù hợp để lần thử không ghi đè dữ liệu đang vận hành.
Trong lần thử, người được giao vận hành nên tự làm theo tài liệu để phát hiện bước còn thiếu. Ghi lại thời điểm bắt đầu, thời gian chờ quyền hoặc hỗ trợ, lúc phần mềm chạy và lúc người nghiệp vụ xác nhận dùng được. Nếu chỉ đo thời gian chép dữ liệu, kết quả sẽ không phản ánh đầy đủ quá trình đưa hệ thống trở lại sử dụng.
Sau đó, kiểm tra một số đơn đại diện: mở được thông tin và tệp đi kèm không, các số liệu liên quan có khớp không, nhân viên có tiếp tục xử lý được không. Nếu dữ liệu chỉ trở về mốc 0 giờ, cần xác định đơn phát sinh sau đó bằng nguồn đối chiếu đã được cho phép. Việc nhập lại phải có cách tránh tạo đơn hoặc ghi nhận thanh toán hai lần.
Kết quả cần nêu rõ đã thử phạm vi nào, mất bao lâu, dữ liệu lấy lại được đến đâu và còn hạn chế gì. Nếu thiếu khóa, thiếu hướng dẫn hoặc mất quá lâu để xác nhận dữ liệu, hãy giao người sửa và thử lại phần bị vướng. Một lần phục hồi thành công trong môi trường thử cũng chưa chứng minh mọi loại sự cố đều đã được xử lý.
Sau lần thử, đưa việc theo dõi sao lưu, xử lý cảnh báo thất bại và kiểm tra lại vào kế hoạch vận hành. Khi thêm kho tệp, đổi cấu trúc dữ liệu hoặc thay dịch vụ, cần xem phương án phục hồi còn phù hợp không. Nếu thuê bên ngoài, phải làm rõ phần việc nào thuộc phạm vi hỗ trợ và phần nào doanh nghiệp tự chịu trách nhiệm.
Bảo trì phần mềm gồm những gì?
Nếu doanh nghiệp hiện chỉ nhận thông báo sao lưu mà chưa từng thử lấy lại dữ liệu, hãy bắt đầu bằng một lần kiểm tra có phạm vi rõ ràng. Bạn có thể trao đổi với Fenix về hệ thống đang dùng, công việc quan trọng và cách sao lưu hiện tại để cùng xác định phần còn thiếu trong kế hoạch khôi phục.


