This Site is migrated from my old site www.pieczewski.de
Einleitung
Hi da bei meinem Laptop das CD-ROM Laufwerk kaputt gegangen ist und ich das System was drauf war total verhunst habe musste ich mir was neues einfallen Lassen dort ein neues System drauf zu bekommen, OK ich weiß das ich das mit nem USB-Sticken total einfach hinbekommen hätte aber ich habe mir gedacht, öfter mal was neues ;-). Und da habe ich mir vorgenommen die alten Daten die mir wichtig waren besonders komfortabel zu sichern, und das geht doch bestimmt mit ner LiveCD, und wie gesagt da ich kein USB benutzen wollte halt per Netzwerk boot.
Server Vorbereitung
mein Server System läuft unter gentoo aber sollte auch unter anderen System ähnlich sein, also erstmal brauchen wir ein dhcp server das bekommen wir mit
dann müssen wir dort die config anpassen "/etc/dhcp/dhcpd.conf"emerge -av dhcp
Mein Server hat die IP 192.168.42.1 das teilen erklären wir dem dhcp demonen mit "next-server". Außerdem geben wir unserem Client eine Feste IP das wird anhand der MAC Adresse gemacht hier die Zeilen "hardware ethernet" und "fixed-address" Außerdem müssen wir ihm noch mitteilen wo der pxe Bootmanager zu finden ist mit der "filename" zeile.option domain-name "alien-park"; default-lease-time 600; max-lease-time 7200; ddns-update-style ad-hoc; allow booting; allow bootp; subnet 192.168.42.0 netmask 255.255.255.0 { range 192.168.42.100 192.168.42.120; next-server 192.168.42.1; } host client{ hardware ethernet 00:00:E2:94:25:E9; fixed-address 192.168.42.10; filename "/pxelinux.0"; }
Jetzt das ganze noch starten mit "/etc/init .d/dhcp start"
So jetzt kommen wir zu dem tftp server dazu einfach mal
dort müssen wir dann auch noch die config "/etc/conf.d/in.tftpd" anpackenemerge -av tftp-hpa
unsere LiveCD befindet sich nach dieser Konfiguration in "/opt/diskless" nach der einstellung nur noch den tftp server mit "/etc/init.d/in.tftpd start" starten.INTFTPD_PATH="/opt/diskless" INTFTPD_USER="nobody" INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
jetzt brauchen wir das pxelinux.0 binary das wir aus dem packet syslinux bekommen, und es in unser diskless Verzeichnis kopieren
auch das pxelinux will Konfiguriert werden dazu muss man ein Verzeichnis im diskless Verzeichnis anlegen das "pxelinux.cfg" heißt und dort eine Datei namens "default" anlegen, in der wir dann die Bootkonfiguration angeben.emerge -av syslinux cp /usr/lib/syslinux/pxelinux.0 /opt/diskless
In die "default" Datei schreiben wir dann einfachmkdir /opt/diskless/pxelinux.cfg touch /opt/diskless/pxelinux.cfg/default
Da wir in unserer config was von nfs stehen haben sollten wir uns auch noch ein nfs server fertig machen da gehen wir folgender massen vor. Im Kernel sollte nfs Server Unterstützung mit drinnen sein ausserdem brauchen wir dann noch die nfs-utils, die bekommen wir mitDEFAULT /vmlinuz APPEND initrd=/initrd.img ip=dhcp root=/dev/nfs nfsroot=192.168.42.1:/opt/diskless
und passen dann noch die "/etc/exports" anemerge -av nfs-utils
So jetzt fehlt uns nur noch eine LiveCD ich habe das ganze mit der ubuntu Installations CD gemacht weil dort auch eine LiveCD mit drinnen ist leider müssen wir da noch ein paar schen machen weil man das iso so leider nicht zum boot bekommt also ein wenig aus der CD auspacken dazu mounten wir das ISO dann mounten wir noch das squashfs Dateisystem was sich auf der CD befindet, um es in unser diskless ordner zu kopieren./opt/diskless 192.168.42.10(rw,sync,no_root_squash,no_all_squash)
Clientmount -o loop ubuntu-7.04-desktop-i386.iso /mnt/cdrom mount -o loop /mnt/cdrom/casper/filesystem.squashfs /mnt/ubuntu cp -a /mnt/ubuntu/* /opt/diskless
Der Client ist ganz einfach zu configurieren einfach im BIOS (sofern es unterstütz wird) per Netzwerk booten lassen. Dann sollte alles Funktionieren.
Thank you for the useful article.
ReplyDeleteWe face constant growing of data amount in both the Web and personal computers. And the more information we need to proceed the more time it takes. That is why I think that online data room could be perfect for world’s needs today.