Behind the Mirrors

mod_zrkadlo, the openSUSE Download Redirector

Peter Poeml

Novell / SUSE Linux AG

<ftpadmin at suse.de>

Introduction of Myself

What do we serve?

How Much Is It?

But.

Content Delivery Networks??

Mirrors Come To Help!

All Mirrors Are Equal?

Size Matters

    => partial mirrors

Size Matters II

    => partial mirrors

Speed Matters, Too

    => partial mirrors

Precision Matters Also

Dealing with openSUSE binary packages, ...

Mirror Lists

Mirror lists for humans

One solution

    Highly dynamical mirror lists

    We can't control our mirrors... but we can observe them!

Knowing Mirrors

Redirect to mirrors, but know which one.

Furthermore...

While we're at it, we can

Inventory

History of the implementation

mod_zrk... what?

When I was travelling in Slovakia, I went to this concert:

bad photo of a poster

Za Zrkadlom - Behind the mirror. And I needed a name for an Apache module ;-)

How It Works

The redirector proceeds like this:

How It Works II

Link to pseudocode
Link to code

Example

HEAD request demonstrating the redirect:
  
 % curl -sI 'http://go-oo.zrkadlo.org/go-oo/2.3.0-4/GoOo-langpack-en-GB-2.3.0-4.zip' 
HTTP/1.0 302 Moved Temporarily
Date: Thu, 28 Feb 2008 15:33:41 GMT
Server: Apache/2.2.8 (Linux/SUSE) mod_zrkadlo/1.5
X-Zrkadlo-Chose-Mirror: ftp.hosteurope.de
Location: http://ftp.hosteurope.de/mirror/ftp.suse.com/pub/projects/go-oo/2.3.0-4/GoOo-langpack-en-GB-2.3.0-4.zip
Content-Type: text/html; charset=iso-8859-1
  

Advantages

Advantages II

Advantages III

Disadvantages

SPOF?

Setup Of openSUSE.org

openSUSE...

openSUSE Zypp heroes -- please step on the giants shoulders :-)

Downtimes

Assumptions / observations about server downtimes:

Special Clients

With the mirror database, there is a unique potential for a specialized download client, like the openSUSE installer:

Optimizations I

Optimizations II

Some Numbers From openSUSE

How About Other Approaches?

How About Other Approaches? II

Issues

Issues II

Ideas I

Ideas II

Ideas III

Your Ideas?

            This space intentially left blank

Thanks

    Thanks!

We love our mirrors!

baby kissing a mirror

Because they make us visible :-)
Any more questions?