RedHat V7 startet nun mit der grafischen Benutzeroberfläche hoch. Loggen Sie sich als User root ein. Falls Sie sich nur mit einer normalen Konsole einloggen möchten, dann geben Sie STRG-ALT-F1 ein. Sie können nun ohne grafische Benutzeroberfläche arbeiten. Zuerst sollte man einen Standarduser anlegen, damit man gefahrlos arbeiten kann. Für Fernwartung ist ebenfalls ein solcher User notwendig, da das Einloggen direkt als Superuser root nicht erlaubt ist. Wir möchten nun auch die Dateien des Betriebsystems von den Logdateien und Nutzerdateien trennen. Dieser User kann auch auf der zweiten Partition/Festplatte liegen. falls diese ausfällt, dann ist das Homeverzeichnis zwar nicht mehr vorhanden, es verbleibt aber stets die Möglichkeit, das Verzeichnis /tmp vorübergehend zu verwenden.
Bei einer Standardinstallation befindet sich das Homeverzeichnis aller User auf derselben Partition, wie der Rest des Systems. Problematisch wird es, wenn die User-Verzeichnisse den gesamten Festplattenplatz belegen. Dann nämlich haben Dämonen, wie Sendmail, POP3 und andere wichtige Dienste keinen Festplattenplatz mehr, und stellen Ihre Arbeit ein. Die Folge ist, daß z.B. in Outlook alle Paßworte ungültig werden, eine sinnvolle Einrichtung, die Microsoft einprogrammiert hat, um Systemadministratoren zu beschäftigen.
Man sollte also vorausschauend nach den Gesetzen von Murpy planend, (Es wird immer der zur Verfügung stehende Speicherplatz ausgeschöpft), entweder allen Usern eine eigene Partition zuordnen, oder Quotas einsetzen. Siehe hierzu mehr im Kapitel Quotas. Da aber auch bei einer Erweiterung des Systems Festplatten eingebunden und User verlagert werden müssen, hier nun die Beschreibung.
Damit alle neuen User und Log-Dateien auf einer 2. Festplatte abgelegt werden können, muß man zuerst feststellen, welche Verzeichnisse auf dem System verlagert werden müssen. Zum einen sind dies die Verzeichnisse /home und einige aus dem Verzeichnis /var/. Hiermuß man nun genau unterscheiden, welche Verzeichnisse man verlagert, zumal z.B. der DNS-Server BIND dort alle Daten von Domains ablegt, und z.B. der NOVELL Server-Emulator im Verzeichnis /var/mars_nwe seine Bindery und Volumes SYS abgelegt hat. Schauen Sie sich die Verzeichnisse einmal an: du /var/ |more. Wir möchten nun einige Verzeichnisse auf eine neue Festplatte verschieben. Hierzu müssen wir zuerst eine neue Partition bzw. Festplatte partitionieren bzw. formatieren. Zum Partitionieren verwenden wird das Programm fdisk. Falls Sie eine 2. AT-BUS Festplatte besitzen, verwenden Sie das Device /dev/hdb. Falls Sie ein SCSI System benutzen, so müssen Sie als Device /dev/sda, sdb, sdc u.s.w. verwenden. Mit mke2fs /dev/hda3 formatieren Sie so z.B. die 3. Partition der 1. AT BUS Festplatte. Nun müssen wir uns einen Mountingpoint anlegen. Diese ist ein Verzeichnis in /mnt. Dort befinden sich zunächst die Unterverzeichnisse /cdrom und /floppy. Fügen wir nun mit mkdir /mnt/hda3 ein neues Verzeichnis hinzu, welches wir hier z.B. hda3 nennen. Die Wahl des Namens ist beliebig. Nun mounten wir diese Partition /dev/hda3 an das Verzeichnis /mnt/hda3 an: mount -t ext2 /dev/hda3 /mnt/hda3. Wechseln wir mit cd /mnt/hda3 in dieses Verzeichnis. Es befindet sich dort ein Verzeichnis lost+found. Dieses muß dort so bestehen bleiben, da nach einem Crash und anschließender Festplatten - Reparatur sich in diesem Verzeichnis alle Datein befinden, die nicht meht eindeutig einem bestimmten Verzeichnis zugeordnet werden konnten. Damit bei einem Neustart dieses Festplatte auch regelmäßig automatisch eingebunden wird, wird in der Datei /etc/fstab eine Zeile wie folgt eingetragen:
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 swap swap defaults 0 0
/dev/hda3 /mnt/hda3 ext2 defaults 1 1
/dev/fd0 /mnt/floppy ext2 noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0
none /proc proc defaults 0 0
none /dev/pts devpts mode=0622 0 0
Falls Sie einen Editor benötigen, empfiehlt sich der Editor joe. Es könnte sein, daß Sie diesen zuerst installieren müssen. Schieben Sie also CDROM 1 ein. Durch Eingabe von cdrom klinken Sie die CDROM an das Verzeichnis /mnt/cdrom an. Wechseln Sie in das Verzeichnis /mnt/cdrom/RedHat/RPMS . Mit rpm -i joe-2.8-18.i386.rpm installieren Sie den Editor joe auf dem System. Hier noch einmal kurz die Kommando's von joe:
STRG-K h Hilfe
STRG-K x Ende und Speichern
STRG-K q Ende ohne Speichern
STRG-K r Einlesen einer anderen Datei
Schauen Sie sich einmal mit mount an, welche Partitionen bzw. Festplatten gemountet sind:
/dev/hda1 on / type ext2 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,mode=0622)
/dev/hda3 on /mnt/hda3 type ext2 (rw)
/dev/hdd on /mnt/cdrom type iso9660 (ro)
Wir können nun im Verzeichnis /mnt/hda3 die Unterverzeichnisse /home und /var anlegen: cd /mnt/hda3; mkdir var; mkdir home
Nun kopieren wir alle Unterverzeichnisse aus /home nach /mnt/hda3/home:
cp -p -r -R /home/* /mnt/hda3/home
Nun können wir das ursprüngliche Verzeichnis /home löschen:
rm -rf /home/
Damit nun das Verzeichnis /home wieder erscheint, müssen wir einen Link auf das Verzeichnis /mnt/hda3/home setzen:
ln -s /mnt/hda3/home/ /home
Schauen Sie sich mit ls -ls / einmal das Verzeichnis an. Es existiert ein Link namens /home auf das Verzeichnis /mnt/hda3/home. Damit haben wir nun dafür gesorgt, daß von nun an sich alle Homeverzeichnisse auf einer anderen Festplatte befinden.
Dasselbe müssen wir nun mit folgenden Unterverzeichnissen aus /var/ tun. /var/log/, /var/spool/, /var/cache und eventuell einigen Verzeichnissen, die stark anwachsen können. Diese werden jedoch erst nach der Installation und Aktivierung des entsprechenden Dämons angelegt. Wir müssen also immer im Bilde darüber sein, welche Verzeichnisse zu welche Dämonen bzw. Softwarepaketen gehören. Wir legen diese Verzeichnisse nun an, kopieren alle Unterverzeichnisse hinüber, löschen die original Verzeichnisse und setzen Links. Wir sollten uns jedoch im Klaren darüber sein, daß danach die Dämonen alle neu gestartet werden müssen, damit die z.B. die Log-Einträge in die neuen Dateien auf der neuen Festplatte geschrieben werden. Log-Einträge, die während des Löschens der Dateien geschrieben werden, landen in einer Datei, dessen Kopf quasi nicht mehr exisitiert. In diesem Fall könnte es passieren, daß der freie Festplattenplatz abnimmt, ohne daß irgendeine Datei größer wird. Wir müssen also das System quasi herunterfahren, sodaß kein Dienste oder Dämon mehr aktiv ist. Wir verlassen gleichzeitig auch die grafische Benutzeroberfläche. Geben Sie init 1 ein. Sie wechseln damit in den Single-User Modus. Herbei werden alle Dämonen bzw. Dienste beendet und alle Netzwerkfunktionen heruntergefahren. Mit ps bzw. pstree können Sie sich dann die verbleibenden Prozesse anschauen:
# ps
PID TTY STAT TIME COMMAND
1 ? S 0:03 init
2 ? SW 0:00 [kflushd]
3 ? SW 0:00 [kpiod]
4 ? SW 0:00 [kswapd]
1358 ? S 0:00 minilogd
1359 tty1 S 0:00 init
1360 tty1 S 0:00 /bin/sh
1364 tty1 R 0:00 ps xa
# pstree
init-+-init---sh---pstree
|-kflushd
|-kpiod
|-kswapd
`-minilogd
#
Wir legen nun die Verzeichnisse /mnt/hda3/var/cache, /mnt/hda3/var/spool und /mnt/hda3/var/log an, kopieren alle Daten herüber, löschen die Originalverzeichnisse, setzen die Links und schalten um in den ursprünglichen Runlevel 5:
cd /mnt/hda3/var
mkdir cache
mkdir spool
mkdir log
cp -p -r -R /var/cache/* cache/
cp -p -r -R /var/spool/* spool/
cp -p -r -R /var/log/* log/
rm -rf /var/spool
rm -rf /var/cache
rm -rf /var/log
ln -s /mnt/hda3/var/log/ /var/log/
ln -s /mnt/hda3/var/spool/ /var/spool/
ln -s /mnt/hda3/var/cache/ /var/cache/
init 5
Fertig ! Wir haben also nun alle Homeverzeichnisse und Verzeichnisse die stark anwachsen können, auf eine andere Partition bzw. Festplatte verlagert. Wir können somit sicherstellen, daß die Systemfestplatte immer gleich groß bleibt, und keine Daten mehr auf diese Festplatte geschrieben werden. Damit kann sich die Festplatte nach einem Booten des Systems in den Stromsparmodus begeben. Der Verschleiß ist dann Null. Mit einem Ausfall der Systemfestplatte ist dann nicht mehr zu rechnen. In unsererm Falle jedoch liegt /dev/hda1 und /dev/hda3 auf derselben Festplatte. Damit das System auch wirklich so funktioniert, müssen Sie eine 2. Festplatte /dev/hdb verwenden.
Leider gibt es nun ein kleines Problem mit dem Apache HTTPD Server. Dieser erlaubt nämlich nicht, daß das Homeverzeichnis in /home/httpd als Link auf einer anderen Festplatte angelegt wird. Der Fehler erscheint in der Datei /var/log/httpd. Hier muß noch in der Datei /etc/httpd/conf/srm.conf beim Apache 1.3.6 die Zeile mit DocumentRoot auf /mnt/hda3/home/httpd/html gesetzt werden. Dies ist im Apache WWW-Server aus Sicherheitsgründen so programmiert worden. Danach muß mit /etc/rc.d/init.d/httpd restart der Apache WWW-Server neu gestartet werden.
Man muß also stets bei der Verlagerung von Verzeichnissen und Unterverzeichnissen darauf achten, daß die Dämonen danach noch korrekt funktionieren. Auch bei Updates von Dämonen könnte dann ein solches Problem mit verbotenen Links auftreten.