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.