meta data for this page
  •  

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
vm:proxmox:vm [2020/05/11 17:09] niziakvm:proxmox:kvm [2020/05/12 11:02] niziak
Line 1: Line 1:
-====== Proxmox VM ======+====== KVM ======
  
-===== Migrate Windows 7 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]]
Line 12: Line 14:
 Now two methods are possible: Now two methods are possible:
 ==== DRAFT ==== ==== DRAFT ====
-Fastest method: create Proxmox machine and import vbox hard disc to newly created Proxmox VM.+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   * 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]]
Line 21: Line 25:
     * As QCOW2 files on every file storage: <code bash>qm importdisk 701 WIN7_C.vdi local -format qcow2</code>     * As QCOW2 files on every file storage: <code bash>qm importdisk 701 WIN7_C.vdi local -format qcow2</code>
   * Connect new discs into machine:   * Connect new discs into machine:
-    * <code bash>qm set 701 --scsi<N> local-zfs:vm-701-disk-<N>,cache=writeback,discard=on,size=64G</code>+    * <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     * 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.
-  * Edit config file to change just connected discs from SCSI to IDE. Remember to update cd-rom 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>     * <code bash>sed -i 's/scsi/ide/g' /etc/pve/qemu-server/702.conf</code>
     * <file | /etc/pve/qemu-server/702.conf>     * <file | /etc/pve/qemu-server/702.conf>
-ide0: local-zfs:vm-702-disk-1,cache=writeback,discard=on,size=64G +ide0: local-zfs:vm-702-disk-1,discard=on,size=64G 
-ide1: local-zfs:vm-702-disk-2,cache=writeback,discard=on,size=64g +ide1: local-zfs:vm-702-disk-2,discard=on,size=64g 
-ide2: local-zfs:vm-702-disk-3,cache=writeback,discard=on,size=8G+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 ide3: nas326-ISOs:iso/virtio-win-0.1.173.iso,media=cdrom,size=384670K
-scsi0: local-zfs:vm-702-disk-0,cache=writeback,discard=on,size=32G+scsi0: local-zfs:vm-702-disk-0,discard=on,size=32G
 scsihw: virtio-scsi-pci scsihw: virtio-scsi-pci
 </file> </file>
   * Setup correct boot order   * 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   * Setup correct boot order
   * Start Windows 10   * 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.     * 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)     * Provide virtio drivers in virtual cd-rom (latest 1.1.173 was used)
Line 50: Line 67:
   * Enable QEMU Guest Agent   * Enable QEMU Guest Agent
   * Boot Windows, go to ''Device Manager'' and install missing drivers:   * 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   * Shutdown machine
   * Switch disc controller from IDE to SCSI. Edit ''/etc/pve/qemu-server/701.conf''   * Switch disc controller from IDE to SCSI. Edit ''/etc/pve/qemu-server/701.conf''
Line 72: Line 85:
     * As QCOW2 files on every file storage: <code bash>qm importdisk 701 WIN7_C.vdi local -format qcow2</code>     * As QCOW2 files on every file storage: <code bash>qm importdisk 701 WIN7_C.vdi local -format qcow2</code>
   * Connect new discs into machine:   * Connect new discs into machine:
-    * <code bash>qm set 701 --scsi<N> local-zfs:vm-701-disk-<N>,cache=writeback,discard=on,size=64G</code>+    * <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     * 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>   * Switch SCSI to IDE: <code bash>sed -i 's/scsi/ide/g' /etc/pve/qemu-server/701.conf</code>