Archive for the 'OpenSolaris/Solaris Express' Category

ZFS pool with SSD ZIL (log) device shared with NFS – Performance problems!

Some times ago I bought a STEC ZeusIOPS SSD with 18GB capacity. This disks comes out from a Sun ZFS Storage 7420 system. But it’s 3.5″ large and without a server which supports 3.5″ large SAS disk drives I couldn’t test the SSD. Today I was able to test the drive on a Fujitsu Primergy RX300 S5 server. I installed five 500 GB large SATA drives and my STEC ZeusIOPS SSD. The first disk contains an OpenIndiana installation, the rpool. The remaing four SATA drives are grouped as a ZFS RAIDZ2 pool. I exported a ZFS dataset over NFS and 1 GbE to a VMware ESX system. With a Ubuntu linux virtual machine I run several benchmarks.

The results without the SSD are 75-80 MBytes/s write (850ms latency),  between 40 and 65 MBytes/s rewrite and 120 MBytes/s read performance. I did different runs with bonnie++ and iozone and achieved always similar values. During the tools did their benchmarks I watched the IO with “zfs iostat”. The write and rewrite results matched the numbers above. Reading lot’s of data from disk was not necessarry due a large enough ARC mem cache. That’s why the iostat output values was lower than 10 Mybtes/s.

Then I added the STEC SSD as log device to the ZFS pool and rerun all the tests. But I couldn’t believe the values!!! My benchmarks finished with only 45-50 MBytes/s write and 35-45 MBytes/s rewrite. Read performance didn’t changed, of course. The write latency exceeded 10000ms!!! Something went wrong but I don’t know what. I did the runs again and I watched the zfs iostat output parallel. But the output of zfs iostat throwed values always above 100 Mbytes/s. Sometimes I reached even values above 170 MBytes/s, but always more than 100 Mbytes/s. This is the maximum rate for a single 1 GbE connection! But the benchmark output was very different. They didn’t reached the results of the benchmark without the SSD. I was confused. I disabled the log device with the logbias option and set it to throughput. The benchmark result and the iostat results went back to 75-80 Mbytes/s write. I reenabled the log device with logbias=latency and I had again the benchmark result of max. 50 Mybtes/s write and big latency values but with an iostat ouput always over 100 Mbytes/s!

Something is wrong, but I don’t know what. :( Do you have an idea?

Changes… Power, Oracle and IPv6

Here I am back again. ;) The last weeks I had lot’s of work, so there was only little time for my blog and private activities. But this was a big chance to turn off lot’s systems in my home lab and run only the necessary servers for my home network. I watched 2 months my power consumption and I was really scared.  Currently I’m running a HP ProCurve 3500yl switch, a HP ProLiant DL185 G5 as a file server and a HP ProLiant DL385 G5p as a VMware ESXi host server with several virtual machines, e.g. a Windows Active Directory Server, and and and… The power consumption is too heavy for home use! My power bill for 2010 was a slap in the face. I consumed 11,500 kWh and had to pay lot’s of money. :(   That’s too much! It’s time to change this circumstance.

Currently I’m working on a replacement for the two servers and the switch above. The three systems takes 450 Watt power and running them all the time effects in 3,500 kWh per year. I have to pay 23 ct per kWh and about 800 Euros for 12 months. That’s not acceptable any more! Time to turn them off.

I decided to evaluate a HP ProLiant MicroServer! Next Tuesday the server arrives at work… Meanwhile I thought about which operating system, which kind of RAID redundancy and which kind of server virtualization software I like to run on the new HP ProLiant MicroServer and the results are my change No. 2.

Everybody knows that I love Solaris and OpenSolaris/Solaris Express. But I don’t like Oracle! Since Oracle acquired Sun Microsystems, the Solaris operating system and the Sun servers are getting more and more unpopular. The last announcement that Oracle stops the Itanium support frightened me. Larry seems to going crazy… Now I’m not sure about the future of Solaris and Solaris Express, so I decided to change my file server to Linux. Windows is not an option for me. Of course Windows Home Server or the Small Business Server looks pretty cool and comfortable, but I prefer a console. ;)

My current thoughts are running CentOS 5.5 x86_64 with Ext4 support on the HP ProLiant MicroServer. I will install four 2 TB SATA disks and connect them to a HP Smart Array P212 controller with 256 MB BBWC cache and advanced license. The four disks should form a RAID-6 volume. As virtualization software I will try out the free VMware Server 2 on top of CentOS. I have lot’s of good experience with VirtualBox, but it’s an Oracle product and no more option for me.

My new home server will be connected to an 8-Port HP ProCurve E2520-8G switch and will replace the three systems mentioned above in my home lab. All these modifications will result in a power consumption less than 100 Watts and an important independence of Oracle. I can save 600 Euros per year and my system is supported for a long time, even if Larry is going entirely crazy. ;)

But there’s a change No. 3 !  The last two weeks I played with IPv6, the next generation Internet Protocol. It’s awesome!!! Currently I’m running a Linux server which is connect via an IPv6 tunnel to the Internet. I ordered my own IPv6 network prefix at www.sixxs.net and cannot wait until I can give all my systems a public IPv6 address. :) I will change my entire network, this includes my private office and my home lab, to IPv6. :)

In summary I’m changing my home network to a Green-IT solution with long term support and with the implementation of IPv6 at home, I’m ready for the future. :)

Stay tuned !

Where’s the “zil_disable” tunable?

A little reminder for me. ;) Since Oracle Solaris 11 Express you can set the zil_disable tunable with the zfs set sync option.

Disable ZIL:

# zfs set sync=disabled demopool/test

Enable ZIL:

# zfs set sync=always demopool/test

Hot-swap trays for my HP DL185 storage server

Today my hard disk hot-swap trays arrived. :) Yippiieee… time to complete my storage server. The new hot-swap trays had no labels, so I created them myself. It looks pretty nice!

Next step is getting some more disks and a suitable rackmount-kit. My private datacenter grows and grows. :)

Veränderungen !

So,

hat sich ein bisschen was getan in der letzten Zeit. ;)

Black is beautyfull. :D

Mein DL320s wurde nun endlich durch einen HP DL185 G5 Server ersetzt. Neben dem das dieser Server Solaris und OpenSolaris supported, ist er auch schwarz. ;) So wie alle neuen Systeme von HP. Macht sich meiner Meinung sehr gut zu meinem BladeSystem. ;)

hp_black_1

Silver is nice, too ! :D :D

Tja, was soll ich sagen, mein neuer “Desktop” ist silber und sehr leise. ;) Nach langen Tests hab ich mich nun dazu durchgerungen eine VDI Umgebung zu meinem Arbeitsplatz zu Hause zu machen. :) Ich bin restlos begeistert. Neben Oracle VDI und VirtualBox arbeite ich derzeit auch in einer VMware vCenter und View Umgebung und geniese voll und ganz den Komfort einer sehr flexiblen Desktop Umgebung. ;) Meinen PC werde ich nach der Datensicherung an meine Freundin übergeben. ;) Sowas brauche ich nicht mehr. :D

sun_ray_1

ADMIN Magazin 03/2010

Im aktuellen ADMIN Magazin 03/2010 (www.admin-magazin.de) gibt es einen Artikel zu OpenSolaris COMSTAR von mir. Viel Spaß beim lesen. :)

admin-magazin

NetApp clonen? ;)

Was tun wenn man 3 Stück Sun StorEdge 6020 Arrays (eigentlich 6 Stück. :D ) mit je 14 Stück 146 GB Fibre Channel Festplatten hat? Eigentlich klar, die Arrays konfigurieren und an das SAN klemmen. Tja, was ist aber wenn die installierten RAID Controller einfach nur grausam in der Bedienung sind, man maximal 2 Volumes pro Disk Array erstellen kann und die Geschwindigkeit mit ZFS einfach nur lausig ist?

Dumm in die Wäsche schauen? ;)

Ich habe versucht 4 Volumes (entspricht 2 Disk Arrays und 28 Platten) in diversen Konfigurationen (verschiedene Kombinationen aus Block Size, RAID-Level, etc.) passend für ZFS zu konfigurieren. Alle Ergebnisse waren ziemlich ernüchternd und der Weg dahin langwierig und schwierig.

Keine Lust mehr….

Die neue Idee war fix geboren. Ein StorEdge 6020/6120 kann auch zum Expansion Disk Array umgebaut werden, d.h. Controller ausbauen. Das riecht doch offensichtlich nach FC-AL. Für viel Geld hab ich mir also spezielle Kabel für die HSSDC2 Anschlüsse besorgt. Doch alle Versuche das 6020 als JBOD zu nutzen sind kläglich gescheitert.

Frust macht sich breit. :-/

Lange Zeit passierte nichts mehr und es schwirrte lediglich die Idee in meinem Kopf, die 42 Platten irgendwie in ein EMC CLARiiON CXx00 zu stecken. Nur ohne aktuelle Flares schwierige Sache. Hinzu kommt die Unsicherheit ob eine EMC CLARiiON die Platten überhaupt erkennt. Meine HP EVA tut es jedenfalls nicht so recht. Sie erkennte zwar die Platten, aber verweigert dessen Nutzung! Wieder einmal keimte der Gedanke JBOD auf. Aber woher ein JBOD nehmen? Fibre Channel JBODs sind halt alles andere als gängig. Was tun?

Ins kalte Wasser springen? ;)

Nach einigen Überlegungen und Recherchen sagte mir mein Bauch, NetApp macht doch eigentlich auch nichts anderes, als das was ich im Sinn habe? Die haben schlaue Software in ihren Filer Köpfen und brauchen doch eigentlich nur dumme JBODs mit vielen schnellen Platten, oder? Nachdem ich auch noch Verkabelungspläne für einen NetApp FAS3050 entdeckte, war ich mir immer sicherer, dass das NetApp DS14 mk2 Disk Enclosure ein dummes FC-AL JBOD sein muss. Lediglich die IO Module auf der Rückseite bereiteten mir kurzfristig Bauchschmerzen. Nach einigem hin und her entschloß ich mich für das sog. ESH2 Modul. Wie ich finde, eine gute Entscheidung. ;)

DSC03277

Aus UK habe ich mir dann für einen fairen Preis ein NetApp DS14 mk2 Disk Enclosure mit 2 Stück ESH2 Modulen besorgt. Frisch angekommen, habe ich das Enclosure mit 14 Platten aus einer meiner 6020 Arrays bestückt. In die Sun Fire X4100 hab ich einen Emulex FC HBA installiert und diesen direkt mit dem IO Modul verbunden. Das Ergebnis sieht so aus:

locadm@ius002:~$ pfexec luxadm probe
Found Fibre Channel device(s):
Node WWN:500000e010731c30  Device Type:Disk device
Logical Path:/dev/rdsk/c0t500000E010731C30d0s2
Node WWN:2000000087014896  Device Type:Disk device
Logical Path:/dev/rdsk/c0t2000000087014896d0s2
Node WWN:500000e010730550  Device Type:Disk device
Logical Path:/dev/rdsk/c0t500000E010730550d0s2
Node WWN:2000000c509a551e  Device Type:Disk device
Logical Path:/dev/rdsk/c0t2000000C509A551Ed0s2
Node WWN:2000000c509a5621  Device Type:Disk device
Logical Path:/dev/rdsk/c0t2000000C509A5621d0s2
Node WWN:500000e0107325c0  Device Type:Disk device
Logical Path:/dev/rdsk/c0t500000E0107325C0d0s2
Node WWN:20000000871a4524  Device Type:Disk device
Logical Path:/dev/rdsk/c0t20000000871A4524d0s2
Node WWN:2000000c509a553f  Device Type:Disk device
Logical Path:/dev/rdsk/c0t2000000C509A553Fd0s2
Node WWN:500000e0107323e0  Device Type:Disk device
Logical Path:/dev/rdsk/c0t500000E0107323E0d0s2
Node WWN:2000000c509a4f64  Device Type:Disk device
Logical Path:/dev/rdsk/c0t2000000C509A4F64d0s2
Node WWN:500000e010730b90  Device Type:Disk device
Logical Path:/dev/rdsk/c0t500000E010730B90d0s2
Node WWN:20000000871ae23b  Device Type:Disk device
Logical Path:/dev/rdsk/c0t20000000871AE23Bd0s2
Node WWN:2000000c50860c5d  Device Type:Disk device
Logical Path:/dev/rdsk/c0t2000000C50860C5Dd0s2
Node WWN:500000e0107311b0  Device Type:Disk device
Logical Path:/dev/rdsk/c0t500000E0107311B0d0s2

Ein paar Tests belegen mir eine Schreibgeschwindigkeit von durchschnittlich 140 MByte/Sek. und eine Lesegeschwindigkeit von 210 MByte/Sek. Cool ! Es wird Zeit für 3 weitere NetApp DS14 mk2 Disk Enclosures. ;) Die neue Idee ist geboren und schimpft sich:

“NoNapp Data ONZFS”

:D :D :D

Alles weitere demnächst hier in diesem Kino. ;)

Sun Fire X4100 wiederbelebt

Nachdem ich ja gestern einen Tag voller Pleiten, Pech und Pannen durchlitten habe, sieht es heute schon wieder deutlich sonniger aus. ;) Ein Highlight des Tages ist, dass ich das Problem der Sun Fire X4100 lokalisieren und beheben könnte. Nachdem ich die Batterie und alle DIMM Bausteine aus- und wieder eingebaut hatte, leuchtete doch endlich mal die Warn LED an der Front auf. Hurra, ein Lebenszeichen!!! Dem ILOM Log nach handelt es sich um zwei defekte DIMM Riegel, die ich unverzüglich ausgewechselt habe. Danach sprang Kiste auch an, als wäre nichts gewesen. :)

OpenSolaris ist natürlich installiert, ein rpool Mirror zur Sicherheit und der Local Repository Server eingerichtet. Endlich kann es weiter gehen. ;)

locadm@ius002:~# uname -a
SunOS ius002 5.11 snv_111b i86pc i386 i86pc
locadm@ius002:~# prtdiag -v
System Configuration: Sun Microsystems Sun Fire X4100 Server
BIOS Configuration: American Megatrends Inc. 080010  08/01/2006
BMC Configuration: IPMI 2.0 (KCS: Keyboard Controller Style)

==== Processor Sockets ====================================

Version                          Location Tag
-------------------------------- --------------------------
Dual Core AMD Opteron(tm) Processor 285 H0
Dual Core AMD Opteron(tm) Processor 285 H1
Dual Core AMD Opteron(tm) Processor 285 H2
Dual Core AMD Opteron(tm) Processor 285 H3

==== Memory Device Sockets ================================

Type        Status Set Device Locator      Bank Locator
----------- ------ --- ------------------- ----------------
DDR         in use 0   H0_DIMM0            BANK0
DDR         in use 0   H0_DIMM1            BANK1
DDR         in use 0   H0_DIMM2            BANK2
DDR         in use 0   H0_DIMM3            BANK3
DDR         in use 0   H1_DIMM0            BANK4
DDR         in use 0   H1_DIMM1            BANK5
unknown     empty  0   H1_DIMM2            BANK6
unknown     empty  0   H1_DIMM3            BANK7

==== On-Board Devices =====================================
 LSI serial-ATA #1
 Gigabit Ethernet #1
 Gigabit Ethernet #2
 ATI Rage XL VGA

==== Upgradeable Slots ====================================

ID  Status    Type             Description
--- --------- ---------------- ----------------------------
0   in use    PCI-X            PCIX SLOT0
1   available PCI-X            PCIX SLOT1
2   available PCI-X            PCIX SLOT2
3   available PCI-X            PCIX SLOT3
4   available PCI-X            PCIX SLOT4
locadm@ius002:~#

HP ProLiant BL20p G3 + OpenSolaris 2009.06

… oder soll ich schreiben OpenSolaris 2009.06 + Broadcom NetXtreme 57xx ? ;)

Einige Zeit bevor ich hier einen BL20p G3 Blade Server mit OpenSolaris betankte, hatte ich schon so meine Schwierigkeiten mit einem Asus P5MT-MX/C Mainboard und dessen on board Broadcom 5753 GBit LAN Adapter. Ich hatte das Problem allerdings gelöst und die Vorgehensweise erstmal aus meinem Kopf gestrichen. Ein schwerer Fehler wie sich heute herausstellte. ;)

Diese Woche beschloss ich auf meinen Blade Server OpenSolaris 2009.06 zu installieren. Gesagt getan. Nach erfolgreicher Installation habe ich ordnungsgemäß auf eine feste IP Adresse umgestellt (demnächst nachzulesen auf meinem Wiki) und meinen DNS Server entsprechend konfiguriert. Zeit für einen Reboot. In Vorfreude auf die OpenSolaris Installation, denn mit Linux und Windows hab ich es nicht so, wollte ich mich mit SSH verbinden.

Ergebnis: “connection refused”

Fuck !

Nach einiger Zeit war dann doch eine SSH Verbindung möglich, aber für gerade mal 10 Sekunden. Danach wieder “connection refused”… Ich hatte keinen Bock mehr, war ja auch schon halb eins Nacht. ;)

*PAUSE*

Heute habe ich mich dem Problem “connection refused” wieder angenommen. Nach einigen Versuchen und Umbauten wurde ich dann in meiner Vermutung, dass es eigentlich nur noch ein Treiber Problem sein kann, immer mehr bestätigt. Im Gespräch mit ein paar Leuten schoß mir dann aus dem Nichts heraus der Gedanke “Mensch war da nicht was mit dem Asus Board und dem bge Treiber?” durch denn Kopf. Die Lösung war zum greifen nah. ;)

# pkg uninstall SUNWbge
# cd /tmp
# wget http://www.tschokko.de/sol86-11.7.2.zip
# unzip sol86<TAB>
# cd sol86<TAB>
# pkgadd -d ./BRCMbcme.pkg
# mv /etc/hostname.bge0 /etc/hostname.bcme0
# reboot

Das war’s… ;)

Offensichtlich hat der OpenSolaris bge Treiber ein paar Probleme mit Broadcom Adaptern. Darum hab ich diesen Treiber deinstalliert und den Solaris 10 x86/x64 Treiber von Broadcom installiert. Nun rennt OpenSolaris ohne Probleme auf meinem BL20p G3 Server… :) Wie man den HP/Compaq SmartArray Raid Treiber  (cpgary3) zum Installationszeitpunkt unter OpenSolaris einbindet, erzähle ich euch demnächst. ;)

Solaris Jumpstart Server auf OpenSolaris 2009.06

Da im Moment OpenSolaris 2009 auf meiner Sun Fire 3800 nicht booten will, hab ich mich dazu entschlossen fix Solaris 10 U7 aufzuspielen. Logischerweise macht man das über einen Jumpstart Server, sofern kein DVD-ROM vorhanden ist. Leider ist der Jumpstart Server nicht so ohne weiteres auf einer OpenSolaris 2009.06 Maschine eingerichtet. Also musste wie so oft Freund Google herhalten und die zwei wesentlichen Probleme möchte ich hier natürlich verewiegen.

Problem 1: Kein Bootparams Daemon (RARP)

Entgegen der Empfehlung die Pakete SUNWbsu und SUNWbsr zu installieren, genügt ein:

# pkg install SUNWbs

Problem 2: Timed out waiting for TFTP reply

Der TFTP Daemon unter OpenSolaris 2009.06 muss wie folgt angepasst werden:

# echo tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot >> /etc/inetd.conf
# inetconv

ggf. noch ein:

# svcadm restart svc:/network/tftp/udp6:default

Joa und das wars eigentlich schon. Der Rest ist wie gehabt. ;) Im Schnelldurchlauf heißt das:

./setup_install_server /export/installserver/sol-10-xx
echo 08:00:20:e9:3a:fc ius0013 >> /etc/ethers
echo 192.168.209.13 ius0013 >> /etc/hosts
./add_install_client ius0013 sun4u