Sử dụng Quick Migration để di chuyển máy ảo giữa các host Hyper-V

Với tính năng Quick Migration, người sử dụng có thể dễ dàng di chuyển 1 máy ảo đang hoạt động từ 1 hệ thống host thực qua hệ thống khác với khoảng thời gian ngừng hoạt động tối thiểu, mà vẫn đảm bảo được hiệu suất và độ ổn định cần thiết.

Bằng việc sử dụng Windows Server Hyper-V hoặc Windows Server 2008 với Hyper-V, đi kèm với đó là Quick Migration, người quản lý có thể hoàn toàn chủ động trước những tình huống rủi ro xảy ra bất cứ lúc nào, ví dụ như việc xảy ra lỗi trong quá trình nâng cấp, bảo trì hệ thống… mà đây lại là những tiêu chí hàng đầu nếu muốn đáp ứng được nhu cầu của nhiều công ty, tổ chức hoặc doanh nghiệp hiện nay.

Để sử dụng được phương pháp này, các bạn phải tiến hành cài đặt System Center Virtual Machine Manager 2008 và sử dụng chính chức năng này để thực hiện quá trình di chuyển. Khi áp dụng đối với những Failover Cluster, Quick Migration sẽ tự làm việc theo cơ chế sau:
Đối với những kế hoạch di chuyển hệ thống đã được sắp xếp sẵn, quy trình sẽ lưu lại tình trạng tạm thời của máy ảo Guest đang hoạt động (bộ nhớ của server cũ sẽ được lưu vào ổ cứng, phân vùng được chai sẻ), di chuyển khả năng lưu trữ từ host vật lý này tới host khác, sau đó tiến hành khôi phục lại tình trạng ban đầu trên host mới. Trong toàn bộ quá trình này, sẽ có 1 khoảng thời gian downtime gần như không thể tránh khỏi, yếu tố nhanh hoặc chậm của hệ thống phụ thuộc vào dung lượng bộ nhớ RAM đã được thiết lập cho máy ảo và tốc độ của hệ thống subsystem.
Trong trường hợp xảy ra tình trạng downtime không được chuẩn bị sẵn thì hệ thống không thể lưu được tình trạng hiện thời của máy ảo. Mà thay vào đó, các máy ảo lại được tự động chuyển tới host khác trong hệ thống Cluster, và quá trình boot – khởi động sẽ được bắt đầu từ trạng thái Cold.

Lưu ý rằng chúng ta không cần phải thiết lập Failover Cluster của 2 hoặc nhiều hơn host Hyper-V để cho phép tính năng Quick Migration hoạt động. Tuy nhiên, nếu không triển khai Failover Cluster thì chúng ta sẽ không thể xử lý được trong các tình huống server gặp vấn đề mà không có kế hoạch chuẩn bị trước, và toàn bộ quá trình sẽ phải thực hiện bằng cách thủ công. Nếu các bạn quyết định sử dụng Failover Cluster thì phải dùng hệ điều hành Windows Server 2008 Enterprise hoặc Windows Server 2008 Datacenter. Bài thử nghiệm của chúng tôi chỉ tiến hành áp dụng trên nền tảng Hyper-V R2, chưa thể kiểm tra hoặc thử nghiệm đối với phiên bản RTM của Hyper-V, do vậy sẽ có 1 vài điểm khác biệt trong bài trình bày bên dưới so với hệ thống thực tế của các bạn. Bên cạnh đó, tác giả cũng không đề cập đến trường hợp Failover Cluster tự động của Quick Migration, mà thay vào đó là di chuyển máy ảo từ host lưu trữ này tới host khác với khoảng thời gian download tối thiểu.

Một số điểm cần lưu ý trước khi tiến hành:

Trên thực tế, khi chúng ta muốn di chuyển máy ảo từ host Hyper-V này tới host khác, thì bắt buộc phải sử dụng tùy chọn Migration có sẵn trong SCVMM. Mặt khác, có 2 việc cần phải được chuẩn bị kỹ để đảm bảo quá trình di chuyển diễn ra ổn định:

– Các Virtual Network phải được khởi tạo trước trên host mới. Nếu không thực hiện trước, thì người dùng sẽ phải thiết lập bằng cách thủ công tại trang Settings của máy ảo.

– Sử dụng bộ vi xử lý giống nhau trên cả 2 host. Nếu CPU giống nhau nhưng không cùng loại thì chúng ta sẽ phải điều chỉnh lại qua chức năng Processor Compatibility.

Thực hiện quá trình di chuyển:

Trước tiên, các bạn mở giao diện điều khiển chính của SCVMM 2008 R2, sau đó chọn Virtual Machines > All Hosts, tìm đúng phần host mà máy ảo đang hoạt động.

Về mặt bản chất, phần máy ảo cần di chuyển không cần phải tắt hoặc lưu lại trạng thái đang hoạt động tại thời điểm đó. Tuy nhiên, các bạn cần lưu ý rằng khoảng thời gian downtime sẽ xảy ra vài lần trong toàn bộ quá trình di chuyển này diễn ra, do vậy các tài khoản đang kết nối tới máy ảo đó sẽ gặp một số triệu chứng như mất kết nối, treo màn hình… đối với hầu hết các ứng dụng, khoảng thời gian timeout của chương trình đó sẽ lâu hơn so với downtime, do vậy tài khoản của người dùng không cần phải reconnect vào hệ thống.

Sau đó, nhấn chuột phải vào máy ảo đó và chọn Migrate – chức năng này sẽ thực hiện quá trình Quick Migration hoặc Live Migration, dựa trên các thiết lập cơ bản của hệ thống. Trong trường hợp này, tác giả chưa có Failover Clustering, do vậy hệ thống sẽ thực hiện chức năng Quick Migration:

Chọn Yes tại màn hình hiển thị tiếp theo:

Sẽ có 1 vài khoảng thời gian downtime xảy ra trong quá trình này

 

Danh sách tất cả các host Hyper-V (thông thường là VMware ESX/ESXi) sẽ hiển thị, chọn đúng thành phần host bạn cần di chuyển máy ảo tới. Lưu ý rằng tại thời điểm này, SCVMM sẽ tự động thay đổi hoặc điều chỉnh hiệu suất của hệ thống dựa vào cấu hình . Chọn host lưu trữ và nhấn Next:

Chọn tiếp đường dẫn của máy ảo trên host lưu trữ, đảm bảo rằng các bạn có đủ dung lượng trống cần thiết để tiến hành, sau đó nhấn Next:

Nếu các thông số của hệ thống mạng đã được thiết lập trước đó, thì chúng sẽ được tự động lựa chọn. Còn nếu không thì người dùng sẽ phải thực hiện bằng cách thủ công. Nhấn Next để tiếp tục:

Kiểm tra lại toàn bộ thông tin tại phần Summary, nhấn Move để bắt đầu quá trình di chuyển. Lưu ý rằng chúng ta cũng có thể sao chép các đoạn mã PowerShell đã được sử dụng để thực hiện việc sao lưu. Bên cạnh đó, nhấn Cancel tại bất kỳ thời điểm nào trong quá trình để hủy bỏ công việc.

Cửa sổ hiển thị Jobs sẽ cho chúng ta biết về tiến độ hoàn thành công việc:

Quay trở lại cửa sổ điều khiển chính của SCVMM, các bạn có thể nhìn thấy rõ thanh tiến trình – Progress, tình trạng hiện tại là Under Migration:

Tuy nhiên, trong toàn bộ khoảng thời gian này, các máy ảo vẫn đang hoạt động bình thường mà không xảy ra tình trạng downtime. Nhưng thực tế trong chế độ Background, SCVMM sẽ liên tục tạo ra các snapshot (hay gọi chính xác hơn là checkpoint) của máy ảo. Toàn bộ thông tin, tín hiệu I/O của ổ cứng sẽ được ghi tạm thời vào những file AVHD snapshot này. Sau đó, các file VHD của máy ảo sẽ được copy vào host lưu trữ, quá trình này sẽ diễn ra nhanh hoặc chậm tùy thuộc vào dung lượng tổng của các file VHD cũng như tốc độ kết nối của hệ thống mạng:

Và trong thời gian này, máy ảo của chúng ta vẫn đang trong tình trạng hoạt động bình thường. Tuy nhiên, nếu nhìn vào tab Network của Task Manager thì các bạn sẽ thấy nhiều tác vụ vẫn đang “âm thầm” diễn ra:

Nếu sử dụng chức năng ping trong quá trình này, chúng ta sẽ vẫn nhận được tín hiệu reply (trừ khi tính năng ICMP reply đã bị vô hiệu hóa trong firewall):

Khi quá trình copy kết thúc, tình trạng – state của máy ảo sẽ được hệ thống lưu trữ, có nghĩa là sẽ không có thêm bất kỳ sự thay đổi nào được “ghi” vào file AVHD:

Phần thông tin state này sẽ được gửi tới host lưu trữ:

Khi quá trình “vận chuyển” này kết thúc, chúng ta sẽ cùng xem cách máy ảo được phục hồi thế nào từ các state tương ứng:

Trong thời điểm này, toàn bộ kết nối mạng của hệ thống sẽ bị mất tạm thời, khi hoàn thành 100% thì mọi việc sẽ trở lại bình thường như cũ:

Và quá trình của chúng ta đã hoàn tất:

Chúc các bạn thành công!

Theo QTM

Bài viết liên quan