Skip to content

Mirrors

Samuel VERSCHELDE edited this page Apr 18, 2019 · 12 revisions

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.

mirrors.xcp-ng.org

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

http://mirrors.xcp-ng.org/?mirrorstats

(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!

Prerequisites

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".

Body:

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.

Clone this wiki locally
You can’t perform that action at this time.