Cách di chuyển máy ảo từ Hyper-V sang Proxmox: Hướng dẫn từng bước

Proxmox VE là một môi trường ảo hóa đáng tin cậy dành cho các tổ chức thuộc mọi quy mô, và việc di chuyển các máy ảo từ một giải pháp ảo hóa khác sang Proxmox VE có thể gặp nhiều khó khăn. Trong các phiên bản mới nhất, Proxmox đã bổ sung một trình hướng dẫn để tự động hóa một phần quá trình di chuyển từ VMware ESXi sang Proxmox VE. Tuy nhiên, việc di chuyển từ Hyper-V sang Proxmox vẫn yêu cầu các bước thực hiện thủ công. Bài viết này sẽ hướng dẫn chi tiết các bước để di chuyển máy ảo từ Hyper-V sang Proxmox và cách cấu hình quá trình di chuyển.

NAKIVO cho Proxmox Backup

NAKIVO cho Proxmox Backup

Sao lưu không cần máy chủ điều khiển, hỗ trợ ứng dụng cho Proxmox VE với nhiều đích sao lưu, bao gồm cả sao lưu đám mây không thể thay đổi. Nhiều tùy chọn khôi phục chi tiết tức thì và khôi phục toàn bộ.

Chuẩn bị máy ảo Microsoft Hyper-V cho quá trình di chuyển

Để chuẩn bị môi trường cho việc di chuyển sang Proxmox VE, trước tiên bạn nên cài đặt trình điều khiển VirtIO trên hệ điều hành khách của máy ảo Hyper-V mà bạn dự định di chuyển. Trình điều khiển VirtIO là bộ trình điều khiển dành cho các thiết bị ảo của máy ảo Proxmox, giúp cải thiện hiệu suất và trải nghiệm người dùng, tương tự như VMware Tools. Việc cài đặt trình điều khiển VirtIO trước khi bắt đầu quá trình di chuyển là cần thiết để tránh các vấn đề sau khi khởi động máy ảo trên máy chủ Proxmox.

Để cài đặt trình điều khiển VirtIO:

  1. Tải xuống bản dựng Các trình điều khiển VirtIO ổn định mới nhất hoặc tiêu chuẩn ISO mới nhất từ nguồn thông tin chính thức. Hình ảnh ISO này cũng cần thiết để cài đặt QEMU Guest Agent.
  2. Chèn hình ảnh ISO đã tải xuống chứa trình điều khiển VirtIO vào ổ đĩa CD/DVD ảo của máy ảo Hyper-V nguồn. Tên của máy ảo nguồn trong ví dụ này là Win10test (Windows 10 là hệ điều hành khách). Đây là máy ảo thế hệ 2 có một đĩa ảo VHDX 20 GB (dynamic, không được phân bổ trước – tương đương với đĩa cung cấp theo nhu cầu ) chứa hệ điều hành (OS) và dữ liệu.
  3. Mở Hyper-V Manager. Nhấp chuột phải vào máy ảo mà bạn muốn di chuyển từ Hyper-V sang Proxmox VE, và trong menu ngữ cảnh, nhấp vào Settings.

    Opening the settings of the source VM in Hyper-V Manager

  4. Trong khung bên trái của cửa sổ cài đặt máy ảo , nhấp vào tùy chọn DVD Drive . Trong khung bên phải, nhấp vào Image file, nhấp vào Browse và chọn tệp hình ảnh trình điều khiển VirtIO. Trong ví dụ này, tên tệp là virtio-win-0.1.240.iso

    Nhấp vào OK để lưu cài đặt.

    Selecting the ISO image file containing the VirtIO drivers

  5. Khởi động máy ảo nguồn và kết nối với máy ảo bằng công cụ VMConnect gốc của Hyper-V . Nhấp chuột phải vào máy ảo và nhấp vào Connect.
  6. Mở Windows Explorer ( This PC ) trong hệ điều hành khách và truy cập vào ổ đĩa DVD nơi tệp hình ảnh ISO đã được chèn. Tìm tệp cài đặt trình điều khiển VirtIO cho Windows trong thư mục gốc của hình ảnh DVD. Chọn tệp cài đặt ở định dạng . msi tùy thuộc vào phiên bản Windows của bạn (virtio-win-gt-x64.msi hoặc virtio-win-gt-x86.msi).

    Installing VirtIO drivers in the guest OS of the source VM

  7. Chạy tệp thực thi cho phiên bản Windows của bạn (64-bit hoặc 32-bit) và làm theo hướng dẫn cài đặt để cài đặt trình điều khiển VirtIO.
  8. Cài đặt QEMU Guest Agent . Trình cài đặt nằm trong hình ảnh ISO cùng với trình điều khiển VirtIO trong thư mục guest-agent . Chạy tệp cài đặt cho phiên bản Windows của bạn (chúng tôi chạy qemu-ga-x84_64.msi vì chúng tôi sử dụng Windows 10 64-bit làm hệ điều hành khách).

    Installing QEMU Guest Agent in a guest OS of the source VM

  9. Xác minh rằng QEMU Guest Agent đang chạy trong hệ điều hành khách của máy ảo Hyper-V nguồn bằng lệnh PowerShell sau:

    Get-Service QEMU-GA

    Checking the QEMU Guest Agent Service

    Bạn cũng có thể kiểm tra trạng thái dịch vụ QEMU Guest Agent trong giao diện người dùng đồ họa của Windows thông qua tiện ích services.msc . Nhấp chuột phải vào biểu tượng My Computer hoặc This PC , chọn Manage và trong cửa sổ Quản lý Máy tính , truy cập vào Services and Applications > Services. Kiểm tra dịch vụ QEMU Guest Agent – dịch vụ này phải đang chạy với loại khởi động automatic .

    Checking the QEMU Guest Agent service in Windows

  10. Tắt máy ảo nguồn trên máy chủ Hyper-V.
  11. Nếu máy ảo có điểm kiểm soát (bản chụp nhanh), hãy xóa chúng. Máy ảo trong ví dụ của chúng tôi không có điểm kiểm tra.

Xuất máy ảo Hyper-V

Để xuất máy ảo Hyper-V nguồn mà bạn muốn di chuyển từ Hyper-V sang Proxmox VE, right-click chọn máy ảo và nhấp vào Export trong menu ngữ cảnh.

Starting to export the Hyper-V VM

Chỉ định vị trí nơi bạn muốn lưu các tệp của máy ảo đã xuất và nhấp vào Export.

Specifying the export location of the Hyper-V VM

Các tệp được xuất sang H:Exported trên máy chủ Hyper-V trong ví dụ này.

Chuyển các tệp máy ảo sang máy chủ Proxmox

Sao chép các đĩa ảo của máy ảo Hyper-V đã xuất (VHD hoặc VHDX) sang máy chủ Proxmox. Các đĩa ảo nằm trong thư mục con Virtual Hard Disks của máy ảo đã xuất, trong thư mục được chỉ định để xuất máy ảo. Sử dụng WinSCP, phần mềm khách SCP và SFTP hoạt động qua SSH, rất thuận tiện để sao chép tệp từ máy Windows sang máy Linux, bao gồm cả máy chủ Proxmox.

  1. Tạo một phiên mới trong WinSCP và đăng nhập vào máy chủ Proxmox của bạn.
  2. Sao chép các đĩa ảo VHD hoặc VHDX của máy ảo Hyper-V đã xuất sang máy chủ Proxmox. Bạn có thể kéo và thả các tệp trong WinSCP. &

    Copying the virtual disk to the Proxmox host

  3. Kiểm tra các đĩa ảo đã sao chép của máy ảo Hyper-V trên máy chủ Proxmox để đảm bảo tệp không bị hỏng. Mở giao diện điều khiển (terminal) trên máy chủ Proxmox và chạy lệnh này:

    qemu-img check -r all /home/user1/Downloads/Win10test.vhdx

    Checking the VHDX virtual disk image

Tạo máy ảo mới trong Proxmox

Tạo máy ảo mới trong Proxmox. Bạn có thể thực hiện việc này bằng giao diện web Proxmox VE.

  1. Chọn máy chủ Proxmox trong Trung tâm dữ liệu , right-click nó và nhấn Create VM trong menu ngữ cảnh. Chúng ta sẽ cấu hình máy ảo mới này để sử dụng các đĩa ảo đã nhập cho quá trình di chuyển.

    Creating a new VM on the Proxmox host

  2. Trình hướng dẫn tạo máy ảo Proxmox sẽ mở ra.
    • General. Nhập tên máy ảo (ví dụ: Win10-migrated). Bạn có thể giữ nguyên giá trị ID máy ảo mặc định. Trong trường hợp của chúng ta, ID máy ảo là 101.
    • OS. Chọn Không sử dụng bất kỳ phương tiện nào . Loại hệ điều hành khách: Microsoft Windows ; phiên bản: 10/2016/2019 .
    • System. Trong phần Firmware , hãy chọn OVMF (UEFI) BIOS. Trong trường hợp này, bạn cần thêm một đĩa EFI dựa trên thiết bị q35 và không có TPM ảo (giống như trên máy ảo nguồn). Giữ nguyên VirtIO SCSI single làm bộ điều khiển SCSI, theo đề xuất của trình hướng dẫn. Chúng tôi đã chọn UEFI vì đang di chuyển một máy ảo Hyper-V Gen-2.
    • Disks. Giữ nguyên các thông số mặc định, nhưng đặt kích thước đĩa ảo thành 1 GB (đây là đĩa ảo tạm thời dùng để tạo máy ảo mới; chúng tôi sẽ xóa nó sau).
    • CPU, Memory, Network: Chọn các giá trị mong muốn. Bạn có thể đặt CPU và bộ nhớ giống như máy ảo nguồn.

    VM configuration in the Proxmox VM creation wizard

  3. Sau khi máy ảo Proxmox mới được tạo, truy cập cài đặt máy ảo Hardware , chọn đĩa cứng ảo tạm thời 1 GB vừa được tạo, Hard Disk (ide0) trong trường hợp này, và nhấp vào Detach. Sau khi ngắt kết nối đĩa ảo, tên đĩa sẽ được đổi thành Unused Disk 0 trong trường hợp của chúng tôi.

    Detaching the 1-GB virtual disk from the new VM

  4. Xóa đĩa ảo tạm thời 1 GB. Chọn Unused Disk 0 và nhấp vào Remove.

    Deleting the 1-GB virtual disk

Chuyển đổi tệp VHDX sang QCOW2

Chuyển đổi đĩa ảo Hyper-V (VHD hoặc VHDX) trên máy chủ Proxmox sang định dạng gốc của Proxmox (KVM) để sử dụng nhiều tính năng hơn (thin provisioning). Mở bảng điều khiển (terminal) trên máy chủ Proxmox và thực thi lệnh sau với quyền root:

qemu-img convert -f vhdx -O qcow2 -o preallocation=off /var/lib/vz/dump/disk.vhdx /var/lib/vz/images/VMID/disk.qcow2

Trong đó:

-f vhdx được sử dụng để chỉ định định dạng đầu vào (VHDX).

-O qcow2 được sử dụng để chỉ định định dạng đầu ra (QCOW2).

-o preallocation=off – kích hoạt tính năng phân bổ mỏng cho tệp đĩa ảo đích (đĩa chỉ chiếm dung lượng dựa trên dữ liệu thực tế).

/var/lib/vz/dump/disk.vhdx là tệp VHDX nguồn.

/var/lib/vz/images/VMID/disk.qcow2 là vị trí đích (thay thế VMID bằng ID VM thực tế của bạn trong Proxmox).

Trong ví dụ của chúng tôi, lệnh chính xác để chuyển đổi định dạng đĩa ảo Hyper-V to Proxmox (từ VHDX sang QCOW2) là như sau:

qemu-img convert -f vhdx -O qcow2 -o preallocation=off ./Win10test.vhdx /var/lib/vz/images/101/Win10-converted.qcow2

Chờ cho đến khi đĩa ảo được chuyển đổi. Kết quả là một tệp mới được tạo ra. Chúng ta đã chuyển đổi Win10test.vhdx thành Win10-converted.qcow2

Converting the VHDX virtual disk to the QCOW2 format

Quét lại bộ nhớ Proxmox để nhận diện các đĩa ảo mới:

qm rescan

Rescanning virtual disks on the Proxmox host

Sau khi quét lại các đĩa ảo, đĩa ảo đã chuyển đổi sẽ hiển thị trong giao diện web Proxmox.

Gắn đĩa ảo vào máy ảo Proxmox

Thêm đĩa đã chuyển đổi có trạng thái Unused Disk vào máy ảo đã tạo trước đó (trong trường hợp của chúng ta, chúng ta thêm Win10-converted.qcow2 vào máy ảo Win10-migrated ). Bạn có thể thực hiện việc này trong giao diện web Proxmox.

  1. Nhấp đúp vào đĩa chưa sử dụng (Unused Disk 0) để gắn nó vào máy ảo.

    Attaching the converted virtual disk to the Proxmox VM

  2. Chọn IDE (hoặc SATA). Nếu bạn gắn đĩa ảo đã nhập và chuyển đổi vào bộ điều khiển SCSI, màn hình xanh chết chóc (BSOD trong Windows) sẽ xuất hiện trong quá trình khởi động hệ điều hành khách của máy ảo này. Sau khi khởi động từ đĩa IDE hoặc SATA, Windows sẽ cài đặt trình điều khiển cho phần cứng ảo của máy ảo Proxmox. Sau đó, chúng ta có thể cấu hình lại đĩa ảo để sử dụng bộ điều khiển đĩa SCSI.

    Attaching the converted virtual disk to the virtual IDE disk controller

  3. Thêm đĩa SCSI tạm thời mới có dung lượng 1 GB vừa được tạo. Việc tạo đĩa tạm thời kết nối với bộ điều khiển SCSI là cần thiết để cài đặt các trình điều khiển cần thiết để làm việc với bộ điều khiển SCSI. Chọn máy ảo được tạo trong quá trình di chuyển tại Hyper-V to Proxmox ( Win10-migrated ), đi đến phần Hardware , nhấp vào Add và chọn Hard Disk.

    Creating a new temporary 1-GB virtual disk

  4. Chọn các thông số đĩa ảo như đã giải thích trước đó, nhưng lần này sử dụng bus/thiết bị SCSI.

    Attaching the 1-GB virtual disk

  5. Chỉnh sửa thứ tự khởi động. Chọn máy ảo của bạn, truy cập Options > Boot order. Nhấp đúp vào Boot Order hoặc chọn Boot Order và nhấp vào Edit.

    Editing the boot order

  6. Chọn hộp kiểm thích hợp để kích hoạt đĩa ảo đã được chuyển đổi, nhập và gắn vào máy ảo này. Theo mặc định, đĩa mới không được chọn trong danh sách thứ tự khởi động.
  7. Di chuyển đĩa đã nhập và kích hoạt lên đầu danh sách khởi động.

    Moving the converted virtual disk to the top of the boot order list

  8. Bật nguồn máy ảo và kết nối với bảng điều khiển máy ảo. Chọn máy ảo được tạo để di chuyển từ Hyper-V sang Proxmox, nhấp vào Start và sau đó nhấp vào Console. Hệ điều hành khách sẽ khởi động ngay bây giờ.

    Starting the VM and connecting to the VM console in Proxmox VE

  9. Kiểm tra phần cứng trong Trình quản lý thiết bị của hệ điều hành Windows khách. Nhấp chuột phải vào biểu tượng My Computer hoặc This PC , nhấp vào Manage và chọn Device Manager. Ngoài ra, bạn có thể chạy tiện ích devmgmt.msc từ dòng lệnh.

    Bạn sẽ thấy hai ổ đĩa: ổ đĩa ảo đã chuyển đổi/nhập (trong trường hợp của chúng tôi là ổ đĩa 20 GB được phân bổ mỏng gắn với bộ điều khiển IDE) và ổ đĩa ảo SCSI tạm thời 1 GB.

    Bạn sẽ thấy một bộ điều khiển SATA/AHCI tiêu chuẩn và một bộ điều khiển VirtIO SCSI. Sau khi bộ điều khiển SCSI được cài đặt trên máy ảo sau khi khởi động Windows từ đĩa IDE hoặc SATA, các trình điều khiển sẽ được cài đặt để sử dụng bộ điều khiển SCSI. Các trình điều khiển này cho phép chúng ta khởi động hệ điều hành từ đĩa được kết nối với bộ điều khiển SCSI. Bạn có thể khởi động lại máy ảo để đảm bảo mọi thứ hoạt động bình thường.

    Checking virtual devices in the Windows guest OS

  10. Tắt máy ảo đã di chuyển sang Proxmox.
  11. Ngắt kết nối đĩa ảo được kết nối với bộ điều khiển IDE. Chọn đĩa ảo trong phần Hardware của máy ảo đã di chuyển và nhấp vào Detach. Trong ví dụ của chúng ta, đây là Hard Disk (ide0) (20 GB).

    Detaching the converted virtual disk from the VMr

  12. Nhấp đúp vào đĩa này (hiện tại, đĩa 20 GB của chúng ta là một đĩa chưa được sử dụng – Unused Disk 0) để gắn nó.

    Selecting the converted virtual disk to attach it to the VM

  13. Gắn đĩa ảo này vào bộ điều khiển SCSI (bus/thiết bị) và nhấp vào Add.

    Attaching the converted virtual disk to the SCSI controller and bus

  14. Đĩa ảo 20 GB của chúng ta hiện là Hard Disk (scsi1). Chúng ta vẫn giữ đĩa SCSI tạm thời 1 GB đang hoạt động trong máy ảo này.

    The converted virtual disk is attached to the Proxmox VM as a SCSI disk

  15. Chỉnh sửa thứ tự khởi động của máy ảo. Truy cập vào máy ảo Options và nhấp đúp vào Boot Order, như đã giải thích trước đó.
    • Chọn đĩa ảo chứa Windows 10 vừa được gắn vào bộ điều khiển SCSI (Win10-converted.qcow2 trong trường hợp này).
    • Chỉnh sửa thứ tự khởi động – di chuyển đĩa đã nhập (từ Hyper-V với Windows 10) lên đầu danh sách.
  16. Khởi động máy ảo. Hệ điều hành khách Windows 10 giờ đây sẽ khởi động từ đĩa ảo SCSI.
  17. Sau khi hệ điều hành khách khởi động xong, mở Device Manager và kiểm tra các đĩa và bộ điều khiển lưu trữ. Bây giờ, chúng ta thấy hai đĩa SCSI và hai bộ điều khiển SCSI (xem ảnh chụp màn hình bên dưới). Trong trường hợp này, mỗi đĩa SCSI được kết nối với một bộ điều khiển SCSI riêng. Cấu hình hiển thị trong Trình quản lý thiết bị là chính xác ở giai đoạn này.

    Booting the guest OS on the migrated VM

  18. Nếu mọi thứ hoạt động bình thường, hãy tắt máy ảo.
  19. Khởi động lại máy ảo. Nếu hệ điều hành khách khởi động đúng cách và mọi thứ hoạt động bình thường, bạn có thể ngắt kết nối và xóa đĩa ảo SCSI tạm thời 1 GB khỏi máy ảo Proxmox (rm /var/lib/vz/images/101/vm-101-disk1.qcow2) và xóa đĩa ảo VHDX được sao chép từ máy chủ Hyper-V nguồn (rm/home/user1/Downloads/Win10-test.vhdx).

    Deleting temporary virtual disk files

Đảm bảo bảo vệ máy ảo sau khi di chuyển với NAKIVO

Sau khi hoàn tất việc di chuyển từ Hyper-V sang Proxmox, đừng quên bảo vệ các máy ảo của bạn trong môi trường Proxmox bằng một giải pháp sao lưu chuyên dụng. Nếu các máy ảo Hyper-V nguồn đã được bảo vệ trước khi di chuyển, các máy ảo đã chuyển đổi sẽ không được bảo vệ tự động trong Proxmox VE.

NAKIVO Backup & Replication hỗ trợ bảo vệ máy ảo trong các môi trường ảo Hyper-V, Proxmox, VMware vSphere và Nutanix. Giải pháp NAKIVO hỗ trợ Sao lưu không cần máy chủ điều khiển cho Proxmox máy ảo. Cấu hình rất đơn giản – chỉ cần thêm các máy chủ hoặc cụm Proxmox vào danh mục và tạo các tác vụ sao lưu.

Bạn có thể khôi phục toàn bộ máy ảo hoặc thực hiện khôi phục chi tiết để nhanh chóng khôi phục các tệp hoặc đối tượng riêng lẻ. Có thể khôi phục dữ liệu về vị trí nguồn hoặc vị trí tùy chỉnh. Bạn cũng có thể thực hiện xuất bản sao lưu cho các máy ảo và khôi phục chúng trên một nền tảng ảo hóa khác.

NAKIVO Backup & Replication hỗ trợ:

  • Incremental backups. Giảm thiểu dung lượng lưu trữ bằng cách chỉ sao chép dữ liệu đã thay đổi kể từ lần sao lưu gần nhất. Việc cấu hình sao lưu gia tăng kết hợp với sao lưu toàn bộ định kỳ giúp tăng độ tin cậy của chuỗi sao lưu.
  • Application-aware backups. Đảm bảo dữ liệu sao lưu nhất quán khi hệ thống gặp sự cố và nhất quán với ứng dụng. Sao lưu máy ảo ngay cả khi có ứng dụng đang chạy và khôi phục dữ liệu đúng cách khi cần thiết.
  • Backup encryption. Mã hóa bản sao lưu trong quá trình truyền tải và khi lưu trữ để đảm bảo . Cấu hình mã hóa phía nguồn, mạng và kho lưu trữ sao lưu dựa trên nhu cầu của bạn.
  • Backup immutability. Bảo vệ bản sao lưu khỏi ransomware bằng cách sử dụng tính bất biến. Dữ liệu này không thể bị sửa đổi, thay đổi hoặc xóa bởi ransomware.
  • Multiple backup locations. Triển khai chính sách sao lưu linh hoạt và tuân thủ Quy tắc sao lưu 3-2-1. Giải pháp NAKIVO hỗ trợ lưu trữ bản sao lưu trên đĩa cục bộ, thiết bị NAS, chia sẻ SMB và NFS, băng từ và trên đám mây, bao gồm Azure Blob, AWS S3 và các dịch vụ lưu trữ đối tượng tương thích S3 khác.

Kết luận

Để di chuyển một máy ảo Hyper-V sang Proxmox, bạn cần chuẩn bị máy ảo nguồn bằng cách cài đặt trình điều khiển VirtIO, tạo một máy ảo Proxmox mới, chuyển đổi đĩa ảo đã xuất và nhập đĩa đã chuyển đổi vào máy ảo Proxmox. Đĩa ảo SCSI cung cấp hiệu suất cao hơn, nhưng cần cấu hình thêm để chúng hoạt động đúng cách. Bạn cũng cần khởi động từ đĩa ảo được kết nối với bộ điều khiển đĩa ảo IDE hoặc SATA, thêm một đĩa SCSI tạm thời để cài đặt trình điều khiển và sau đó bạn có thể gắn đĩa khởi động vào bộ điều khiển SCSI. Đừng quên bảo vệ dữ liệu của bạn bằng cách sử dụng giải pháp sao lưu nâng cao như NAKIVO Backup & Replication.

Hãy thử NAKIVO Backup & Replication

Hãy thử NAKIVO Backup & Replication

Đăng ký dùng thử miễn phí để khám phá toàn bộ các tính năng bảo vệ dữ liệu của giải pháp. 15 ngày miễn phí. Không có bất kỳ giới hạn nào về tính năng hay dung lượng. Không cần thẻ tín dụng.

People also read