<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OpenSLX &#187; Tipps</title>
	<atom:link href="http://blog.openslx.org/category/tipps/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.openslx.org</link>
	<description>open stateless linux extension</description>
	<lastBuildDate>Fri, 23 Dec 2011 10:52:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>VM-Images effizienter bereitstellen</title>
		<link>http://blog.openslx.org/2011/06/30/vm-images-effizienter-bereitstellen/</link>
		<comments>http://blog.openslx.org/2011/06/30/vm-images-effizienter-bereitstellen/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 21:32:34 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://blog.openslx.org/?p=122</guid>
		<description><![CDATA[Bisher werden die Virtuellen Maschinen Images üblicherweise via NFS in einem gemeinsamen Ordner bereitgestellt. Es gab mal die Überlegung diesen Export via SquashFS/NBD zu machen, aber der Aufwand das SquashFS nach jeder Änderung neu zu generieren, schien nicht sehr attraktiv und zudem wenig praktikabel. Stattdessen wurde nun das Ganze via Network Blockdevice ohne den Umweg [...]]]></description>
			<content:encoded><![CDATA[<p>Bisher werden die Virtuellen Maschinen Images üblicherweise via NFS in einem gemeinsamen Ordner bereitgestellt. Es gab mal die Überlegung diesen Export via SquashFS/NBD zu machen, aber der Aufwand das SquashFS nach jeder Änderung neu zu generieren, schien nicht sehr attraktiv und zudem wenig praktikabel. Stattdessen wurde nun das Ganze via Network Blockdevice ohne den Umweg via Filesystem realisiert: Dabei wird die Blockdevice-Datei wie eine normale Filesystemimage-Datei angesprochen, dabei ist es völlig egal, wie die Datei intern aufgebaut ist. </p>
<p>Im getesteten Setup erfolgt der NBD-Export (via <strong>nbd-server</strong>) einfach auf jedes einzelne VMDK, das damit als Blockdevice-Datei interpretiert wird. Auf der Client-Seite wird ein NBD-Device ganz normal per <strong>nbd-client</strong> erzeugt, was eine typische Device-Datei (<em>/dev/nbdN</em>) ergibt. Dieses Block-Device wird dann aber eben nicht gemountet, sondern direkt angesprochen. Am einfachsten zeigt ein Link, der das VMDK (, VDI, &#8230;) repräsentiert, einfach auf die Datei des Blockdevices, z.B. <em>/dev/nbd7/</em> &#8230; Andere Blockdevices (DNBD2, iSCSI) sollten sich ebenso eignen, wurden aber noch nicht getestet.</p>
<p>In einem generellen, weiteren Schritt, könnte dann auch überlegt werden, dass &#8220;Diffing&#8221; (Wegschreiben der Session-Unterschiede) über dieses Blockdevice (zumindest NBD kennt ein COW) zu realisieren, statt es beispielsweise in einen RW-NFS-Share zu machen. Das sollte insbesondere bei Maschinen mit relativ wenig RAM und dem Redo auf NFS die Sache deutlich vereinfachen. Dann würde man aber das Image nicht non-persistent sondern persistent nutzen.</p>
<p>Die ganze Aktion sollte das NFS erheblich entlasten. Der Netzwerktraffic wird sich nicht wesentlich verändern, auch wenn das Caching auf dem Client bei wiederholten Blöcken was ausmachen sollte. Die Performance scheint sich zu verbessern, wie folgende sehr grobe Messungen zeigten. Diese erfolgten später am Abend, damit das Netz schon relativ leer war. Eine Geschwindigkeitsmessung wurde mit drei verschiedenen Servern gemacht:</p>
<ul>
<li>NBD A: Neuere Dell-Servermaschine mit 24 GByte RAM, 10 Gbit/s Netz, Hardware-Raid auf zwei SAS (nicht super fix), OS: Scientific Linux 5.4 (2.6.18er Kernel)</li>
<li>NBD B: Sechs Jahre alte SUN V20z mit 8 GByte RAM, 2 Gbit/s Netz, Software-Raid über zwei ältere SCSI-320-Platten, OS: Debian 6 (2.6.32 Kernel)</li>
<li>SUN-Server (24+GByte, &#8230;, 10 GBit/s Netz), OS: Aktuelles Solaris auf ZFS</li>
</ul>
<p>Im ersten Test war kein Server direkt im Netz des Clients, im zweiten Fall nur der NBD B. Dabei ging es dann aber trotzdem noch über einen Stapel von Switches. </p>
<p>Die Messung erfolgte immer beim dritten Start in der gleichen Konfiguration zum Ausschluss von Caching-Unterschieden auf einem Dual-AMD-Turion, der 3+ Jahre alt ist, 4 GByte RAM hatte und via Gigabit ans Netz angeschlossen ist:</p>
<p>NBD A &#8211; 1.15 Min<br />
NBD B &#8211; 1.35 Min<br />
NFS &#8211; 1.46 Min</p>
<p>Die Messungen wurden auf einer neueren Maschine (ca. 1 Jahr alt, Intel E5300 CPU, 4 GByte RAM, Gigabit Netzwerkanschluss) wiederholt:</p>
<p>NBD A &#8211; 1.02 Min<br />
NBD B &#8211; 1.05 Min<br />
NFS &#8211; 2.02 Min</p>
<p>Im ersten (optimalen) Fall wurden 30 Sekunden (~70% der Standardstartzeit) Einsparung erreicht. Interessant im zweiten Setup war, dass hier NFS und NBD fast um den Faktor zwei auseinanderliegen, sich NBD auf dem alten und dem neuen Server aber kaum unterschieden. Schwer zu bestimmen ist hier der Einfluss von Netzwerk und Maschinenperformance. Die beiden Rechner standen in verschiedenen Teilnetzen mit etwas unterschiedlicher dahinterliegender Infrastruktur, die aber mindestens 1 Gigabit bereitstellt.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.openslx.org/2011/06/30/vm-images-effizienter-bereitstellen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Default-Boot definieren (PXE-Menü, Timeout)</title>
		<link>http://blog.openslx.org/2010/11/14/default-boot-definieren-pxe-menu-timeout/</link>
		<comments>http://blog.openslx.org/2010/11/14/default-boot-definieren-pxe-menu-timeout/#comments</comments>
		<pubDate>Sun, 14 Nov 2010 18:57:48 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://blog.openslx.org/?p=101</guid>
		<description><![CDATA[Wenn mehrere verschiedene Systeme (unterschiedliche Distros, Versionen oder Exports) angeboten werden, will man evtl. das default-mäßig startende System ändern. Dieses geht durch slxsettings set pxe-default-menu-entry='suse-11.3-clone::nfs' (hier ist das Vendor-OS &#8220;suse-11.3-clone&#8221; in seiner Export-Variante &#8220;nfs&#8221; als im Menü vorselektiert eingestellt worden). Ebenso lässt sich das Timeout bis der Default-Eintrag gebootet wird auf diesem Wege anpassen: slxsettings [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn mehrere verschiedene Systeme (unterschiedliche Distros, Versionen oder Exports) angeboten werden, will man evtl. das default-mäßig startende System ändern. Dieses geht durch <code>slxsettings set pxe-default-menu-entry='suse-11.3-clone::nfs'</code> (hier ist das Vendor-OS &#8220;suse-11.3-clone&#8221; in seiner Export-Variante &#8220;nfs&#8221; als im Menü vorselektiert eingestellt worden).<br />
Ebenso lässt sich das Timeout bis der Default-Eintrag gebootet wird auf diesem Wege anpassen: <code>slxsettings set pxe-timeout='50'</code>. Weitere für das PXE-Menü auf dieser Weise festlegbare Variablen sind: <em>pxe-passwd</em>, <em>pxe-title</em> oder <em>pxe-totaltimeout</em>. Das Theme kann mit der Variablen <em>syslinux-theme</em> eingestellt werden (Voraussetzung ist natürlich, dass ein solches vorher angelegt wurde).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.openslx.org/2010/11/14/default-boot-definieren-pxe-menu-timeout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problemsuche Grafik (Darstellung, Treiber, Auflösung &#8230;)</title>
		<link>http://blog.openslx.org/2009/12/09/problemsuche-grafik-darstellung-treiber-auflosung/</link>
		<comments>http://blog.openslx.org/2009/12/09/problemsuche-grafik-darstellung-treiber-auflosung/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 15:21:03 +0000</pubDate>
		<dc:creator>Dirk</dc:creator>
				<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://blog.openslx.org/?p=89</guid>
		<description><![CDATA[Die Grafikkarteneinrichtung ist häufiger leider nicht ganz trivial, da sich immer mal wieder die Konstellation aus Distribution, Kernel, Xorg-Revision und evtl. notwendigen non-gpl Treibern ändert. Für die Fehlersuche ist es deshalb sinnvoll das fehlschlagende Setup möglichst vollständig an die Liste (z.B. openslx-users-de) zu posten. Im Stage3 liefert hwinfo --gfxcard die Daten der Grafikkarte, z.B. 24: [...]]]></description>
			<content:encoded><![CDATA[<p>Die Grafikkarteneinrichtung ist häufiger leider nicht ganz trivial, da sich immer mal wieder die Konstellation aus Distribution, Kernel, Xorg-Revision und evtl. notwendigen non-gpl Treibern ändert. Für die Fehlersuche ist es deshalb sinnvoll das fehlschlagende Setup möglichst vollständig an die Liste (z.B. openslx-users-de) zu posten.</p>
<p>Im Stage3 liefert <code>hwinfo --gfxcard</code> die Daten der Grafikkarte, z.B.<br />
<code><br />
24: PCI 02.0: 0300 VGA compatible controller (VGA)<br />
  [Created at pci.310]<br />
  UDI: /org/freedesktop/Hal/devices/pci_8086_2772<br />
  Unique ID: _Znp.kw4rvyJqLZ2<br />
  SysFS ID: /devices/pci0000:00/0000:00:02.0<br />
  SysFS BusID: 0000:00:02.0<br />
  Hardware Class: graphics card<br />
  Model: "Intel 945G"<br />
  Vendor: pci 0x8086 "Intel Corporation"<br />
  Device: pci 0x2772 "945G"<br />
  SubVendor: pci 0x1028 "Dell"<br />
  SubDevice: pci 0x01ad<br />
  Revision: 0x02<br />
  Memory Range: 0xfeb00000-0xfeb7ffff (rw,non-prefetchable)<br />
  I/O Ports: 0xe898-0xe89f (rw)<br />
  Memory Range: 0xe0000000-0xefffffff (rw,prefetchable)<br />
  Memory Range: 0xfeac0000-0xfeafffff (rw,non-prefetchable)<br />
  IRQ: 16 (42777197 events)<br />
  I/O Ports: 0x3c0-0x3e7 (rw)<br />
  Module Alias: "pci:v00008086d00002772sv00001028sd000001ADbc03sc00i00"<br />
  Driver Info #0:<br />
    XFree86 v4 Server Module: intel<br />
  Driver Info #1:<br />
    XFree86 v4 Server Module: intel<br />
    3D Support: yes<br />
    Extensions: dri<br />
  Config Status: cfg=new, avail=yes, need=no, active=unknown</p>
<p>Primary display adapter: #24<br />
</code><br />
Hierbei wird ein bestimmtes Xorg-Modul ermittelt (im Beispiel &#8220;intel&#8221;). Das hier gefundene Modul kann aber &#8220;überstimmt&#8221; werden, siehe dazu <a href="http://lab.openslx.org/projects/openslx/wiki/HardwareErkennung#Ergänzung-der-hwinfo-Datenbank">den Eintrag im Wiki</a>. Wenn man das versucht hat zu ändern, sollte man im nächsten Schritt herauskriegen, ob das geklappt hat. Dabei sollte man nicht vergessen, die Änderungen zu installieren und den Demuxer laufen zu lassen.</p>
<p>Generell ist es sinnvoll zu ermitteln, um was für eine Hardware insgesamt<br />
es sich bei einer Kiste handelt <code>lspci</code>, z.B.:<br />
<code><br />
00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)<br />
00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)<br />
00:02.1 Display controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)<br />
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)<br />
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)<br />
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)<br />
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)<br />
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)<br />
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)<br />
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)<br />
00:1e.2 Multimedia audio controller: Intel Corporation 82801G (ICH7 Family) AC'97 Audio Controller (rev 01)<br />
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)<br />
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)<br />
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)<br />
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)<br />
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01)<br />
</code><br />
Hier gibts z.B. neben dem Namen der Grafikkarte (hier sieht man auch, ob mehr<br />
als eine eingebaut ist), an welchem Bus diese hängt &#8211; im Beispiel: 0:02.0 Die<br />
Bus-ID merkt man sich, um im nächsten Schritt mit <code>lspci -n</code> die PCI und VendorID des Devices herauszubekommen:<br />
<code><br />
00:00.0 0600: 8086:2770 (rev 02)<br />
00:02.0 0300: 8086:2772 (rev 02)<br />
00:02.1 0380: 8086:2776 (rev 02)<br />
00:1c.0 0604: 8086:27d0 (rev 01)<br />
00:1c.1 0604: 8086:27d2 (rev 01)<br />
00:1d.0 0c03: 8086:27c8 (rev 01)<br />
00:1d.1 0c03: 8086:27c9 (rev 01)<br />
00:1d.2 0c03: 8086:27ca (rev 01)<br />
00:1d.3 0c03: 8086:27cb (rev 01)<br />
00:1d.7 0c03: 8086:27cc (rev 01)<br />
00:1e.0 0604: 8086:244e (rev e1)<br />
00:1e.2 0401: 8086:27de (rev 01)<br />
00:1f.0 0601: 8086:27b8 (rev 01)<br />
00:1f.1 0101: 8086:27df (rev 01)<br />
00:1f.2 0101: 8086:27c0 (rev 01)<br />
00:1f.3 0c05: 8086:27da (rev 01)<br />
01:00.0 0200: 14e4:1677 (rev 01)<br />
</code><br />
Hier ist also die VendorID 8086 (Intel, das war zu erwarten) und die PCI-ID 2772.<br />
Beide sind wichtig, da anhand dieser einmal <code>hwinfo</code> seine Zuordnungen vornimmt und zum anderen weil danach die Xorg-Treiber suchen. Die Infos zu den non-gpl Treibern geben diese Nummern für die unterstützten Karten an.</p>
<p>Für weitere Fehlersuchen sind die &#8220;(/mnt)/etc/X11/xorg.conf&#8221; und die Ausgaben des Logfiles des X-Servers &#8220;/var/log/Xorg.0.log&#8221; sinnvoll. Die meisten Informationen kann man im Stage4 beschaffen, <code>hwinfo</code> steht da jedoch unter Umständen nicht zur Verfügung.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.openslx.org/2009/12/09/problemsuche-grafik-darstellung-treiber-auflosung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PXE-Menü anpassen</title>
		<link>http://blog.openslx.org/2009/02/16/pxe-menu-anpassen/</link>
		<comments>http://blog.openslx.org/2009/02/16/pxe-menu-anpassen/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 11:54:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[de]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://blog.openslx.org/?p=14</guid>
		<description><![CDATA[In der Standardkonfiguration werden OpenSLX Clients mittels PXE booten. Das Aussehen des Bootmenüs lässt sich dazu anpassen: slxconfig change-system ubuntu-10-clone::nfs \ comment="Just a comment not visible to the user" \ description="Ubuntu 8.10 cloned system" \ label="Ubuntu 8.10 Clone / NFS" Das Ergebnis sieht dann so aus &#8230;]]></description>
			<content:encoded><![CDATA[<p>In der Standardkonfiguration werden OpenSLX Clients mittels PXE booten. Das Aussehen des Bootmenüs lässt sich dazu anpassen:<br />
<code><br />
slxconfig change-system ubuntu-10-clone::nfs \<br />
comment="Just a comment not visible to the user" \<br />
description="Ubuntu 8.10 cloned system" \<br />
label="Ubuntu 8.10 Clone / NFS"<br />
</code><br />
Das Ergebnis sieht dann so aus &#8230;<div id="attachment_25" class="wp-caption alignnone" style="width: 310px"><img src="http://blog.openslx.org/wp-content/uploads/2009/02/pxe-boot-menu1-300x218.png" alt="OpenSLX Boot-Menü (mit H.P.Anwins PXE-Linux)" title="pxe-boot-menu1" width="300" height="218" class="size-medium wp-image-25" /><p class="wp-caption-text">OpenSLX Boot-Menü (mit H.P.Anwins PXE-Linux)</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.openslx.org/2009/02/16/pxe-menu-anpassen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

