Debian Mirrors Hierarchy
After finding AlmaLinux sync capacity is around 140Gbps at Tier 0 (or Tier 1, however you look at it), I wanted to find source and hierarchy in Debian mirroring systems.
There are two types of mirrors in Debian - Debian package mirrors (for package installs and updates) and Debian CD mirrors (for ISO and others medias). Let’s talk about package mirrors (and it’s hierarchy) first.
Package mirror hierarchy
Trace file was a good starting point for checking upstream for a mirror in Debian. It resides at <URL>/debian/project/trace/_traces
and shows flow of data. Sample trace file from jing.rocks’s mirror. From there I was sure, canonical source was ftp-master.debian.org. Checking via https://db.debian.org/machines.cgi, showed it’s fasolo.debian.org hosted at Brown University, US. This serves as “Master Archive Server”, making it a Tier 0 mirror. debian.org Developers Machines entry mentions it has 1Gbps shared LAN connectivity (dated information?) but it only has to push to 3 other machines/sites.
Side note - .d.o is .debian.org
As shown on https://mirror-master.debian.org/status/mirror-hierarchy.html, three Debian Tier 1 mirror sites are:
- syncproxy2.eu.debian.org ie smit.d.o hosted by University of Twente, Netherlands with 2x10Gbps connectivity.
- syncproxy4.eu.debian.org ie schmelzer.d.o hosted by Conova in Austria with 2x10Gbps connectivity.
- syncproxy2.wna.debian.org - d.o Developer Machines entry mentions it being hosted at UBC here, but IP seems to be pointing to OSUOSL IP range as of now. IIRC few months ago, syncproxy2.wna was made to point to other host due to some issue (?). mirror-osuosl.debian.org seems to be serving as syncproxy2.wna now. Bandwidth isn’t explicitly mentioned but from my experience seeing bandwidths which other free software projects hosted at OSUOSL have, it would be atleast 10Gbps and maybe more for Debian.
syncproxy2.eu.d.o (NL) ---> to the world
/
ftp-master.d.o (US) -- syncproxy4.eu.d.o (AT) --> to the world
\
syncproxy2.wna.d.o (US) --> to the world
These form the Debian tier 1 mirror network, as all the mirrors sync from them. So Debian has atleast 50Gbps+ capacity at Tier 1. A normal Debian user might never directly interact with any of these 3 machines, but everything Debian packages they run/download/install flows through these machines. Though, I’m unsure what wna stands for. If you know, do let me know. NA probably is North America and W is west (coast)?
After Tier 1, there are a few more syncproxies (detailed below). There are atleast 45 of them at Tier 2. Most country mirrors i.e. ftp.
Syncproxies at Tier 2:
- syncproxy3.wna.debian.org (CA) - gretchaninov.d.o which is marked as syncproxy2 on db.d.o (information dated). It’s hosted in University of British Columbia, Canada, where a lot of Debian infrastructure including Salsa is hosted.
- syncproxy.eu.debian.org (HR) - Croatian Academic and Research Network managed machine. CNAME/redirects to debian.carnet.hr. Seems to be directly managed by hosting organization.
- syncproxy.au.debian.org (AU) - mirror-anu.d.o hosted by Australian National University with 100Mbps connectivity. Closest sync proxy for all Australian mirrors.
- syncproxy4.wna.debian.org (US, according to GeoIP) - syncproxy-aws-wna-01.d.o hosted in AWS. IPv6 only (CNAME to syncproxy-aws-wna-01.debian.org. which only has an AAAA record, no A record). A m6g.2xlarge instance which has speeds upto 10Gbps.
Coming back to https://mirror-master.debian.org/status/mirror-hierarchy.html, one can see chain extend till Tier 6 like in case of this mirror in AU which should add some latency for the updates from being pushed at ftp-master.d.o to them. Ideally, which shouldn’t be a problem as https://www.debian.org/mirror/ftpmirror#when mentions “The main archive gets updated four times a day”.
I get my updates from NITC mirror, so my updates flows from US > US > TW > IN > me.
CDNs have to internally manage cache purging too unlike normal mirrors which directly serve static file. Both deb.debian.org (sponsored by Fastly) and cdn-aws.deb.debian.org (sponsored by Amazon Cloudfront) sync from mirror.accumu.d.o in SE as of now. See deb.d.o trace file and cdn-aws.deb.d.o trace file.
CD image Hierarchy
Till now, I have only talked about Debian package mirrors. When you see /debian directory on various mirrors, they’re usually packages for apt install/apt update
. If you want to grab the latest (and greatest) Debian ISO, you go to Debian CD (as they’re still called) mirror site.
casulana.d.o is mentioned as CD builder site hosted iby Bytemark while, pettersson-ng.d.o is mentioned as CD publishing server at Academic Computer Club in Umeå, Sweden. Primary download site for Debian CD when you click download on debian.org homepage is https://cdimage.debian.org/debian-cd/ is hosted here. This essentially becomes Tier 0 mirror for Debian CD.
pettersson-ng.d.o / cdimage.d.o (SE) ---> to the world
ACC’s mirror setup uses a combination of multiple machines (called frontends and offloading servers) to load balance requests. Their document setup is a highly recommended read. Also, in that document, they mention , “All machines are reachable via both IPv4 and IPv6 and connected with 10 or 25 gigabit Ethernet, external bandwidth available is 200 gigabit/s.” All Debian CD mirrors are downstream to it.
For completeness sake, following mirror (or mirror systems) exists too for Debian:
- Debian Ports mirrors.
- Debian Archive mirrors to get old Debian versions.
- Debian Security has bunch official mirrors (as mentioned here) behind security.d.o. It resolves to Fastly IP ranges so could be Fastly or Debian operated mirrors. Taking a look at https://db.debian.org/machines.cgi tells seger.d.o in DE is security-master which I’m assuming is source for all following mentioned security mirrors:
- lobos.d.o in DE
- mirror-csail.d.o in US
- mirror-anu.d.o in AU
- santoro.d.o in BR
- schumann.d.o in DE
- setoguchi.d.o in JP
- villa.d.o in DE
- wieck.d.o in DE
Debian heavily rely on various organizations to distribute and update Debian. Compiling above information made me thankful to all these organizations. Many thanks to DSA and mirror team as well for managing these stuffs.
I relied heavily on https://db.debian.org/machines.cgi which seems to be manually updated, so things might have changed along the way. If anything looks amiss, feel free to ping.