Service/mirrors: Difference between revisions

No edit summary
No edit summary
Line 2: Line 2:
[[Category:Resource]]
[[Category:Resource]]


==Introduction==
== 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.
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==
== 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, thus reducing latency.
* Move content closer to users, thus reducing latency.


==Mirrors==
== Architecture ==
The Sugar Labs Content Delivery Network uses [http://www.mirrorbrain.org/ 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 ==
The current list of available mirrors is available at http://mirrors.sugarlabs.org/
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.
== Setting up a new mirror ==


== System Summary ==
=== For mirror administrators ===
The Sugar Labs Content Delivery Network uses [http://www.mirrorbrain.org/ 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.
All you need is a web server with enough bandwidth to serve the files. To set up a new mirror, the site administrator needs to:


=== Mirrors ===
* Set up rsync job to synchronize a copy of the files on http://downloads.sugarlabs.org onto their local system. You can schedule it daily or more frequently, but please don't sync more often than once per hour.
[http://mirrors.sugarlabs.org 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 [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 [[Infrastructure_Team/Contacts|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 URL of the mirror operator (e.g. organization)
** Name and email address of the administrative contact
** Name and email address of the administrative contact
** [http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2] country code of the server location
** [http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2] country code of the server location
** HTTP base URL of the files on the mirror
** HTTP base URL of the files on the mirror (typically http://mirrors.example.org/sugarlabs/)
** rsync base URL of the files on the mirror
** rsync base URL of the files on the mirror (typically rsync://mirrors.example.org/sugarlabs/)
 
Please contact sysadmin AT sugarlabs DOT org if you are interested in hosting a mirror.
 
=== For Sugar Labs sysadmins ===


=== Adding a new mirror to the Mirror Brain redirector ===
To add a new mirror to the MirrorBrain redirector:


* Choose a name for the mirror, usually the host name.
* Choose a name for the mirror, usually the host name.