Testumgebung für OpenSLX auf Ubuntu (10.04) und Suse (11.1)

Einführung

Diese Anleitung soll einen kurzen Überblick bieten, wie ich eine Entwicklungsumgebung zum Testen und Entwickeln von OpenSLX Images in "kleinem Rahmen" einrichte. Wir nutzen hierfür vmplayer2, atftpd sowie nfs. Wir gehen davon aus, dass vmplayer2 bereits installiert ist.

openslx

openslx installieren

# git clone git://git.openslx.org/openslx/core.git
# cd core
# make install

dhcpd

Wir nutzen als dhcp Server den von vmware mitgelieferten vmnet-dhcpd, welcher direkt auf den vmnet* devices hört.

Konfiguration des dhcpd

Füge in /etc/vmware/vmnet8/dhcpd/dhcpd.conf dem subnet Block die next-server, sowie filename Einstellungen hinzu.

..
    next-server 192.168.1.113;
    filename "/pxelinux.0";
}

Wobei 192.168.1.113 die IP des Rechners sein sollte, auf dem vmplayer, dhcp und nfs läuft. vmnet8 ist das für bridging mode zuständige vmware Netzwerk Device.

Bei mir hat es nur dann funktioniert, nachdem das Netzwerk auf NAT umgestellt und Alias für die Netzwerkschnittstelle eingestellt wurde.

ifconfig eth0:0 192.168.1.113 up

Richtet alias temporär. Sonst muss man vim /etc/network/interfaces editieren

auto eth0:0
iface eth0:0 inet static
name Ethernet alias LAN card
address 192.168.1.113
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0

tftpd

Als tftpd nehmen wir am besten atftpd, hatte bisher schlechte erfahrungen mit tfptd-hpa gemacht.

atftpd installieren

# aptitude install atftpd

atftpd konfigurieren

/etc/default/atfptd

USE_INETD=false
OPTIONS="--daemon --port 69 --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 
--mcast-ttl 1 --maxthread 100 --verbose=5  /srv/openslx/tftpboot" 

USE_INETD auf false setzen und Pfad zum tftpboot Verzeichnis anpassen.

atftpd starten

/etc/init.d/atftpd start

nfs

Installieren des nfs servers

# aptitude install nfs-kernel-server nfs-common portmap

portmap einrichten

# dpkg-reconfigure portmap

Hier nicht auf Loopback beschränken.

nfs einrichten

/etc/exports

/srv/openslx/export 192.168.0.0/255.255.0.0(ro,no_root_squash,async,no_subtree_check)

Hinweis: der Export muss für das Netz freigegeben sein, aus welchem der dhcp auf dem vmnet8 device seine Adressen vergibt - nicht zwangsweise für das locale Netz.

nfs neustarten

# /etc/init.d/nfs-kernel-server restart

Alternativ kann man die Exports auch mit exportfs -a aktualisieren.

Testsystem einbinden

# slxos-setup clone <ip>:/ <systemname-version-foobar>
# slxos-export export <systemname-version-foobar> nfs
# slxconfig-demuxer

Viel Spass

Nun kann das eben geklonte Image mit vmplayer getestet werden (Standard image mit Netzwerkboot/PXE).