[Yum] mirrorlist server selection

Les Mikesell lesmikesell at gmail.com
Wed Mar 17 20:51:42 UTC 2010


On 3/17/2010 3:16 PM, Seth Vidal wrote:
>
>
> On Wed, 17 Mar 2010, Les Mikesell wrote:
>
>> On 3/17/2010 1:46 PM, James Antill wrote:
>>>
>>>> For RPM Fusion's mirrorlist I am also running Matt Domsch's
>>>> MirrorManager and we have two servers serving the mirrorlist. It is one
>>>> DNS name which resolves to two IPs. Yum automatically uses the correct
>>>> mirrorlist server if one of the servers is down (or if nothing answers
>>>> on port 80).
>>>
>>> As far as I can see there is no code to do this anywhere, for either
>>> mirrorlist or metalink yum just has a single URL and requests that
>>> from urlgrabber (and AFAIK there's nothing in urlgrabber to try all
>>> IPs for a given host, but maybe there is).
>>
>> I don't know about urlgrabber specifically, but most browser-type
>> things these days will try all IPs from the list DNS returns until one
>> succeeds. It makes life easier - and it is much nicer when working
>> through caching proxies if all of the targets have the same name
>> instead of having every host being updated pick a randomly different
>> mirror name and download new copies of everything.
>
> It's not how ping, for example works, or telnet, or anything - I can
> think of.

I don't think the underlying connect() routine will do it for you, but 
browsers and their associated libraries must do it the hard way.  Try 
putting a bad and good IP address in DNS for a name and using an 
assortment of browsers, wget, curl, etc. to access a file at a url that 
works on the good IP.  With clients that know how to to this, 
round-robin DNS is a cheap and moderately good failover mechanism as 
well as providing load balancing among the sites that are working.

-- 
   Les Mikesell
    lesmikesell at gmail.com




More information about the Yum mailing list