XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Sluggish performance on VMs migrated from Hyper-V

    Scheduled Pinned Locked Moved Migrate to XCP-ng
    performancemigration
    18 Posts 5 Posters 407 Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      Statitica @AtaxyaNetwork
      last edited by

      @AtaxyaNetwork said in Sluggish performance on VMs migrated from Hyper-V:

      @Statitica Hi !
      Did you install the XenServer or the XCP-ng tools on your Windows VM ?
      Without the tools, performance are bad

      I installed the XenServer tools as this forum post suggested it was the better of the two options.
      https://xcp-ng.org/forum/topic/9902/citrix-or-xcp-ng-drivers-for-windows-server-2022/2

      Also, the "Other OS" template can cause issues, because windows template have some supplemental parameter for Xen (like Viridian, and other thing I forgot)

      Yep, I saw that mentioned in another forum post here https://xcp-ng.org/forum/topic/8854/performance-differences-and-higher-cpu-usage
      I was hoping there would be a way to fix it without rebuilding the VM, but perhaps a rebuild is the safest thing to try first.

      AtaxyaNetworkA 1 Reply Last reply Reply Quote 0
      • AtaxyaNetworkA Offline
        AtaxyaNetwork Ambassador @Statitica
        last edited by

        @Statitica I don't think you can change the template on the go (but I might be wrong)

        The safest way is to create a new VM with the right template, same spec, without disk. Then don't boot it, shut the VM with the wrong template, detach the disk (rename it if the name is not obvious), and attach it to the new VM with the right template.

        S 1 Reply Last reply Reply Quote 2
        • S Offline
          Statitica @AtaxyaNetwork
          last edited by

          Thanks @AtaxyaNetwork

          Doing some more reading and testing at the moment (can't rebuild the VM until my clients log off for the night) and thought I'd drop some notes here for future reference.

          I've seen a few different sites and blog posts mentioning that SMAPIv3 is on the horizon and should offer a significant performance increase on disk IO compared to SMAPIv1.
          I guess the question is: would this potentially be causing slowness compared to Hyper-V?
          How soon will we see SMAPIv3 in production (how long is a piece of string)?

          I also fired up the old VMs from the other client mentioned. These were guests running Windows server 2016 on a Hyper-V host. The older VMs perform far better than the new - again, on similar (slightly slower) hardware. Withe the performance improvements Microsoft claim to have made with each iteration, it seems strange to me that an older version running (mostly) the same software on slightly slower hardware, should be much more responsive than newly built VMs with the correct templates.

          1 Reply Last reply Reply Quote 0
          • olivierlambertO Offline
            olivierlambert Vates πŸͺ Co-Founder CEO
            last edited by olivierlambert

            You need to swap the template in priority. This might drastically change the result πŸ™‚

            S 2 Replies Last reply Reply Quote 0
            • S Offline
              Statitica @olivierlambert
              last edited by

              @olivierlambert yep - clients are just done for the day so I'm running a backup job and should be able to let you know how it goes in a few hours.

              🀞

              1 Reply Last reply Reply Quote 1
              • S Offline
                Statitica @olivierlambert
                last edited by

                @olivierlambert I tried to boot the OS drive with the correct template, and it blue screened with "boot device inaccessible".

                I reverted back to the incorrect template, and it's booting again.

                Going to try re-importing and setting up the boot device with the correct template next.

                D 1 Reply Last reply Reply Quote 0
                • D Offline
                  dinhngtu Vates πŸͺ XCP-ng Team @Statitica
                  last edited by dinhngtu

                  @Statitica It's because of a change in Windows storage driver. Deleting HKLM\SYSTEM\CurrentControlSet\Services\stornvme\StartOverride before booting on the new template should make it work.

                  S 1 Reply Last reply Reply Quote 1
                  • S Offline
                    Statitica @dinhngtu
                    last edited by

                    @dinhngtu do I just do that before powering the VM down, or is there a way to do it on the disk while it is detached and powered down?

                    D 1 Reply Last reply Reply Quote 0
                    • D Offline
                      dinhngtu Vates πŸͺ XCP-ng Team @Statitica
                      last edited by

                      @Statitica You can do that before powering down. There's XenBootFix, which isn't really made for this, but may also work.

                      S 1 Reply Last reply Reply Quote 1
                      • S Offline
                        Statitica @dinhngtu
                        last edited by

                        @dinhngtu stornvme doesn't have a StartOverride section.
                        Assume it is storahci?
                        f97d717d-f471-4750-90d8-36600a3d82c3-image.png

                        D 1 Reply Last reply Reply Quote 0
                        • D Offline
                          dinhngtu Vates πŸͺ XCP-ng Team @Statitica
                          last edited by dinhngtu

                          @Statitica If you're using the Windows templates, then stornvme is correct. Do you have some unusual NVMe drivers (Intel drivers being one) installed?

                          S 1 Reply Last reply Reply Quote 0
                          • S Offline
                            Statitica @dinhngtu
                            last edited by

                            @dinhngtu I originally used the "other install media" template when I imported this VM from hyper-v.

                            Nothing listed in msinfo, but in the reg keys under storahci 51b2dc7f-45ae-4869-8f4e-0aeba8cdc9a5-image.png

                            I noticed there are also drivers in there from vmware (these VMs have been through a few hypervisors before I took over the company and decided to do this particular migration).

                            Out of interest I checked a Server25 install which was done using the "Windows Server 2022" template. That also has no StartOverride value in the registry.
                            b83a28f9-c61f-4829-b7b9-46e16430b24c-image.png

                            D 1 Reply Last reply Reply Quote 0
                            • D Offline
                              DustinB @Statitica
                              last edited by

                              @Statitica have you checked the Event Logs, specifically the System event logs? I recall having a performance hit when I migrated some VMs from Hyper-V to XCP-ng (years ago at this point).

                              I don't recall the exact issue off hand, but the remedy was easy enough.

                              S 1 Reply Last reply Reply Quote 0
                              • S Offline
                                Statitica @DustinB
                                last edited by

                                @DustinB There isn't anything in the eventlogs since the VSS/ESENT issue was cleared.

                                1 Reply Last reply Reply Quote 0
                                • D Offline
                                  dinhngtu Vates πŸͺ XCP-ng Team @Statitica
                                  last edited by dinhngtu

                                  @Statitica Not having stornvme\StartOverride is expected on systems that use NVMe controllers to boot (e.g. XCP-ng Windows templates). Can your imported VM boot on the correct Windows template once you have made sure stornvme\StartOverride is not present? Once it boots with the correct template and NVMe controller then let's see what the performances are.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    Statitica @dinhngtu
                                    last edited by

                                    @dinhngtu it still wouldn't boot with the correct template.

                                    That said, I have been testing other VMs which were created on xcp-ng, with the correct templates, and get better performance out of them when they are migrated to a hyper-v host.
                                    I believe that this is related to SMAPIv1 limitations - which are known and being actively worked on with SMAPIv3.

                                    Unfortunately for us at this point, xcp-ng may not fit our business - hopefully one day soon it will be, but until then, it is what it is.

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post