vatesfr / xen-orchestra

The global orchestration solution to manage and backup XCP-ng and XenServer.
https://xen-orchestra.com
Other
743 stars 260 forks source link

Set another interface to fetch exports #2527

Closed olivierlambert closed 3 years ago

olivierlambert commented 6 years ago

For backup jobs, we could in theory fetch data from another physical interface of XenServer/XCP-ng. This should be faster for multiple reasons:

We could set that on the backup job level, choosing a network for the transfer.

Proof of concept

We must check 2 different ways. In any case, we need set the wanted transfer network at the job level.

Auto redirect

  1. fetching directly the PIF IP on the target network of the pool master
  2. check the redirection (does XS/XCP-ng support redirection on non mgmt network?)
  3. download from the redirected (or original) address

If 2. doesn't work, we must use the other solution (see below).

Usual redirect

  1. fetching the mgmt URL (as usual) and check if there is any redirect
    • if there is a redirect, find the host
  2. "translate" this IP on the target host into the IP used by the PIF on the target network
  3. download from this IP

Potential issues

We need to do various check before letting people select a backup on another network:

Network connectivity

jdeusmiranda commented 6 years ago

Some sugestions:

olivierlambert commented 6 years ago

If we let the user ask and the user takes a network that's not available in XOA (XOA need to fetch it), the backup will probably fail. But I assume this could be done in an advanced option for the backup, yes.

Something else: we can't guess in advance on which host it will be fetched! Could be something else than the master in a pool, and because XAPI just returns the URL, we need to parse this URL, find the matching host, then match the PIF on the network on this host we need, THEN start the download.

As you can see, it's not utterly trivial.

olivierlambert commented 5 years ago

@julien-f I updated the first post so we can try at least the first scenario (how XS/XCP-ng handles redirect on non-mgmt interface).

In our lab, feel free to make a test in our XOA QA, it's now in the storage network, and it's able to reach 192.168.0.{50,51,52} (3 hosts of the pool).

BogdanRudas commented 4 years ago

I have isolated network for the storage and for the management. Management network is conected to dedicated 1Gbit hardware. I can do up to 150Mbyte/sec per each VM export on Hypervsor 8 (and probably can saturate openvswitch with parallel exports), thus tiny management interface is a bottleneck.

olivierlambert commented 4 years ago

As you may seen in the first post, it's not trivial at all, due to the way XAPI handles redirection (and the numerous checks we need to do before trying). However, this is likely the step after proxies are working :+1:

olivierlambert commented 3 years ago

@BogdanRudas I would connect the host via the "right" interface in XO (settings/server). From there, XO will use it to make backups.