Like a Linux distribution, XCP-ng's installation images and RPM repositories can be replicated by benevolent mirror providers.
Starting with its 8.0 release, XCP-ng uses mirrorbits to redirect download requests to an appropriate mirror based on their update status and geographical position.
http://mirrors.xcp-ng.org is the base URL for all download links, either downloads of installation ISO images, or RPM repositories used by
yum to download updates.
Previous versions of XCP-ng downloaded files directly from
https://updates.xcp-ng.org, which now becomes one mirror among others (and a fallback in case of files missing from other mirrors).
See current list of mirrors
(If loading this page fails due to too many redirections, just go to https://xcp-ng.org once, then try again)
Add your mirror to the list
Anyone or any entity can submit a mirror to our approval so that we add it to the list used by mirrorbits. It is a way to contribute to the XCP-ng project!
In order to guarantee the quality of the mirrors offered to our users, there a some prerequisites:
- Offer HTTP (more convenient than anonymous FTP for mirrors nowadays), or HTTPS.
- Note: HTTPS does not add much value because ISO image checksums, repository data and all RPMs are signed. HTTP is OK.
- If you offer HTTPS, you need a valid certificate and must renew it in time to avoid downtime.
- Offer read-only
rsync. Two reasons:
- Mirrorbits needs this to regularly check the state of the mirror and automatically disable outdated or broken mirrors.
- This will allow nearby mirrors to sync from yours in the future, if needed.
- Sync from a quickly updated mirror (the first mirrors will sync from our main mirror) at least twice an hour, preferrably four times an hour.
- Sync the whole mirror tree (we'll reconsider this prerequisite when the mirror grows). Current size (XCP-ng 7.4 to 8.0) is approximately 30 GiB.
- Provision enough disk space for future growth, and monitor available space to avoid sync failures.
- Minimum bandwidth: 100 Mbit/s. Preferrably 1 Gbit/s. At some point, we may refuse applications that offer only 100 Mbit/s in areas with already enough quicker mirrors available.
- Up 24/24.
If one of those prerequisites is causing an issue to you as a mirror provider, tell us.
How to sync
Here's how to sync from the main mirror. Adapt if syncing from another mirror.
rsync -rlptv --delete-delay updates.xcp-ng.org::repo/ /local/path/to/mirror
Note: rsync access will be unlocked for your host after your application, see below.
Send your application
Send an e-mail to mirrors (AT) xcp-ng [DOT] org, following the example below:
Subject: "Mirror application for mymirror.example.com".
Server name: mymirror.example.com City: Paris Country: France Bandwidth: 1 Gbit/s Source mirror: updates.xcp-ng.org Host or IP to authorize: mymirror.example.com Sync frequency: every 15 min HTTP(S) URL: http://mymirror.example.com/ RSYNC URL: rsync://mymirror.example.com/xcp-ng/ Other prerequisites from https://github.com/xcp-ng/xcp/wiki/Mirrors checked: yes
"Source mirror" is the mirror you will sync from. At this stage, we suggest that the source always be
updates.xcp-ng.org which is the main, most up to date, mirror. Rsync is restricted by default on this mirror, so we need you to provide either a hostname or an IP address access that will we allowed to sync from that mirror (Hence the "Host or IP to authorize:..." line above).
Ask any question.