Khôi phục thảm họa cho Hyper-V – Phần 1

Brien M. Posey

Quản trị mạng – Trong loạt bài này chúng tôi sẽ giới thiệu cho các bạn về các tùy chọn cho việc khôi phục thảm họa bên trong môi trường Hyper-V.

Giới thiệu

Mặc dù việc backup và khôi phục một máy chủ thường là một công việc đơn giản, tuy nhiên với công nghệ ảo hóa thì điều này có đôi chút phức tạp hơn xét bức tranh toàn cảnh này. Chính vì vậy trong loạt bài này, chúng tôi sẽ giới thiệu cho các bạn các tùy chọn khôi phục thảm họa bên trong môi trường Hyper-V.

Mặc dù có nhiều ưu điểm trong việc ảo hóa máy chủ nhưng cũng không thể phủ nhận rằng việc ảo hóa cũng mang đến nhiều sự phức tạp trong việc quản lý. Có lẽ không ở đâu đúng hơn khi nói đến việc backup và khôi phục. Những gì thậm chí còn gây khó chịu ở đây là có quá nhiều thông tin sai lệnh trên Internet có liên quan đến việc backup và khôi phục thảm họa cho các máy chủ ảo. Chính vì vậy trong loạt bài này chúng tôi sẽ làm rõ và giới thiệu cho các bạn các tùy chọn khôi phục thảm họa có sẵn trong môi trường Hyper-V.

Snapshot

Chủ đề đầu tiên mà chúng tôi muốn giới thiệu là các snapshot. Như những gì có thể bạn biết, Hyper-V có một cơ chế cho phép bạn “chụp” lấy một điểm nào đó trong snapshot thời gian của các máy ảo. Mặc dù các snapshot đều có các vị trí của chúng xong chúng không thể thay thế cho việc backup máy chủ ảo.

Nếu tìm hiểu trên nhiều website chắc hẳn các bạn sẽ thấy có các website nói rằng việc tạo một snapshot là một phương pháp được ưa thích cho việc backup các máy ảo trong môi trường Hyper-V. Mặc dù một snapshot không thể thay cho một backup, nhưng chúng tôi biết được vấn đến xuất phát từ đâu. Hầu hết các ứng dụng backup trên thị trường ngày nay đều sử dụng Volume Shadow Copy Service (VSS). Người viết VSS đã tạo snapshot như một phần của quá trình backup. Chính vì vậy các bạn cần phải hiểu rằng các VSS snapshot và Hyper-V snapshot là hai thứ không giống nhau.

Việc tạo một snapshot trong Hyper-V cung cấp cho bạn một cách dễ dàng và nhanh chóng cho việc khôi phục lại một máy ảo trở về trạng thái trước đó của nó. Cho ví dụ, giả dụ bạn đã cài đặt một phiên bản mới của một ứng dụng vào máy ảo. Bạn có thể tạo một snapshot của máy ảo trước khi bắt đầu thực hiện quá trình nâng cấp. Theo cách đó, nếu có điều gì đó không hay xảy ra với bạn trong quá trình nâng cấp thì bạn chỉ cần khôi phục snapshot và hệ thống của bạn sẽ trở về trạng thái trước đó mà nó đã tồn tại, trạng thái chưa thực hiện nâng cấp.

Dù điều này nghe có vẻ giống như một backup, nhưng thực tế có một số điểm khác biệt quan trọng giữa các snapshot và các backup. Cho ví dụ, các snapshot được lưu nội bộ trên máy chủ. Điều đó có nghĩa rằng nếu máy chủ gặp phải lỗi về phần cứng thì bạn sẽ mất các snapshot của mình. Ngược lại, các backup lại được ghi vào thiết bị lưu trữ ngoài hoặc vào một ổ đĩa khác trên một máy chủ backup chuyên dùng.

Một khác biệt quan trọng khác giữa các backup và snapshot của Hyper-V là rằng các snapshot không biết đến các ứng dụng. Thực tế, nếu bạn quan sát chính sách hỗ trợ cho việc ảo hóa Exchange 2007 của Microsoft, họ nói rằng “Họ không hỗ trợ việc tạo các snapshot máy ảo cho máy khách ảo Exchange.”

Vậy tại sao lại có điều đó? Sở dĩ như vậy là vì Hyper-V snapshot không hề biết đến ứng dụng. Exchange Server 2007 sử dụng một cơ sở dữ liệu “storage engine” ngoài để lưu trữ dữ liệu của Exchange Server. Nên mặc dù một snapshot gồm có cơ sở dữ liệu trong trạng thái hiện hành của nó thì vào lúc ban đầu dữ liệu sẽ vẫn được ghi vào các trang cơ sở dữ liệu trong bộ nhớ, như một cách để giảm các yêu cầu I/O của Exchange Server. Hyper-V snapshot không backup nội dung của bộ nhớ hệ thống, trường hợp Exchange Server có thể dẫn đến mất dữ liệu hay một cơ sở dữ liệu không nhất quán, hoặc cả hai.

Rõ ràng đó chỉ là một ví dụ về tại sao việc sử dụng hyper-v snapshot không phải lúc nào cũng tốt. Dù máy chủ ảo của bạn đang chạy Exchange hoặc một phần mềm nào đó thì bạn phải nhớ rằng nếu bạn khôi phục một Hyper-V snapshot, máy chủ sẽ mong đợi mọi thứ giống như ở thời điểm snapshot được “chụp”. Cho ví dụ, nếu một máy chủ ảo đang hosting cho một cơ sở dữ liệu, ứng dụng cơ sở dữ liệu rất cần các máy khách được kết nối đến cơ sở dữ liệu như đã được kết nối vào thời điểm khi tạo snapshot.

Điều này không có nghĩa rằng các Hyper-V snapshot là vô dụng, mà khá ngược lại. các Hyper-V snapshot lại là cách tuyệt vời cho việc hạn chế những lần mạo hiểm của bạn đối với một thảm họa khi bạn thực hiện một thủ tục rủi ro. Chìa khóa chính để sử dụng các snapshot thành công là nên kế hoạch cho việc sử dụng chúng thay cho việc sử dụng chúng một cách tùy tiện.

Như chúng tôi đã nói, Microsoft không hỗ trợ sử dụng Hyper-V snapshot trong môi trường Exchange Server. Việc đó nói nên rằng, bạn có thể tạo một cách an toàn một Hyper-V snapshot nếu bạn tháo dỡ cơ sở dữ liệu trước và “stop” các dịch vụ có liên quan đến Exchange. Chúng tôi không khuyên bất cứ ai thực hiện điều đó mà chỉ chỉ ra rằng nếu bạn lên kế hoạch cho một snapshot, sử dụng các snapshot một cách có trách nhiệm thì chúng sẽ mang lại cho bạn rất nhiều lợi ích.

Chúng tôi đã đề cập từ trước về một số các lý do tại sao sử dụng một snapshot không phải là một lựa chọn đúng nhất đối phương pháp backup truyền thống trước kia, tuy nhiên chúng tôi không giải thích về những gì xảy ra khi bạn tạo một Hyper-V snapshot.

As I am sure that you probably know, virtual machines running on Hyper-V use virtual hard drive files (.VHD files) instead of physical hard drive volumes. When you create a snapshot of a virtual machine, you are essentially freezing the virtual hard drive file so that you can go back to it at a later time if necessary. The problem with freezing your virtual hard drive files is that you would not be able to use your virtual machines as normal if the server was completely frozen.

Có thể bạn đã biết, các máy ảo chạy trên môi trường Hyper-V sử dụng các file ảo (file .VHD) thay cho các phân vùng vật lý của các ổ cứng thật. Khi bạn tạo một snapshot của một máy ảo, về bản chất là bạn đang “freezing” file ở đĩa ảo để có thể trở về trạng thái trước đó nếu cần thiết. Vấn đề với việc “freezing” các file của ổ cứng ảo là rằng bạn không thể sử dụng các máy ảo như bình thường nếu máy chủ chưa được “freezing” hoàn toàn.

Để khắc phục vấn đề này, Microsoft đã thiết kế Hyper-V để khi bạn tạo một snapshot, ổ ảo sẽ được “freezing” và một snapshot file sẽ được tạo ra. Rất nhiều người cho rằng một snapshot file là một mirror image của file ổ đĩa ảo, tuy nhiên nó lại không phải như vậy. Việc “chụp” một snapshot chỉ mất một vài giây. Với công nghệ ngày nay, nó không thể nhân bản 500GB file ổ đĩa ảo trong một vài giây.

Những gì xảy ra là snapshot gồm có một file .AVHD, đây là file được lưu cùng với các file khác của máy ảo. File ảo được freezing, nhưng điều đó không có nghĩa rằng nó không được sử dụng. Nó chỉ có nghĩa rằng file ảo trở ở trạng thái chỉ đọc. Từ đó, dữ liệu có thể được đọc từ một file ảo, nhưng tất cả các hành động ghi xảy ra bên trong snapshot file.

Có một thứ cần phải lưu ý là việc có một snapshot có nghĩa rằng có hai vị trí trong một file có thể tồn tại. Khi Windows cần đọc một file, nó phải kiểm tra xem liệu phiên bản mới nhất của file có tồn tại bên trong snapshot hay không. Nếu không, file sẽ được đọc từ file ổ đĩa ảo. Hàm ý ở đây là rằng có nhiều snapshot máy ảo có thể có một sự ảnh hưởng lớn đến hiệu suất của máy. Tuy nhiên, sự ảnh hưởng đến hiệu suất này không vĩnh viễn. Bạn có thể quay trở lại trạng thái trước đó, sau đó remove các snapshot hoặc có thể hợp nhất snapshot vào file .VHD. Chúng tôi sẽ giới thiệu cách thực hiện đó cho các bạn trong phần 2.

Kết luận

Trong bài này chúng tôi đã giới thiệu cho các bạn rằng mặc dù các snapshot không phải là vật thay thế cho backup truyền thống nhưng chúng cũng có vai trò của nó. Trong phần hai, chúng tôi sẽ giới thiệu cho các bạn cách quản lý các snapshot này trong Hyper-V như thế nào. Còn trong phần sau nữa của loạt bài, chúng tôi sẽ giới thiệu một số công nghệ thực hiện các backup truyền thống đối với các máy ảo.

Thứ Ba, 09/06/2009 10:48
4,52 👨 6.729
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp