Zeus Refresh
<HTML>
<div style=“float:right; margin-left: 10px”><img src=“/wiki/lib/exe/fetch.php?media=wiki:zeusrefresh_logo.png”></div>
</HTML>
Het netwerk van Zeus is - zowel op hardware als op software vlak - dringend aan een goed onderhoud nodig. Hieronder staat een lijst van problemen die we willen oplossen en extra features die we willen toevoegen.
De Zeus Refresh-week zal doorgaan vanaf 2 februari tot en met 8 februari. Na 8 februari zou alles weer moeten werken. Tijdens deze periode echter kan je downtime verwachten van mail, maillists, websites en IRC. Er zou normaal geen data of mail mogen verloren gaan. Wij zullen er naar streven om mail en mailinglists zo weinig mogelijk downtime te bezorgen. Je kan ons altijd komen bezoeken tijdens die week in de kelder, waar we zullen zitten te stressen voor dood.
Heb je ideëen of commentaar? Klik “edit” hierboven en aarzel niet om je gedacht te zeggen!
Backup voor de zeus refresh!
Gelieve eerst alle mysql (en andere?) databases goed te backuppen voor alles plat te leggen gedurende een week!
Ik hoop dat de users zo slim zijn geweest om hun belangrijkste data te backuppen, maar databases backuppen ligt volgens mij een pak moeilijker voor de users zonder root access.
Indien mogelijk alle data (dus de /home van cartman) backuppen op bv. een externe hd.
Databases draaien volgens mij op zowel cartman als mephisto!
UPDATE 01/02/2008 18:20: Ik heb juist mysqldump -u root -p –all-databases > mysqlbackupcartman gedraaid.
Dus in de dir /home/aspfreakout staat een backup van de databases, maar gelieve dit proces nog eens te herhalen maandag!
Checklist!
<HTML>
<div style=“clear:both”></div>
</HTML>
Hardware
Kenny buitensmijten, verbranden, de duivel uitdrijven, en bij de burgies naar binnen smijten.
netwerk-kaarten van de pc's (of toch minstens gateways en webserver) upgraden om de snelheid van het nieuw UTP netwerk aan te kunnen.
Alle servers verhuizen naar het donkerste en minst gebruikte hoekje van de kelder, zodat er op andere plaatsen meer volk kan zitten.
Oplossing vinden voor het teveel aan hardeschijfruimte op de desktops en “te weinig” op Cartman
vegen, stofzuigen of whatever!
Bios-check voor keyboard/screen op alle servers nakijken en uitzetten
Checken wie nu eigenlijk een sleutel heeft van de kelder, bv oud voorzitters enzo. Een systeem met die identiteitskaartlezer uitwerken voor de deur.
Home RAID
cartman heeft nog meer dan 100 GB vrij voor /home. Dit is een harde schijf met een (geformatteerde) grootte van 187 GB. mephisto heeft 2 harde schijven. 1 daarvan wordt volledig niet gebruikt en heeft perfect dezelfde size als die in Cartman. We kunnen die extra HD van Mephisto in Cartman dumpen, en die software RAID'en (mirrored) als eerste verdedigingslinie voor de /home-directories.
Software
Algemeen
-
Centralized logging (choksondik)
Workload van servers eens deftig te verdelen. We hebben volgende functies: webserver (zeus.ugent.be, latex.ugent.be, usersites), mail, maillists, irc, webcam. We hebben daar geen 4 servers voor nodig.
Machines documenteren (verantwoordelijkheden die ze hebben / services die ze draaien, IP's, specs, platform, …)
Mogelijkheid bieden voor op iets te laten installeren op een reeks pcs zonder het te moeten overal door het netwerk te laten sluizen (indien mogelijk). Zo is het
LAN gamen simpeler
Dit is een mooi idee, maar dan enkel voor workstations (obviously). We kunnen dit implementeren door een script te maken die via SSH inlogt op alle (of enkel de geselecteerde) PC's en het ingegeven commando uitvoert (bv 'apt-get install relixGotPwned'). Indien het een gedownload programma betreft is dit geen probleem door dat de /home dir gemount staat overal.
Overzicht maken van de beschikbare besturingssystemen (welke pc draait wat) en een update-policy bijvoegen (bv. client automatisch laten updaten en servers door admins).
Op vrees van mijn leven: een MS pc? → virtualization om andere
OS'en te testen?
Zo een programma installeren dat je processortijd geeft aan van die wetenschappelijke projecten. Dan hebben we de schijn dat ons servers ferm werken ;)
Een programmaatje installeren om de dt-regels te leren. Handig voor Thomas e.d. Een goed alternatief is een kilometersgrote link plaatsen op iedere desktop naar
http://www.spelling.tormentil.nl/
Netwerk
IP-adressen en subdomeins aanvragen bij DICT.
DNS uitkuisen en de nieuwe machines toevoegen.
Een deftige gateway configgen die de snelheid van de verbinding kan bijhouden en die altijd deftig heropstart bij stroomuitval.
Servers aan meest betrouwbare switch hangen.
Testen wat het netwerk doet bij uitval van een server (alles is beter dan nu).
Bij stroomuitval moeten de pc's zelf herstarten (zoals elders beschreven), maar gelieve dit te testen (kijk of het netwerk terug operationeel wordt als we letterlijk de stekker uittrekken). Soms loopt dit mis als bepaalde servers sneller heropstarten dan andere.
Een 2de ssh-server in geval van nood?
-
Misschien kunnen we zo snel zien welke pc welke services draait (en misschien werkt bebe wat beter samen met de rest).
Ldap
<del>Backup</del>
rulus adviseert rsnapshot, een set van perl scripts gebaseerd op rsync. De voordelen zijn dat je verschillende “snapshots” ter beschikking kan hebben en dat de de gebruiker zonder hulp van een admin bestanden uit de backup kan terughalen. Dit klinkt ferm aanlokkelijk.
Mail & Mailinglists
Websites
-
DB van mephisto, garisson en cartman mergen en die van
mephisto en
garisson verwijderen.
Maak een degelijke structuur voor de websites, zodat die gemakkelijk met de rest van de data kunnen gebackupped worden, maar de gewone gebruikers niet zomaar in de pagina's van een site kunnen gaan rommelen. (evt voor elke website een group (of aparte user?) met enkel de dev's en www lid van deze group)
ALLE sites op mephisto:
Requested Wiki Extensions
Webcams
Printserver
Beowulf cluster
Statistieken
Distributed compilen
Proxyserver
Het is natuurlijk verboden om een directe proxy op te zetten, dus ik stel voor alle data te forwarden naar de ssh-server (dus members-only). Zo'n proxy is altijd handig om vanaf de meest onmogelijke plaatsen naar ons zeusnetwerkje te verbinden.
Misschien is TCP over ICMP iets makkelijker op te zetten: http://www.cs.uit.no/~daniels/PingTunnel/
IRC-Bot
Chasca :D
Open project van maken? Dan kan elk lid vrij modules schrijven.
Gaan we dan met alles klaar zijn? :D
Desktop Onderhoud
De desktops kunnen we ook wat kuisen. Iets dat zeker al moet gebeuren is het disablen van alle trackers en indexers die standaard ubuntu infesteren, want anders staan die maar te runnen en traffiek te genereren voor niets op de NFS.
Een mogelijkheid voor trackerd is het aanpassen van
/etc/xdg/autostart/trackerd.desktop
. Daar staat een exec-lijn waar we mogelijk een argument aan kunnen toevoegen bv -e /home. Nog niet getest of da werkt.
Eens open doen en stofzuigen. maar hiervoor hebben we Helena nodig..
Zeus Account
Elk Zeus lid zou zijn Zeus Account moeten kunnen gebruiken om de recentste web-technologieën te kunnen uitproberen. Daarom zouden we, in hoeverre dat mogelijk is, de services moeten uitbreiden tot feitelijk een “shared webhost”. Mod_python/fastcgi/spyce/whatever, ruby on rails (moeilijk stabiel te krijgen?), lisp? haskell? Laat leden weten dat ze zeker dingen kunnen aanvragen. Postgresql en mysql moeten we er ook op smijten, of course.
-
Gemakkelijk mail kunnen redirecten (bv naar gmail)
Zeus Webspace (bestaat, public_html)
PHP 5 & PHP 6
RoR/Mongrel?
Python (mod_wsgi/pylons/django/mod_python/spyce/twisted/web.py/sqlobject…)
Perl (bestaat wel al wss)
MySQL && PHPMyAdmin
PostGreSQL && Postgresqlmyadmin
Automatische repositories voor gebruikers (SVN? Trac?)
Ticket-systeem om extra applicaties/services aan te vragen
Automatische mount van eduserv?
OpenID
Blog.ugent.be (obviously)
Veel libraries voor PHP, python, etc. by default
Een soort van SuperSuper user maken zodat een root niet het root paswoord kan veranderen om zo alleenheerser te zijn en toch kan installen
Waarschijnlijk vereist al dit moois een leuke control panel (JEUIJ) en een geavanceerder user-signup.
Op de zeus site/wiki allerhande korte how-to's zetten om het gebruik van deze shiny new toys te stimuleren!