Xuất và nhập Hyper-V: Là gì, tại sao và cách thực hiện
Một trong những lợi ích của ảo hóa là tính di động, có nghĩa là bạn có thể dễ dàng di chuyển các máy ảo (VM) đã chọn từ vị trí này sang vị trí khác mà không gặp phải thời gian ngừng hoạt động hay gián đoạn dịch vụ. Tính di động trong môi trường Hyper-V được đảm bảo thông qua tính năng Xuất và Nhập Hyper-V, cho phép bạn dễ dàng sao chép và di chuyển một máy ảo Hyper-V đến vị trí đích, sau đó khôi phục máy ảo về trạng thái như lúc xuất.
Vậy, tính năng Xuất và Nhập Hyper-V hoạt động như thế nào? Khi bạn xuất một máy ảo Hyper-V, bản sao của các tệp cấu hình máy ảo, tệp VHD và bản sao lưu máy ảo có thể được tạo ra. Sau đó, bạn cần chỉ định xem bản sao máy ảo sẽ được đặt trong một máy chủ Hyper-V hay di chuyển máy ảo đã xuất sang các máy chủ Hyper-V khác. Cuối cùng, máy ảo đã lưu trữ có thể được sử dụng sau này trong trường hợp hỏng hóc phần cứng hoặc mất dữ liệu để khôi phục dữ liệu máy ảo.
Bài viết blog hôm nay cố gắng tìm hiểu xem tính năng Xuất và Nhập Hyper-V có thể được coi là một giải pháp sao lưu máy ảo hiệu quả hay không và so sánh nó với các giải pháp bảo vệ dữ liệu toàn diện.
Hyper-V Export là gì?
Hyper-V Export là quá trình xuất một máy ảo (VM) đã chọn, bao gồm các tệp đĩa cứng ảo, tệp cấu hình VM và các bản chụp nhanh Hyper-V, sang một đơn vị lưu trữ duy nhất. Thao tác này có thể được thực hiện khi VM đang ở trạng thái trực tuyến hoặc ngoại tuyến. Trong các phiên bản Windows trước đây (trước Windows Server 2012), bạn chỉ có thể xuất các máy ảo Hyper-V khi chúng đã được tắt. Hyper-V Export chỉ có thể được thực hiện theo yêu cầu.
Ngoài ra, trước đây bạn không thể xuất trực tiếp một VM sang một thư mục chia sẻ trên mạng. Trong các phiên bản Windows trước đây, VM phải được xuất trước tiên sang một không gian lưu trữ cục bộ và sau đó sao chép qua mạng đến vị trí đích nơi các tệp lưu trữ được lưu trữ. Với việc phát hành Windows Server 2012, vấn đề này đã được loại bỏ.
Tính năng Xuất Hyper-V có thể được sử dụng để lưu trữ một máy ảo mà bạn không còn cần nữa, hoặc như một bản sao lưu tạm thời cho phép bạn ghi lại dữ liệu máy ảo tại một thời điểm cụ thể. Hơn nữa, tính năng Xuất Hyper-V có thể được sử dụng cho mục đích thử nghiệm. Ví dụ, bạn có thể tạo một bản sao của máy ảo sản xuất và xuất nó sang môi trường không sản xuất để thử nghiệm và khắc phục sự cố.
Quá trình xuất máy ảo Hyper-V thường được so sánh với việc tạo bản sao lưu ( Tạo ảnh chụp nhanh Hyper-V ) cũng như tạo bản sao lưu. Việc xuất máy ảo không nhanh bằng việc tạo bản sao lưu (snapshot), nhưng khác với bản sao lưu Hyper-V, nó cho phép bạn tạo một bản sao đầy đủ của máy ảo hiện có và gửi nó đến một vị trí lưu trữ khác. Đồng thời, việc xuất Hyper-V không thể được coi là bản sao lưu đầy đủ của máy ảo. Nó không áp dụng các kỹ thuật nén, loại bỏ trùng lặp và mã hóa, vốn được các giải pháp bảo vệ dữ liệu sử dụng rộng rãi để giảm nhu cầu không gian lưu trữ và sử dụng không gian đĩa sẵn có hiệu quả hơn.
Hyper-V Import là gì?
Hyper-V Import cho phép bạn khôi phục các máy ảo đã chọn mà bạn đã xuất trước đó từ một bộ tệp cấu hình. Các máy ảo Hyper-V có thể được nhập vào máy chủ Hyper-V nguồn hoặc một máy chủ mới. Trước đây, việc nhập Hyper-V phải được thực hiện sau khi xuất Hyper-V. Tuy nhiên, kể từ Windows Server 2012 R2, bạn có thể nhập các máy ảo Hyper-V mà không cần phải xuất chúng trước đó. Khi thực hiện nhập Hyper-V, máy ảo sẽ được đăng ký với máy chủ Hyper-V.
Quá trình nhập Hyper-V có thể thuộc một trong các loại sau:
Register in-place.Trong trường hợp này, các tệp nguồn không bị thay đổi hoặc di chuyển theo bất kỳ cách nào. Hơn nữa, ID duy nhất của máy ảo vẫn giữ nguyên, có nghĩa là máy ảo đã được đăng ký với máy chủ Hyper-V. Nếu bạn cố gắng nhập máy ảo (VM) mà không xóa trước máy ảo nguồn có ID tương ứng, thao tác sẽ thất bại.

Loại nhập này có thể được sử dụng nếu bạn muốn chạy máy ảo từ vị trí nguồn, hoặc nếu máy ảo đã gặp sự cố và bạn cần đăng ký lại nó với máy chủ Hyper-V. Khi thao tác nhập hoàn tất, các tệp xuất sẽ trở thành tệp trạng thái đang chạy và không thể xóa bỏ.
- Trong trường hợp này, các tệp đã xuất được sao chép đến vị trí đích và ID duy nhất của máy ảo vẫn giữ nguyên như tại thời điểm xuất Hyper-V. Do đó, tốt nhất là xóa máy ảo gốc trước khi bắt đầu thao tác nhập để tránh xung đột ID. Nếu không, bạn sẽ gặp phải lỗi tương tự như đã đề cập ở trên.
Khi quá trình nhập Hyper-V hoàn tất, các tệp đã xuất sẽ vẫn nguyên vẹn và có thể được xóa hoặc nhập lại.
- Khi khôi phục một máy ảo đã lưu trữ, bạn nên chọn loại nhập “Copy”. Trong trường hợp này, các tệp máy ảo sẽ được sao chép vào vị trí đích và một ID duy nhất mới sẽ được gán cho máy ảo, có nghĩa là bạn có thể nhập máy ảo đã được cấu hình sẵn vào cùng một máy chủ Hyper-V nhiều lần.
Cách xuất máy ảo Hyper-V
Bạn có thể xuất máy ảo Hyper-V bằng Hyper-V Manager và chạy các lệnh PowerShell. Tôi sẽ mô tả chi tiết các phương pháp này và hướng dẫn bạn từng bước trong quá trình xuất máy ảo Hyper-V.
Sử dụng Hyper-V Manager
Để xuất máy ảo Hyper-V, bạn cần khởi chạy trình hướng dẫn Xuất máy ảo:
1. Mở Hyper-V Manager.
2. Nhấp chuột phải vào máy ảo trong danh sách. Như bạn có thể thấy, tôi đã chọn máy ảo đang chạy.

3. Chọn ” Export ” để mở trình hướng dẫn xuất máy ảo.
4. Nhấp vào ” Browse ” để chỉ định vị trí mà máy ảo sẽ được xuất sang.

5. Theo dõi tiến trình của thao tác xuất Hyper-V trong cột “Status”.

6. Sau khi thao tác hoàn tất, mở thư mục để xác minh rằng mọi thứ đã được xuất thành công.

Như bạn có thể thấy từ ảnh chụp màn hình ở trên, máy ảo đã chọn, bao gồm các đĩa cứng ảo, tệp cấu hình máy ảo và ảnh chụp nhanh máy ảo, đã được xuất thành công sang một vị trí mới.
Sử dụng PowerShell
Phương pháp tiếp theo là chạy các lệnh PowerShell, giúp bạn tự động hóa quá trình xuất máy ảo Hyper-V. Sau khi tạo một tập lệnh PowerShell hoạt động, bạn có thể lên lịch để tập lệnh chạy tự động bằng Trình lập lịch tác vụ. Như vậy, bạn có thể sao lưu các máy ảo (VM) đang chạy một cách định kỳ mà không gây ra thời gian ngừng hoạt động của hệ thống hay gián đoạn dịch vụ.
Để xuất các máy ảo Hyper-V bằng PowerShell, bạn nên chạy lệnh cmdlet sau:
Export-VM -Name DemoVM -Path 'C:Virtual Hard DisksExported VMs'
Hãy nhớ chạy PowerShell với quyền Quản trị viên để các lệnh cmdlet hoạt động đúng như mong đợi.

Sau khi kiểm tra thư mục đích, bạn có thể thấy rằng máy ảo và các tệp liên quan đã được xuất thành công.

Cmdlet sau đây có thể được sử dụng để xuất tất cả các máy ảo (VM) có sẵn vào thư mục gốc của ổ C (C:).
Get-VM | Export-VM -Path C:
Cách nhập máy ảo Hyper-V
Như đã đề cập ở trên, bạn thậm chí có thể nhập các máy ảo Hyper-V chưa từng được xuất trước đó. Để thực hiện điều này, bạn cũng có thể sử dụng Hyper-V Manager hoặc các lệnh PowerShell.
Sử dụng Hyper-V Manager
Để nhập một máy ảo Hyper-V, bạn nên thực hiện các bước sau:
1. Mở Hyper-V Manager.
2. Trong phần Actions, chọn Import Virtual Machine để mở trình hướng dẫn Nhập máy ảo.

3. Trong phần Before You Begin, đọc thông tin về chức năng của trình hướng dẫn này và nhấp vào Next.

4. Trong phần Locate Folder, bạn nên chọn thư mục chứa máy ảo mà bạn muốn nhập.

5. Trong phần “Chọn Máy ảo”, hãy chọn máy ảo cần nhập.

6. Trong phần “Chọn Loại Nhập”, tùy theo nhu cầu cụ thể của bạn, bạn phải lựa chọn giữa ba loại nhập: Register the virtual machine in-place, Restore the virtual machine, và Copy the virtual machine. Trong trường hợp này, tôi sẽ hướng dẫn cách sao chép máy ảo và gán một ID duy nhất mới cho nó.

7. Trong phần “Chọn Vị trí Đích”, bạn có thể chỉ định các thư mục để lưu trữ các tệp máy ảo. Bạn có hai tùy chọn: nhập các tệp máy ảo vào các thư mục mặc định của Hyper-V hoặc lưu trữ máy ảo ở một vị trí khác bằng cách chọn thư mục thủ công.

8. Trong phần “Chọn Thư mục Lưu trữ”, nhấp vào Browse để chọn thư mục nơi các đĩa cứng ảo cho máy ảo này sẽ được lưu trữ.

9. Trong phần “Tổng quan”, bạn có thể xem lại các lựa chọn đã thực hiện trong trình hướng dẫn này. Nhấp vào Finish nếu bạn muốn đóng trình hướng dẫn và nhập máy ảo Hyper-V.

10. Các tệp đang được sao chép vào vị trí đích.

Sau khi thao tác hoàn tất, bạn có thể tìm thấy máy ảo đã nhập trên máy chủ Hyper-V đã chọn bằng cách sử dụng Hyper-V Manager.

Sử dụng PowerShell
Như bạn đã biết, có ba loại nhập trong môi trường Hyper-V, và bạn có thể sử dụng lệnh Import-VM để thực hiện các loại nhập Hyper-V khác nhau. Để thực hiện đăng ký tại chỗ cho máy ảo (VM) đã chọn, trước tiên bạn cần xóa máy ảo nguồn có cùng ID. Để thực hiện việc này, hãy chạy lệnh cmdlet sau:
Get-VM DemoVM | Remove-VM
Sau đó, bạn có thể chạy lệnh cmdlet Import-VM để đảm bảo máy ảo được đăng ký tại chỗ và sử dụng ID duy nhất hiện có.
Import-VM –Path 'C:Virtual Hard DisksExported VMsDemoVMVirtual Machines9C21B83D-EF80-4566-BF25-DDA50FEE2FFE.vmcx'

Tùy chọn tiếp theo là khôi phục máy ảo. Trong trường hợp này, các tệp đã xuất sẽ được sao chép và di chuyển đến vị trí mới và ID hiện có sẽ được sử dụng trong trường hợp này. Loại nhập này cũng yêu cầu bạn xóa máy ảo nguồn trước khi bắt đầu thao tác khôi phục.
Import-VM -Path 'C:Virtual Hard DisksExported VMsHyper-V Server 2012Virtual Machines6E62C696-E3A1-41C3-A975-0E1CC9E67A31.vmcx' -Copy -VhdDestinationPath 'C:Program FilesImported VMsVHD Files' -VirtualMachinePath 'C:Program FilesImported VMsVM Files'
Quá trình nhập sẽ hoàn tất trong vài giây.

Để lệnh cmdlet này hoạt động, bạn cần chỉ định rõ đường dẫn đầy đủ đến vị trí hiện tại của tệp .vcmx nguồn, và đường dẫn đầy đủ đến nơi các tệp .vcmx và .vhdx sẽ được sao chép.
Cuối cùng, bạn có thể sao chép máy ảo bằng lệnh PowerShell sau. Trong trường hợp này, bạn không cần xóa máy ảo nguồn, vì một ID duy nhất mới sẽ được tạo cho máy ảo được nhập. Sử dụng phương pháp này, bạn có thể nhập máy ảo này vào cùng một máy chủ nhiều lần.
Import-VM -Path 'C:Virtual Hard DisksExported VMsDemoVMVirtual Machines9C21B83D-EF80-4566-BF25-DDA50FEE2FFE.vmcx' -Copy -GenerateNewId

Kết luận
Để xuất hoặc nhập máy ảo Hyper-V, bạn có thể sử dụng Trình quản lý Hyper-V hoặc chạy các skript PowerShell. Mỗi phương pháp này đều có những lợi ích và trường hợp sử dụng riêng, và bạn nên lựa chọn giữa hai phương pháp dựa trên nhu cầu cụ thể của mình.
Tính năng Xuất và Nhập Hyper-V có thể được sử dụng như một giải pháp sao lưu thay thế, tức là bạn có thể tạo bản sao của các máy ảo đang chạy và khôi phục chúng nếu chúng bị hỏng hoặc gặp sự cố. Tuy nhiên, quá trình xuất và nhập máy ảo Hyper-V đòi hỏi nhiều thao tác thủ công từ phía bạn và chỉ có thể tự động hóa thông qua các skript PowerShell. Do đó, so với các giải pháp sao lưu đầy đủ tính năng, tính năng Xuất và Nhập của Hyper-V có chức năng khá hạn chế, chỉ cho phép bảo vệ các môi trường Hyper-V nhỏ và đòi hỏi nhiều thời gian và công sức của bạn.
Nếu bạn muốn quá trình bảo vệ máy ảo Hyper-V trở nên dễ dàng, nhanh chóng và an toàn, bạn nên cân nhắc cài đặt một giải pháp bảo vệ dữ liệu tiên tiến. NAKIVO Backup & Replication là một giải pháp đáng tin cậy và mạnh mẽ, có thể giúp bạn bảo vệ nhiều môi trường với chi phí chỉ bằng một phần nhỏ.