meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
vm:proxmox:vm [2020/05/11 11:35] – created niziakvm:proxmox:kvm [2020/05/12 11:02] niziak
Line 1: Line 1:
-====== Proxmox VM ======+====== KVM ======
  
-===== Migrate Windows Virtual Box =====+===== Migrate Windows 7/10 Virtual Box =====
  
 +==== (Optional) Preparation ====
 +Cleanup disc space and remove all unnecessary drivers:
   * uninstall Virtual Box Guest Additions   * uninstall Virtual Box Guest Additions
   * Download and run registry file: [[https://pve.proxmox.com/wiki/File:Mergeide.zip|Mergeide.zip]]   * Download and run registry file: [[https://pve.proxmox.com/wiki/File:Mergeide.zip|Mergeide.zip]]
   * Restart VM   * Restart VM
-  * `sdelete -z c: d: e:` +  * ''sdelete -z c: d: e:'' 
-  * `Enable ClearPageFileAtShutdown.reg`+  * Enable ''ClearPageFileAtShutdown.reg''
   * Shutdown VM   * Shutdown VM
  
 Now two methods are possible: Now two methods are possible:
 +==== DRAFT ====
 +Fastest method: create Proxmox machine and import vbox hard discs to newly created Proxmox VM.
 +
 +No VirtualBox preparation, no IDE drivers. Just import discs to new machine.
 +  * Create new Proxmox machine with similar parameters to old one
 +    * [[https://pve.proxmox.com/wiki/Windows_10_guest_best_practices|Windows 10 guest best practices]]
 +    * Do not remove created Hard Disc (scsi0) - it will be used to trigger Windows to install SCSI drivers.
 +  * Import disc images (repeat for all VDI discs)
 +    * As RAW images with all benefits (compression, thin provisioning, snapshots) of ''local-zfs'' storage: <code bash>qm importdisk 701 WIN7_C.vdi local-zfs</code>
 +      * 21743 MB VDI compacted file occupied 15,2G on ZFS with compression ratio 1.24x
 +    * As QCOW2 files on every file storage: <code bash>qm importdisk 701 WIN7_C.vdi local -format qcow2</code>
 +  * Connect new discs into machine:
 +    * <code bash>qm set 701 --scsi<N> local-zfs:vm-701-disk-<N>,discard=on,size=64G</code>
 +    * NOTE: ''discard=on'' should be enabled for thin provisioned storage to reclaim unused space
 +  * Edit config file to change just connected discs from SCSI to IDE. Remember to update CDROM IDE number to do not be in conflict with new discs.
 +    * <code bash>sed -i 's/scsi/ide/g' /etc/pve/qemu-server/702.conf</code>
 +    * <file | /etc/pve/qemu-server/702.conf>
 +ide0: local-zfs:vm-702-disk-1,discard=on,size=64G
 +ide1: local-zfs:vm-702-disk-2,discard=on,size=64g
 +ide2: local-zfs:vm-702-disk-3,discard=on,size=8G
 +ide3: nas326-ISOs:iso/virtio-win-0.1.173.iso,media=cdrom,size=384670K
 +scsi0: local-zfs:vm-702-disk-0,discard=on,size=32G
 +scsihw: virtio-scsi-pci
 +</file>
 +  * Setup correct boot order
 +  * Start Windows 10
 +    * Windows should load correctly
 +    * Go to ''Device Manager'' and install missing drivers. See [[vm:proxmox:kvm:virtio_drivers|Virtio drivers]]
 +    * Shutdown system
 +  * Edit config file to change IDE discs to SCSI
 +  * Setup correct boot order
 +  * Start Windows 10
 +  * ERROR: Windows stuck during booting when VirtIO SCSI driver.
 +    * It is known KVM issue with VirtIO SCSI driver when more than 1 CPU core is used! 
 +       * [[https://bugzilla.redhat.com/show_bug.cgi?id=1670673]]
 +       * Driver version 61.77.104.17200 2019-06-07 from virtio iso v 1.1.172       
 +       * Update to latest 61.80.104.17300 2019-08-12 (not stable) virtio iso v1.1.173 doesn't help
 +    * Changing CPU to 1 core solves problem.
 +    * It works with odd number of cores (1,3,5)
 +
 +
 +
 +    * Windows will crash (becasue storage driver is not supported). Windows will reboot into repair mode.
 +    * Provide virtio drivers in virtual cd-rom (latest 1.1.173 was used)
 +    * Select ''Start-up Repair''
 +
 +
 +
 +  * Switch SCSI to IDE: <code bash>sed -i 's/scsi/ide/g' /etc/pve/qemu-server/701.conf</code>
 +    * Manually correct numbering conflict with CD-ROM ide drive
 +    * Setup correct boot order
 +  * Add one dummy (small size) hard disc to SCSI controller
 +  * Enable QEMU Guest Agent
 +  * Boot Windows, go to ''Device Manager'' and install missing drivers:
 +...
 +  * Shutdown machine
 +  * Switch disc controller from IDE to SCSI. Edit ''/etc/pve/qemu-server/701.conf''
 +    * Setup correct boot order
 +
 +sed -i 's/ide/scsi/g' /etc/pve/qemu-server/701.conf
 +
 +
 ==== Importing only disc ==== ==== Importing only disc ====
 Fastest method: create Proxmox machine and import vbox hard disc to newly created Proxmox VM. Fastest method: create Proxmox machine and import vbox hard disc to newly created Proxmox VM.
   * Create new Proxmox machine with similar parameters to old one   * Create new Proxmox machine with similar parameters to old one
     * [[https://pve.proxmox.com/wiki/Windows_10_guest_best_practices|Windows 10 guest best practices]]     * [[https://pve.proxmox.com/wiki/Windows_10_guest_best_practices|Windows 10 guest best practices]]
-    * Import disc images +    * Remove created Hard Disc (scsi0) 
-      To ''local-zfs'' storage: <code bash>qm importdisk 701 WIN7_C.vdi local-zfs</code> +  * Import disc images (repeat for all VDI discs) 
-    Convert VDI disc images to QCOW2 images:+    As RAW images with all benefits (compression, thin provisioning, snapshots) of ''local-zfs'' storage: <code bash>qm importdisk 701 WIN7_C.vdi local-zfs</code> 
 +      21743 MB VDI compacted file occupied 15,2G on ZFS with compression ratio 1.24x 
 +    * As QCOW2 files on every file storage: <code bash>qm importdisk 701 WIN7_C.vdi local -format qcow2</code> 
 +  * Connect new discs into machine: 
 +    * <code bash>qm set 701 --scsi<N> local-zfs:vm-701-disk-<N>,discard=on,size=64G</code> 
 +    * NOTE: ''discard=on'' should be enabled for thin provisioned storage to reclaim unused space 
 +  * Switch SCSI to IDE: <code bash>sed -i 's/scsi/ide/g' /etc/pve/qemu-server/701.conf</code> 
 +    * Manually correct numbering conflict with CD-ROM ide drive 
 +    * Setup correct boot order 
 +  * Add one dummy (small size) hard disc to SCSI controller 
 +  * Enable QEMU Guest Agent 
 +  * Boot Windows, go to ''Device Manager'' and install missing drivers: 
 +    * PCI Simple Communication Controller ''PCI\VEN1AF4&DEV_1003'' --> Virtio console ''vioserial'' 
 +    * Red Hat VirtIO SCSI pass-through controller ''vioscsi\w7\amd64'' 
 +    * ''NetKVM\w7\amd64'' 
 +    * (''PCI\VEN_1AF4&DEV_1002'') --> VirtIO Balloon Driver ''Balloon\w7\amd64'' 
 +    * vm generation id (''ACPI/QEMUVGID'') '''' 
 +  * Shutdown machine 
 +  * Switch disc controller from IDE to SCSI. Edit ''/etc/pve/qemu-server/701.conf'' 
 +    * Setup correct boot order
  
 +sed -i 's/ide/scsi/g' /etc/pve/qemu-server/701.conf
  
 ==== NOT WORKING: Importing OVA file ==== ==== NOT WORKING: Importing OVA file ====