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

    VMware migration tool: we need your feedback!

    Scheduled Pinned Locked Moved Migrate to XCP-ng
    318 Posts 37 Posters 174.3k Views 30 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.
    • florentF Offline
      florent Vates 🪐 XO Team @brezlord
      last edited by

      @brezlord great, that is a usable mesage

      could you post the ( or send by email ) , the vmx file ?

      brezlordB 1 Reply Last reply Reply Quote 0
      • brezlordB Offline
        brezlord @florent
        last edited by olivierlambert

        @florent

        .encoding = "UTF-8"
        config.version = "8"
        virtualHW.version = "19"
        vmci0.present = "TRUE"
        floppy0.present = "FALSE"
        memSize = "2048"
        tools.upgrade.policy = "manual"
        sched.cpu.units = "mhz"
        vm.createDate = "1613734854100000"
        scsi0.virtualDev = "lsilogic"
        scsi0.present = "TRUE"
        sata0.present = "TRUE"
        sata0:0.startConnected = "FALSE"
        sata0:0.deviceType = "atapi-cdrom"
        sata0:0.clientDevice = "TRUE"
        sata0:0.fileName = "emptyBackingString"
        sata0:0.present = "TRUE"
        scsi0:0.deviceType = "scsi-hardDisk"
        scsi0:0.fileName = "Graylog-000001.vmdk"
        sched.scsi0:0.shares = "normal"
        sched.scsi0:0.throughputCap = "off"
        scsi0:0.present = "TRUE"
        ethernet0.virtualDev = "vmxnet3"
        ethernet0.shares = "normal"
        ethernet0.addressType = "vpx"
        ethernet0.generatedAddress = "00:50:56:8f:51:24"
        ethernet0.uptCompatibility = "TRUE"
        ethernet0.present = "TRUE"
        displayName = "Graylog"
        guestOS = "ubuntu-64"
        toolScripts.afterPowerOn = "TRUE"
        toolScripts.afterResume = "TRUE"
        toolScripts.beforeSuspend = "TRUE"
        toolScripts.beforePowerOff = "TRUE"
        tools.syncTime = "FALSE"
        uuid.bios = "42 0f 33 f8 9b 7f 7d 26-a8 bc 61 26 ee 46 16 22"
        vc.uuid = "50 0f dd 17 4c f8 3c 79-1f 26 ac 99 23 6a 06 d4"
        sched.cpu.min = "0"
        sched.cpu.shares = "normal"
        sched.mem.min = "0"
        sched.mem.minSize = "0"
        sched.mem.shares = "normal"
        migrate.encryptionMode = "opportunistic"
        ftcpt.ftEncryptionMode = "ftEncryptionOpportunistic"
        vmci0.id = "-297396701"
        cleanShutdown = "FALSE"
        ethernet0.networkName = "vLAN_40"
        uuid.location = "56 4d 44 f3 60 00 fc b5-f6 4b f4 e7 50 0a 74 f2"
        sched.cpu.affinity = "all"
        tools.guest.desktop.autolock = "FALSE"
        nvram = "Graylog.nvram"
        pciBridge0.present = "TRUE"
        svga.present = "TRUE"
        pciBridge4.present = "TRUE"
        pciBridge4.virtualDev = "pcieRootPort"
        pciBridge4.functions = "8"
        pciBridge5.present = "TRUE"
        pciBridge5.virtualDev = "pcieRootPort"
        pciBridge5.functions = "8"
        pciBridge6.present = "TRUE"
        pciBridge6.virtualDev = "pcieRootPort"
        pciBridge6.functions = "8"
        pciBridge7.present = "TRUE"
        pciBridge7.virtualDev = "pcieRootPort"
        pciBridge7.functions = "8"
        hpet0.present = "TRUE"
        sched.cpu.latencySensitivity = "normal"
        numa.autosize.cookie = "10012"
        numa.autosize.vcpu.maxPerVirtualNode = "1"
        pciBridge0.pciSlotNumber = "17"
        pciBridge4.pciSlotNumber = "21"
        pciBridge5.pciSlotNumber = "22"
        pciBridge6.pciSlotNumber = "23"
        pciBridge7.pciSlotNumber = "24"
        scsi0.pciSlotNumber = "16"
        ethernet0.pciSlotNumber = "160"
        vmci0.pciSlotNumber = "32"
        sata0.pciSlotNumber = "33"
        monitor.phys_bits_used = "45"
        vmotion.checkpointFBSize = "4194304"
        vmotion.checkpointSVGAPrimarySize = "4194304"
        softPowerOff = "FALSE"
        svga.guestBackedPrimaryAware = "TRUE"
        guestOS.detailed.data = "architecture='X86' bitness='64' distroName='Ubuntu' distroVersion='20.04' familyName='Linux' kernelVersion='5.4.0-88-generic' prettyName='Ubuntu 20.04.3 LTS'"
        toolsInstallManager.updateCounter = "4"
        viv.moid = "a3752e64-f7d6-4473-8fd5-3b91a194cccc:vm-7093:9iC7plvv3uF5K6K4G++QYV5VZf6Mjp3GrS0FdLa2/1w="
        guestInfo.detailed.data = "architecture='X86' bitness='64' distroName='Ubuntu' distroVersion='20.04' familyName='Linux' kernelVersion='5.4.0-137-generic' prettyName='Ubuntu 20.04.3 LTS'"
        checkpoint.vmState.readOnly = "FALSE"
        SCSI0:0.ctkEnabled = "TRUE"
        ctkEnabled = "TRUE"
        sched.swap.derivedName = "/vmfs/volumes/dc0ddd0a-e7e89bd7/Graylog/Graylog-eda98aed.vswp"
        migrate.hostLog = "Graylog-50f77235.hlog"
        guestinfo.vmtools.buildNumber = "18090558"
        guestinfo.vmtools.description = "open-vm-tools 11.3.0 build 18090558"
        guestinfo.vmtools.versionNumber = "11360"
        guestinfo.vmtools.versionString = "11.3.0"
        scsi0:0.redo = ""
        vmotion.svga.mobMaxSize = "4194304"
        vmotion.svga.graphicsMemoryKB = "4096"
        
        
        florentF 1 Reply Last reply Reply Quote 1
        • olivierlambertO Offline
          olivierlambert Vates 🪐 Co-Founder CEO
          last edited by olivierlambert

          I edited your post to get the right "code" display 🙂 (you need to have the three ``` on a new line)

          brezlordB 1 Reply Last reply Reply Quote 0
          • brezlordB Offline
            brezlord @olivierlambert
            last edited by

            @olivierlambert thank and dually noted.

            1 Reply Last reply Reply Quote 0
            • florentF Offline
              florent Vates 🪐 XO Team @brezlord
              last edited by

              @brezlord I found it : guestOS is first used as a string, and then with additionnal properties

              can you pull and try again ?

              brezlordB 2 Replies Last reply Reply Quote 0
              • brezlordB Offline
                brezlord @florent
                last edited by

                @florent ok give me 10 to rebuild and report back.

                1 Reply Last reply Reply Quote 0
                • brezlordB Offline
                  brezlord @florent
                  last edited by

                  @florent you've fixed it. The task has started. I'll report back when the import has finished. XO is saying 1 hour.

                  florentF 1 Reply Last reply Reply Quote 2
                  • olivierlambertO Offline
                    olivierlambert Vates 🪐 Co-Founder CEO
                    last edited by

                    \o/

                    Now: 🤞

                    1 Reply Last reply Reply Quote 0
                    • florentF Offline
                      florent Vates 🪐 XO Team @brezlord
                      last edited by

                      @brezlord you may also try the "thin=true" option, that will take longer, but will build a thin disk, without the unallocated sectors ( the progress is , for now, only visible in the xo logs side )

                      brezlordB 2 Replies Last reply Reply Quote 0
                      • brezlordB Offline
                        brezlord @florent
                        last edited by

                        @florent I'll give it a go once this import has finished and report back.

                        1 Reply Last reply Reply Quote 2
                        • brezlordB Offline
                          brezlord @florent
                          last edited by

                          @florent The import was successful, the VM is up and running. I will try another the "thin=true" option.

                          florentF 1 Reply Last reply Reply Quote 2
                          • florentF Offline
                            florent Vates 🪐 XO Team @brezlord
                            last edited by

                            @brezlord said in VMware migration tool: we need your feedback!:

                            @florent The import was successful, the VM is up and running. I will try another the "thin=true" option.

                            yeah
                            thank you for your patience

                            brezlordB Y 2 Replies Last reply Reply Quote 0
                            • olivierlambertO Offline
                              olivierlambert Vates 🪐 Co-Founder CEO
                              last edited by

                              🍾 \o/

                              1 Reply Last reply Reply Quote 0
                              • brezlordB Offline
                                brezlord @florent
                                last edited by

                                @florent thank you for you work.

                                1 Reply Last reply Reply Quote 0
                                • Y Offline
                                  ysageev @florent
                                  last edited by

                                  @florent Great news. I'm looking forward to testing when it has been pushed to the vmware channel.

                                  1 Reply Last reply Reply Quote 0
                                  • olivierlambertO Offline
                                    olivierlambert Vates 🪐 Co-Founder CEO
                                    last edited by olivierlambert

                                    This will land on XOA latest for the end of the month 🙂

                                    planedropP 1 Reply Last reply Reply Quote 0
                                    • planedropP Offline
                                      planedrop Top contributor @olivierlambert
                                      last edited by

                                      @olivierlambert Got this working myself as well, very seamless once everything is prepped for it!

                                      I do have a question though, since I noticed you mentioned the thin=true here, so doing this without that command creates a thick provisioned disk? Maybe I misunderstood that in the blog post.

                                      I noticed mine took around 2.5 hours to complete a VM with 6 disks but the total data usage on disks was only around 20GB, so seems very slow, but if it's transferring the thick provisioning, then that is a different story. (in case it matters everything is 10GbE here).

                                      1 Reply Last reply Reply Quote 0
                                      • olivierlambertO Offline
                                        olivierlambert Vates 🪐 Co-Founder CEO
                                        last edited by olivierlambert

                                        Yes, it's because we have no way to know in advance which blocks are really used. So we transfer even the empty blocks by default.

                                        When using thin=true, it will read the file on VMware twice:

                                        • once to see which blocks are really used
                                        • then actually sending the used blocks

                                        And finally, only create the used VHD blocks on XCP-ng.

                                        So it's slower because you read twice, but you actually send less data to your XCP-ng storage.

                                        After adding the "warm" algorithm, the transfer time will be meaningless (or at least a lot shorter), since what matters is the actual downtime, ie when you transfer the delta after the initial full while the VM was on.

                                        planedropP 1 Reply Last reply Reply Quote 0
                                        • planedropP Offline
                                          planedrop Top contributor @olivierlambert
                                          last edited by planedrop

                                          @olivierlambert Got it, so this does bring up a couple additional questions I have.

                                          Does this mean the VHD that everything is transferred to is also thick? Or does it still only used the used space AFTER transferring all the blocks?

                                          Forgive me if I'm misunderstanding, just trying to figure this all out since I have more VMs to transfer.

                                          So, per my example, if I have a VM with 500GB of space on VMware (but only 20GB is used), transfer with this method, it'll transfer all 500GB, but does it also USE 500GB on the SR?

                                          And does that mean this disk is "forever" thick provisioned so snapshots use way more space?

                                          Asking all this because I have a VM with 13TB of available space to move, which only has 5TB of used space. After migration I don't want to end up with 13TB of space used on my SR since it only has 10TB remaining and we probably won't go over about 6TB used on this VM ever.

                                          Hope I am making some sense.

                                          Edit: also, is there a way to tell if a disk is thin or thick in XOA? The SR shows thin but I don't see anything indicating if the disk is thin or not. Would also be kinda nice to see how much ACTUAL space each disk uses up in here.

                                          1 Reply Last reply Reply Quote 0
                                          • olivierlambertO Offline
                                            olivierlambert Vates 🪐 Co-Founder CEO
                                            last edited by

                                            Without thin=true, the destination VHD will contains ALL blocks, and will be the size of the virtual disk. So yes, in your example, 500GiB will be transferred and used on your SR.

                                            It will be then "forever" thick, until maybe you do a SR migration or copy, because (I think but not 100% sure) that the SR migration or VDI copy is doing a sparse copy (without empty blocks).

                                            So I would suggest, in any case, to use thin=true.

                                            Also, a disk isn't thin or thick per se, only a copy with sparse will be able to tell you if there's a lot of empty blocks.

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