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 177.4k 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.
    • M Offline
      magicker @florent
      last edited by

      @florent What is the location of the logs?

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

        @magicker
        it depends hos you installled xo-server, but in general it's in journalctl -u xo-server

        1 Reply Last reply Reply Quote 0
        • U Offline
          ulasdem
          last edited by ulasdem

          Hi,

          I have 2 succesfull migrate (Windows and Linux). Windows migrate was successfull but i have to configure network interface after vm opened (as i know this is known issue and about Windows). On the Linux vm (Centos 7) i have regenerate initram and LVM structure, and it is working good now. But today i am trying with different vm's and i am gettin the error below:

          xoa@xo-from-source:~$ xo-cli vm.importFromEsxi host=xxxxx user=xxxxxpassword=xxxxx sslVerify=false vm=3133 network=f6c27xxxxxxxx2e5 sr=61e7d4xxxxxxxd8ec3
          āœ– Cannot read properties of undefined (reading 'footer')
          JsonRpcError: Cannot read properties of undefined (reading 'footer')
               at Peer._callee$ (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/json-rpc-peer/dist/index.js:139:44)
               at tryCatch (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:44:17)
               at Generator.<anonymous> (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:125:22)
               at Generator.next (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:69:21)
               at asyncGeneratorStep (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24)
               at _next (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9)
               at /opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/asyncToGenerator.js:27:7
               at new Promise (<anonymous>)
               at Peer.<anonymous> (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/asyncToGenerator.js:19:12)
               at Peer.exec (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/json-rpc-peer/dist/index.js:182:20)
          

          And I am getting this error below. I am sure, My Vm id is correct. I tried clone this vm for change id. But it doesn't changed.

          xoa@xo-from-source:~$ xo-cli vm.importFromEsxi host=xxxxx user=xxxxx password=xxxxxx sslVerify=false vm=3161 network=f6c27exxxxxxxxa2e5 sr=61exxxxxxd8ec3
          āœ– VM 3161 not found
          JsonRpcError: VM 3161 not found
               at Peer._callee$ (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/json-rpc-peer/dist/index.js:139:44)
               at tryCatch (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:44:17)
               at Generator.<anonymous> (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:125:22)
               at Generator.next (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/regeneratorRuntime.js:69:21)
               at asyncGeneratorStep (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24)
               at _next (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9)
               at /opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/asyncToGenerator.js:27:7
               at new Promise (<anonymous>)
               at Peer.<anonymous> (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/@babel/runtime/helpers/asyncToGenerator.js:19:12)
               at Peer.exec (/opt/xo/xo-builds/xen-orchestra-202302101204/node_modules/json-rpc-peer/dist/index.js:182:20)
          

          You can see my vm's id in this ss : https://prnt.sc/l29WdT8JVaYy

          And my third problem is I have a windows vm around 500 GB and migration continues for 40 hour. There is no status indicator or error message and i can't understand if is there a problem or another thing. I have tried with Xoa before 5.79 update, there was a status indicator on tasks tab. Now I am using XO from source and 5.79 update. I can't see any indicator

          I am using:

          xo server 5.109.0
          xo-web 5.111.0
          VMware ESXi, 6.7.0, 15160138

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

            @ulasdem I will look into the error message, at least I will make it more informative. How many VM have you in this esxi ? is it more than 100 ?

            For the long running import : there is a visible Task only when we reached the importing phase. The first step (when using thin=true) will read the whole disks to detect empty blocks. For now it's visible only in the logs, but we're working on it.

            U 1 Reply Last reply Reply Quote 0
            • U Offline
              ulasdem @florent
              last edited by

              @florent Thank you for your message. I have 122 Vm on my one ESXI Host and i am planning to distribute this vms to xcp hosts in our other DC. Does it affecting migration tool how many vms are in ESXI?

              florentF 2 Replies Last reply Reply Quote 0
              • florentF Offline
                florent Vates 🪐 XO Team @ulasdem
                last edited by

                @ulasdem yes, I think I saw that there is limitation to the api, but didn't reach the limit on our test pools

                I will try to work around this

                1 Reply Last reply Reply Quote 0
                • K Offline
                  KPS Top contributor @magicker
                  last edited by

                  Hi!

                  I did my first migration: Everything looks good!

                  The only thing, that should be noted:
                  You need to provide the VM-ID in your script. The ID that is shown through vSphere was not valid for your script. I had to login the the current ESXi-host and to get the ID with:

                  vim-cmd vmsvc/getallvms | grep NAME
                  
                  1 Reply Last reply Reply Quote 0
                  • olivierlambertO Offline
                    olivierlambert Vates 🪐 Co-Founder CEO
                    last edited by

                    That will be "solved" with the next release: you'll have a VM selector directly in the web UI šŸ™‚

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

                      @ulasdem can you try this branch ? https://github.com/vatesfr/xen-orchestra/pull/6662
                      there is a new command esxi.connect that should show all the VM of an ESXI ( even after the first 100 ones)

                      @KPS thank you, I note the command

                      fbeauchamp opened this pull request in vatesfr/xen-orchestra

                      closed Feat(xo-server): implement Api for esxi migration UX #6662

                      U 1 Reply Last reply Reply Quote 0
                      • S Offline
                        severhart
                        last edited by

                        Have successfully migrated 2 VMs from ESXI, doing MANY Hyper-v migrations, and have a suggestion / feature..
                        THIS is likely not the forum for this, but I know you guys are in a similar situation...

                        Is it possible to add within XOA or the XCP-ng Center to allow attaching to a hyper-v cluster and do drag and drop style of migrations from hyper-v to XCP?
                        I had something similar setup for a past company that allowed me to attach to any type of cluster and manage all from within a single pane of glass ( Until all migrations were complete )

                        1 Reply Last reply Reply Quote 1
                        • U Offline
                          ulasdem @florent
                          last edited by

                          @florent I will try this branch and inform you in next week

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

                            @severhart that would really put the orchestra in xen orchestra , but it would be a huge workload

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

                              We are potentially investigating if HyperV APIs are friendly to do a similar thing than we do with VMware.

                              However, we do not have the objective to have XO managing VMware or HyperV clusters šŸ™‚ (at least, not for the next 3 years)

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

                                @olivierlambert I understand that, just for the migration purposes is all.. some of these migrations take months, if not years to get complete, and having it all under a single hood while that migration work is being done would be nice... I know that it is a HUGE ask šŸ™‚

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

                                  Yeah, each platform got its own logic, that's why having an universal one is very very hard, except if you are a very big company able to have dedicated people on it (while doing all the rest).

                                  I mean, if we can do it, it means we had a huge success, so I won't be against that šŸ˜‰

                                  1 Reply Last reply Reply Quote 0
                                  • ismo-conguairtaI Offline
                                    ismo-conguairta
                                    last edited by

                                    I have two different behaviour on two different XO instances. Each XO instance refers to a different pool (different hosts, same xcp-ng version). In both the instances I try to connect to the same Private Virtual Datacenter based on VMware/vSphere at OVH.

                                    In the first one I get the following error message by using the web UI: "invalid parameters" (take a look at this logfile 2023-02-28T19_25_21.933Z - XO.txt )

                                    In the second one, I get the following error message by using the web UI "404 Not Found https://<vsphere-ip>/folder/<vm-name>/<vm-name>.vmx?dsName=<datastore-name>"

                                    By using the xo-cli I get the "404 Not Found" on both the instances.

                                    Regarding the "404 Not Found", I want to point out that at OVH I have a VMware datacenter (with 2 hosts) and in order to access to the storage I need to specify the parameter dcPath=<datacenter-name>

                                    So the right URL should be https://<vsphere-ip>/folder/<vm-name>/<vm-name>.vmx?dcPath=<datacenter-name>&dsName=<datastore-name>

                                    Simply adding (in a static way) the dcPath specification on line :54 of esxi.mjs file makes it work.

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

                                      Interesting, that's probably a parameter we need to add (as optional) in the case it's needed. Would you mind test a dedicated branch when @florent will add it?

                                      ismo-conguairtaI 1 Reply Last reply Reply Quote 0
                                      • ismo-conguairtaI Offline
                                        ismo-conguairta @olivierlambert
                                        last edited by ismo-conguairta

                                        @olivierlambert Yeah sure! No problem, it'll be a pleasure.

                                        Do you have any idea about the issue related to the message "invalid parameters"? Do you have any suggestion in order to go deeper? Thanks.

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

                                          No but @florent will take a look ASAP šŸ™‚

                                          1 Reply Last reply Reply Quote 0
                                          • S Offline
                                            Seclusion
                                            last edited by Seclusion

                                            For what it's worth I'm seeing the same invalid parameters error when I attempt to perform a migration from an on prem ESXI 7.0U2 host.

                                            Error message:

                                            vm.importFromEsxi
                                            {
                                             "host": "* obfuscated *",
                                             "network": "1fb3daf2-b27d-b7ef-48ce-b8986440247a",
                                             "password": "* obfuscated *",
                                             "sr": {
                                               "type": "SR",
                                               "content_type": "user",
                                               "physical_usage": 26223620096,
                                               "allocationStrategy": "thin",
                                               "current_operations": {},
                                               "inMaintenanceMode": false,
                                               "name_description": "",
                                               "name_label": "Local storage",
                                               "size": 964124073984,
                                               "shared": false,
                                               "SR_type": "ext",
                                               "tags": [],
                                               "usage": 79456894976,
                                               "VDIs": [
                                                 "393e3767-07c2-4c23-bdca-b573e8ba5980",
                                                 "16a72d41-a97d-4b8b-ae6e-3b043882ef8e",
                                                 "59ae272b-00a8-483c-975b-48f55a15119b",
                                                 "dcf1d26c-1f85-41f5-9045-cb931bf9ab3b"
                                               ],
                                               "other_config": {
                                                 "i18n-original-value-name_label": "Local storage",
                                                 "i18n-key": "local-storage"
                                               },
                                               "sm_config": {
                                                 "devserial": ""
                                               },
                                               "$container": "5a58d8a6-0ed1-4825-b1fd-8d720832bf02",
                                               "$PBDs": [
                                                 "26c0dc31-2cf6-15c5-8683-5c60e10382d0"
                                               ],
                                               "id": "3662768f-4a40-31ed-54b9-21eb26876205",
                                               "uuid": "3662768f-4a40-31ed-54b9-21eb26876205",
                                               "$pool": "20ec2c95-dbb7-f4a3-8bb6-a80ff9de4d00",
                                               "$poolId": "20ec2c95-dbb7-f4a3-8bb6-a80ff9de4d00",
                                               "_xapiRef": "OpaqueRef:e1b6c317-a854-449b-80e3-b69bbeb389fc"
                                             },
                                             "sslVerify": false,
                                             "stopSource": false,
                                             "thin": true,
                                             "user": "root",
                                             "vm": "16"
                                            }
                                            {
                                             "code": 10,
                                             "data": {
                                               "errors": [
                                                 {
                                                   "instancePath": "/sr",
                                                   "schemaPath": "#/properties/sr/type",
                                                   "keyword": "type",
                                                   "params": {
                                                     "type": "string"
                                                   },
                                                   "message": "must be string"
                                                 }
                                               ]
                                             },
                                             "message": "invalid parameters",
                                             "name": "XoError",
                                             "stack": "XoError: invalid parameters
                                               at Module.invalidParameters (/opt/xo/xo-builds/xen-orchestra-202302280214/packages/xo-common/api-errors.js:26:11)
                                               at Xo.call (file:///opt/xo/xo-builds/xen-orchestra-202302280214/packages/xo-server/src/xo-mixins/api.mjs:65:20)
                                               at Api.#callApiMethod (file:///opt/xo/xo-builds/xen-orchestra-202302280214/packages/xo-server/src/xo-mixins/api.mjs:390:19)"
                                            }
                                            
                                            ismo-conguairtaI 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post