eigenen Debian Squeeze Mirror erstellen

fehlt wasgeht sogutsehr guthat geholfen (No Ratings Yet)
Loading ... Loading ...
Werbung




Ein Server mit mehreren virtuellen Maschinen kann viel Traffic erzeugen, insbesondere, wenn diese geupdatet werden müssen. Ein Server mit 10 VMs kann da schon recht schnell einige 100 MB Daten übertragen. Ab einem gewissen Punkt ist es sinnvoll, einen eigenen Mirror anzulegen und seine VMs von diesem zu updaten.

eigenen Debian Squeeze Mirror erstellen

Dazu sollte eine eigenständige VM angelegt werden. Die Größe eines Debian Mirrors, der nur die 64Bit Version enthält, sollte mir 70GB angelegt werden. Derzeit beträgt die zu übertragende Datenmenge rund 65 GB.

Debian hat selbst ein Mirror-Werkzeug dabei. Dies muss nun installiert werden:

# aptitude install apt-mirror

Dies installiert das Tool und legt einen benutzer “apt-mirror” an. Die Konfigurations-Datei für apt-mirror liegt in /etc/apt/mirror.list und kann wie folgt aussehen:

set base_path    /var/spool/apt-mirror
set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh
set defaultarch  amd64
set nthreads     20
set _tilde 0

deb-amd64 http://ftp.de.debian.org/debian squeeze main
deb-src http://ftp.de.debian.org/debian squeeze main

deb-amd64 http://ftp.de.debian.org/debian/ squeeze-updates main
deb-src http://ftp.de.debian.org/debian/ squeeze-updates main

deb-amd64 http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

clean http://ftp.de.debian.org/debian squeeze main
clean http://ftp.de.debian.org/debian/ squeeze-updates main
clean http://security.debian.org/ squeeze/updates main

/var/spool/apt-mirror wird hier als Daten-Pfad angegeben. Das ändern des Pfades auf ein anderes Verzeichnis brachte bei mir nur Fehler, ich habe dann das Original gelassen.
“set defaultarch” sagt, dass nur die amd64 (64Bit) Daten geladen werden sollen. Es kann hier auch explizit nur die 32Bit Version (i386) oder durch weglassen der Option beide Versionen geladen werden.
“set nthreads” bedeutet, dass apt-mirror mit 20 wget-Threads laden soll. Somit wird die Leitung allerdings ziemlich ausgelastet sein.

Im unteren Bereich sind die Daten-Server angegeben. In diesem Fall direkt von den Debian Servern aus Deutschland.

Mirror-Daten laden

Als nächste können nun die Daten geladen werden. Dies wird einige Zeit in Anspruch nehmen, da es sich wie erwähnt um rund 65 GB handeln.

# su apt-mirror
$ apt-mirror

Auf einer anderen Shell-Ebene kann nun ein Webserver eingerichtet werden, damit die Daten von den anderen VMs geladen werden können. Ich benutze hier bevorzugt nginx:

# aptitude install nginx

Es muss unter /var/www ein symbolischer Link zum Repository angelegt werden:

/var/www # ln -s /var/spool/apt-mirror/ftp2.de.debian.org/debian debian

und ein Host für nginx konfiguriert werden. Dies geschieht unter /etc/nginx/sites-available:

server {
 listen   80;
 server_name  mirror.server.de;
 access_log  /var/log/nginx/mirror.access.log;
 root   /var/www;
 location / {
 index  index.html;
 autoindex on;
 }
 location = /favicon.ico {
 log_not_found off;
 access_log off;
 }
 location = /robots.txt {
 allow all;
 log_not_found off;
 access_log off;
 }
 }

und der nginx-Server neu gestartet werden:

# /etc/init.dnginx restart

Nun sollte, wenn man die Seite in einem Webbrowser aufruft, schon etwas zu erkennen sein.

Debian Mirror bekannt machen

Zu guter letzt, nachdem der apt-mirror-Prozess beendet ist und alle Daten geladen hat, muss der neue Debian-Mirror-Server noch in den VMs konfiguriert werden.
Dazu ersetzt man die Zeilen in /etc/apt/sources.list:

deb http://mirror.server.de/debian/ squeeze main
deb-src http://mirror.server.de/debian/ squeeze main

deb http://mirror.server.de/security/ squeeze/updates main
deb-src http://mirror.server.de/security squeeze/updates main

deb http://mirror.server.de/debian/ squeeze-updates main
deb-src http://mirror.server.de/debian/ squeeze-updates main

und aktivieren:

# aptitude update
aptitude upgrade

Auf dem Mirror kann nun der “apt- mirror” Befehl im crontab eingetragen werden, so dass die Updates automatisch geladen werden.

Test und Produktiv-Umgebung

Wie bei Microsoft WSUS kann auch hier eine “Test”- und eine “Produktiv”-Umgebung eingerichtet werden, indem man 2 Mirrors hintereinander schaltet. Der erste läd die Daten von Debian und die Test-VMs aktualisieren sich mit diesem. Sind die Tests erfolgreich, werden vom Test-Mirror die Daten auf einen “Produktiv-Mirror” mittels apt-mirror auf diesem geladen. Nun können auch die Produktiv-VMs aktualisiert werden.



Werbung


Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>