To expand on information about our Mirrorbits mirror management instance we are re-announcing:
Mirrorbits
Mirrorbits is a geographical download redirector written in Go for distributing files efficiently across a set of mirrors. It offers a simple and economic way to create a Content Delivery Network layer using a pure software stack. It is primarily designed for the distribution of large-scale Open-Source projects with a lot of traffic.
Main Features
- Blazing fast, can reach 8K QPS on a single laptop
- Easy to deploy and maintain, everything is packed in a single binary
- Automatic synchronization with the mirrors over rsync or FTP
- Response can be either JSON or HTTP redirect
- Support partial repositories
- Complete checksum / size control
- Realtime monitoring and reports
- Disable misbehaving mirrors without human intervention
- Realtime decision making based on location, AS number and defined rules
- Smart load-balancing over multiple mirrors in the same area to avoid hotspots
- Ability to adjust the weight of each mirror
- Limit access to a country, region or ASN for any mirror
- Clustering (multiple mirrorbits instances)
- High-availability using redis-sentinel
- Automatically fix timezone offsets for broken mirrors
- Realtime statistics per file / mirror / date
- Realtime reconfiguration
- Seamless binary upgrade (aka zero downtime upgrade)
- Mirmon support
- Full IPv6 support
- more…
OpenMandriva specific feature:
- OpenMandriva Mirrorbits reads the repodata files at the “home” server
http://abf-downloads.openmandriva.org/
then redirects to mirrors. This ensures user is getting the latest software during their software upgrades or distro-syncs.
Is it production ready?
Yes! Mirrorbits has served billions of files already and is known to be running in production at:
- CarbonROM
- Chaos Computer Club to distribute media
- Jellyfin since April 2021
- Jenkins to distribute Jenkins releases since February 2020
- Kodi (previously XBMC) since July 2015
- LineageOS (previously CyanogenMod) since January 2017
- VideoLAN to distribute VLC media player since April 2014
Previous projects which have used Mirrorbits:
Anyone installing any current version of OMLx (Rome, Rock/4.3, or Cooker) has this out of the box by default. Mirrorbits was deployed with OpenMandriva Rock/4.2 release and has been the default since.
To view what Mirrorbits is using for your locale.
To verify that you are in fact using Mirrorbits you will need to know which file in /etc/yum.repos.d
your system is using. Using Rock x86_64 as example:
$ cat /etc/yum.repos.d/openmandriva-rock-x86_64.repo
This will ouput the contents of the file. Look for the baseurl
lines. You want to see this:
baseurl=http://mirror.openmandriva.org/
for each channel. http://mirror.openmandriva.org/
is the redirector for the OpenMandriva Mirrorbits. The complete baseurl
line will look something like this:
baseurl=http://mirror.openmandriva.org/rock/repository/x86_64/main/release/
http://abf-downloads.openmandriva.org/rock/repository/x86_64/main/release/
The reason for this is that the first url is the preferred and will be attempted first. If for some reason the Mirrorbits server were down then dnf
will automatically go to the second url which is our “home” or “source” server at http://abf-downloads.openmandriva.org/
.
It should be mentioned that our Mirrorbits server has been very reliable since we last moved it to it’s present location.
For Rock znver1 users your .repo file will be:
/etc/yum.repos.d/openmandriva-rock-znver1.repo
For ROME users your .repo file will be either:
/etc/yum.repos.d/openmandriva-rolling-x86_64.repo
or:
/etc/yum.repos.d/openmandriva-rock-znver1.repo
We realize this may be a bit complicated for less technically inclined users. If you need help with this please ask in English/Support forum or on our #OpenMandriva Matrix (and Telegram) channel.
Major thanks to the work of @raphael for making our Mirrobits work.