Chuyển đổi VMDK sang VHD


7

Tôi đang xem xét chuyển đổi ổ cứng VMDK thành VHD (Ổ cứng ảo). VMDK xuất phát từ việc xuất các máy VMware của chúng tôi và tôi muốn thử nhập nó vào Azure.

Bất cứ ý tưởng làm thế nào điều này sẽ đạt được? Tôi đã thử một loạt các công cụ nhỏ ngoài kia để cố gắng di chuyển giữa hai định dạng, nhưng không có kết quả. Hầu hết các công cụ tuyên bố VMDK không hợp lệ theo một cách nào đó.

Câu trả lời:


11

Bộ chuyển đổi máy ảo Microsoft (MVMC) bao gồm công cụ Microsoft Virtual Disk Converter (MVDC.exe) chuyển đổi tệp VMDK thành tệp VHD.

http://www.microsoft.com/en-ca/doad/details.aspx?id=42497

MVDC SrcDisk  DstDisk  [/?]  [/Dyn]

SrcDisk  Specifies the source VMDK disk path to be converted.
DstDisk  Specifies the path for the converted disk.
[/?]     Show Help
[/Dyn]   Indicates the destination disk should be dynamic rather than fixed.

Ví dụ:

C:\Program Files (x86)\Microsoft Virtual Machine Converter Solution Accelerator>mvdc "D:\VM\Windows Server 2008 R2 x64\Windows Server 2008 R2 x64.vmdk" "D:\VM\Windows Server 2008 R2 x64\Windows Server 2008 R2 x64.vhd"
Step 1 of 3: Loading Source Disk...
Step 1 of 3: Loading Source Disk Completed.
Source file found of size 40.0 GB.
DiskGeometry:
   Cylinders:        5221
   Tracks/Cylinder:  255
   Sectors/Track:    63
   Bytes/Sector:     512
   MediaType:        FixedMedia
Step 2 of 3: Creating Destination Disk...
Step 2 of 3: Creating Destination Disk Completed.
Destination file created of size 40.0 GB.
DiskGeometry:
   Cylinders:        5221
   Tracks/Cylinder:  255
   Sectors/Track:    63
   Bytes/Sector:     512
   MediaType:        FixedMedia
Step 3 of 3: Copying raw data...
Step 3 of 3: Copying raw data completed.
Conversion Complete!  The converted file is located at: D:\VM\Windows Server 2008 R2 x64\Windows Server 2008 R2 x64.vhd

Theo mặc định, nó tạo ra một VHD có kích thước cố định, đây cũng là thứ cần thiết cho máy ảo Azure.

Sau khi chuyển đổi nó thành VHD, bạn nên khởi động cục bộ trong Hyper-V, đảm bảo rằng nó được cấu hình cho một IP động và RDP được kích hoạt và bạn có thể RDP thành công. Sau đó, nếu bạn muốn sử dụng nó làm hình ảnh cơ sở, bạn cũng cần khái quát nó với sysprep. Nếu bạn muốn sử dụng nó cho một máy ảo Azure, đừng chạy sysprep mà hãy tải nó lên dưới dạng đĩa thay vì dưới dạng hình ảnh (Csupload Add-Disk thay vì Add-PersistentVMImage).

Xem thêm: http://www.windowsazure.com/en-us/manage/windows/common-t task / upload-a-vhd /


Tôi sẽ thử lại lần nữa. Tôi cũng chưa cài đặt Hyper-V, bước đó có thực sự cần thiết không?
Antoine Toulme

5

Đã có một bản cập nhật cho công cụ để chuyển đổi .vmdk thành .vhdk.

Microsoft Virtual Machine Converter 2.0 được phát hành vào khoảng tháng 4 năm 2014.

Đây là liên kết đến công cụ: Microsoft Virtual Machine Converter 2.0

Công cụ mới thay đổi cách chuyển đổi từ sử dụng MVDC.exe sang sử dụng lệnh ghép ngắn powershell.

Tôi đã theo dõi blog tuyệt vời này để tìm ra điều này. Có gì mới trên Microsoft Virtual Machine Converter 2.0

Dưới đây là một bản tóm tắt được đánh giá về cách làm điều đó.

Vị trí cài đặt mặc định là:

C:\Program Files\Microsoft Virtual Machine Converter

Sử dụng powershell như một quản trị viên cục bộ, sau đó bạn có thể tải cmdlet:

Import-Module .\MvmcCmdlet.psd1

Sau khi cmdlet được tải, bạn có thể gọi như sau:

ConvertTo-MvmcVirtualHardDisk

Điều này sẽ yêu cầu đường dẫn tệp .vmdk:

Cung cấp các giá trị cho các tham số sau:

SourceLiteralPath: D:\some.vmdk

Sau đó, nó sẽ bắt đầu chuyển đổi và đặt .vhdk vào đường dẫn sau sau khi được chuyển đổi:

C:\Program Files\Microsoft Virtual Machine Converter

Tôi mong điều này giúp được người nào khác.


2
Chỉ cần thử và gặp lỗi: ConvertTo-MvmcVirtualHardDisk: Mục nhập f49019ba không phải là mục nhập cơ sở dữ liệu đĩa được hỗ trợ cho bộ mô tả. Tại dòng: 1 char: 1 + ConvertTo-MvmcVirtualHardDisk + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: WriteError: (Microsoft.Accel ... nversionService: D riveConversionService) [ConvertTo-MvmcVirtualHardDisk], VmdkDescriptorPars eException + đầy đủ
Antoine Toulme

Dựa trên lỗi, có vẻ như có điều gì đó không ổn với nguồn .vmdk của bạn. Tôi chỉ chuyển đổi 2 .vmdks khác không có vấn đề. Đây là một cái tôi vừa chuyển đổi ngày hôm qua theo những hướng dẫn. bitnami.com/stack/ghost/virtual-machine
ElvisLives

Nó có thể là phiên bản vmdk chúng tôi sử dụng cũ hơn và không tương thích. Tôi biết nó hoạt động tốt trong VirtualBox và Fusion.
Antoine Toulme

Đối với những người gặp lỗi tương tự như @AntoineToulme, có thể giải quyết được: tool: thành viên.ozemail.com.au / ~ nulifetv / freezip / freeware / dsfok.zip dsfo.exe "E: \ Win10Prev \ xem trước Windows 10 x64.vmdk" 512 1024 descriptor.txt thêm # vào dòng: ddb.toolsInstallType = "1" dsfi.exe "E: \ Win10Prev \ preview Windows 10 x64.vmdk" 512 1024 descriptor.txt
user5389726598465

4

Tôi sử dụng VirtualBox (thực ra là vboxmanage CLI, được cài đặt với VirtualBox) cho việc này, tôi không gặp vấn đề gì khi cài đặt VirtualBox cùng với Hyper-V, nhưng bạn không thể chạy chúng cùng lúc, đó là một luồng khác!

Dù sao, tại một nhắc nhở (chế độ quản trị) nâng cao

cd %programfiles%\Oracle\VirtualBox

vboxmanage clonehd "C:\tmp\file.vmdk" "C:\tmp\file.vhd" -format VHD

Lưu ý, Bạn có thể trích xuất VMDK từ OVA với 7zip!


0

Tôi đã sử dụng công cụ được đề xuất bởi rkosegi và nó đã được VMDK chuyển đổi thành VHD và tôi có thể sử dụng cục bộ. Liên quan đến lỗi "Tệp vmdk không hợp lệ" của bạn, điều này có thể cụ thể đối với VMDK mà bạn không phải ai cũng sử dụng công cụ này báo cáo cùng một lỗi.

Dựa trên kinh nghiệm của tôi về việc sử dụng VMDK được chuyển đổi trên Windows azure, điều tôi nhận thấy là không phải tất cả các VHD được chuyển đổi từ VMDK đều hoạt động trên Windows Azure. Có một vài vấn đề được báo cáo sau khi VHD được cài đặt với các thành phần tích hợp Windows Azure và được triển khai lên Windows Azure.

Vì vậy, để có được trải nghiệm tốt nhất, sẽ tốt nhất nếu bạn tạo bản gốc OS VHD và sau đó triển khai lên Windows Azure. Và nếu bạn bắt đầu tạo trực tiếp VHD gốc của mình, bạn sẽ chắc chắn rằng nó sẽ chạy trên Windows Azure như mong đợi.


Cảm ơn đã giúp đỡ! Tôi đã xem nhưng dường như không thể tạo VHD từ vCenter. Bạn sẽ biết làm thế nào sẽ được thực hiện?

2
Liên kết "công cụ" bị hỏng.
Tarnay Kálmán

0

Câu trả lời của @ElvisLives và @AvkashChauhan là tốt, nhưng đối với những người không sợ sử dụng quyền hạn thì đây là một giải pháp tuyệt vời.

  1. Trước tiên, bạn sẽ cần tải xuống và cài đặt Microsoft Virtual Machine Converter 3.0 từ trang web của Microsoft.
  2. Tiếp theo, mở một dấu nhắc PowerShell nâng cao và chạy các lệnh này (thay đổi đường dẫn để khớp với tệp VMDK nguồn và đường dẫn đích của tệp VHD mới của bạn):

    -Import-Module 'C: \ Chương trình tập tin \ Bộ chuyển đổi máy ảo Microsoft \ MvmcCmdlet. Picks1'

    -ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath, C: \ Ubuntu-đĩa1.vmdkiêu -DestinationLiteralPath


Khi làm như thế này không cần RDP

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.