Ausgangssituation

Es läuft ein eisfair-Server auf einer Platte mit eigendlich ausreichend Platz für die Programme, nur die Daten des /home Verzeichnisses werden einfach zuviel, weil die User den Server so gerne haben ;-) Die bisherige Platte ist als Master am IDE-Port1 (primary Master) angeschlossen, also /dev/hda. Die zweite Platte wird dann vorzugsweise als Master am IDE-Port 2 (secondary Master) angeschlossen. Die Platte heißt dann also /dev/hdc.

Vorbereitungen

Ohne Platte geht nix ;-). Die solltest Du erst einmal einbauen. Jumper an der Platte auf „Master“ einstellen (normalerweise bei neuen Platten die Werkseinstellung) und mit dem IDE-Port2 (secondary) verbinden. Details hierzu findest du in der Mainboard-Doku. Ebenfalls findest Du darin die notwendigen BIOS Einstellungen.

Logge Dich als root ein, da die folgenden Operationen nur von root ausgeführt werden dürfen. Solltest du dich über putty oder ein anderes ssh-Programm eingewählt haben, weil z. B. kein Monitor angeschlossen ist, wählst du dich erst mit deinem Usernamen ein. Anschließend gibst du auf der Konsole „su -“ ein. Du wirst nach dem Passwort von root gefragt. Jetzt kann es losgehen.

Festplatte partitionieren

Die Partitionierung ist sozusagen die Einteilung der Festplatte. Wir wollen die Festplatte als ganzes Stück nutzen. Achtung, solltet ihr ein Platte größer 120GB einsetzen wollen, so müsst ihr auf den Kernel 2.4.20 warten. Die Partitionierung erfolgt mit dem Programm fdisk:

# fdisk /dev/hdc

Mit „m“ kann man sich das Menü anzeigen lassen. Hieraus wählen wir „n“ für eine neue Partition. Da wir nur eine Partition haben wollen, beantworten wir die Frage , ob erweiterte Partition oder primäre Partition mit „p“ für primäre. Die vorgeschlagenen Start- und Endpunkte einfach mit Return bestätigen. Jetzt noch mit „w“ die Partitationstabelle abspeichern.

Ganz wichtig ist jetzt ein reboot! Sonst kann es passieren, das die Partitionstabelle später nicht erkannt werden kann. Also „reboot“ eintippen und warten, bis der Rechner wieder hochgelaufen ist. Eine ssh-Verbindung wird dabei getrennt und muss, wie oben beschrieben, wieder neu aufgebaut werden. Aber seit freundlich zu Euren Usern und informiert sie vorher, nicht das da Daten verloren gehen. Am besten spendiert ihr den Usern ein Eis oder einen (oder wahrscheinlich mehrere) Kaffee, so dass sie das System für die Umbauarbeiten in Ruhe lassen.

Festplatte formatieren

Linux bietet sehr viele verschiedene Formate an. Bis zum neuen Kernel 2.40.x können wir noch nicht mit den modernen Formaten wie ReiserFS oder ext3, sogenanten Journaling-Filesystemen arbeiten und benutzen desshalb den bisherigen Standard ext2. Wir formatieren mit:

# mke2fs /dev/hdc1

Platte in das System einbinden

Mit

# mkdir neueplatte

wird ein Verzeichniss angelegt, welches „neueplatte“ heißt. Jetzt müssen wir dem System mitteilen, dass unsere frisch formatierte Platte daran gebunden wird. Mit

# mount -t ext2 /dev/hdc1 /neueplatte

wird die Platte temporär an dieses Verzeichniss gemountet.

Homeverzeichniss kopieren

Mittels

# cp -aR /home/* /neueplatte

wird jetzt alles aus dem Homeverzeichniss auf unsere neue Platte kopiert. Das kann jetzt abhängig von der Größe des bisherigen Homeverzeichnisses und dem verwendeten Rechner schon etwas dauern.

Es sieht jetzt so aus, als ob nichts passieren würde. Wenn ihr vor dem Server sitzt, dann seht und hört ihr ja, dass die Festplatten arbeiten. Wer per ssh arbeitet und der Server nicht zu sehen und hören ist, kann das noch auf einem einfachen Wege prüfen. Eröffnet einfach eine neue ssh-Session und loggt euch mit eurem Usernamen ein. Das könnte jetzt schon etwas langsamer von statten gehen ;-). Gebt jetzt das Komando „top“ ein. Jetzt könnt ihr sehen, welche Prozesse gerade laufen. cp sollte sehr weit oben stehen ;-).

Mit

# cd /neueplatte

wechseln wir auf unsere neue Platte und schauen mit

#  ls -l

nach ob das kopieren geklappt hat. Wie man sehen kann, sind auch alle Rechte richtig mitübernommen worden. 

Jetzt sollten wir unser Homeverzeichniss mit

# mv /home /homealt

umbenennen und ein neues Homeverzeichniss mit

# mkdir /home

anlegen, an das wir die neue Platte binden können.

Leider muss man den Mountbefehl nach jedem reboot neu eingeben. Aber zur Abhilfe gibt es die Filesystemtabelle fstab. Wenn wir darin unsere neue Platte eintragen, wird das bei jedem Start automatisch richtig gemountet. Dazu geben wir

# joe /etc/fstab

an der Konsole ein. womit die Datei /etc/fstab im Editor joe öffnet. Wenn ihr jetzt die Zeile von /dev/hda1 abschreibt und /boot durch /home ersetzt, sollte das kein Problem sein. Aber Achtung, wo kein Leerzeichen ist, gehört auch keines hin! Die letzte Zeile sollte also wie folgt aussehen:

/dev/hdc1 /home ext2 defaults,errors=remount-ro 0 1

Mit <strg><kx> Werden die Änderungen gespeichert. Nach weiteren Test, wenn ihr euch also sicher seit, dass alles geklappt hat, könnt ihr den Ordner /homealt mit „rm -R /homealt“ löschen und habt so wieder mehr Platz für gute eisfair-Pakete.

Wer jetzt mehr über die einzelnen verwendeten Befehle wissen möchte, oder das eine oder andere Warum? klären möchte, bemühe Google oder nutze direkt einschlägige Seiten im Internet. Mir hat bei der Erstellung dieses HowTo's die Seite www.lunetix.de sehr geholfen. 

Gruß, Ralf