I’ve been using Mint for a little while; a friendly Linux distribution that has gained quite some popularity for its easy of use and out-of-the-box functionality.
During the last few days I’ve experienced lots of timeouts when connecting to their official mirrors, which causes Update Manager to throw errors when checking for updates. I can only assume that their servers are getting hammered due to its popularity and the so many clients connecting at any given time, in addition to other mirrors around the world that sync packages to later distribute them to the community. So, I took the matter into my own hands, hopefully to make a positive difference.
My Linux Mint Mirrors
I’m currently sharing http://mirror.unlockforus.com mirroring mint packages. The mirror is hosted in 6 VPSs sitting on SSD drives, 30TB of bandwidth/month, in a BGP Anycast Network, with IP Failover and a teamed balancing per region, distributed as follows:
- Asia (AS) – 2 servers
- North America (NA) 2- servers
- Europe (EU) – 2 servers
With the ‘magic’ of Anycast requests are routed to the closest servers (in the user’s route), where there will be 2 servers (per region) waiting to respond and balancing their load. Additionally, they also do IP failover which further reduces the chances of being unable to answer requests if a single server goes down for maintenance or service interruption.
Case in point, irrespective the user’s geographic location, chances are there is going to be a server (mirror) available to fulfill requests and that’s my goal. Since (in my opinion) it is important to reduce the amount of requests that makes it to packages.linuxmint.com and extra.linuxmint.com, I’m synchronizing only one of these servers with the master server from linuxmint.com and replicating the data across the farm. The idea is not only reduce user’s requests to their servers but also the amount of servers that do synchronization with the master servers.
I focused on three main things:
1- Server location and distribution
2- Speed and response time
With that in mind, instead of having an isolated beefy box sitting somewhere to carry the load of a mirror, I decided to go with BuyVM (my VPS provider of choice) to deploy a more evenly distributed mirror while keeping it within my budget. I hope you find it useful! Sharing is caring!