Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Administration mehrerer Rechner mittels Radmind
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation
View previous topic :: View next topic  
Author Message
rc
Apprentice
Apprentice


Joined: 16 Dec 2003
Posts: 234

PostPosted: Wed Feb 20, 2008 2:50 pm    Post subject: Administration mehrerer Rechner mittels Radmind Reply with quote

Hi,
mittels Radmind ist es möglich, mehrere Rechner zentral zu verwalten.
http://rsug.itd.umich.edu/software/radmind/


Funktionsweise

Das ganze funktioniert grob folgendermaßen:

  • Ein Rechner dient als "Vorlage"
  • Von diesem Rechner werden sogenannte "Loadsets" erstellt (Base- / Overload).
  • Diese werden auf einen Server übetragen.
  • Die zu administrierenden Clients gleichen ihre Dateisysteme gegen die auf dem Server gespeicherten "Loadsets" ab.


Ein Loadset besteht aus zwei Teilen.
Einem Transskript, welches eine Aufzählung aller im Loadset enthaltenen "Elemente" (z.B.: Dateien, Verzeichnisse, Links) des Dateisystems ist.
Diese Aufzählung ist eine Textdatei, die u.a. den Typ, Namen, Änderungsdatum und Prüfsumme enthält.
Und den Dateien selbst.

Eine Baseload ist das initiale Abbild des Dateisystems, des Rechners, der als Vorlage dient.
Hier sind sämtliche (ab / alles) Elemente des Dateisystems enthalten.

Ein Overload beschreibt die Unterschiede zwischen vorher erstellten Loadsets (Base- / Overload) und dem aktuellen Zustand des Dateisystems.

Installation

Eine (nicht mehr ganz aktuelle) Version von Radmind ist im Portage-Tree enthalten.

Improvisiertes Runscripts für Radmind:
/etc/init.d/radmind
Code:

#!/sbin/runscript
 
depend() {
        need net
        use dns logger
}
 
start() {
        ebegin "Starting radmind"
        start-stop-daemon --start --exec /usr/sbin/radmind \
            --pidfile /var/run/radmind.pid \
            -- -p /var/run/radmind.pid ${RADMIND_OPTS}
        eend $? "Failed to start radmind"
}
 
stop() {
        ebegin "Stopping radmind"
        start-stop-daemon --stop \
                --pidfile /var/run/radmind.pid \
                --exec /usr/sbin/radmind
        eend $? "Failed to stop radmind"
}


/etc/conf.d/radmind
Code:

# /etc/conf.d/radmind
RADMIND_OPTS="-w 1 -U -a 10.5.9.250"

Für erste Tests nur folgendes verwenden:
Code:

# /etc/conf.d/radmind
RADMIND_OPTS="-a 10.5.9.250"


Einrichtung
Muster Client für die "Vorlagen"
Es muss ein "negatives Transskript" erstellt werden, welches alle Elemente des Dateisystems auflistet, die bei der Erstellung von Loadsets nicht berücksichtigt werden sollen.
Hierzu am besten erstmal ein Transskript des ganzen Dateisystems erstellen
Code:

fsdiff -C -c sha1 –o /var/radmind/client/base.T /

und die nicht erwünschten Elemente in /var/radmind/client/negative.T eintragen.

Danach nochmals /var/radmind/client/base.T erstellen.
Code:

fsdiff -C -c sha1 –o /var/radmind/client/base.T /


Dies kann man sooft wiederholen, bis nur noch die gewünschten Elemente in /var/radmind/client/base.T verbleiben.

Dieses /var/radmind/client/base.T ist dann das Transskript für die Baseload.

Server
/var/radmind/config wird Benutzt um sogenannte Command-Files, die Transskripte zusammenfassen, Client IP-Adressen (IP Adressbereichen) zuzuordnen.
Z.B.:
Code:

192.168.0.42 meinCommandFile.K
192.168.0.<10-20> nocheinCommandFile.K


Damit die initiale Baseload übertragen werden kann muss ein leeres Command-File z.B. /var/radmind/command/neu.K erstellt werden und in /var/radmind/config eingetragen werden.
Code:

touch /var/radmind/command/neu.K
echo "IP-AdresseMusterClient /var/radmind/command/neu.K" > /var/radmind/config


Dann muss der Server gestartet werden.
Code:

/usr/local/sbin/radmind

Oder alternativ mittels des improvisierten Runscript.
Code:

/etc/init.d/radmind start


Baseload auf dem Server speichern
Auf dem Client:
Code:

lcreate -h ServerAdresse /var/radmind/client/base.T

Das negative Transskript muss ebenfalls übertragen werden.
Code:

lcreate –N –h ServerAdresse /var/radmind/client/negative.T


Auf dem Server müssen die Übetragenen Dateien verifiziert werden.
Code:

cd /var/radmind/tmp/transcript
lcksum -c sha1 -n base.T
lcksum -c sha1 negative.T

Wenn dies erfolgreich war können diese "verfügbar" gemacht
Code:

mv /var/radmind/tmp/transcript/base.T /var/radmind/transcript/
mv /var/radmind/tmp/transcript/negative.T /var/radmind/transcript/
mv /var/radmind/tmp/file/base.T /var/radmind/file/
mv /var/radmind/tmp/file/negative.T /var/radmind/file/

und in das Command-File eingetragen werden.
Hier /var/radmind/command/neu.K
Code:

p base.T
n negative.T


Jetzt kann die Baseload getestet werden.
Auf dem "Muster Client"
Code:

ktcheck –c sha1 -h ServerAdresse
fsdiff -A -c sha1 /

Da ja von diesem Client die Baseload erstellt wurde, sollten keine großen Unterschiede auftreten.

An diesem Punkt können nun auch andere Clients, auf denen Radmind installiert ist mit diesem Loadset versorgt werden.
Code:

ktcheck –c sha1 -h ServerAdresse
fsdiff -A -c sha1 / | lapply -h ServerAdresse


Overloads erstellen
Overloads können nun ähnlich erstellt werden.
Z.B. nachdem auf dem "Muster Client" eine neue Software installiert oder ein Update durchgeführt wurde.
Auf dem Muster Client:
Code:

fsdiff -C -c sha1 –o /var/radmind/client/meineNeueOverload.T /
lcreate -h ServerAdresse /var/radmind/client/meineNeueOverload.T


Auf dem Sever müssen die übetragenen Dateien verifiziert werden:
Code:

cd /var/radmind/tmp/transcript
lcksum -c sha1 -n meineNeueOverload.T

Wenn dies erfolgreich war können diese "verfügbar" gemacht
Code:

mv /var/radmind/tmp/transcript/meineNeueOverload.T /var/radmind/transcript/
mv /var/radmind/tmp/file/meineNeueOverload.T /var/radmind/file/

und in das Command-File eingetragen werden.
Hier /var/radmind/command/neu.K
Code:

p base.T
p meineNeueOverload.T
n negative.T


Das Testen und Verteilen erfolgt analog dem Testen und Verteilen der Baseload (s.o.).

Quellen

http://rsug.itd.umich.edu/software/radmind/
http://webapps.itcs.umich.edu/radmind/index.php/Command_Line_Tutorial
http://webapps.itcs.umich.edu/radmind/index.php/TLS_Cookbook
http://webapps.itcs.umich.edu/radmind/index.php/Main_Page

soweit ... werde diesen Beitrag eventuell noch um TLS (SSL Authentifizierung und Verschlüsselung) erweitern.

Gruß,
rc
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum