|
Die folgende Anleitung beschreibt die Installation eines Root-Servers mit dem neuesten Debian Release "Etch". Der Root-Server ist - wenn man den richtigen Kernel einsetzt - gleichzeitig auch als VServer nutzbar, d.h. man kann mehrere virtuelle Linux Server (auch unterschiedliche Distributionen) installieren. Die einzige Voraussetzung ist, dass der Server mehrere IP-Adressen hat.
Disks partitionierenDie Partitionierung eines Linux Servers muss gut durchdacht werden, denn sie ist nachträglich nur schwierig zu korrigieren. Folgende grundsätzliche Konfiguration hat sich bewährt:
Die vorgeschlagenen Werte sollten ggf. an die eigenen Anforderungen angepasst werden. Es gibt mehrere gute Gründe, warum man für u.a. directories jeweils ein eigenes file system verwenden sollte:
Partitionen werden mit fdisk angelegt. Da mehr als vier Partitionen auf der ersten Platte genutzt werden, ist die erste Partition eine 'extended' Partition, und die Datei Systeme liegen auf logical partitions. Nach Erstellung der Partitionierung erfolgt die Formatierung im ext3 Format, dazu ist die -j Option von mke2fs zu verwenden. Hier die Ausgabe von fdisk (die eigentliche Partitionierung wird interaktiv mit dem "n" command durchgeführt und ist hier nicht explizit aufgeführt). rescue:~# fdisk /dev/sda Command (m for help): p Disk /dev/sda: 320.0 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 1 38913 312568641 5 Extended /dev/sda5 1 8 64197 83 Linux /dev/sda6 9 259 2016126 83 Linux /dev/sda7 260 322 506016 83 Linux /dev/sda8 323 573 2016126 83 Linux /dev/sda9 574 1074 4024251 83 Linux /dev/sda10 1075 38913 303941736 8e Linux LVM Command (m for help): q rescue:~# fdisk /dev/sdb Command (m for help): p Disk /dev/sdb: 320.0 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 512 4112608+ 83 Linux /dev/sdb2 513 38913 308456032+ 83 Linux Command (m for help): q rescue:~# for i in 5 6 7 8 9; do mke2fs -j /dev/sda$i; done .... rescue:~# mkswap /dev/sdb1 debootstrap installierendebootstrap ist ein Debian Programm, mit dem man eine Auswahl von Debian Standarddistributionen vollständig über's Netz installieren kann. Im allgemeinen steht debootstrap in einem Rescue-System nicht zur Verfügung, man muss es also zunächst erstmal dort installieren. Und falls es vorhanden sein sollte, ist es möglicherweise auch nicht das neueste Release. Der einfachste Weg ist, das gewünschte Release manuell zu installieren. Das Debian Package für debootstrap gibt es hier: http://packages.debian.org/stable/admin/debootstrap . Wir kopieren es mit wget, entpacken es und kopieren den Inhalt manuell ins rescue-System (letzteres sollte man normalerweise nicht so machen, aber das rescue-System ist ohnehin auf einer Ramdisk). Darauf achten, dass man die neueste Version kopiert, u.a. Link mit Versionsnummer ist möglicherweise veraltet. rescue:~# wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.3_all.deb rescue:~# ar xv debootstrap_1.0.3_all.deb x - debian-binary x - control.tar.gz x - data.tar.gz rescue:~# tar xvfz data.tar.gz -C / ./ ./usr/ ./usr/sbin/ ./usr/sbin/debootstrap ./usr/share/ ./usr/share/man/ ./usr/share/man/man8/ ... Falls das rescue-System kein wget, ftp oder dergleichen zur Verfügung stellt (ist mir bei einem Hetzner Server mal passiert), kann man Dateien mit folgendem Trick von einem anderen Server auf das rescue-System kopieren: cat data.tar.gz | ssh [IP-Adresse] 'cat > data.tar.gz' Neues Debian System installierenZuerst muss man die neuen file systems mounten. Danach kann man debootstrap aufrufen und nach wenigen Sekunden ist das gewünschte Debian Release installiert. Das neue Debian 4.0 hat den Codenamen "etch", das ältere Release 3.1 den Codenamen "sarge". rescue:/# mount /dev/sda6 /mnt rescue:/# mkdir /mnt/boot /mnt/tmp /mnt/usr /mnt/var rescue:/# mount /dev/sda5 /mnt/boot rescue:/# mount /dev/sda7 /mnt/tmp rescue:/# mount /dev/sda8 /mnt/usr rescue:/# mount /dev/sda9 /mnt/var rescue:/# debootstrap etch /mnt ftp://ftp.de.debian.org/debian/ I: Retrieving Release I: Retrieving Packages I: Validating Packages ... I: Configuring ... I: Base system installed successfully. rescue:/# Das Grundsystem ist nun installiert. NetzwerkkonfigurationDie Netzwerkkonfiguration ist für jeden Server und für jeden Anbieter etwas anders. Deswegen können hier nur allgemeine Hinweise stehen. Man benötigt in jedem Fall folgende Informationen:
Die korrekte Konfiguration findet man in jedem Fall in den Konfigurationsdateien des ausgelieferten Servers (bevor die Platten neu formatiert hat, siehe Warnung weiter oben), diese Dateien sollte man also tunlichst vorher sichern. Im rescue-System kann man sie aber auch wie folgt auslesen: rescue:/# ifconfig
eth0 Link encap:Ethernet HWaddr 00:E0:4C:12:34:56
inet addr:123.123.97.87 Bcast:123.123.97.95 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:55366 errors:0 dropped:0 overruns:0 frame:0
TX packets:27934 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:71811572 (68.4 MiB) TX bytes:2453978 (2.3 MiB)
Interrupt:11 Base address:0xe000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2172 (2.1 KiB) TX bytes:2172 (2.1 KiB)
rescue:/# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
123.123.97.64 0.0.0.0 255.255.255.224 U 0 0 0 eth0
0.0.0.0 123.123.97.65 0.0.0.0 UG 0 0 0 eth0
rescue:/# cat /etc/resolv.conf
search
nameserver 123.123.99.99
nameserver 123.123.98.98
nameserver 123.123.100.100
Diese Werte müssen in die Datei /mnt/etc/network/interfaces wie folgt eingetragen werden: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 123.123.97.87 broadcast 123.123.97.95 netmask 255.255.255.224 gateway 123.123.97.65 Der Name des neuen Servers steht in /mnt/etc/hostname: server03 Auch die Datei /mnt/etc/hosts muss initialisiert werden: 127.0.0.1 localhost 123.123.97.87 server03 Die Konfiguration des Resolvers steht in /etc/resolv.conf. Es reicht meistens, die vorhandene Datei aus dem rescue-System zu kopieren: cp /etc/resolv.conf /mnt/etc/resolv.conf Damit wäre die Netzwerkkonfiguration abgeschlossen. DateisystemeIn der Datei /mnt/etc/fstab steht die Zuordnung der Partitionen zu den file systems. proc /proc proc defaults /dev/sda6 / ext3 noatime 0 1 /dev/sda5 /boot ext3 noatime,nodev,nosuid 0 2 /dev/sda7 /tmp ext3 noatime,nodev,nosuid,noexec 0 2 /dev/sda8 /usr ext3 noatime,nodev 0 2 /dev/sda9 /var ext3 noatime,nodev,nosuid,noexec 0 2 /dev/sdb1 swap swap sw Die Option "noatime" bewirkt, dass bei Lesezugriffen die Access-Time nicht zurück auf die Platte geschrieben wird. Man spart so ein wenig Disk Performance, und die Access-Time braucht man meistens sowieso nicht. Weitere nützliche Optionen sind:
Linux Kernel installierenDer Linux Kernel ist das Programm, welches unmittelbar nach Systemstart ausgeführt wird. Es stellt im wesentlichen den Zugriff auf die Hardware zur Verfügung (Netzwerkkarte, Festplatten usw.) und verteilt die CPU Rechenzeit auf die einzelnen Userprogramme. Jede Linux Distribution enthält eine Reihe fertig konfigurierter Kernel. Sie unterscheiden sich durch die Kernel-Version, die enthaltenen Hardwaretreiber, eventuelle Patches sowie den Prozessor, für den der Kernel compiliert wurde. Eine Linux Distribution soll natürlich auf möglichst vielen unterschiedlichen PCs lauffähig sein und möglichst viele zusätzliche Hardware unterstützen. Ein Root-Server dagegen hat nur die unbedingt erforderlichen Hardwarekomponenten, die über die Betriebsdauer auch nicht verändert werden. Die in einem Standard-Kernel zusätzlich enthaltene Software kostet sowohl wertvolle RAM- als auch Plattenkapazität. Unter Umständen ist so ein Kernel auch etwas langsamer. Daher lohnt es sich, sich für seinen Rootserver einen maßgeschneiderten Kernel zu erstellen. Man konfiguriert sich nur die nötigen Treiber, optimiert für die CPU des Rootservers und erhält so einen kleinen und schnellen Kernel. Wie man das macht, ist im Kapitel "Kernel" in Installation der Linux-VServer Software beschrieben. Alternativ (oder um überhaupt erstmal den Root-Server ans Laufen zu kriegen) kann man natürlich auch einen fertigen Kernel verwenden. Unter Debian macht man folgendes, um die zur Verfügung stehenden Kernel anzuzeigen: rescue:/# apt-cache search kernel-image kernel-image-2.6-386 - Linux 2.6 image on 486-class - transition package kernel-image-2.6-686 - Linux 2.6 image on PPro/Celeron/PII/PIII/P4 - transition package kernel-image-2.6-686-smp - Linux 2.6 image on PPro/Celeron/PII/PIII/P4 SMP - transition package kernel-image-2.6-amd64-generic - Linux kernel image for version 2.6 on generic x86_64 systems - transition package kernel-image-2.6-amd64-k8 - Linux kernel image for version 2.6 on AMD64 systems - transition package kernel-image-2.6-amd64-k8-smp - Linux kernel image for version 2.6 on AMD64 SMP systems - transition package kernel-image-2.6-em64t-p4 - Linux kernel image for version 2.6 on Intel EM64T systems - transition package kernel-image-2.6-em64t-p4-smp - Linux kernel image for version 2.6 on Intel EM64T SMP systems - transition package kernel-image-2.6-k7 - Linux 2.6 image on AMD K7 - transition package kernel-image-2.6-k7-smp - Linux 2.6 image on AMD K7 SMP - transition package kernel-package - A utility for building Linux kernel related Debian packages. rt2400-source - RT2400 wireless network drivers source rt2500-source - RT2500 wireless network drivers source rt2570-source - RT2570 wireless network drivers source rt2x00-source - RT2x00 wireless network drivers source rescue:/# Wenn man den CPU-Typ kennt, wählt man die entsprechende Variante aus. Die Variante "686" sollte auf jedem moderneren Hardware funktionieren. Für ein AMD System sollte "K7" gewählt werden. Der Einsatz eines 64-Bit-Kernels lohnt nur in bestimmten Einsatzfällen, siehe dazu den Artikel 32 oder 64 Bit Image bei Athlon64 im "RootForum". Also: apt-get install kernel-image-2.6-k7 Dieser Kernel kann mit folgender /etc/lilo.conf gestartet werden. Bei der Erstellung der lilo.conf Datei darauf achten, dass die Pfadnamen zum Kernel oder zur initrd Datei korrekt sind. boot=/dev/sda
root=/dev/sda6
map=/boot/map
delay=20
vga=normal
default=Default
image=/boot/vmlinuz-2.6.18-5-k7
label=Default
initrd=/boot/initrd.img-2.6.18-5-k7
read-only
Falls man einen eigenen Kernel ohne initrd verwendet, z.B. den VServer Kernel, muss folgende /etc/lilo.conf verwendet werden: boot=/dev/sda
root=/dev/sda6
map=/boot/map
delay=20
vga=normal
default=VServer
image=/boot/vmlinuz-2.6.20.4-vserver
label=VServer
read-only
Installation fertigstellenZuletzt muss noch der SSH Daemon (aus irgendeinem Grund ist sshd in der Basiskonfiguration nicht als Default vorgesehen) sowie der gewünschte Kernel und ein Bootloader installiert werden. Dazu mounten wir /mnt/proc (es wird von zahlreichen Programmen zwingend benötigt) und wechseln dann mit "chroot" in das frisch installierte Debian System. Lilo benötigt bestimmte devices, die mit MAKEDEV erstellt werden. Mit apt-get install holt man sich die benötigten Pakete. Bei der Installation gibt es unter Umständen einige Fehlermeldungen, die ignoriert werden können. rescue:/# mount -t proc none /mnt/proc rescue:/# chroot /mnt rescue:/# cd /dev rescue:/# ./MAKEDEV generic rescue:/# apt-get install ssh lilo .... Setting up lilo (22.6.1-9.3) ... mount: /dev/sda5 already mounted or /boot busy dpkg: error processing lilo (--configure): subprocess post-installation script returned error exit status 32 ... Errors were encountered while processing: lilo E: Sub-process /usr/bin/dpkg returned an error code (1) rescue:/# Nach Aufruf von Lilo sollte der Kernel installiert sein. rescue:/# cp vmlinuz-2.6.20.4-vserver /boot/vmlinuz-2.6.20.4-vserver rescue:/# lilo Added VServer * rescue:/# Zum Schluss noch ein sehr wichtiger Schritt..... nämlich das Root-Passwort. Wird gerne vergessen und man merkt es erst dann, wenn man den neuen Server gebootet hat und nicht reinkommt. rescue:/# passwd Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully rescue:/# exit rescue:/# reboot DebuggingNach ein paar Sekunden Wartezeit sollte man sich nun erneut über SSH einloggen können. Interessant wird es natürlich, wenn der Server sich nicht meldet und auch nicht auf ein Ping reagiert. Dann muss man wieder das rescue-System aktivieren, manuell die Dateisysteme mounten und die Einträge in /mnt/var/log untersuchen.
Noch Fragen?Dann hier einen entsprechenden Eintrag hinterlassen. Weitere Informationen zu Thema Rootserver erhält man auf http://www.rootserver.de . |
Bookmarks
Ist die Seite nützlich? Dann bitte weiterempfehlen! Seiteninhalt
Bereichsinhalt
Letzte Google Suche
howto virtual machine xenserver
28 secs ago
schirmacher
2 mins ago
roundcube filter
4 mins ago
iso dvd mac lesen
4 mins ago
confluence ubuntu autostart
6 mins ago
änderung tastaturbelegung taste Ü
7 mins ago
mac .iso
8 mins ago
webdav windows xp
8 mins ago
ldap struktur in der datenbank backend
15 mins ago
vmware boot camp partition fehler
17 mins ago
confluence subversion integration
17 mins ago
ssl zertifikat erstellen
17 mins ago
ssl zertifikat debian lenny
19 mins ago
jxplorer ldap rechte
21 mins ago
confluence subversion integration
22 mins ago |


Kommentare (13)
19.Jul.2007
Anonym sagt:
Vielen Dank für diesen informativen Walkthrough , um Etch auf einem Remote Serve...Vielen Dank für diesen informativen Walkthrough , um Etch auf einem Remote Server zu installieren. Hat bei meinem IPX-Server auch fast auf Anhieb funktioniert. Einzig das Programm "ar" zum Entpacken von Debootstrap war nicht im Rescue-System. Um all den Anderen Usern, die an der gleichen Stelle hängen, das Suchen zu ersparen: "ar" steckt in den Binutils
Also Rescue System starten und folgenden Befehl absetzen: "aptitude install binutils", dann steht "ar" zur Verfügung. Der Rest läuft mit dem Walkthrough wie geschmiert, einfach Klasse!
24.Aug.2007
Anonym sagt:
Was den "Trick" mit der Datenübertragung per SSH angeht: cat ist nicht binary-sa...Was den "Trick" mit der Datenübertragung per SSH angeht: cat ist nicht binary-safe, d. h. das kann in die Hose gehen. Besser ist es, hierfür scp einzusetzen. Vom Rechner zu Hause genügt dann folgender Befehl:
03.Sep.2007
Arne Schirmacher sagt:
schon richtig, war aber nur als Krücke gedacht, wenn man scp, wget oder so nicht...schon richtig, war aber nur als Krücke gedacht, wenn man scp, wget oder so nicht zur Verfügung hat.
Wenn scp vorhanden ist, sollte man es natürlich auch verwenden.
27.Nov.2007
Anonym sagt:
Super Anleitung. Cool wäre allerdings noch, wenn hier nochmal schnell das erste...Super Anleitung.
Cool wäre allerdings noch, wenn hier nochmal schnell das erstellen eines RAID1 auf dem System behandelt würde (hat mich beim ersten mal Stunden und einige neuanfänge gekostet...)
Gruß
27.Nov.2007
Arne Schirmacher sagt:
Könntest Du nicht Deine Erfahrungen eben mal zusammenschreiben? Dann kann ich si...Könntest Du nicht Deine Erfahrungen eben mal zusammenschreiben? Dann kann ich sie hier posten. Bei mir würde es natürlich auch etliche Stunden dauern, wenn ich es selbst mache - und die habe ich z.Zt. nicht.
04.Dec.2007
Anonym sagt:
Leider ist mein Server bei 1und1 nach dem folgenden output nicht mehr erreichbar...Leider ist mein Server bei 1und1 nach dem folgenden output nicht mehr erreichbar (d.h. Putty meldet den Abbruch der Verbindung, diese kann dann auch nicht mehr neu aufgebaut werden, ping ist ebenfalls nicht mehr möglich)
rescue:/# debootstrap etch /mnt ftp://ftp.de.debian.org/debian/
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Checking component main on ftp://ftp.de.debian.org/debian...
I: Retrieving adduser
I: Validating adduser
I: Retrieving apt
I: Validating apt
I: Retrieving apt-utils
I: Validating apt-utils
I: Retrieving aptitude
I: Validating aptitude
I: Retrieving base-files
I: Validating base-files
I: Retrieving base-passwd
04.Dec.2007
Arne Schirmacher sagt:
Ich glaube nicht, dass dies mit dem Installationsvorgang zu tun hat. Probier's e...Ich glaube nicht, dass dies mit dem Installationsvorgang zu tun hat. Probier's einfach nochmal.
13.Dec.2007
Anonym sagt:
Hallo. Läuft der hier angegebene Kernel mit einem AMD Athlon 64 X2 5600+ Dua...Hallo. Läuft der hier angegebene Kernel mit einem AMD Athlon 64 X2 5600+ Dual Core?????
Oder wäre es der kernel-image-2.6-amd64-k8
04.Jan.2008
Arne Schirmacher sagt:
Der Debian Kernel müsste eigentlich funktionieren. Ich habe jedoch gerade selber...Der Debian Kernel müsste eigentlich funktionieren. Ich habe jedoch gerade selber einen Server mit 2 * AMD Athlon 64 X2 5600+ Dual Core bekommen (neuer Hetzner DS5000) und einen maßgeschneiderten Kernel konfiguriert. Kann man sich hier downloaden:
Installation der Linux-VServer Software
19.Mar.2008
Anonym sagt:
1. Im ersten Abschnitt oben bei der Partitionierung der Festplatten fehlt das Sc...1. Im ersten Abschnitt oben bei der Partitionierung der Festplatten fehlt das Schreiben der Tabelle mit "w"
2. Beim Kernel compilieren muss die Option SMP mit eingeschaltet werden für das Multi Processing
3. Prüfen ob 32,- oder 64 bit System
15.Jan
Anonym sagt:
Wow, vielen Dank dafür! Das wäre ansonsten ein mehrstündiger Try&Error-M...Wow, vielen Dank dafür! Das wäre ansonsten ein mehrstündiger Try&Error-Marathon geworden!
15.Jan
Anonym sagt:
Hey, vielen vielen Dank für diese Geile Anleitung. Habe so lange nach sowas gesu...Hey, vielen vielen Dank für diese Geile Anleitung. Habe so lange nach sowas gesucht, noch nie gemacht und hat auf anhieb funktioniert. Echt klasse
13.Feb
Anonym sagt:
kernel-image heisst mittlerweile linux-imagekernel-image heisst mittlerweile linux-image
Kommentar hinzufügen