Difference between revisions of "Service/mirrors"

From Sugar Labs
Jump to navigation Jump to search
(Instructions for adding a mirror, minor changes)
Line 3: Line 3:
  
 
==Introduction==
 
==Introduction==
A content delivery network or content distribution network (CDN) is a system of computers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network. A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, thereby causing a bottleneck near that server.
+
A content delivery network or Content Delivery Network (CDN) is a system of computers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network. A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, thereby causing a bottleneck near that server.
 
 
==Mirrors==
 
The current list of available mirrors is available at http://mirrors.sugarlabs.org/
 
  
 
==Goals==
 
==Goals==
 
* Reduce bandwidth at primary download server.
 
* Reduce bandwidth at primary download server.
 
* Improve quality of service for users.
 
* Improve quality of service for users.
* Move content closer to users.
+
* Move content closer to users, thus reducing latency.
 +
 
 +
==Mirrors==
 +
The current list of available mirrors is available at http://mirrors.sugarlabs.org/
  
 
==Setting up a Mirror==
 
==Setting up a Mirror==
 
Setting up a mirror is very easy. All you need is a web server which is available via http, and (if possible) rsync.
 
Setting up a mirror is very easy. All you need is a web server which is available via http, and (if possible) rsync.
  
Please contact systems@sugarlabs.org if you are interested.
+
Please contact sysadmin AT sugarlabs DOT org if you are interested in hosting a mirror.
  
 
== System Summary ==
 
== System Summary ==
Line 23: Line 23:
 
=== Mirrors ===
 
=== Mirrors ===
 
[http://mirrors.sugarlabs.org Mirrors] are completely passive. To set up a mirror, a mirror system administrator needs to:
 
[http://mirrors.sugarlabs.org Mirrors] are completely passive. To set up a mirror, a mirror system administrator needs to:
* Set up rsync job to synchronise a copy of the files on downloads.sugarlabs.org onto their local system.
+
* Set up rsync job to synchronize a copy of the files on http://downloads.sugarlabs.org onto their local system.
 
* Publish the files via HTTP and -- if possible -- rsync. Rsync allows for efficient [http://www.mirrorbrain.org/features/#mirror-monitoring mirror monitoring] (scanning). FTP is less efficient, but still preferred over an HTTP-only mirror.
 
* Publish the files via HTTP and -- if possible -- rsync. Rsync allows for efficient [http://www.mirrorbrain.org/features/#mirror-monitoring mirror monitoring] (scanning). FTP is less efficient, but still preferred over an HTTP-only mirror.
 
* Alert the Sugar Labs system administrators that they would like their mirror into rotation, including the following information in the request:
 
* Alert the Sugar Labs system administrators that they would like their mirror into rotation, including the following information in the request:
Line 32: Line 32:
 
** rsync base URL of the files on the mirror
 
** rsync base URL of the files on the mirror
  
=== Redirector ===
+
=== Adding a new mirror to the Mirror Brain redirector ===
  
 
* Choose a name for the mirror, usually the host name.
 
* Choose a name for the mirror, usually the host name.

Revision as of 18:48, 1 May 2012

Team Home   ·   Join   ·   Contacts   ·   Resources   ·   FAQ   ·   Roadmap   ·   To Do   ·   Meetings

Introduction

A content delivery network or Content Delivery Network (CDN) is a system of computers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network. A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, thereby causing a bottleneck near that server.

Goals

  • Reduce bandwidth at primary download server.
  • Improve quality of service for users.
  • Move content closer to users, thus reducing latency.

Mirrors

The current list of available mirrors is available at http://mirrors.sugarlabs.org/

Setting up a Mirror

Setting up a mirror is very easy. All you need is a web server which is available via http, and (if possible) rsync.

Please contact sysadmin AT sugarlabs DOT org if you are interested in hosting a mirror.

System Summary

The Sugar Labs Content Delivery Network uses MirrorBrain as a redirector. The redirector, which lives in a Sugar Labs data center, keeps track of which files are available on which mirror. When a user requests a file, the redirector points the user to the correct mirror and automatically starts the file download.

Mirrors

Mirrors are completely passive. To set up a mirror, a mirror system administrator needs to:

  • Set up rsync job to synchronize a copy of the files on http://downloads.sugarlabs.org onto their local system.
  • Publish the files via HTTP and -- if possible -- rsync. Rsync allows for efficient mirror monitoring (scanning). FTP is less efficient, but still preferred over an HTTP-only mirror.
  • Alert the Sugar Labs system administrators that they would like their mirror into rotation, including the following information in the request:
    • Name and URL of the mirror operator (e.g. organisation)
    • Name and email address of the administrative contact
    • ISO 3166-1 alpha-2 country code of the server location
    • HTTP base URL of the files on the mirror
    • rsync base URL of the files on the mirror

Adding a new mirror to the Mirror Brain redirector

  • Choose a name for the mirror, usually the host name.
  • Register the mirror with MirrorBrain:
sudo -u mirrorbrain mb new <mirror name> --operator-name <operator name> \
 --operator-url <operator URL> -a <admin name> -e <admin email> \
 -c <country code> -H <base HTTP URL> -R <base rsync URL> -F <base FTP URL>
  • Scan and enable the mirror:
sudo -u mirrorbrain mb scan -e <mirror name>