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
Last revisionBoth sides next revision
vm:proxmox:vm [2020/05/11 15:11] niziakvm:proxmox:kvm [2022/12/29 17:39] niziak
Line 1: Line 1:
-====== Proxmox VM ======+====== KVM ======
  
-===== Migrate Windows 7 Virtual Box =====+===== AES =====
  
-  * uninstall Virtual Box Guest Additions +Enable AES in CPU flagsDefault KVM64 CPU doesn't expose AES flag. 
-  * Download and run registry file: [[https://pve.proxmox.com/wiki/File:Mergeide.zip|Mergeide.zip]] +Simple openssl benchmark
-  * Restart VM +<code bash> 
-  * `sdelete -z c: d: e:` +openssl speed -evp aes-128-cbc aes-256-cbc aes-256-ecb
-  * `Enable ClearPageFileAtShutdown.reg` +
-  * Shutdown VM+
  
-Now two methods are possible: +# Without AES 
-==== Importing only disc ==== +type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes 
-Fastest method: create Proxmox machine and import vbox hard disc to newly created Proxmox VM.+aes-256 cbc     185216.65k   190818.37k   191588.35k   193247.23k   193489.58k   193353.05k 
 +aes-128-cbc     220375.57k   245515.09k   249103.70k   254411.43k   255770.62k   255393.79k 
 + 
 + 
 +# With AES 
 +type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes 
 +aes-256 cbc     183729.40k   191020.12k   190906.71k   193176.58k   193333.93k   194065.47k 
 +aes-128-cbc     587427.84k  1272103.38k  1317980.93k  1329665.71k  1332060.16k  1332663.64k 
 +</code> 
 + 
 + 
 + 
 + 
 +==== 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   * 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]]
-    * Remove created Hard Disc (scsi0)+    * 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)   * 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>     * 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>
Line 21: Line 35:
     * 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 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. 
 +    * <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>   * 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   * Add one dummy (small size) hard disc to SCSI controller
   * 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'' +  Shutdown machine 
-    * ''NetKVM\w7\amd64'' +  Switch disc controller from IDE to SCSI. Edit ''/etc/pve/qemu-server/701.conf'' 
-    * (''PCI\VEN_1AF4&DEV_1002''--> VirtIO Balloon Driver ''Balloon\w7\amd64'' +    * Setup correct boot order
-    * vm generation id (''ACPI/QEMUVGID'') '''' +
-      * +
  
 sed -i 's/ide/scsi/g' /etc/pve/qemu-server/701.conf sed -i 's/ide/scsi/g' /etc/pve/qemu-server/701.conf
- 
-==== NOT WORKING: Importing OVA file ==== 
-  * **Very slow method**, exporting OVA needs to copy all discs into exported and well compressed file. 
-  * In VirtualBox choose "**File**" --> **"Export Appliance"** 
-    * select to export all network cards and MAC addresses 
-  * Proxmox cannot import OVA files directly. Please unpack it with command <code bash>tar -xvf WIN7.ova</code> 
-    * After unpacking, manifest file .ovf will be available. 
-  * <code bash>qm importovf 701 ./WIN7.ovf local-zfs --dryrun --format qcow2</code> 
-    * WARNING: <code>warning: unable to parse the VM name in this OVF manifest, generating a default value</code> 
-    * Create account/Login to VMWare page and download [[https://my.vmware.com/group/vmware/get-download?downloadGroup=OVFTOOL440|ovftool]] 
- 
-T.B.C without success, more similar issues described here: 
-  * [[http://www.baconapplications.com/export-a-virtualbox-machine-to-vmware/|Export a VirtualBox Machine to VMware]] 
-  * [[https://www.maketecheasier.com/convert-virtual-machines-vmware-virtualbox/|How to Convert Virtual Machines from VMware to VirtualBox and Vice Versa]] 
- 
-