Khôi phục thảm họa cho Hyper-V – Phần 1 
Ngu
ồ
n:quantrimang.com
Brien M. Pose
y
 
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.