Tuesday, May 24. 2011
In customer projects, i'm talking more and more frequently about solid state disks and their performance. From this point the release of a testing specification for SSD performance is really welcome to me, as you often compare apples with pears and pears with potatoes. Looks like the SSD market gets more mature.
Sunday, May 22. 2011
Darren Moffat explained in his blog how to encrypt swap and /var/tmp in Solaris 11 Express.
Monday, May 2. 2011
Questions about deduplication are quite frequent. Not about the basic function, but about some implications of the implementation. Over the time i wrote a cheat sheet for myself to answer such questions.
- Deduplication in ZFS is in-band. The deduplication occurs when you write to the disk.
- The instrument to do deduplication is to use checksums. If a block has the same checksum as a block already written to the pool, it's considered as a duplicate and thus just a pointer to the already stored block is written to disk. To say it simplified)
- As it's not reasonable to scan through all blocks on disk to read the checksums in order find a duplicate, the checksums are stored in a structure called deduplication table or DDT.
- The DDTs are a so called AVL tree (that's obvious as there are lot of calls to the system wide avl tree code). This helps searching, so it doesn't just grep through the DDT. It's more intelligent.
- The DDTs are managed as a ZAP object on-disk
- ZAP is short for the ZFS Attribute processor
- A ZAP object stores key value pairs used in many tasks organizing data stored in ZFS
- ZAP data is metadata
- Metadata is cached by the ARC
- As it's cached in ARC, the ZAP blocks and the the data inside those blocks is object to the cache eviction policies of ARC
- Just increasing memory size in order to get more room for the DDT may be insufficient, as the space metadata can occupy in ARC is limited.
- Per default it's limited to 25% of the maximum ARC size (see line 3478 of arc.c)
- The maximum ARC size is 3/4 of the systems memory or all-1GB, whatever is higher.
- Both values are user-tunable.
- You can set the amount of memory for the metadata to a user-chosen value with
zfs:zfs_arc_meta_limit= in /etc/system.
- That may be necessary when you know that you do a lot of deduplication tasks and the performance increase by keeping all or most of the DDT in memory outweights the loss of memory for caching data. For example mass importing data from a non-deduplicated storage may such a task.
- The size of the ddt may vary over versions, at snv133 the size of object is
jmoekamp@hivemind:~# echo ::sizeof ddt_entry_t | mdb -k
sizeof (ddt_entry_t) = 0x178 Or decimal - 376 Bytes.
- Such an entry exists for each unique block written to disk while deduplication is activated
- Thus blocks written while deduplication is deactivated are not getting deduplicates (obviously), however you can't deduplicate other locks with them as well
- So obviously a pool just using 128k blocks may need less memory to store the ddt than a pool just using 512 byte blocks
- Everything stored in ARC may be moved to the L2ARC. So an SSD may be used to increase the space to cache the DDT. Due to the nature of SSD (no head positioning latency) is a much better place to search for the nescessary DDT parts than a rotating head.
- However keep in mind that L2ARC doesn't come for free memorywise. Everything stored in L2ARC still leaves some information in the ARC. The relevant metadata structure is
arc_buf_hdr_t (see line 431 of arc.c:
jmoekamp@hivemind:~# echo ::sizeof arc_buf_hdr_t | mdb -k
sizeof (arc_buf_hdr_t) = 0xa8 Or decimal - 178 bytes.
- Just before you are asking about substituting a 376 Byte object by an 178 byte object - the ARC doesn't store a single dde entry in a ZAP block, they are storing multiple ones in it.
- The deduplication is not done when writing to the ZIL, it's done when writing it finally into the pool. Thus the deduplication is not done when the OS blocks for the write when doing a sync write, instead it's part of an async process afterwards. However it's possible that you will see write throttling kicking in, when the system isn't capable to to write all the dirty pages away timey.
- Access pattern for the blocks containing DDT data not in memory is very random.
- System with large pools with small memory areas will not work well, as each write will result in a larger number of reads in order to get the data from the DDT.
- The more unique blocks you have in the DDT, the less fast dedup will work, given a small amount of memory. A 1 gig memory in a the box and several TB of storage with very small recordsizes will be a sure way to yield horrible performance.
- Performance will be best, when the complete DTT fits in memory.
- Systems with medium memory size and SSD will yield good results
- However everything depends on the number of blocks writen after activation of the deduplication, as the size of the DDT.
- In short: Small pool, lot of memory - yeah, really big pool, minimal memory - nah.Truth is somewhat between that...
Tuesday, April 26. 2011
I didn't just wrote a long article about Exadata on the easter weekend (which is a four day "vacation" in Germany: Good friday is a day off as well as Easter Monday). I used the opportunity to read a book a second time after speed-reading it the week before. Well, to be exact ... book isn't really correct. It wasn't the dead tree edition of it, it was the Kindle edition as the paper variant isn't available in Germany at the moment.
It was the book "DTrace" written by Brendan Gregg (the guy shouting at disk arrays) and Jim Mauro. In one short sentence:It's great ... it's really great. I recommend it for every Solaris admin. When you think that DTrace is a rather esoteric topic for developers, read that book. If you still think this after reading the book, take out the comic you placed in the middle before  Fun aside: This book explains the very basics of DTraces as well as a vast number of examples how to distill important information for debugging and performance analysis out of the system with DTrace. To do so, the authors look into each main subsystem (memory, network or disk i/o), doing some basic diagnosis with a DTrace oneliner just to show the depth of the rabbit hole with some more sophisticated scripts later.
Probably you fill find many examples somewhere in the Internet, however this book is a great reference for this examples when you need them most (... when you manager stands right behind you asking you questions what happens at the moment).
I i have stated before: It's a recommended read! !
Tuesday, April 19. 2011
A while ago, i thought about about parasitic hadoop in order to use unused resources on systems not loaded. An hadoop node installed on machines used for different things and configured in a way, that it just uses the resources left over by the host (the application you've bought the server for). iIn my experience, the most unloaded system part are the boot disks (to big and often not loaded). Ben Rockwood of cuddletech.com had a great idea: Using the Hadoop Distributed File System to store ZFS dumps. Read more about it in his blog.
Sunday, April 17. 2011
 Anfang dieses Jahrhunderts kam eine CD auf den Markt, die für persönlich sehr wichtig war, obwohl ich Künstler und dessen Musik eigentlich nicht so sehr mag. Aber ich erinnere mich an viele Fahrten von Hamburg nach Oldenburg in einer längst vergangen scheinenden Zeit, auf denen mich diese Musik begleitet hat. Ich erinnere mich an viele Fahrten, in denen ich wohl mehr mit meinen Gedanken denn mit der Strasse verbracht habe, denn öfters konnte ich mich nicht so wirklich erinnern konnte, wie ich von Buchholz nach Delmenhorst gekommen war. Oder eben die umgekehrte Strecke mitten in der Nacht, um Montags rechtzeitig wieder in Hamburg zu sein. Ein Lied dieses Albums war damals sehr bedeutsam für mich "Uns trennt das Leben", ein Lied, das in einer seltsamen Genauigkeit auf mein damaliges Leben passte, auch wenn ich für jeden Tag im Himmel 6 Tage in der Hölle bekam. Ich denke es ist jetzt klar, welche CD jetzt meine. "Lektionen in Demut" von Thomas D. 2001 erschienen.
Fast Forward. 10 Jahre später. Die Welt hat sich weitergedreht. Die Welt ist eine andere. Die Welt ist im und am A… . Thomas D hat nun sein Album neu aufgenommen und nennt es einer Software gleich "Lektionen in Demut 11.0". Die Texte sind die alten. Die Musik ist eine andere. Es ist kein Remastering, es sind nicht blosse Remixe. Es ist ein komplett neues Album. Und es ist die bessere Version. Wobei das auch an mir und einem veränderten Hörempfinden und Geschmack liegen kann, denn auch ich bin nach 10 Jahren jemand anderes. Es ist elektronischer, die Beats sind treibender ... bestimmter. Die Arrangements komplexer.
Eigentlich möchte ich keine Hörempfehlung aussprechen, das Album ist in Gänze sehr gut. Wenn ich aber einen Einstieg in das Album vorschlagen sollte, ist dies eindeutig "Uns trennt das leben 11.0". Aber auch das titelgebende "Lektionen in Demut 11.0" sowie "Auf dem Planeten des ewigen Regens 11.0" und "Gebet an de Planet 11.0" gefällt mir sehr gut. Einfach mal reinhören. Sprechgesang muss man allerdings schon mögen.
Wednesday, March 23. 2011
Just got a mail from Stefan Schneider, the developer of the compatibility toolkit, describing what the compatibility tester is really for:
Being the project owner of the tool: Oracle takes extreme care that previous investments of software partners in Solaris 10 will be protected. The tool is spotting fairly extreme corner cases of usage of private or deprecated interfaces and commands. The tool tracks the delta of Solaris 10 (318000 files) to Solaris 11 Express at a command and symbol level. This is about common change management with a strong focus on frame work version creep and end of life of components which are outdated for more than a decade. A few examples and their mitigation are getting discussed here: http://www.scalingbits.com/solaris/compatibility
Tuesday, March 22. 2011

Die Abschlussbemerkung ab 10:25 ist wirklich gut. Das musste wirklich mal gesagt werden.
Friday, March 18. 2011
Sehr interessanter Artikel: Was über Atomkraftwerke (nicht) im Prospekt stand: Nach meiner Einschätzung dürfte sich aber auch bei den Befürwortern eine echte Angst vor einer nuklearen Katastrophe in Deutschland entwickelt haben, denn Fukushima führt sehr anschaulich vor Augen, dass einige verbreitete Grundannahmen über Atomkraftwerke nicht zutreffen:
1. Atomkraftwerke kann man einfach abschalten
[..]
2. Atomkraftwerke explodieren nicht
[..]
3. Störfälle sind beherrschbar, wenn man alles richtig macht
[..]
4. Es gibt Schutzanzüge gegen radioaktive Strahlung
Leider hat der Autor keinen flattr button.
Thursday, March 17. 2011
There is an interesting page at the Oracle Technology Network summarizing the information about the new packaging of Solaris 11 Express and Solaris 11: "Oracle Solaris 11 Express Package Management with Image Packaging System (IPS)"
Sunday, March 6. 2011
Schön zu sehen, das Godwins Gesetz auch für Diskussionen in der realen Welt gilt. Georg Enoch Robert Prosper Philipp Franz Karl Theodor Maria Heinrich Johannes Luitpold Hartmann Gundeloh Freiherr von und zu Guttenberg wird beispielsweise in der NZZ mit den Worten zitiert: Er kritisierte die «Häme und Selbstgerechtigkeit», mit der über seinen Sohn hergezogen worden sei. Dies habe er seit 1945 so nicht mehr erlebt. sagte der 64-Jährige. Da haben wir ihn ... den Nazivergleich. Im übrigen ist eine solche Aussage interessant für jemanden, der erst 1946 geboren worden ... aber ich hege hier die Vermutung das hier auch falsch zitiert wurde ...
Friday, March 4. 2011
Wenn Herr Guttenberg als Verteidigungsminister so toll war, wie man ihn jetzt mancherorts beschreibt, um der Bevölkerung zu erklaeren, das es falsch war, das ihn die boese Opposition zusammen mit der Wissenschaftselite aus dem Bendlerblock getrieben hat, dann möge man mir mal erklaeren, warum es nur einen Tag gedauert hat, bis der dafür zuständige Staatssekretär vor dir Tür gesetzt wurde und de Maizière da erstmal gewaltig mit hadert und sich erstmal ein eigenes Bild machen will?
Friday, March 4. 2011
When friends asking me for the usability concept of MacOS X, i just say "Do the most obvious". I should follow the tip myself ... i just learned how you get the menu bar from one monitor to another in a multi monitor setup: Just moving the white bar in this window to the blue box representing the correct screen. To add insult to injury: It's even written in in the window ... but who reads documentation or help texts directly in the window

That's too obvious for a unixoid mind ...
Friday, March 4. 2011
Jene Menschen, die mit gesundem Menschenverstand ausgestattet sind, mögen gerade über die 400.000 Fans des Herrn Guttenberg die Fassung verlieren, allerdings gibt es mittlerweile einige Leute, die diese Zahl anzweifeln und dies auch nicht ohne Grund. Beispielsweise schreibt Peter Berger in seinem Blog medienstratege.de: Nein, diese Zahlen zeigen nicht das Interesse von Otto Normalverbraucher. Ganz im Gegenteil. Sie belegen nur, wie schnell sich Journalisten für Kampagnen missbrauchen lassen. Denn die angebliche Massenbewegung für den Ex-Minister ist zweifelhafter als die Geschichte vom Baron Münchhausen. Und sie hätte nicht den Weg in die Medien finden dürfen. Zahlreiche Hinweise sprechen dafür, dass es bei der Seite nicht mit rechten Dingen zugeht. Eine Reihe anderer Personen erscheint das Wachstum mittlerweile auch merkwürdig.
PS: Der Rücktritt wird Guttenberg übrigens nicht politisch erledigen .... wenn es auch nur halbwegs mit rechten Dingen zugeht, wird ihn das hier erledigen.
Thursday, March 3. 2011
The talk today was much better ... on my scale this was an "acceptable". So the bad talk yesterday must have been the "fault" of the both colleagues in the auditorium yesterday ... they made me nervous
|