Nhập, xuất và sao chép máy ảo trong Hyper-V

0
54

Không giống như VMWare, Hyper-V không có tính năng tích hợp để nhân bản máy ảo (tính năng nhân bản chỉ khả dụng trong Virtual Machine Manager). Để tạo một bản sao đầy đủ của một máy ảo hiện có, bạn sẽ phải sử dụng các tính năng nhập và xuất của Hyper-V. Trong bài viết này, chúng tôi sẽ hướng dẫn cách sao chép một máy ảo trong Hyper-V bằng cách sử dụng nhập và xuất với Hyper-V Manager GUI, PowerShell và Windows Admin Center (WAC).

Khi sao chép một máy ảo chạy Windows, hãy nhớ rằng bản sao VM sẽ có cùng SID với nguồn. Bạn phải sử dụng công cụ Sysprep để đặt lại SID khách của Windows. Nếu bạn đã tạo hình ảnh Windows tham chiếu, hãy chạy lệnh bên dưới trong đó trước khi sao chép:

%WINDIR%system32sysprepsysprep.exe /generalize /shutdown /oobe

Máy ảo sẽ ngừng hoạt động và các SID mới sẽ được tạo vào lần khởi động tiếp theo trên cả máy ảo nguồn và bản sao của nó. Ngoài ra, không nên sao chép một máy ảo đã tham gia vào miền Active Directory.

Nội dung:
  • Xuất và nhập máy ảo trong Hyper-V Manager
  • Làm cách nào để xuất, nhập và sao chép máy ảo Hyper-V với PowerShell?
  • Làm thế nào để sao chép máy ảo Hyper-V bằng Windows Admin Center?

Xuất và nhập máy ảo trong Hyper-V Manager

Đầu tiên, xuất một máy ảo vào một thư mục riêng biệt. Mở bảng điều khiển Hyper-V Manager, nhấp chuột phải vào máy ảo và chọn Export trong menu ngữ cảnh.

Trong Hyper-V trên Windows Server 2012 R2 và mới hơn (bao gồm cả Máy chủ Hyper-V miễn phí), bạn có thể xuất ngay cả các máy ảo đang chạy mà không cần dừng chúng.

export hyper-v virtual machine

Chỉ định thư mục bạn muốn xuất máy ảo.

specify folder to export hyper-v

Trạng thái xuất máy ảo sẽ được hiển thị trong ngăn trạng thái máy ảo trong bảng điều khiển Hyper-V của bạn.

Nhiều quản trị viên sử dụng xuất VM như là phương pháp dễ dàng nhất để sao lưu một máy ảo trong Hyper-V.

progress bar - importing hyper-v virtual machine

Bạn có thể xuất một điểm kiểm tra cụ thể (ảnh chụp nhanh) của một máy ảo. Để thực hiện, chỉ cần nhấp chuột phải vào điểm kiểm tra cần thiết trong cây Điểm kiểm tra và chọn Xuất .

export vm via checkpoint

Để nhập một máy ảo, hãy nhấp vào tên máy chủ trong Trình quản lý Hyper-V và chọn Nhập Máy ảo .

hyper-v import virtual machine

Sau đó, chỉ định một đường dẫn đến thư mục chứa các thư mục chứa các tệp VM đã nhập. Khi bạn nhập một máy ảo trong Hyper-V, bạn sẽ được cung cấp 3 tùy chọn đăng ký máy ảo trên máy chủ:

  • Đăng ký máy ảo tại chỗ (sử dụng ID duy nhất hiện có) – để đăng ký một máy ảo trong thư mục chứa các tệp đã nhập (ID máy ảo vẫn giữ nguyên)
  • Khôi phục máy ảo (sử dụng ID duy nhất hiện có) – để sao chép các tệp VM sang một thư mục khác (ID VM gốc được giữ lại)
  • Sao chép máy ảo (tạo một ID duy nhất mới) – để sao chép một máy ảo sang một thư mục khác và tạo một ID máy ảo mới

VM importing virtual machine ID

Mỗi máy ảo trên máy chủ Hyper-V có một ID phải là duy nhất trong máy chủ. Nếu bạn nhập hoặc sao chép một máy ảo sang một máy chủ khác, bạn không cần phải thay đổi ID máy ảo.

Nếu bạn cố gắng nhập một máy ảo có ID trùng lặp, lỗi sau sẽ xảy ra:

 Thao tác không thành công vì đã tồn tại một máy ảo có cùng số nhận dạng. Chọn một số nhận dạng mới và thử lại thao tác.

Để tạo bản sao máy ảo với ID mới, chúng tôi đã chọn tùy chọn thứ ba. Trình hướng dẫn sẽ nhắc bạn chỉ định thư mục bạn muốn đặt các tệp VM. Theo mặc định, các thư mục được chỉ định trong cài đặt máy chủ Hyper-V được sử dụng.

select VM folder during import

Sau đó chọn thư mục chứa các đĩa ảo của máy ảo (tệp vhdx).

select folder to store VM hard disks

Sau đó, một máy ảo nhân bản mới sẽ xuất hiện trong bảng điều khiển Hyper-V của bạn.

Làm cách nào để xuất, nhập và sao chép máy ảo Hyper-V với PowerShell?

Chúng ta hãy xem cách sao chép máy ảo Hyper-V bằng cách sử dụng xuất / nhập bằng PowerShell.

Để xuất một máy ảo, hãy chạy lệnh dưới đây:

Export-VM -Name win10 -Path 'C:VHDexport'

Export-VM powershell

Nếu bạn muốn xuất một máy ảo đang chạy, bạn có thể sử dụng tùy chọn CaptuteLiveState để xác định cách xuất bộ nhớ máy ảo. Ba tùy chọn có sẵn:

  • CaptureSavedState – để xuất bộ nhớ (theo mặc định)
  • CaptureDataConsistentState – để xuất trạng thái máy ảo từ Trạm kiểm soát sản xuất Hyper-V
  • CaptureCrashConsistentState – không lưu nội dung bộ nhớ

Export-VM -Name win10 -Path 'C:VHDexport' -CaptureLiveState CaptureCrashConsistentState

Nếu bạn muốn xuất trạng thái VM từ trạm kiểm soát cụ thể, hãy chỉ định tên của nó.

Đầu tiên, hiển thị danh sách các điểm kiểm tra có sẵn cho máy ảo:

Get-VMSnapshot -VMName win10

Sau đó xuất điểm kiểm tra theo tên của nó:

Export-VMSnapshot -Name “win10 - (6/17/2021 - 3:12:205 PM) Standard” -VMName win10 -Path 'C:VHDexport'

hyper-v powershell - Export-VMSnapshot

Sau khi VM được xuất, bạn có thể nhập nó. Nếu bạn muốn đăng ký VM tại chỗ, hãy chạy lệnh sau:

Import-VM -Path "C:VHDexportwin10Virtual Machines2cadd2-6543-bc2d-ca11-321ffa223f3b.vmcx"

Trong tùy chọn Đường dẫn , chỉ định vị trí của tệp cấu hình VM (định dạng tệp VMCX đã thay thế định dạng XML của tệp cấu hình VM trong Hyper-V Server 2016). Để sao chép một máy ảo sang một thư mục khác có cùng ID, hãy sử dụng tùy chọn Copy Để tạo một VM ID mới, hãy sử dụng tùy chọn GenerateNewId

Import-VM -Path "C:VHDexportwin10Virtual Machines2cadd2-6543-bc2d-ca11-321ffa223f3b.vmcx" -VhdDestinationPath "C:VHDwin10_2" -VirtualMachinePath "C:VHDwin10_2"

VhdDestinationPath chỉ định thư mục mà tệp VHDX của máy ảo sẽ được sao chép vào và VirtualMachinePath đặt thư mục của tệp cấu hình máy ảo. Nếu các tùy chọn không được đặt, các tệp VM sẽ được sao chép vào thư mục mặc định được chỉ định trong cài đặt máy chủ Hyper-V ( C:ProgramDataMicrosoftWindowsHyper-VVirtual Machines ).

Bạn cũng có thể đặt các thư mục để lưu trữ các điểm kiểm tra ( SnapshotFilePath ) và SmartPagingFilePath (SmartPagingFilePath).

Import-VM powershell cmdlet

Lưu ý rằng máy ảo nhân bản đã xuất hiện trong bảng điều khiển Hyper-V với tên máy ảo nguồn. Hãy đổi tên nó, nhưng chúng ta cần VMID của nó trước:

get-vm | select VMNAME,VMId

Như bạn có thể thấy, có hai máy ảo có cùng tên và ID khác nhau trên máy chủ. Đổi tên máy ảo bằng ID khác với ID của máy ảo đã nhập. Sao chép ID của máy ảo mới và đổi tên nó:

get-vm | Where-Object {$_.VMId -eq "9a9d3332-f332-a231-8abc-9221aab32287"} | Rename-VM -NewName win10_2

Rename-VM

Sau đó, bạn cũng có thể đổi tên tệp đĩa cứng ảo:

Get-VHD -VMId 9a9d3332-f332-a231-8abc-9221aab32287| Select Path | Rename-Item -NewName win10_2.vhdx
Remove-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerLocation 0 -ControllerNumber 0
Add-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path "C:VHDwin10_2win10_2.vhdx"

Thay đổi địa chỉ MAC của bộ điều hợp ảo của bạn (bạn có thể chỉ định một địa chỉ MAC tĩnh mới hoặc định cấu hình nhận địa chỉ MAC động).

Set-VMNetworkAdapter -VMName win10_2 -DynamicMacAddress
Start-VM -Name win10_2

hyper-v set dynamic mac address

Trước khi kết nối máy ảo mới của bạn với mạng, bạn nên đổi tên nó và thay đổi địa chỉ IP của nó thành địa chỉ IP mới (nếu bạn đang sử dụng DHCP trong mạng LAN của mình, bạn có thể bỏ qua bước này). Sau đó, bạn sẽ có thể kết nối với máy ảo mới của mình qua PowerShell Direct bằng lệnh ghép ngắn Invoke-Command hoặc Enter-PSSession:

Enter-PSSession -ComputerName win10_2 -Credential (Get-Credential)
Rename-Computer win10_2
Remove-NetIPAddress -InterfaceAlias “Ethernet” -AddressFamily IPV4
New-NetIPAddress -IPAddress 192.168.13.71 -InterfaceAlias “Ethernet” -AddressFamily IPv4 -PrefixLength 24
Restart-Computer

Làm thế nào để sao chép máy ảo Hyper-V bằng Windows Admin Center?

Bạn có thể sao chép trực tiếp máy ảo Hyper-V mà không cần xuất và nhập trong Trung tâm quản trị Windows v2009 hoặc mới hơn.

Chạy WAC, chọn phần Máy ảo, sau đó nhấp vào VM -> Quản lý -> Sao chép .

cloning hyper-v virtual machine in Windows Admin Center v2009

Sau đó, chỉ định tên của máy ảo mới của bạn và chọn thư mục mà bạn muốn đặt các tệp của nó.

Windows Admin Center: clone a vm with sysprep

Lưu ý rằng có tùy chọn “Tôi đã chạy Sysprep trên máy ảo của mình ” trong trình hướng dẫn sao chép. Nếu bạn không tổng quát hóa hình ảnh bằng Sysprep và chưa bật tùy chọn này, Hyper-V sẽ tạo một ảnh chụp nhanh của máy ảo nguồn, chạy Sysprep và sao chép nó vào một máy ảo mới (máy ảo nguồn sẽ được khởi động lại nhiều lần và sẽ không có sẵn để sử dụng trong quá trình này). Sau đó, máy ảo nguồn sẽ được trả về trạng thái ban đầu và ảnh chụp nhanh sẽ bị xóa.

Khi sao chép bất kỳ máy ảo nào với hệ điều hành khách không phải Windows, hãy luôn bật tùy chọn được mô tả ở trên.

cloning hyper-v VM via checkpoint with sysprep

Chờ cho đến khi máy ảo được nhân bản. ID mới sẽ tự động được gán cho một máy ảo mới.

hyper-v: cloning virtual machine

Dịch từ: http://woshub.com/clone-import-export-virtual-machines-hyper-v/

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây