<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007">
   <channel>
      <title>Sun Storage Blogs</title>
      <description>Blogs from Sun Storage folks.</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=ZmBvRn1L3BGOO41_jtzu1g</link>
      <pubDate>Sun, 22 Nov 2009 16:13:09 -0800</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <item>
         <title>Deirdre' Straughan: Lots and Lots of Storage Video</title>
         <link>http://blogs.sun.com/storage/entry/lots_and_lots_of_storage</link>
         <description>Storage (and other) videos - technical talks, presentations, interviews - have gone to live on &lt;a rel=&quot;nofollow&quot;&gt;blogs.sun.com/video.&lt;/a&gt; There's a tag cloud to help you find what you're looking for, and don't miss the&amp;nbsp; videos that have been translated into&amp;nbsp; &lt;a rel=&quot;nofollow&quot; class=&quot;tag s4&quot; title=&quot;29&quot;&gt;português-brasil&lt;/a&gt;,&amp;nbsp; &lt;a rel=&quot;nofollow&quot; class=&quot;tag s4&quot; title=&quot;22&quot;&gt;español&lt;/a&gt;,&amp;nbsp; &lt;a rel=&quot;nofollow&quot; class=&quot;tag s4&quot; title=&quot;22&quot;&gt;русский&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; class=&quot;tag s4&quot; title=&quot;22&quot;&gt;日本語&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; class=&quot;tag s4&quot; title=&quot;24&quot;&gt;简体中文&lt;/a&gt;</description>
         <author>Deirdre' Straughan</author>
         <guid isPermaLink="false">http://blogs.sun.com/storage/entry/lots_and_lots_of_storage</guid>
         <pubDate>Fri, 20 Nov 2009 02:42:54 -0800</pubDate>
      </item>
      <item>
         <title>bobp: IT Infrastructure Products, Partnerships and Paraphernalia</title>
         <link>http://blogs.sun.com/bobp/entry/infrastructure_products_partnerships_and_paraphernalia</link>
         <description>&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ieee.org/portal/site&quot;&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;left&quot; src=&quot;http://www.istockphoto.com/file_thumbview_approve/5622462/2/istockphoto_5622462-play-blocks.jpg&quot;/&gt;&lt;/a&gt;Announcements have certainly accelerated lately with respect to integrated infrastructure technology.&amp;nbsp; Multiple vendors who provide infrastructure hardware for compute, storage and network are either partnering with each other or pursuing a &quot;go alone&quot; strategy.&amp;nbsp; Few will disagree that more tightly integrated solutions will benefit &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Information_technology&quot;&gt;IT&lt;/a&gt; customers.&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;However an IT solution has always had the expectation and requirement to be integrated.&amp;nbsp; That is why the IT industry has developed over the years &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://standards.ieee.org/&quot;&gt;standards&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.computerweekly.com/Home/research/tech-topics/232864/it-protocols.htm&quot;&gt;protocols&lt;/a&gt;.&amp;nbsp; In other words, common industry accepted methods to move, process and protect business as well as consumer information.&amp;nbsp; Traditionally large complex IT solutions have been integrated by&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Value-added_reseller&quot;&gt; VARs&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Management_consulting&quot;&gt;management consulting firms&lt;/a&gt; or &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/List_of_major_IT_consulting_firms&quot;&gt;consulting services&lt;/a&gt; for a given customer.&amp;nbsp; Is that beginning to change?&amp;nbsp; Also the IT solution is comprised of more than just tightly integrated hardware blocks.&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Let's not forget about the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.infoworld.com/d/applications/build-or-buy-it-applications-676&quot;&gt;various applications&lt;/a&gt; that need to run on any given vendors hardware platform.&amp;nbsp; In addition to the applications, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Hypervisor&quot;&gt;virtualization&lt;/a&gt; is becoming a standard requirement to maximize the utilization of any vendors integrated hardware platform.&amp;nbsp; Infrastructure providers will need to adjust to the fact that hypervisor technology may sell less hardware because utilization and efficiency will be largely improved.&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ieee.org/portal/site&quot;&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://www.harrisallen.com/_images/0s1s.jpg&quot;/&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Does this new focus on consolidation favor software stacks that are both &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Heterogeneity&quot;&gt;heterogeneous&lt;/a&gt; and therefore &lt;/font&gt;&lt;/font&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://dictionary.reference.com/browse/ubiquitous&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;ubiquitous&lt;/font&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;?&amp;nbsp; The IT industry has become a mature business.&amp;nbsp; New ideas will always continue but IT will still be comprised of both hardware and software.&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;A good analogy is the automobile industry...&amp;nbsp; Automobiles have had tremendous amounts of progress over the past &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Ford_Motor_Company&quot;&gt;100 years&lt;/a&gt;.&amp;nbsp; For example there have been many optimizations and efficiencies with car manufacturing, car fuel efficiency, etc.&amp;nbsp; Over the past 20 years the automobile industry has highly leveraged the use of &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.embedded.com/design/220300333&quot;&gt;embedded electronics in cars&lt;/a&gt;.&amp;nbsp; But the basic components of a car (tires, engine, brakes, steering wheel, etc.) have (and for the foreseeable future) not changed.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Blog is available also at: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://bobporras.wordpress.com/&quot;&gt;http://bobporras.wordpress.com/&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/i&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;</description>
         <author>bobp</author>
         <guid isPermaLink="false">http://blogs.sun.com/bobp/entry/infrastructure_products_partnerships_and_paraphernalia</guid>
         <pubDate>Wed, 18 Nov 2009 18:08:08 -0800</pubDate>
      </item>
      <item>
         <title>dom: ZFS HSP Demo</title>
         <link>http://blogs.sun.com/dom/entry/zfs_hsp_demo</link>
         <description>&lt;p&gt;
Here is a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mediacast.sun.com/users/DominicKay/media/Solaris-ZFS-for-OLTP.swf&quot;&gt;demo of the use of ZFS Hybrid Storage Pools&lt;/a&gt; that I put together. Its quite neat in that it is reproduceable fairly easily. My thanks to Mo Beik for doing the heavy lifting.
&lt;/p&gt;</description>
         <author>dom</author>
         <guid isPermaLink="false">http://blogs.sun.com/dom/entry/zfs_hsp_demo</guid>
         <pubDate>Wed, 18 Nov 2009 01:57:51 -0800</pubDate>
      </item>
      <item>
         <title>dom: Open Storage Demos</title>
         <link>http://blogs.sun.com/dom/entry/open_storage_demos</link>
         <description>&lt;p&gt;Here is series of &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mediacast.sun.com/users/DominicKay/media/open_storage_demo/details&quot;&gt;Brief Open Storage Demo's&lt;/a&gt; that I put together on various aspects of Solaris storage software such as ZFS, NFS, CIFS, iSCSI - just the basics to get you started.&lt;/p&gt; &lt;p&gt;I originally created them for SuperComputer 2008 and have only just rediscovered them. Enjoy.&lt;/p&gt;</description>
         <author>dom</author>
         <guid isPermaLink="false">http://blogs.sun.com/dom/entry/open_storage_demos</guid>
         <pubDate>Wed, 18 Nov 2009 01:37:58 -0800</pubDate>
      </item>
      <item>
         <title>timf: New zfs-auto-snapshot implementation on it's way</title>
         <link>http://blogs.sun.com/timf/entry/new_zfs_auto_snapshot_implementation</link>
         <description>&lt;p&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ihasahotdog.com/2008/06/27/cute-puppy-pictures-finish-line/&quot;&gt;
&lt;img src=&quot;http://blogs.sun.com/timf/resource/finish-line.jpg&quot; align=&quot;left&quot;&gt;
&lt;/a&gt;
&lt;/p&gt; &lt;p&gt;Niall wrote &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mail.opensolaris.org/pipermail/zfs-auto-snapshot/2009-November/000199.html&quot;&gt;a post to the zfs-auto-snapshot&lt;/a&gt; alias announcing his new &lt;code&gt;time-sliderd&lt;/code&gt; implementation of the ZFS Automatic Snapshot service.
&lt;/p&gt; &lt;p&gt;I'm looking forward to this new implementation: I wrote the old ksh-based code &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/timf/entry/zfs_automatic_snapshots_prototype_1&quot;&gt;back in 2006&lt;/a&gt; and have been adding features &amp;amp; fixing bugs ever since. Over time, it's started creaking at the seams - there were a few issues with it that were tricky to deal with in it's existing implementation. I've long felt the desire to start again, but just couldn't give it the time it needed. Well, Niall's done just that - many thanks Niall!
&lt;/p&gt; &lt;p&gt;I've got commentary on the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mail.opensolaris.org/pipermail/zfs-auto-snapshot/2009-November/thread.html#199&quot;&gt;thread on the auto snapshot mailing list&lt;/a&gt; and have also &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mail.opensolaris.org/pipermail/zfs-discuss/2009-November/033882.html&quot;&gt;forwarded Niall's announcement to zfs-discuss&lt;/a&gt;. The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/timf/resource/README.zfs-auto-snapshot.txt&quot;&gt;old README&lt;/a&gt; on this blog has been updated, with a pointer to the original heads-up message.
&lt;/p&gt; &lt;p&gt;So now I get to focus on my day-job again &lt;code&gt;:-)&lt;/code&gt;
&lt;/p&gt;</description>
         <author>timf</author>
         <guid isPermaLink="false">http://blogs.sun.com/timf/entry/new_zfs_auto_snapshot_implementation</guid>
         <pubDate>Mon, 16 Nov 2009 19:09:35 -0800</pubDate>
      </item>
      <item>
         <title>mac: DMTF shows it's Cloud hand</title>
         <link>http://blogs.sun.com/mac/entry/dmtf_shows_it_s_cloud</link>
         <description>The DMTF has released a white paper titled: Interoperable Clouds. From the abstract: &quot;&lt;em&gt;This white paper describes a snapshot of the work being done in the DMTF Open Cloud Standards Incubator, including use cases and reference architecture as they relate to the interfaces between a cloud service provider and a cloud service consumer. The goal of the Incubator is to define a set of architectural semantics that unify the interoperable management of enterprise and cloud computing. This paper summarizes the core use cases, reference architecture, and service lifecycle. These building blocks will be used to specify the cloud provider interfaces, data artifacts, and profiles to achieve interoperable management.&lt;/em&gt;&quot;&lt;br&gt; The paper lays out several great models for cloud services, and I encourage everyone to read the whole whitepaper. Here is a picture from chapter 5 on the Cloud Service Reference Architecture:
&lt;br&gt;
&lt;img src=&quot;http://markcarlson.info/wp-content/uploads/2009/11/DMTFCloudServiceRefArch.jpg&quot; alt=&quot;DMTFCloudServiceRefArch.jpg&quot; border=&quot;0&quot; width=&quot;521&quot; height=&quot;342&quot; align=&quot;left&quot;/&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
The group has all the right players participating, including: AMD, CA, Cisco, Citrix, EMC, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Novell, Rackspace, RedHat, Savvis, SunGard, Sun Microsystems, and VMware. The white paper is just the first milestone in the group's work. Chapter 6 lays out the next steps for the group, including future Alliances work. &lt;/p&gt;</description>
         <author>mac</author>
         <guid isPermaLink="false">http://blogs.sun.com/mac/entry/dmtf_shows_it_s_cloud</guid>
         <pubDate>Mon, 16 Nov 2009 00:34:39 -0800</pubDate>
      </item>
      <item>
         <title>: Fun With DTrace: The Windows-Key Prank</title>
         <link>http://feedproxy.google.com/~r/ConstantinsSunBlog/~3/4oXLlBYxBwo/fun_with_dtrace_the_windows</link>
         <description>&lt;p&gt;The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.systemhelden.com/?p=243&quot;&gt;current episode of the German HELDENFunk podcast&lt;/a&gt; features an interview with &lt;a rel=&quot;nofollow&quot;&gt;Chris Gerhard&lt;/a&gt; about one of his favourite subjects: DTrace (in English, beginning at 14:58):&lt;/p&gt; &lt;p&gt;     &lt;/p&gt; &lt;p&gt;After the interview, we hear a guy called &quot;Konteener Kalle&quot; express his love (in German) for DTrace by playing a prank on his boss: Whenever he presses the Windows key (on an OpenSolaris system, mind you), he's punished by watching the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.jwz.org/xscreensaver/screenshots/&quot;&gt;XScreensaver BSOD hack&lt;/a&gt; (of course not knowing that it's just a screensaver).&lt;/p&gt; &lt;p&gt;That little joke challenged me to actually implement this prank. Here's how to do it.&lt;/p&gt; &lt;h3&gt;The Idea&lt;/h3&gt; &lt;p&gt;The idea of this prank is to start the XScreensaver Blue-Screen-of-Death screensaver (which simulates a Windows crash experience) on an OpenSolaris system whenever the user presses a certain key a certain number of times. This could be the Windows-Key (which doesn't have any real use on an OpenSolaris machine) or any other key. We count the number of key presses and only execute the BSOD after a certain number of key presses in order to make the prank less obvious.&lt;/p&gt; &lt;h3&gt;Step 1: Identify the Windows (or any other) Key&lt;/h3&gt; &lt;p&gt;If you have a Windows-Keyboard, this is easy: Run &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://docs.sun.com/app/docs/doc/802-2011/6i60mct8u?a=view&quot;&gt;xev&lt;/a&gt; and press the Windows-Key. Take note of the keycode displayed in the xev output. Of course you can use any other key as well to play this prank. In this case, I'm using the left Control-Key, because I don't have a Windows-Key on the system I'm working on. The Control key has the keycode 37.&lt;/p&gt; &lt;h3&gt;Step 2: Configure XScreensaver for BSOD&lt;/h3&gt; &lt;p&gt;XScreensaver comes with a great collection of &quot;hacks&quot; that do interesting stuff on the screen when the screensaver activates. Check out the &lt;code&gt;/usr/lib/xscreensaver/hacks&lt;/code&gt; directory. Each hack can be run individually, but then it will only execute inside a new window. For the BSOD illusion to be realistic, we want to execute the BSOD hack in full-screen.&lt;/p&gt; &lt;p&gt;This can be achieved by telling XScreensaver to demo the BSOD hack for us. It will then create a full-screen window and execute the BSOD hack inside the new window. The following command will tell XScreensaver to run a hack for us:&lt;/p&gt; &lt;pre&gt;xscreensaver-command -demo &amp;lt;number&amp;gt;&lt;/pre&gt; &lt;p&gt;The &lt;code&gt;&amp;lt;number&amp;gt;&lt;/code&gt; part is a little complicated: XScreensaver looks at its config file &lt;code&gt;~/.xscreensaver&lt;/code&gt; where it stores a list of programs and arguments after the keyword &quot;&lt;code&gt;programs:&lt;/code&gt;&quot;. &lt;code&gt;&amp;lt;number&amp;gt;&lt;/code&gt; simply refers to the number of the hack on that list. Therefore, we must create an entry in our admin user's &lt;code&gt;.xscreensaver&lt;/code&gt; file that starts &lt;code&gt;bsod(6)&lt;/code&gt; with the right parameters and that gives us a known number to call &lt;code&gt;xscreensaver-command&lt;/code&gt; with.&lt;/p&gt; &lt;p&gt;Let's put our entry at the top of the list so we can simply use the number &quot;1&quot; to execute the BSOD screensaver. Somewhere in our &lt;code&gt;.xscreensaver&lt;/code&gt;, the &lt;code&gt;programs&lt;/code&gt; section should look like this:&lt;/p&gt; &lt;pre&gt; ... textFile: /etc/motd textProgram: date textURL: http://blogs.sun.com/roller/rss programs: &amp;#92; - &quot;BSOD Windoze&quot; bsod -root -only nt &amp;#92;n&amp;#92; - &quot;Qix (solid)&quot; qix -root -solid -segments 100 &amp;#92;n&amp;#92; - &quot;Qix (transparent)&quot; qix -root -count 4 -solid -transparent &amp;#92;n&amp;#92; ...
&lt;/pre&gt; &lt;p&gt; You can test this by running &lt;code&gt;xscreensaver-command -demo 1&lt;/code&gt;.&lt;/p&gt; &lt;h3&gt;Step 3: Write a DTrace Script That Sets Up the Trap&lt;/h3&gt; &lt;p&gt;Now it gets more interesting. How do we use DTrace to find out when a user presses a certain key? All we know is that the Xorg server processes the keystrokes for us. So let's start by watching Xorg in action. The following DTrace command will trace all function calls within Xorg:&lt;/p&gt; &lt;pre&gt;pfexec dtrace -n pid`pgrep Xorg`:::entry'{ @func[probefunc] = count(); }'&lt;/pre&gt; &lt;p&gt;Let's start it, press the desired key 10 times, then stop it with CTRL-C. You'll see a long list of Xorg functions, sorted by the number of times they've been called. Since we pressed the key 10 times, it's a good idea to look for functions that have been called ca. 10 times. And here, we seem to be lucky:&lt;/p&gt; &lt;pre&gt; ... miUnionO 8 DeviceFocusInEvents 9 CommonAncestor 10 ComputeFreezes 10 CoreLeaveNotifies 10 key_is_down 11 FreeScratchPixmapHeader 12 GetScratchPixmapHeader 12 LookupIDByType 12 ProcShmDispatch 12 ProcShmPutImage 12 ...
&lt;/pre&gt; &lt;p&gt;The &lt;code&gt;key_is_down&lt;/code&gt; function looks like exactly the function we're looking for! In fact, some googling tells us that this function's 2nd argument is the keycode of the key that is down when the function is called.&lt;/p&gt; &lt;p&gt;Why do we see &quot;11&quot; and not &quot;10&quot; function calls to &lt;code&gt;key_is_down&lt;/code&gt;? Because it also counted my pressing of the Ctrl-Key when I stopped the DTrace script through Ctrl-C :).&lt;/p&gt; &lt;p&gt;This gives us enough knowledge to create the following DTrace script:&lt;/p&gt; &lt;pre&gt; #!/usr/sbin/dtrace -s /* * BSODKey.d */ /* * This D script will monitor a certain key in the system. When this key is * pressed, a shell script will be executed that simulates a BSOD. * * The script needs the process id of the Xorg server to tap into as its * first argument. * * One example of using this script is to punish a user pressing the * Windows key on an OpenSolaris system by launching the BSOD screen saver. */ #pragma D option quiet #pragma D option destructive BEGIN { ctrlcount = 0; keycode=37 } pid$1::key_is_down:entry /arg1 == keycode/ { ctrlcount ++; } pid$1::key_is_down:return /ctrlcount == 10/ { ctrlcount = 0; system(&quot;/usr/bin/xscreensaver-command -demo 1&quot;); }
&lt;/pre&gt; &lt;p&gt;First, we need to enable DTrace's destructive mode (ever heard of a &quot;constructive prank&quot;?) otherwise we can't call the &lt;code&gt;system&lt;/code&gt;-command at the end. The script uses the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wikis.sun.com/display/DTrace/pid+Provider&quot;&gt;pid provider&lt;/a&gt; to tap into Xorg. Therefore, we need to give it the PID of the Xorg server as an argument:&lt;/p&gt; &lt;pre&gt;pfexec ./BSODKey.d `pgrep Xorg`&lt;/pre&gt; &lt;p&gt;It then sets up a probe that fires whenever &lt;code&gt;key_is_down&lt;/code&gt; is called with our keycode and counts the key presses. At the end of the &lt;code&gt;key_is_down&lt;/code&gt; function call, it checks whether we reached 10 keypresses, then executes the BSOD screen saver and resets the counter. You may need to make sure that the &lt;code&gt;DISPLAY&lt;/code&gt; variable is set correctly for the BSOD program to show up on the victim's screen when starting this script.&lt;/p&gt; &lt;p&gt;After hitting the Control-Key 10 times, we're rewarded with our beloved BSOD:&lt;/p&gt; &lt;img/&gt; &lt;h3&gt;Conclusion&lt;/h3&gt; &lt;p&gt;That wasn't too difficult, was it? Yes, one could have done the same thing by writing a regular script that taps into &lt;code&gt;/dev/kbd&lt;/code&gt; or something similar. But the beauty of DTrace lies in the simplicity of this script (Tap into the right function while it's running) and in the fact that it now can be modified very easily to fire BSODs at any kind of event, including the user hitting a certain area of the screen with his mouse or selecting a particular text or whatever you choose it to be.&lt;/p&gt; &lt;p&gt;So, have fun with this script and let me know in the comments what kind of pranks (or helpful actions) you can imagine with DTrace!&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=4oXLlBYxBwo:47QvG7GMpew:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=4oXLlBYxBwo:47QvG7GMpew:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=4oXLlBYxBwo:47QvG7GMpew:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?i=4oXLlBYxBwo:47QvG7GMpew:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=4oXLlBYxBwo:47QvG7GMpew:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?i=4oXLlBYxBwo:47QvG7GMpew:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=4oXLlBYxBwo:47QvG7GMpew:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/ConstantinsSunBlog/~4/4oXLlBYxBwo&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://blogs.sun.com/constantin/entry/fun_with_dtrace_the_windows</guid>
         <pubDate>Mon, 16 Nov 2009 08:32:14 -0800</pubDate>
      </item>
      <item>
         <title>jmcp: Migrating from Solaris Express to OpenSolaris</title>
         <link>http://blogs.sun.com/jmcp/entry/migrating_from_solaris_express_to</link>
         <description>There's currently no way to do an in-place upgrade0 from Solaris Express's SysV packaging to OpenSolaris' IPS packaging, so you have to think outside the box just a little.
&lt;br&gt;&lt;br&gt;
My Ultra 40 M2 has been happily chugging away with SXCE builds since I took delivery of it, but with build 131 fast approaching (when we start delivering a nightly IPS repo rather than SysV packages), I figured I should put some effort into migrating to the new world. Fortunately for me, I've been running with ZFS root since it was first available (build 80 or so), and when I reinstalled my laptop last year I put OpenSolaris on it. It's been upgraded to snv_126 in the last week, too.
&lt;br&gt;&lt;br&gt;
Here's what I did.
&lt;br&gt;&lt;br&gt;&lt;br&gt; After making sure I had enough space in my u40m2 (&quot;blinder&quot;) root pool, I created a zfs snapshot of the current BE on the laptop (&quot;gedanken&quot;). Then destroyed it, pruned sundry filesystems and a bunch of packages which I don't need (eg, I have no use for almost all the localisations), and re-created the snapshot.
&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;pre class=&quot;jmcp&quot;&gt;
gedanken# zfs snapshot rpool/ROOT/opensolaris-7@yay
blinder# zfs create rpool/ROOT/opensolaris-7
&lt;/pre&gt;
&lt;br&gt;&lt;br&gt; Then I sent it from gedanken to blinder:
&lt;br&gt;&lt;br&gt; &lt;pre class=&quot;jmcp&quot;&gt;
gedanken# zfs send rpool/ROOT/opensolaris-7@yay | &amp;#92; ssh blinder zfs recv -v rpool/ROOT/opensolaris-7 [trundle] received 20.8GB stream in 2707 seconds (7.85MB/sec)
&lt;/pre&gt; &lt;br&gt;&lt;br&gt; Now the action switches to blinder:
&lt;br&gt;&lt;br&gt;
(add entry to grub menu.lst, remember to set the default)
&lt;br&gt;&lt;br&gt; &lt;pre class=&quot;jmcp&quot;&gt;
# zpool set boots=rpool/ROOT/opensolaris-7 rpool
# zfs set canmount=noauto rpool/ROOT/opensolaris-7
# zfs set mountpoint=/ rpool/ROOT/opensolaris-7
&lt;/pre&gt;
&lt;br&gt;&lt;br&gt;
Time for some customisations on the new pool:
&lt;br&gt;&lt;br&gt;
&lt;pre class=&quot;jmcp&quot;&gt;
# zfs set mountpoint=/mnt rpool/ROOT/opensolaris-7
# cp /etc/ssh/sshd*key* /mnt/etc/ssh
# cp /etc/hostid /mnt/etc/hostid
# cp /etc/inet/hosts /mnt/etc/inet/hosts
# cp /etc/X11/xorg.conf /mnt/etc/X11
# cp /etc/hostname.nge0 /mnt/etc
# cp /var/spool/cron/cronjobs/onhg /mnt/var/spool/cron/cronjobs
&lt;/pre&gt; &lt;br&gt;&lt;br&gt;
I think that's it, I really should have run this from within script(1)!
&lt;br&gt;&lt;br&gt;
&lt;pre class=&quot;jmcp&quot;&gt;
# cd /
# zfs umount rpool/ROOT/opensolaris-7
# zfs set mountpoint=/ rpool/ROOT/opensolaris-7
&lt;/pre&gt; &lt;br&gt;&lt;br&gt;
Time for the acid test!
&lt;br&gt;
&lt;br&gt;
&lt;pre class=&quot;jmcp&quot;&gt;
# init 6
&lt;/pre&gt; [dammit, this &quot;fast reboot&quot; stuff is TOO FAST!] &lt;hr/&gt;
&lt;pre class=&quot;jmcp&quot;&gt;
root@blinder:~# cat /etc/release OpenSolaris Development snv_127 X86 Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 06 November 2009
root@blinder:~# root@blinder:~# uname -a
SunOS blinder 5.11 snv_127 i86pc i386 i86pc
root@blinder:~# &lt;/pre&gt;
&lt;br&gt;&lt;br&gt; and X came up just fine.
&lt;br&gt;&lt;br&gt;
After making sure that all the bits that I expected were there, I was very pleased to call this exercise a success.
&lt;br&gt;&lt;br&gt;
The only bit that remains to be done is configuring my non-global zone but I'll leave that for another post.</description>
         <author>jmcp</author>
         <guid isPermaLink="false">http://blogs.sun.com/jmcp/entry/migrating_from_solaris_express_to</guid>
         <pubDate>Thu, 12 Nov 2009 14:54:53 -0800</pubDate>
      </item>
      <item>
         <title>bobp: A Time Capsule for the Enterprise?</title>
         <link>http://blogs.sun.com/bobp/entry/a_time_capsule_for_the</link>
         <description>&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.apple.com/timecapsule/&quot;&gt;&lt;img hspace=&quot;0&quot; vspace=&quot;0&quot; align=&quot;left&quot; src=&quot;http://www.slashgear.com/wp-content/uploads/2009/04/4-06-09tc.jpg&quot;/&gt;&lt;/a&gt;On Halloween I upgraded the desk side PC from Windows XP to Windows 7.&amp;nbsp; Between multiple reboots, application installs, recovery of email, print server configuration, etc. my wife asked &quot;Why does it have to be so hard?&quot;&amp;nbsp; As she said this I was looking at the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.apple.com/timecapsule/&quot;&gt;Apple Time Capsule&lt;/a&gt; sitting on top of a small cabinet in our home basement. The only item coming out of the Time Capsule was the power cord connected to the power outlet.&amp;nbsp; I run the Time Capsule as a wireless client in our home network for data backup.&amp;nbsp; The data consists of many pictures, video clips, songs, the kids homework and basically many various files (some of which are important).&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;My home &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Local_area_network&quot;&gt;(LAN) network&lt;/a&gt; has grown over the years from a few PCs connected via an old &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/IEEE_802.11&quot;&gt;802.11&lt;/a&gt;b router to a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.netgear.com/Products/RoutersandGateways/RangeMaxWirelessNRoutersandGateways/WNDR3300.aspx&quot;&gt;dual band&lt;/a&gt; (802.11g/802.11n) &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Router&quot;&gt;router&lt;/a&gt; connecting a multitude of wireless clients. These include a XBox, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.apple.com/ipodtouch/&quot;&gt;iTouch&lt;/a&gt;, PrintServer, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://hub.opensolaris.org/bin/view/Main/&quot;&gt;OpenSolaris&lt;/a&gt;, Ubuntu, Mac, Windows XP, Windows Vista and Windows 7 devices.&amp;nbsp; Basically a heterogeneous environment.&amp;nbsp; Will the older Window versions be phased out at home eventually?&amp;nbsp; Yes.&amp;nbsp; The Unix/Linux clients will remain out of necessity as well as for hobby.&amp;nbsp; It's difficult to currently beat the Mac experience.&amp;nbsp; Adding a Time capsule into my existing home network was relatively easy.&amp;nbsp; The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://support.apple.com/downloads/AirPort_Utility_5_4_1&quot;&gt;Airport setup&lt;/a&gt; updated the Time Capsule firmware and configured the device in straight forward steps.&amp;nbsp; It wasn't as &quot;fun&quot; for a &quot;techie&quot; as say &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Command-line_interface&quot;&gt;CLI&lt;/a&gt; commands, but simple is defined as &quot;fun&quot; for most consumers. The Windows XP to Windows 7 full upgrade was painfull but I have to admit the network configuration experience was much improved.&amp;nbsp; I was pleasantly surprised freeware &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://download.cnet.com/Bonjour-for-Windows/3000-18507_4-93550.html&quot;&gt;Bonjour discovery services&lt;/a&gt; just worked and the W7 system configured the Time Capsule as a usable share.&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;One could imply a similar situation in the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Enterprise_software&quot;&gt;enterprise&lt;/a&gt; space.&amp;nbsp; For an enterprise business &quot;fun&quot; is defined as high margin dollars on a growing revenue stream.&amp;nbsp; This&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.microsoft.com/windows/windows-7/&quot;&gt;&lt;img hspace=&quot;0&quot; border=&quot;0&quot; vspace=&quot;0&quot; align=&quot;right&quot; src=&quot;http://www.ethioplanet.com/news/wp-content/plugins/wp-o-matic/cache/829b5_windows-7-logo-300x300.jpg&quot;/&gt;&lt;/a&gt; usually means your costs are contained, you implement continuous improvements on efficiency and you simplify.&amp;nbsp; Vendors in the technology industry are all trying to provide a truly &quot;Enterprise Time Capsule&quot; or Appliance.&amp;nbsp; There has been a large amount of innovation over the past 20 years.&amp;nbsp; However today's innovation is tomorrow's &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/PDP-11&quot;&gt;PDP-11&lt;/a&gt;.&amp;nbsp; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Minicomputer&quot;&gt;Minicomputers&lt;/a&gt; were appliances that &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Mainframe_computer&quot;&gt;Mainframes&lt;/a&gt; couldn't be.&amp;nbsp; The evolution has continued over the years in every technology segment.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Enterprise customers want it simple as do consumers.&amp;nbsp; While the stakes are much higher in the enterprise, the bar is significantly raised for &quot;just working&quot; each and every time.&amp;nbsp; It doesn't matter if you are playing catchup, you are the incumbent or you are the new thought leader-- the winners will be the set of vendors who provide the tool that &quot;just works&quot; each and every time in the harshest and most complex environments.&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Blog is available also at: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://bobporras.wordpress.com/&quot;&gt;http://bobporras.wordpress.com/&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>bobp</author>
         <guid isPermaLink="false">http://blogs.sun.com/bobp/entry/a_time_capsule_for_the</guid>
         <pubDate>Wed, 04 Nov 2009 18:08:08 -0800</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: SAS advanced connectivity roadmap</title>
         <link>http://blogs.sun.com/moroplace/entry/sas_advanced_connectivity_roadmap</link>
         <description>&lt;p&gt;&lt;p&gt;...&lt;/p&gt;&lt;br/&gt; &lt;p&gt;As an important part of the announcement, STA is promoting a converged&lt;br/&gt;
Mini-SAS High-Density (HD) standard connector to create a vibrant and&lt;br/&gt;
consistent infrastructure to expand SAS usability and scalability.&amp;nbsp; The&lt;br/&gt;
STA objectives include a consistent connectivity management scheme in&lt;br/&gt;
addition to the active copper and optical cable extensions supported by&lt;br/&gt;
the new Mini-SAS HD connector....&lt;/p&gt;&lt;br/&gt; &lt;p&gt; source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.snseurope.com/snslink/news/news-readfull.php?newsid=13204&quot;&gt;SNS Europe&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/sas_advanced_connectivity_roadmap</guid>
         <pubDate>Wed, 04 Nov 2009 06:37:51 -0800</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: SNIA Announces SMI-S Conformance Test Enhancements in Version 1.4</title>
         <link>http://blogs.sun.com/moroplace/entry/snia_announces_smi_s_conformance</link>
         <description>&lt;p&gt;&lt;p&gt;...&lt;/p&gt;&lt;br/&gt; &lt;p&gt;&quot;As the SMI specification continues to evolve and become integrated&lt;br/&gt;
into an increasing number of storage products, SMI has focused on&lt;br/&gt;
increasing the functionality of CTP for end users,&quot; said Paul von&lt;br/&gt;
Behren, chair of the Storage Management Initiative. &quot;Version 1.4 now&lt;br/&gt;
assists end users to better evaluate their storage purchase options by&lt;br/&gt;
helping them determine whether a product simply provides basic&lt;br/&gt;
discovery and monitoring or whether it allows for configuration&lt;br/&gt;
management via SMI-S.&quot;&lt;br /&gt;&lt;br /&gt;CTP for SMI-S 1.4 features:&lt;br /&gt;·&amp;nbsp;&amp;nbsp; &amp;nbsp;Easy-to-understand CTP reports &lt;br /&gt;·&amp;nbsp;&amp;nbsp; &amp;nbsp;Delivery of event notifications &lt;br /&gt;·&amp;nbsp;&amp;nbsp; &amp;nbsp;Identification of tested management tasks using business-oriented terms &lt;br /&gt;&lt;/p&gt;&lt;br/&gt; &lt;p&gt;....&lt;/p&gt;&lt;br/&gt; &lt;p&gt; source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.snseurope.com/snslink/news/news-readfull.php?newsid=13210&quot;&gt;SNS Europe&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/snia_announces_smi_s_conformance</guid>
         <pubDate>Wed, 04 Nov 2009 06:37:03 -0800</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: LSI Launches High-Performance 6Gb/s SAS Host Bus Adapters</title>
         <link>http://blogs.sun.com/moroplace/entry/lsi_launches_high_performance_6gb</link>
         <description>&lt;p&gt;&lt;p&gt;LSI has announced availability of a new family of high-performance&lt;br/&gt;
SATA+SAS host bus adapters (HBAs) based on 6Gb/s SAStechnology. The&lt;br/&gt;
LSI™ SAS 9200 series HBAs, based on the LSISAS2008 6Gb/s SAS controller&lt;br/&gt;
IC, offer new levels of performance and scalability for internal and&lt;br/&gt;
external direct-attached storage deployments using SATA and SAS disk&lt;br/&gt;
drives.&lt;/p&gt;&lt;br/&gt; &lt;p&gt;source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.snseurope.com/snslink/news/news-readfull.php?newsid=13211&quot;&gt;SNS Europe&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/lsi_launches_high_performance_6gb</guid>
         <pubDate>Wed, 04 Nov 2009 06:36:09 -0800</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Emulex Announces Support for SAS and SSDs with Next Generation InSpeed Bridging Technology</title>
         <link>http://blogs.sun.com/moroplace/entry/emulex_announces_support_for_sas</link>
         <description>&lt;p&gt;&lt;p&gt;Emulex is expanding the performance and versatility of its&lt;br/&gt;
market-leading InSpeed® Bridging technology through the addition of&lt;br/&gt;
enterprise storage system support for Serial Attached SCSI (SAS) to&lt;br/&gt;
Serial Advanced Technology Attachment (SATA) bridging in SAS&lt;br/&gt;
environments, support for SAS Hard Disk Drives (HDDs) in Fibre Channel&lt;br/&gt;
environments, and support for ultra-high performance Solid State Drives&lt;br/&gt;
(SSDs) in both SAS and Fibre Channel environments. &amp;nbsp;&lt;/p&gt;&lt;br/&gt; &lt;p&gt;source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.snseurope.com/snslink/news/news-channel-readfull.php?newsid=13227&quot;&gt;SNS Europe&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/emulex_announces_support_for_sas</guid>
         <pubDate>Wed, 04 Nov 2009 06:34:16 -0800</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: FCIA Announces Milestone towards Completing New 16Gb/s Fibre Channel Standard</title>
         <link>http://blogs.sun.com/moroplace/entry/fcia_announces_milestone_towards_completing</link>
         <description>&lt;p&gt;&lt;p&gt;&lt;em&gt;ANSI INCITS T11 Committee Completes Work on 16GFC.&lt;/em&gt;&lt;img alt=&quot;&quot;&quot; src=&quot;http://www.snseurope.com/images/comma-.gif&quot;/&gt;&lt;/p&gt; &lt;p&gt;The Fibre Channel Industry Association (FCIA) says that the ANSI INCITS&lt;br/&gt;
T11 Committee completed the technical work on the FC-PI-5 for 16Gb/s&lt;br/&gt;
Fibre Channel (&quot;16GFC&amp;quot&lt;img src=&quot;http://&amp;lt;a href=&quot;// title=&quot;&quot;&gt; blogs.sun.com/images/smileys/wink.gif&quot; class=&quot;smiley&quot; alt=&quot;;)&quot; title=&quot;;)&quot; /&amp;gt; and voted in early October to send the document&lt;br/&gt;
out for letter ballot.&amp;nbsp;&amp;nbsp; This milestone marks the technical stability&lt;br/&gt;
and completeness necessary for vendors to commit to silicon their&lt;br/&gt;
upcoming designs based upon the FC-PI-5 standard.&lt;/p&gt;&lt;br/&gt; &lt;p&gt;...&lt;/p&gt;&lt;br/&gt; &lt;p&gt; source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.snseurope.com/snslink/news/news-readfull.php?newsid=13289&quot;&gt;SNS Europe&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/fcia_announces_milestone_towards_completing</guid>
         <pubDate>Wed, 04 Nov 2009 06:23:48 -0800</pubDate>
      </item>
      <item>
         <title>mac: LISA BOF - OpenSolaris, Storage and the Cloud</title>
         <link>http://blogs.sun.com/mac/entry/lisa_bof_opensolaris_storage_and</link>
         <description>I am giving LISA BOF today at USENIX LISA here in Baltimore on OpenSolaris availability in the Cloud (EC2 instances mostly) as well as an update on the Cloud Storage standards efforts Sun is leading in the SNIA.
&lt;br&gt;
You can download my slides: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://markcarlson.info/wp-content/uploads/2009/11/OpenSolarisCloud.pdf&quot; title=&quot;OpenSolarisCloud.pdf&quot;&gt;OpenSolarisCloud.pdf&lt;/a&gt; if you like or view them in &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.slideshare.net/macsun&quot;&gt;SlideShare&lt;/a&gt;.
&lt;br&gt;
Deirdre will be videoing the presentation, so I'll update this entry later to point to that. There are a number of great BOFs following mine, so stick around and attend those as well.</description>
         <author>mac</author>
         <guid isPermaLink="false">http://blogs.sun.com/mac/entry/lisa_bof_opensolaris_storage_and</guid>
         <pubDate>Tue, 03 Nov 2009 07:38:55 -0800</pubDate>
      </item>
      <item>
         <title>bonwick: ZFS Deduplication</title>
         <link>http://blogs.sun.com/bonwick/entry/zfs_dedup</link>
         <description>&lt;p&gt;
You knew this day was coming: ZFS now has built-in deduplication.
&lt;/p&gt; &lt;p&gt;
If you already know what dedup is and why you want it, you can skip
the next couple of sections. For everyone else, let's start with
a little background.
&lt;/p&gt; &lt;p&gt; &lt;b&gt;What is it?&lt;/b&gt; &lt;/p&gt; &lt;p&gt;
Deduplication is the process of eliminating duplicate copies of data.
Dedup is generally either file-level, block-level, or byte-level.
Chunks of data -- files, blocks, or byte ranges -- are checksummed
using some hash function that uniquely identifies data with very high
probability. When using a secure hash like SHA256, the probability of a
hash collision is about 2^-256 = 10^-77 or, in more familiar notation,
0.00000000000000000000000000000000000000000000000000000000000000000000000000001.
For reference, this is 50 orders of magnitude less likely than an undetected,
uncorrected ECC memory error on the most reliable hardware you can buy.
&lt;/p&gt; &lt;p&gt;
Chunks of data are remembered in a table of some sort that maps the
data's checksum to its storage location and reference count. When you
store another copy of existing data, instead of allocating new space
on disk, the dedup code just increments the reference count on the
existing data. When data is highly replicated, which is typical of
backup servers, virtual machine images, and source code repositories,
deduplication can reduce space consumption not just by percentages,
but by multiples.
&lt;/p&gt; &lt;p&gt; &lt;b&gt;What to dedup: Files, blocks, or bytes?&lt;/b&gt; &lt;/p&gt; &lt;p&gt;
Data can be deduplicated at the level of files, blocks, or bytes.
&lt;/p&gt; &lt;p&gt;
File-level assigns a hash signature to an entire file. File-level
dedup has the lowest overhead when the natural granularity of data
duplication is whole files, but it also has significant limitations:
any change to any block in the file requires recomputing the checksum
of the whole file, which means that if even one block changes, any space
savings is lost because the two versions of the file are no longer identical.
This is fine when the expected workload is something like JPEG or MPEG files,
but is completely ineffective when managing things like virtual machine
images, which are mostly identical but differ in a few blocks.
&lt;/p&gt; &lt;p&gt;
Block-level dedup has somewhat higher overhead than file-level dedup when
whole files are duplicated, but unlike file-level dedup, it handles block-level
data such as virtual machine images extremely well. Most of a VM image is
duplicated data -- namely, a copy of the guest operating system -- but some
blocks are unique to each VM. With block-level dedup, only the blocks that
are unique to each VM consume additional storage space. All other blocks
are shared.
&lt;/p&gt; &lt;p&gt;
Byte-level dedup is in principle the most general, but it is also the most
costly because the dedup code must compute 'anchor points' to determine
where the regions of duplicated vs. unique data begin and end.
Nevertheless, this approach is ideal for certain mail servers, in which an
attachment may appear many times but not necessary be block-aligned in each
user's inbox. This type of deduplication is generally best left to the
application (e.g. Exchange server), because the application understands
the data it's managing and can easily eliminate duplicates internally
rather than relying on the storage system to find them after the fact.
&lt;/p&gt; &lt;p&gt;
ZFS provides block-level deduplication because this is the finest
granularity that makes sense for a general-purpose storage system.
Block-level dedup also maps naturally to ZFS's 256-bit block checksums,
which provide unique block signatures for all blocks in a storage pool
as long as the checksum function is cryptographically strong (e.g. SHA256).
&lt;/p&gt; &lt;p&gt; &lt;b&gt;When to dedup: now or later?&lt;/b&gt; &lt;/p&gt; &lt;p&gt;
In addition to the file/block/byte-level distinction described above,
deduplication can be either synchronous (aka real-time or in-line)
or asynchronous (aka batch or off-line). In synchronous dedup,
duplicates are eliminated as they appear. In asynchronous dedup,
duplicates are stored on disk and eliminated later (e.g. at night).
Asynchronous dedup is typically employed on storage systems that have
limited CPU power and/or limited multithreading to minimize the
impact on daytime performance. Given sufficient computing power,
synchronous dedup is preferable because it never wastes space
and never does needless disk writes of already-existing data.
&lt;/p&gt; &lt;p&gt;
ZFS deduplication is synchronous. ZFS assumes a highly multithreaded
operating system (Solaris) and a hardware environment in which CPU cycles
(GHz times cores times sockets) are proliferating much faster than I/O.
This has been the general trend for the last twenty years, and the
underlying physics suggests that it will continue.
&lt;/p&gt; &lt;p&gt; &lt;b&gt;How do I use it?&lt;/b&gt; &lt;/p&gt; &lt;p&gt;
Ah, finally, the part you've really been waiting for.
&lt;/p&gt; &lt;p&gt;
If you have a storage pool named 'tank' and you want to use dedup,
just type this:
&lt;/p&gt; &lt;p&gt; zfs set dedup=on tank
&lt;/p&gt; &lt;p&gt;
That's it.
&lt;/p&gt; &lt;p&gt;
Like all zfs properties, the 'dedup' property follows the usual rules
for ZFS dataset property inheritance. Thus, even though deduplication
has pool-wide scope, you can opt in or opt out on a per-dataset basis.
&lt;/p&gt; &lt;p&gt; &lt;b&gt;What are the tradeoffs?&lt;/b&gt; &lt;/p&gt; &lt;p&gt;
It all depends on your data.
&lt;/p&gt; &lt;p&gt;
If your data doesn't contain any duplicates, enabling dedup will add
overhead (a more CPU-intensive checksum and on-disk dedup table entries)
without providing any benefit. If your data does contain duplicates,
enabling dedup will both save space and increase performance. The
space savings are obvious; the performance improvement is due to the
elimination of disk writes when storing duplicate data, plus the
reduced memory footprint due to many applications sharing the same
pages of memory.
&lt;/p&gt; &lt;p&gt;
Most storage environments contain a mix of data that is mostly unique
and data that is mostly replicated. ZFS deduplication is per-dataset,
which means you can selectively enable dedup only where it is likely
to help. For example, suppose you have a storage pool containing
home directories, virtual machine images, and source code repositories.
You might choose to enable dedup follows:
&lt;/p&gt; &lt;p&gt; zfs set dedup=off tank/home
&lt;/p&gt; &lt;p&gt; zfs set dedup=on tank/vm
&lt;/p&gt; &lt;p&gt; zfs set dedup=on tank/src
&lt;/p&gt; &lt;p&gt; &lt;b&gt;Trust or verify?&lt;/b&gt; &lt;/p&gt; &lt;p&gt;
If you accept the mathematical claim that a secure hash like SHA256 has
only a 2^-256 probability of producing the same output given two different
inputs, then it is reasonable to assume that when two blocks have the
same checksum, they are in fact the same block. You can trust the hash.
An enormous amount of the world's commerce operates on this assumption,
including your daily credit card transactions. However, if this makes
you uneasy, that's OK: ZFS provies a 'verify' option that performs
a full comparison of every incoming block with any alleged duplicate to
ensure that they really are the same, and ZFS resolves the conflict if not.
To enable this variant of dedup, just specify 'verify' instead of 'on':
&lt;/p&gt; &lt;p&gt; zfs set dedup=verify tank
&lt;/p&gt; &lt;p&gt; &lt;b&gt;Selecting a checksum&lt;/b&gt; &lt;/p&gt; &lt;p&gt;
Given the ability to detect hash collisions as described above, it is
possible to use much weaker (but faster) hash functions in combination
with the 'verify' option to provide faster dedup. ZFS offers this
option for the fletcher4 checksum, which is quite fast:
&lt;/p&gt; &lt;p&gt; zfs set dedup=fletcher4,verify tank
&lt;/p&gt; &lt;p&gt;
The tradeoff is that unlike SHA256, fletcher4 is not a pseudo-random
hash function, and therefore cannot be trusted not to collide. It is
therefore only suitable for dedup when combined with the 'verify' option,
which detects and resolves hash collisions. On systems with a very high
data ingest rate of largely duplicate data, this may provide better
overall performance than a secure hash without collision verification.
&lt;/p&gt; &lt;p&gt;
Unfortunately, because there are so many variables that affect performance,
I cannot offer any absolute guidance on which is better. However, if
you are willing to make the investment to experiment with different
checksum/verify options on your data, the payoff may be substantial.
Otherwise, just stick with the default provided by setting dedup=on;
it's cryptograhically strong and it's still pretty fast.
&lt;/p&gt; &lt;p&gt; &lt;b&gt;Scalability and performance&lt;/b&gt; &lt;/p&gt; &lt;p&gt;
Most dedup solutions only work on a limited amount of data -- a handful
of terabytes -- because they require their dedup tables to be resident
in memory.
&lt;/p&gt; &lt;p&gt;
ZFS places no restrictions on your ability to dedup. You can dedup
a petabyte if you're so inclined. The performace of ZFS dedup will
follow the obvious trajectory: it will be fastest when the DDTs
(dedup tables) fit in memory, a little slower when they spill over
into the L2ARC, and much slower when they have to be read from disk.
The topic of dedup performance could easily fill many blog entries -- and
it will over time -- but the point I want to emphasize here is that there
are no limits in ZFS dedup. ZFS dedup scales to any capacity on any
platform, even a laptop; it just goes faster as you give it more hardware.
&lt;/p&gt; &lt;p&gt; &lt;b&gt;Acknowledgements&lt;/b&gt; &lt;/p&gt; &lt;p&gt;
Bill Moore and I developed the first dedup prototype in two very intense
days in December 2008. Mark Maybee and Matt Ahrens helped us navigate
the interactions of this mostly-SPA code change with the ARC and DMU.
Our initial prototype was quite primitive: it didn't support gang blocks,
ditto blocks, out-of-space, and various other real-world conditions.
However, it confirmed that the basic approach we'd been planning for
several years was sound: namely, to use the 256-bit block checksums
in ZFS as hash signatures for dedup.
&lt;/p&gt; &lt;p&gt;
Over the next several months Bill and I tag-teamed the work so that
at least one of us could make forward progress while the other dealt
with some random interrupt of the day.
&lt;/p&gt; &lt;p&gt;
As we approached the end game, Matt Ahrens and Adam Leventhal developed
several optimizations for the ZAP to minimize DDT space consumption both
on disk and in memory, key factors in dedup performance. George Wilson
stepped in to help with, well, just about everything, as he always does.
&lt;/p&gt; &lt;p&gt;
For final code review George and I flew to Colorado where many folks
generously lent their time and expertise: Mark Maybee, Neil Perrin,
Lori Alt, Eric Taylor, and Tim Haley.
&lt;/p&gt; &lt;p&gt;
Our test team, led by Robin Guo, pounded on the code and made a couple
of great finds -- which were actually latent bugs exposed by some new,
tighter ASSERTs in the dedup code.
&lt;/p&gt; &lt;p&gt;
My family (Cathy, Andrew, David, and Galen) demonstrated enormous
patience as the project became all-consuming for the last few months.
On more than one occasion one of the kids has asked whether we can do
something and then immediately followed their own question with,
&quot;Let me guess: after dedup is done.&quot;
&lt;/p&gt; &lt;p&gt;
Well, kids, dedup is done. We're going to have some fun now.
&lt;/p&gt;</description>
         <author>bonwick</author>
         <guid isPermaLink="false">http://blogs.sun.com/bonwick/entry/zfs_dedup</guid>
         <pubDate>Sun, 01 Nov 2009 21:14:18 -0800</pubDate>
      </item>
      <item>
         <title>timf: Halloween 2009</title>
         <link>http://blogs.sun.com/timf/entry/halloween_2009</link>
         <description>&lt;p&gt;Happy Z-Day everyone!&lt;/p&gt; &lt;p&gt;Breaking with &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/timf/entry/halloween_fireworks_2008&quot;&gt;tradition&lt;/a&gt; somewhat, I'm not sure there's going to be any fireworks photos here this year: we're down at my parents house, and are less likely to get the sort of sustained shelling that we normally experience in Raheny each year.
&lt;/p&gt; &lt;p&gt;On the plus side, we had homemade pumpkin soup for lunch, so was at least able to get this shot. If there's any fireworks later on, I'll update this post - but otherwise, here's some Halloween cheer:
&lt;/p&gt; &lt;p&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/timf/resource/pumpkin-CRW_5872.jpg&quot;&gt;
&lt;img src=&quot;http://blogs.sun.com/timf/resource/pumpkin-CRW_5872_300.jpg&quot;&gt;
&lt;/a&gt;
&lt;/p&gt; &lt;p&gt;The day's been great so far - lovely birthday presents (&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.icebreaker.com/site/icebreaker_man_bodyfit150_ls_atlas.html?thumb_value=Black&quot;&gt;a Merino base-layer&lt;/a&gt; and a copy of &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.co.uk/Neverwhere-Authors-Preferred-Neil-Gaiman/dp/0755322800/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1257013960&amp;sr=8-2&quot;&gt;Neverwhere&lt;/a&gt; from the lovely missus, and DVDs of the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.co.uk/Ice-Age-Meltdown-Double-Pack/dp/B000H4VYSQ/ref=sr_1_4?ie=UTF8&amp;s=dvd&amp;qid=1257014037&amp;sr=8-4&quot;&gt;first two Ice Age films&lt;/a&gt; from E (I think she had an ulterior motive there!) and a nice fleece from my folks) &lt;/p&gt; &lt;p&gt;I also popped out for a birthday run around Greystones this afternoon, only 10k but it was enough for me to realise I'm far from being back in running form: the recovery is going to last a few more weeks I think!
&lt;/p&gt; &lt;p&gt;My folks are baby-sitting tonight, so myself and the missus get to go out for a grown-up dinner, which I'm really looking forward to. Happy Halloween!
&lt;/p&gt; &lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; There were fireworks after all, here's a few shots: fantastic, the tradition continues!
&lt;/p&gt; &lt;p&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/timf/resource/fireworks_09-CRW_5887.jpg&quot;&gt;
&lt;img src=&quot;http://blogs.sun.com/timf/resource/fireworks_09-CRW_5887_300.jpg&quot;/&gt;
&lt;/a&gt; &lt;/p&gt; &lt;p&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/timf/resource/fireworks_09-CRW_5888.jpg&quot;&gt;
&lt;img src=&quot;http://blogs.sun.com/timf/resource/fireworks_09-CRW_5888_300.jpg&quot;/&gt;
&lt;/a&gt;
&lt;/p&gt; &lt;p&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/timf/resource/fireworks_09-CRW_5889.jpg&quot;&gt;
&lt;img src=&quot;http://blogs.sun.com/timf/resource/fireworks_09-CRW_5889_300.jpg&quot;/&gt;
&lt;/a&gt;
&lt;/p&gt;</description>
         <author>timf</author>
         <guid isPermaLink="false">http://blogs.sun.com/timf/entry/halloween_2009</guid>
         <pubDate>Sat, 31 Oct 2009 04:43:46 -0700</pubDate>
      </item>
      <item>
         <title>timf: 26.2 miles</title>
         <link>http://blogs.sun.com/timf/entry/26_2_miles</link>
         <description>&lt;p&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/timf/resource/medal-CRW_5834.jpg&quot;&gt;
&lt;img align=&quot;right&quot; src=&quot;http://blogs.sun.com/timf/resource/medal-CRW_5834_300.jpg&quot;&gt;
&lt;/a&gt;
&lt;/p&gt; &lt;p&gt;
I ran the Dublin City Marathon yesterday in approx. 3h 30m (more on that later) - that's my first marathon, but I suspect not my last: to anyone even half-thinking of running 26.2 miles, you have to try it.
&lt;p&gt; &lt;p&gt;
My motivation for running started several months back on a low note. The background was that I was increasingly working from home, with work being busy and having a desire to eat dinner with the family and be around to put the kids to bed, I was noticing that there were days where I wasn't leaving the house at all. At the same time, the rumours started about Sun being in talks with various companies about a possible acquisition.
&lt;/p&gt; &lt;p&gt;
When the Oracle deal was announced it made things worse - what had previously just been rumours in the press became a lot more believable. Usually when something like this is going on, I'll write my thoughts about it here: but doing so would have been unprofessional. The furthest I ever went was the occasional emoticon on my twitter feed.
&lt;/p&gt; &lt;p&gt;
The solution for both problems, I decided, was to get out in the mornings and run: exercise, and a little time to think.
&lt;/p&gt; &lt;p&gt;
As the months went by, I was running further and further, logging my progress to &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/timfoster&quot;&gt;@timfoster&lt;/a&gt; as I went ,and generally having a whale of a time. One weekend, we had a few friends over for lunch - Kev, Nic, Mike &amp; Maria. A bit of the conversation went something like this: &lt;p&gt;
&lt;blockquote&gt;
&quot;That's great running you're doing Tim, you should do the marathon&quot;
&lt;/blockquote&gt;
&lt;/p&gt; &lt;p&gt;
Well, that was it, I'd had vague thoughts of doing it &lt;em&gt;one day&lt;/em&gt;, but hearing someone else say it out loud was enough to make me register that night - with some trepidation, I might add. The registration form grouped entrants into three categories in order of expected finishing time: 3h or less, 3:30-4:15, 4:15+. I had no clue where I belonged, so popped myself in the middle and got on with it - that was July 28th this year.
&lt;/p&gt; &lt;p&gt;
I figured I ought to be following some sort of formal training plan. The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://boards.ie/vbulletin/forumdisplay.php?f=972&quot;&gt;athletics forum on boards.ie&lt;/a&gt; was a great resource, and were pointing newbies like me to &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.halhigdon.com&quot;&gt;Hal Higdon's running site&lt;/a&gt; . I chose the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.halhigdon.com/marathon/inter2.html&quot;&gt;Intermediate II schedule&lt;/a&gt;, as I figured I was already reasonably fit with the daily commute on bike from time to time, and all the running I'd done so far. I'd missed a few weeks at the beginning of the formal program, so worked out where I should be (which turned out to be a good place to start given the running I'd already done) and stuck to it.
&lt;/p&gt; &lt;p&gt;
As I got closer to the race, I was dutifully doing my Long Slow Runs each weekend and was coming up to running the last of the three 20 milers when I became anxious about what sort of pace I'd manage in the race - could I go fast over a long distance? I didn't know. I didn't want to risk burning myself out in the early stages of the race, and end up not finishing. I decided to push it, and do a Long Fast Run instead - you're &lt;em&gt;not&lt;/em&gt; supposed to do this during training, I found out why. Yes, I discovered that I actually could manage a 7:15 min/mile pace over 20 miles, but I also managed to injure my leg in the process. To make matters worse, I'd miscalculated where I was joining the schedule, and it left me with only 2 weeks to taper before the race rather than 3, and most of those 2 weeks were spent just resting my leg rather than doing the suggested mileage.
&lt;/p&gt; &lt;p&gt;
With that, race day was upon me. I was aiming for a 3h15m finish - but given the last few weeks, this was probably unrealistic.
&lt;/p&gt; &lt;p&gt;
The atmosphere around the start was tense, but an amazing experience - very very well organised I thought: a record turn-out of 12,500 people this year.
&lt;/p&gt; &lt;p&gt;
After a lot of limbering up, and shedding of bin-liners, the starting gun fired. We moved very slowly at first, eventually getting past the starting line. The race started gently: I was in the middle of the 3:30-4:15 pen and first few miles were depressingly slow, difficult to overtake slower runners and I was already well down on my target. They say one of the most common mistakes by new marathon runners is starting too fast, so I kept repeating that to myself, and tried to stay calm.
&lt;/p&gt; &lt;p&gt;
By mile 5, I'd escaped the crowds in &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=phoenix+park+chesterfield+av&amp;sll=53.359926,-6.319113&amp;sspn=0.032731,0.057678&amp;ie=UTF8&amp;hq=&amp;hnear=Chesterfield+Ave,+Clonsilla,+County+Fingal,+Ireland&amp;ll=53.359004,-6.323147&amp;spn=0.032732,0.057678&amp;z=14&quot;&gt;Phoenix Park&lt;/a&gt; and picked up the pace, passing Kev &amp; Nic at mile 10 who were out cheering for me (thanks!!) and managed to keep pretty much on target till about mile 16 where I started slowing down, only to slow down further on miles 20/21 (the dreaded &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=roebuck+road&amp;sll=53.301326,-6.221266&amp;sspn=0.008194,0.01442&amp;ie=UTF8&amp;hq=&amp;hnear=Roebuck+Rd,+Stillorgan,+County+Dun+Laoghaire-Rathdown,+Ireland&amp;ll=53.302416,-6.223412&amp;spn=0.016388,0.028839&amp;z=15&amp;iwloc=A&quot;&gt;Roebuck/Foster Avenue&lt;/a&gt; hill) The missus &amp; the kids, and Mum &amp; Dad were cheering for me there, and I spotted my friend Barry too, who was marshaling for the race: familiar faces making the run a lot easier.
&lt;p&gt; &lt;p&gt;
In general, the support from the crowd on the day was phenomenal: I really hope the people who got up early on an October Bank Holiday Monday appreciate what a difference them cheering really makes to runners - and, to the lady watching the race who gave me a jelly baby around &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=kimmage+road+west&amp;sll=53.312903,-6.306667&amp;sspn=0.016384,0.028839&amp;ie=UTF8&amp;hq=&amp;hnear=Kimmage+Rd+W,+Ireland&amp;ll=53.313493,-6.308341&amp;spn=0.016383,0.028839&amp;z=15&quot;&gt;Kimmage&lt;/a&gt; to whom I forgot to say &quot;thankyou&quot; - many many thanks, it was yummy, and much needed!
&lt;/p&gt; &lt;p&gt;
Things took a turn for the worse though around mile 22 - going down &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;q=Nutley+Ln,+Dublin,+County+Dublin+City,+Ireland&amp;sll=53.385248,-6.16666&amp;sspn=0.0059,0.013433&amp;ie=UTF8&amp;cd=1&amp;geocode=FYGKLQMdSx6h_w&amp;split=0&amp;hq=&amp;hnear=Nutley+Ln,+Dublin,+County+Dublin+City,+Ireland&amp;z=15&quot;&gt;Nutley Lane&lt;/a&gt;, I felt a twinge in my thighs that I'd felt once before during training: the onset of cramp. I had to stop stretch/shake out my legs periodically, eat more jelly babies and start again. My times were tumbling now, and I watched in dismay as the 3:30 pacer balloons passed me on &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=merrion+road&amp;sll=53.316225,-6.218165&amp;sspn=0.011819,0.026865&amp;ie=UTF8&amp;hq=&amp;hnear=Merrion+Rd,+Dublin,+County+Dublin+City,+Ireland&amp;ll=53.324773,-6.218777&amp;spn=0.023633,0.05373&amp;z=14&amp;iwloc=A&quot;&gt;Merrion Road&lt;/a&gt;. For the rest of the race, I kept going as fast as I could manage, but it wasn't enough.
&lt;/p&gt; &lt;p&gt;
Rounding the final corner onto &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=pearse+st&amp;sll=53.324773,-6.218777&amp;sspn=0.023633,0.05373&amp;ie=UTF8&amp;hq=&amp;hnear=Pearse+St,+Dublin,+County+Dublin+City,+Ireland&amp;ll=53.344787,-6.247573&amp;spn=0.011811,0.026865&amp;z=15&amp;iwloc=A&quot;&gt;Pearse St.&lt;/a&gt; I went for it, eating my remaining sweeties and telling myself it'd soon be over. I crossed the line, and stopped my watch, which told me 3:30:46. I was tired but happy - I'd missed the 3:15 target, but there's always the next marathon.
&lt;/p&gt; &lt;p&gt;
As for official timing, I'm still a wee bit confused - the timing service that was tied to the chip on my bib told me I'd finished in 3:32:04, yet when I visit the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://dublinmarathon.ie/results.php&quot;&gt;results page&lt;/a&gt; on the Dublin Marathon website and search for my number (4871), at the time of writing, it confirms that chip time of 3:34:04, but tells me my finish time is 3:30:34. I know there's a difference between chip time and gun-time, but I'd always thought gun-time should be longer than chip-time (as it doesn't account for the time it takes you to actually reach the starting line, whereas chip time is registered from the moment you cross the start-line) Perhaps they got the numbers mixed up - 3:30:34 is closer to what was on my stopwatch. Anyway - it doesn't really matter.
&lt;/p&gt; &lt;p&gt;
I had a ball on my first marathon - I finished 1516&lt;sup&gt;th&lt;/sup&gt; out of a field of 12,500, which I'm happy about. I've got memories I'll never forget and a belief in myself that I never had before. Sure, I'm walking around like &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.imdb.com/media/rm2567346176/nm0000472&quot;&gt;Boris Karloff&lt;/a&gt; today (legs rather sore) and am wishing our house didn't have stairs, but I'm extremely proud of what I've achieved. I think I'll keep running and would strongly recommend everyone to have a go at completing a marathon: it's a truly unforgettable experience.
&lt;/p&gt; &lt;p&gt;
Here's the route map, and the splits from my watch - I missed a few mile markers here &amp; there, so just rolled up those times into a single row. As you can see, I lack consistency here - so that's something to work on for next time.
&lt;/p&gt; &lt;p&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://dublinmarathon.ie/map-2009.pdf&quot;&gt;
&lt;img src=&quot;http://blogs.sun.com/timf/resource/dcm-route.png&quot;/&gt;
&lt;/a&gt;
&lt;/p&gt; &lt;p&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;th&gt;Mile&lt;/th&gt;&lt;th&gt;Time by my watch (&lt;em&gt;min:sec&lt;/em&gt;)&lt;/th&gt;
&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;8:02&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;2, 3, 4&lt;/td&gt;&lt;td&gt;26:12&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;7:55&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;7:40&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;7:21&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;8&lt;/td&gt;&lt;td&gt;7:06&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;9&lt;/td&gt;&lt;td&gt;7:02&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;10&lt;/td&gt;&lt;td&gt;7:10&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;11&lt;/td&gt;&lt;td&gt;7:06&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;12&lt;/td&gt;&lt;td&gt;7:36&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;13&lt;/td&gt;&lt;td&gt;7:33&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;14&lt;/td&gt;&lt;td&gt;7:16&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;15&lt;/td&gt;&lt;td&gt;7:33&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;16&lt;/td&gt;&lt;td&gt;7:50&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;17&lt;/td&gt;&lt;td&gt;7:40&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;18&lt;/td&gt;&lt;td&gt;7:47&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;19&lt;/td&gt;&lt;td&gt;8:02&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;20&lt;/td&gt;&lt;td&gt;8:31&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;21&lt;/td&gt;&lt;td&gt;8:41&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;7:57&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;23, 24&lt;/td&gt;&lt;td&gt;18:34 &lt;em&gt;(yeah, cramps started about here)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;25&lt;/td&gt;&lt;td&gt;9:33&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;26&lt;/td&gt;&lt;td&gt;8:33&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0.2&lt;/td&gt;&lt;td&gt;1:52&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;/p&gt;&lt;/em&gt;</description>
         <author>timf</author>
         <guid isPermaLink="false">http://blogs.sun.com/timf/entry/26_2_miles</guid>
         <pubDate>Mon, 26 Oct 2009 23:21:54 -0700</pubDate>
      </item>
      <item>
         <title>rohrer: Join us at LISA (Large Installation System Administration Conference)</title>
         <link>http://blogs.sun.com/rohrer/entry/join_us_at_lisa_large</link>
         <description>&lt;p&gt;&lt;img align=&quot;right&quot; hspace=&quot;4&quot; vspace=&quot;4&quot;/&gt;&lt;/p&gt;&lt;p&gt;The good folks at USENIX are hosting the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.usenix.org/event/lisa09/&quot;&gt;23rd annual LISA&lt;/a&gt; (Large Installation System Administration Conference) this year in Baltimore, Maryland November 1-6.&lt;/p&gt; &lt;p&gt;I hope you can join us there... We have quite a few Solaris topics and we'll be showcasing some of our leading OS technologies like Solaris Networking, ZFS, Solaris Cluster, our built-in virtualization technologies including LDOMs, Solaris Containers and the like.&lt;/p&gt; &lt;p&gt;Our Solaris System Administration Training and Certification folks will also be on hand with the latest updates on courses and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sun.com/training/certification/solaris/scsa.xml&quot;&gt;certification paths&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;You'll also want to meet Rick Ramsey, the creative force behind &lt;a rel=&quot;nofollow&quot;&gt;BigAdmin&lt;/a&gt;, the definitive source for Solaris and Sun system administrators. Get your latest tips and tricks here and earn &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sun.com/bigadmin/giveaway/&quot;&gt;BigAdmin bucks&lt;/a&gt; for submitting your content.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;http://www.sun.com/bigadmin/home/images/bigadminHeader.jpg&quot;/&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;We'll have some of the latest Solaris administration books there to hand out to lucky folks who take our surveys -- &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Solaris-10-System-Administration-Essentials/dp/013700009X&quot;&gt;Solaris System Administration Essentials&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Solaris-Security-Essentials-Microsystems-Engineers/dp/0137012330/ref=pd_bxgy_b_img_b&quot;&gt;Solaris 10 Security Essentials&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Solaris-Internals-TM-OpenSolaris-Architecture/dp/0131482092/ref=pd_sim_b_3&quot;&gt;Solaris Internals&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Solaris-Performance-Tools-Techniques-OpenSolaris/dp/0131568191/ref=pd_bxgy_b_img_b&quot;&gt;Solaris Performance and Tools&lt;/a&gt; as well as some of our OpenSolaris titles -- &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/OpenSolaris-Bible-Wiley-Nicholas-Solter/dp/0470385480/ref=pd_sim_b_1&quot;&gt;OpenSolaris Bible&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/Pro-OpenSolaris-Harry-Foxwell/dp/1430218916/ref=pd_sim_b_7&quot;&gt;Pro OpenSolaris&lt;/a&gt;.&lt;/p&gt; &lt;p&gt; &lt;img src=&quot;http://ecx.images-amazon.com/images/I/51wH1zgFj4L._SL500_SS100_.jpg&quot;/&gt; &lt;img src=&quot;http://ecx.images-amazon.com/images/I/51XNYTNw6UL._SL500_SS100_.jpg&quot;/&gt; &lt;img src=&quot;http://www.amazon.com/Solaris-Internals-TM-OpenSolaris-Architecture/dp/0131482092/ref=pd_sim_b_3&quot;/&gt;&lt;img src=&quot;http://www.amazon.com/Solaris-Internals-TM-OpenSolaris-Architecture/dp/0131482092/ref=pd_sim_b_3&quot;/&gt; &lt;img src=&quot;http://ecx.images-amazon.com/images/I/51R5YC3Q31L._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS100_.jpg&quot;/&gt;&lt;img src=&quot;http://ecx.images-amazon.com/images/I/5117F9ZCSXL._SL500_SS100_.jpg&quot;/&gt; &lt;img src=&quot;http://ecx.images-amazon.com/images/I/51UwDEaIx3L._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS100_.jpg&quot;/&gt; &lt;img src=&quot;http://ecx.images-amazon.com/images/I/51kMpY%2B0dQL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS100_.jpg&quot;/&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt; On November 3 we'll also be hosting the Solaris Security Summit. Come hear our crack team of security experts and get the latest updates on Solaris security features. &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://solarissecurity.eventbrite.com/&quot;&gt;Register for this free event&lt;/a&gt;. Walk-ins will also be welcome.&lt;br /&gt;&lt;/p&gt; &lt;p&gt; Check out the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sun.com/software/solaris/lisa/&quot;&gt;complete list of Solaris activities&lt;/a&gt; including some great Solaris training hosted by USENIX.&lt;/p&gt; &lt;p&gt;We'll be in booths 100-104 in the Vendor Exhibit area... please drop by and introduce yourself.&lt;br /&gt;&lt;/p&gt;</description>
         <author>rohrer</author>
         <guid isPermaLink="false">http://blogs.sun.com/rohrer/entry/join_us_at_lisa_large</guid>
         <pubDate>Mon, 26 Oct 2009 10:39:20 -0700</pubDate>
      </item>
      <item>
         <title>: A Small and Energy-Efficient OpenSolaris Home Server</title>
         <link>http://feedproxy.google.com/~r/ConstantinsSunBlog/~3/fNhm6-mspeY/a_small_and_energy_efficient</link>
         <description>&lt;p&gt;In an &lt;a rel=&quot;nofollow&quot;&gt;earlier entry&lt;/a&gt;, I outlined my most important requirements for an optimal OpenSolaris Home Server. It should:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Run &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.opensolaris.org&quot;&gt;OpenSolaris&lt;/a&gt; in order to fully leverage &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.opensolaris.org/os/community/zfs/&quot;&gt;ZFS&lt;/a&gt;,&lt;/li&gt; &lt;li&gt;Support &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Dynamic_random_access_memory#Errors_and_error_correction&quot;&gt;ECC memory&lt;/a&gt;, so data is protected at all times,&lt;/li&gt; &lt;li&gt;Be power-efficient, to help the environment and control costs,&lt;/li&gt; &lt;li&gt;Use a moderate amount of space and be quiet, for some extra WAF points.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;So I went shopping and did some research on possible components. Here's what I came up with:&lt;/p&gt; &lt;h2&gt;Choosing a Platform: AMD or Intel?&lt;/h2&gt; &lt;p&gt;&lt;strong&gt;Disclosure&lt;/strong&gt;: My wife works for AMD, so I may be slightly biased. But I think the following points are still very valid.&lt;/p&gt; &lt;p&gt;Intel is currently going through a significant change in architecture: The older &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Core_2&quot;&gt;Core 2&lt;/a&gt; microarchitecture was based on the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Front_side_bus&quot;&gt;Front Side Bus (FSB)&lt;/a&gt;, where the CPU connects to the Northbridge which contains the memory controller and connects to the memory, while also connecting to the Southbridge which connects to I/O.&lt;/p&gt; &lt;p&gt;Now, they are switching to the new &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Intel_Nehalem_(microarchitecture)&quot;&gt;Nehalem&lt;/a&gt; microarchitecture which has a memory-controller built into the CPU and a scalable I/O bus called &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Quickpath&quot;&gt;Quickpath Interconnect&lt;/a&gt; that connects CPUs with other CPUs and/or IO.&lt;/p&gt; &lt;p&gt;Unfortunately, none of these architectures seem to support ECC memory at consumer level pricing. The cheapest Intel-based ECC-motherboard I could find had still more than double the cost of an AMD-based one. Even though the new Intel Core i7 series is based on Nehalem and thus could support ECC memory easily in theory, Intel somehow chose to not expose this feature. In addition, Core i7 CPUs are relatively new and there are not yet any power efficient versions available.&lt;/p&gt; &lt;p&gt;The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Intel_atom&quot;&gt;Intel Atom&lt;/a&gt; processor series may be interesting for a home server from a pure power-saving perspective, but again, Atom motherboards don't support ECC and once your workload becomes a little more demanding (like transcoding or some heavier compiling), you'll miss the performance of a more powerful CPU.&lt;/p&gt; &lt;p&gt;AMD on the other hand has a number of attractive points for the home server builder:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;AMD consumer CPUs use the same microarchitecture than their professional CPUs (currently, it's the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/AMD_K10&quot;&gt;K10&lt;/a&gt; design). They only vary by number of cores, cache size, number of HT channels, TDP and frequency, which are all results of the manufacturing process. All other microarchitecture features are the same. When using an AMD consumer CPU, you essentially get a &quot;smaller brother&quot; of their high end CPUs.&lt;/li&gt; &lt;li&gt;This means you'll also get a built-in memory-controller that supports ECC.&lt;/li&gt; &lt;li&gt;This also means less chips to build a system (no Northbridge needed) and thus lower power-consumption.&lt;/li&gt; &lt;li&gt;AMD has been using the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/HyperTransport&quot;&gt;HyperTransport Interconnect&lt;/a&gt; for quite a while now. This is a fast, scaleable interconnect technology that has been on the market for quite a while so chipsets are widely available, proven and low-cost.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;So it was no suprise that even low-cost AMD motherboards at EUR 60 or below are perfectly capable of supporting ECC memory which gives you an important server feature at economic cost.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;My platform conclusion&lt;/strong&gt;: Due to ECC support, low power consumption and good HyperTransport performance at low cost, AMD is an excellent platform for building a home server.&lt;/p&gt; &lt;h2&gt;AMD Athlon II X2 240e: A Great Home Server CPU&lt;/h2&gt; &lt;img alt=&quot;An AMD Athlon II X2 240e CPU&quot; align=&quot;left&quot;/&gt; &lt;p&gt;While I was shopping around for AMD Athlon CPUs and just before I was about to decide for an AMD Athlon II X2 variant, AMD offered me one of their brand new &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amd.com/de/products/desktop/processors/athlon-ii-x2/Pages/AMD-athlon-ii-x2-processor-model-numbers-feature-comparison.aspx&quot;&gt;AMD Athlon II X2 240e&lt;/a&gt; for testing, provided that I blogged about it. Thank you, AMD!&lt;/p&gt; &lt;p&gt;Introduced in October 20th, this CPU is part of the newest energy-efficient range of consumer CPUs from AMD. It has 2 cores (hence X2), snazzy 2.8 GHz and a 2 MB L2 cache. What's most important: The TDP for this CPU is only 45W, meaning that even under the highest stress, this CPU will never exceed 45W of power consumption. Including the memory controller. As you've guessed already, the &quot;e&quot; in the model number stands for &quot;efficient&quot;.&lt;/p&gt; &lt;p&gt;There's an important trade-off to consider for home server CPUs: For instance, the AMD Phenom II series would have been more powerful because it has an additional L3 cache, but their TDP is at 65W minimum. While big caches (both with AMD and Intel) are good for compute-intensive operations and games, they can't help much in a home server context: Home servers spend most of their non-idle time transferring data from A to B (files, videos, music) and a cache doesn't help much here, cause it's just another stop between I/O and CPU to pass by. Transferred data hardly gets re-used.&lt;/p&gt; &lt;p&gt;Instead, for home servers, sacrificing the L3 cache for lower power consumption makes a lot of sense: You pay less for the CPU and you pay less for your power bill without sacrificing too much (if any) server relevant performance.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;My CPU conclusion&lt;/strong&gt;: For home servers, AMD Athlon II &quot;e&quot; series are perfect, because they save power and money and do the job very well. For games you might choose a more powerful Phenom II processor, which delivers better compute power at a slightly higher power bill.&lt;/p&gt; &lt;h2&gt;Finding the Right Motherboard&lt;/h2&gt; &lt;p&gt;After nailing the Platform and CPU question, I needed a motherboard. This can be a confusing process: For each CPU there are different chipsets, then there are different vendors offering motherboards based on these chipset, and then they offer different variants with different features. What should a good home server motherboard offer?&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;OpenSolaris support&lt;/strong&gt;: Most motherboards &quot;just work&quot; with OpenSolaris, especially if they've been available for some time and/or use some well-known chipsets. To remove any doubts, consult the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sun.com/bigadmin/hcl/data/os/&quot;&gt;OpenSolaris Hardware Compatibility List&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;ECC&lt;/strong&gt;: Yes, AMD's ECC support is in the CPU, but just in case, we want to make sure that the motherboard exposes this feature to the user.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Integrated graphics&lt;/strong&gt;: We only need a graphics card for installation, BIOS-settings/updates or debugging. The graphics shouldn't consume much power and doesn't need to deliver a lot of performance. Therefore, integrated graphics is just fine for a home server, and it saves some precious slot space, too.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Enough SATA ports&lt;/strong&gt;: You need two ports for a mirrored root pool, another two for a mirrored data pool and then some more for hot-spare or if you want to spread your data pool across 4 or more disks. Many motherboards come with 6 SATA ports, which is ok.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Stability&lt;/strong&gt;: If you have the choice between different variants, try to go for the &quot;business&quot; or &quot;quality&quot; version. It will likely have slightly better components and be better tuned towards 24/7 operation than the &quot;performance&quot;, &quot;gaming&quot; or &quot;overclocker&quot; type boards which try to squeeze out more performance at the expense of durability.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Here's a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://opensolaris.org/jive/thread.jspa?messageID=399065&quot;&gt;very useful email thread on the OpenSolaris ZFS-discuss mailing list&lt;/a&gt; about CPU and motherboard options, pros and cons and user experiences. In this discussion, F.Wessels recommended the M3A78 series from Asus so I went for the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://uk.asus.com/product.aspx?P_ID=L8sWyNMUTe1HHyAc&quot;&gt;M3A78-CM&lt;/a&gt; motherboard, which is their &quot;business class&quot; variant, priced at around 60 Euros and it has 6 SATA and 12(!) USB ports.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;My motherboard conclusion&lt;/strong&gt;: The Asus M3A78-CM motherboard has everything I need for a home server at a very low cost, and it's proven to run OpenSolaris just fine.&lt;/p&gt; &lt;h2&gt;The Case: Antec NSK-1380&lt;/h2&gt; &lt;p&gt;I won't go into much details about the case. My goal was to find one that can support at least 4 disks while being as compact as possible. The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.antec.com/Believe_it/product.php?id=MzA=&quot;&gt;Antec NSK-1380&lt;/a&gt; was the smallest case I could find that supports 4 disks. It comes with a built-in power supply, an extra fan, some features to help with keeping noise down and it looked ok for a PC case.&lt;/p&gt; &lt;h2&gt;Miscellaneous Tips&amp;amp;Tricks&lt;/h2&gt; &lt;p&gt;While putting everything together, I ran into some smaller issues here and there. Here's what I came up with to solve them:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;CPU cooler&lt;/strong&gt;: My CPU being a gift from AMD, it came without a cooler. I chose the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://zalman.com/ENG/product/Product_Read.asp?idx=312&quot;&gt;Zalman CNPS 7000C AL-CU&lt;/a&gt; because it was the cheapest cooler that was less than 6cm high, which is a limit imposed by the case. Unfortunately, it collides with one of the 4 harddisk slots by a mere couple of millimeters, so I need to figure out how to best cut or bend the blades to make room for the disk without hurting the cooler too much. I'm not very familiar with PC CPU coolers, but I suspect that with 45W TDP one could even get away with a passive cooler. The Zalman came with a throttle circuit which I set to the minimum speed. This seems to be more than enough and it makes the system really silent, but I need some more thorough testing to confirm. Drop me a comment if you are familiar with passive cooling of 45W TDP CPUs.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Boot disks&lt;/strong&gt;: We need something to boot our home server from, so boot disks are unavoidable. I say &quot;disks&quot;, because they should always be mirrored. But other than providing a way of booting, they tend to get in the way, especially when space is a precious resource in a small case. Some people therefore boot from CF cards or other small flash media. This can be a nice solution, especially combined with an IDE-to-CF adapter, but consumer level flash media is either very slow (a typical OS install can take many hours!) or very expensive. While looking for alternatives, I found a nice solution: The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.scythe-eu.com/en/products/pc-accessory/slot-rafter.html&quot;&gt;Scythe Slot Rafter&lt;/a&gt; fits into an unused PCI slot (taking up the breadth of two) and provides space for mounting four 2.5&quot; disks at just EUR 5. These disks are cheap, good enough and I had an unused one lying around anyway, so that was a perfect solution for me.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Extra NIC&lt;/strong&gt;: The Asus M3A78-CM comes with a Realtek NIC and some people complained about driver issues with OpenSolaris. So I followed the advice on the aforementioned Email thread and bought an Intel NIC which is well supported, just in case.&lt;/li&gt; &lt;li&gt;&lt;strong&gt;USB boot&lt;/strong&gt;: I couldn't get the M3A78-CM to boot from USB at all. I tried a USB stick and a USB disk and different boot settings in the BIOS to no avail. I gave up and built in a DVD-ROM drive from my old server just to install OpenSolaris, then built it out again. &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.brosowski.biz/&quot;&gt;Jan Brosowski&lt;/a&gt; has the same motherboard and he found out that you need to update to the latest BIOS revision and use the USB port that's right below the Ethernet port for USB boot to work. YMMV :).&lt;/li&gt; &lt;/ul&gt; &lt;h2&gt;The Result&lt;/h2&gt; &lt;p&gt;And now for the most important part: How much power does the system consume? I did some testing with one boot disk and 4GB of ECC RAM and measured about 45W idle. While stressing CPU cores, RAM and the disk with multiple instances of &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://sysbench.sourceforge.net/&quot;&gt;sysbench&lt;/a&gt;, I could not get the system to consume more than 80W. All in all, I'm very pleased with the numbers, which are about half of what my old system used to consume. I didn't do any detailed performance tests yet, but I can say that the system feels very responsive and compile runs just rush along the screen. CPU temperature won't go beyond the low 50Cs on a hot day, despite using the lowest fan speed, so cooling seems to work well, too.&lt;/p&gt; &lt;p&gt;I just started full 24/7 operation of my new home server this weekend, so I hope I'll have some more long-term experience about performance and stability in a few months. Meanwhile, I'm in the middle of configuring the system, installing some services and implementing a new way of managing my home server. But that's probably the topic of another blog post...&lt;/p&gt; &lt;p&gt;Do you agree with the home server conclusions I reached in this post? Or would you suggest alternatives? Do you have experiences to share with the mentioned components? Or do you have suggestions and tips on how to get the most out of them? Let me know by posting a comment here!&lt;/p&gt; &lt;p&gt;Many thanks go to Michael Schmid of AMD for sending me the AMD Athlon II X2 240e CPU.&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=fNhm6-mspeY:I3RC9l2q6uo:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=fNhm6-mspeY:I3RC9l2q6uo:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=fNhm6-mspeY:I3RC9l2q6uo:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?i=fNhm6-mspeY:I3RC9l2q6uo:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=fNhm6-mspeY:I3RC9l2q6uo:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?i=fNhm6-mspeY:I3RC9l2q6uo:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=fNhm6-mspeY:I3RC9l2q6uo:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/ConstantinsSunBlog/~4/fNhm6-mspeY&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://blogs.sun.com/constantin/entry/a_small_and_energy_efficient</guid>
         <pubDate>Sun, 25 Oct 2009 15:22:05 -0700</pubDate>
      </item>
      <item>
         <title>bobp: Around Oracle Open World in less than 180 hours</title>
         <link>http://blogs.sun.com/bobp/entry/around_oracle_open_world_in</link>
         <description>&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.oracle.com/us/openworld/registration.htm?src=6773924&amp;amp;Act=109&quot;&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;left&quot; src=&quot;http://www.docusphere.com/files/images/Oracle%20OpenWorld%20Banner%20Ad%20-%20200x200.gif&quot;/&gt;&lt;/a&gt;The turnout of customers and partners of the enterprise technology segment certainly did not disappoint at &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.oracle.com/us/openworld/registration.htm?src=6773924&amp;amp;Act=109&quot;&gt;Oracle Open World&lt;/a&gt; this year.&amp;nbsp; While other large IT events have been canceled this year do to the economic downturn, Oracle Open World attendance of 42000 IT professionals was basically unaffected from the 2008 attendance.&amp;nbsp; Even more impressive was that virtually every enterprise vendor that partners, competes and analyzes Oracle attended this yearly gathering in downtown San Francisco. The multiple exhibit halls, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ondemandpreview.vportal.net/&quot;&gt;sessions&lt;/a&gt;, events, activities and networking certainly created an environment for plenty of information exchange.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Every vendor at Oracle Open World is a cog (of varying sizes from small to large) that builds into the enterprise &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Information_technology&quot;&gt;IT&lt;/a&gt; stack of:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;applications&lt;/font&gt;&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt; &lt;li&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;middleware&lt;/font&gt;&lt;/font&gt;&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;database&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://farm1.static.flickr.com/73/174336503_46a122d33e.jpg&quot;/&gt;Every item from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.networkworld.com/topics/storage-management.html&quot;&gt;storage management&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Computation&quot;&gt;computational speeds&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Computer_network&quot;&gt;networking feeds&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Disaster_recovery&quot;&gt;disaster recovery&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Hosted_service_provider&quot;&gt;hosted IT&lt;/a&gt;, employee &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Collaborative_software&quot;&gt;productivity tools&lt;/a&gt; and various communication mediums all factor back into connecting the above 3 areas of the enterprise stack.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;In my opinion enterprise IT is becoming much less driven by vendor loyalty and a great price to the vendors that can provide competitive advantage to their customers.&amp;nbsp; During an economic downturn as well as post recovery, the competitive advantage will more than outshine a good price.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Blog is available also at: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://bobporras.wordpress.com/&quot;&gt;http://bobporras.wordpress.com/&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/i&gt;&lt;/p&gt;</description>
         <author>bobp</author>
         <guid isPermaLink="false">http://blogs.sun.com/bobp/entry/around_oracle_open_world_in</guid>
         <pubDate>Wed, 21 Oct 2009 19:08:08 -0700</pubDate>
      </item>
      <item>
         <title>eschrock: Shadow Migration Internals</title>
         <link>http://blogs.sun.com/eschrock/entry/shadow_migration_internals</link>
         <description>&lt;p&gt;In my &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/eschrock/entry/shadow_migration&quot;&gt;previous entry&lt;/a&gt;, I described the overall architecture of shadow migration. This post will dive into the details of how it's actually implemented, and the motivation behind some of the original design decisions.&lt;/p&gt; &lt;h3&gt;VFS interposition&lt;/h3&gt; &lt;p&gt;A very early desire was that we wanted something that could migrate data from many different sources. And while ZFS is the primary filesystem for Solaris, we also wanted to allow for arbitrary local targets. For this reason, the shadow migration infrastructure is implemented entirely at the VFS (Virtual FileSystem) layer. At the kernel level, there is a new 'shadow' mountpoint option, which is the path to another filesystem on the system. The kernel has no notion of whether a source filesystem is local or remote, and doesn't differentiate between synchronous access and background migration. Any filesystem access, whether it is local or over some other protocol (CIFS, NFS, etc) will use the VFS interfaces and therefore be fed through our interposition layer.&lt;/p&gt; &lt;p&gt;The only other work the kernel does when mounting a shadow filesystem is check to see if the root directory is empty. If it is empty, we create a blank SUNWshadow extended attribute on the root directory. Once set, this will trigger all subsequent migration as long as the filesystem is always mounted with the 'shadow' attribute. Each VFS operation first checks to see if the filesystem is shadowing another (a quick check), and then whether the file or directory has the SUNWshadow attribute set (slightly more expensive, but cached with the vnode). If the attribute isn't present, then we fall through to the local filesystem. Otherwise, we migrate the file or directory and then fall through to the local filesystem.&lt;/p&gt; &lt;h3&gt;Migration of directories&lt;/h3&gt; &lt;p&gt;In order to migrate a directory, we have to migrate all the entriest. When migrating an entry for a file, we don't want to migrate the complete contents until the file is accessed, but we do need to migrate enough metadata such that access control can be enforced. We start by opening the directory on the remote side whose relative path is indicated by the SUNWshadow attribute. For each directory entry, we create a sparse file with the appropriate ownership, ACLs, system attributes and extended attributes.&lt;/p&gt; &lt;p&gt;Once the entry has been migrated, we then set a SUNWshadow attribute that is the same as the parent but with &quot;/ &quot; appended where &quot;name&quot; is the directory entry name. This attribute always represents the relative path of the unmigrated entity on the source. This allows files and directories to be arbitrarily renamed without losing track of where they are located on the source. It also allows the source to change (i.e. restored to a different host) if needed. Note that there are also types of files (symlinks, devices, etc) that do not have contents, in which case we simply migrate the entire object at once.&lt;/p&gt; &lt;p&gt;Once the diretory has been completely migrated, we remove the SUNWshadow attribute so that future accesses all use the native filesystem. If the process is interrupted (system reset, etc), then the attribute will still be on the parent directory so we will migrate it again when the user (or background process) tries to access it.&lt;/p&gt; &lt;h3&gt;Migration of files&lt;/h3&gt; &lt;p&gt;Migrating a plain file is much simpler. We use the SUNWshadow attribute to locate the file on the source, and then read the source file and write the corresponding data to the local filesystem. In the current software version, this happens all at once, meaning the first access of a large file will have to wait for the entire file to be migrated. Future software versions will remove this limitation and migrate only enough data to satisfy the request, as well as allowing concurrent accesses to the file. Once all the data is migrated, we remove the SUNWshadow attribute and future accesses will go straight to the local filesystem.&lt;/p&gt; &lt;h3&gt;Dealing with hard links&lt;/h3&gt; &lt;p&gt;One issue we knew we'd have to deal with is hard links. Migrating a hard link requires that the same file reference appear in multiple locations within the filesystem. Obviously, we do not know every reference to a file in the source filesystem, so we need to migrate these links as we discover them. To do this, we have a special directory in the root of the filesystem where we can create files named by their source FID. A FID (file ID) is a unique identifier for the file within the filesystem. We create the file in this hard link directory with a name derived from its FID. Each time we encounter a file with a link count greater than 1, we lookup the source FID in our special directory. If it exists, we create a link to the directory entry instead of migrating a new instance of the file. This way, it doesn't matter if files are moved around, removed from the local filesystem, or additional links created. We can always recreate a link to the original file. The one wrinkle is that we can migrate from nested source filesystems, so we also need to track the FSID (filesystem ID) which, while not persistent, can be stored in a table and reconstructed using source path information.&lt;/p&gt; &lt;h3&gt;Completing migration&lt;/h3&gt; &lt;p&gt;A key feature of the shadow migration design is that it treats all accesses the same, and allows background migration of data to be driven from userland, where it's easier to control policy. The downside is that we need the ability to know when we have finished migrating every single file and directory on the source. Because the local filesystem is actively being modified while we are traversing, it's impossible to know whether you've visited every object based only on walking the directory hierarchy. To address this, we keep track of a &quot;pending&quot; list of files and directories with shadow attributes. Every object with a shadow attribute must be present in this list, though this list can contain objects without shadow attributes, or non-existant objects. This allows us to be synchronous when it counts (appending entries) and lazy when it doesn't (rewriting file with entries removed). Most of the time, we'll find all the objects during traversal, and the pending list will contain no entries at all. In the case we missed an object, we can issue an ioctl() to the kernel to do the work for us. When that list is empty we know that we are finished and can remove the shadow setting.&lt;/p&gt; &lt;h3&gt;ZFS integration&lt;/h3&gt; &lt;p&gt;The ability to specify the shadow mount option for arbitrary filesystems is useful, but is also difficult to manage. It must be specified as an absolute path, meaning that the remote source of the mount must be tracked elsewhere, and has to be mounted before the filesystem itself. To make this easier, a new 'shadow' property was added for ZFS filesystems. This can be set using an abstract URI syntax (&quot;nfs://host/path&quot;), and libzfs will take care of automatically mounting the shadow filesystem and passing the correct absolute path to the kernel. This way, the user can manage a semantically meaningful relationship without worrying about how the internal mechanisms are connected. It also allows us to expand the set of possible sources in the future in a compatible fashion.&lt;/p&gt; &lt;hr/&gt; &lt;p&gt;Hopefully this provides a reasonable view into how exactly shadow migration works, and the design decisions behind it. The goal is to eventually have this available in Solaris, at which point all the gritty details should be available to the curious.&lt;/p&gt;</description>
         <author>eschrock</author>
         <guid isPermaLink="false">http://blogs.sun.com/eschrock/entry/shadow_migration_internals</guid>
         <pubDate>Sun, 18 Oct 2009 14:49:40 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Virtualization video</title>
         <link>http://blogs.sun.com/moroplace/entry/virtualization_video</link>
         <description>&lt;p&gt;&lt;iframe class=&quot;embeddedvideo&quot; height=&quot;340&quot; width=&quot;560&quot; src=&quot;http://www.youtube.com/v/57XDSrwEdRg&amp;amp;hl=it&amp;amp;fs=1&amp;amp;&quot; type=&quot;application/x-shockwave-flash&quot;/&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/virtualization_video</guid>
         <pubDate>Thu, 08 Oct 2009 08:12:44 -0700</pubDate>
      </item>
      <item>
         <title>roch: CMT, NFS and 10 Gbe</title>
         <link>http://blogs.sun.com/roch/entry/cmt_nfs_and_10_gbe</link>
         <description>Now that we have Gigabytes/sec class of Network Attached &lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://www.sun.com/storage/openstorage/&quot;&gt;OpenStorage&lt;/a&gt; and
highly threaded &lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://www.sun.com/servers/coolthreads/overview/index.jsp&quot;&gt;CMT&lt;/a&gt;
servers to attach from you figure just connecting the two would be
enough to open the pipes for immediate performance. Well ... almost.&lt;br&gt;&lt;br&gt; Our openstorage system can deliver great &lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/brendan/&quot;&gt;performance&lt;/a&gt; but we often find
limitation on the client side. Now that NAS servers can deliver so much power,
their NAS client can themselve be powerful servers trying to deliver
GB/sec class services to the internet.&lt;br&gt;&lt;br&gt; CMT servers are great throughput engines for that, however they
deliver the goods when the whole stack is threaded. So in a recent
engagement, my collegue David Lutz found that we needed one tuning at
each of 4 levels in Solaris : IP, TCP, RPC and NFS.&lt;br&gt;&lt;br&gt; &lt;table border=&quot;1&quot;&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;th&gt;Service&lt;/th&gt;&lt;th&gt;Tunable&lt;/th&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;IP&lt;/td&gt;&lt;td&gt;ip_soft_ring_cnt&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;TCP&lt;/td&gt;&lt;td&gt;tcp_recv_hiwat&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;RPC&lt;/td&gt;&lt;td&gt;clnt_max_conns&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;NFS&lt;/td&gt;&lt;td&gt;nfs3_max_threads&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;NFS&lt;/td&gt;&lt;td&gt;nfs4_max_threads&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br&gt;&lt;br&gt; ip_soft_rings_cnt requires tuning up to Solaris 10 update 7.
The default value of 2 is not enough to sustain the high throughput in
a CMT environment. A value of 16 proved beneficial. &lt;br&gt;&lt;br&gt; In /etc/system :
&lt;pre&gt; * To drive 10Gbe in CMT in Solaris 10 update 7 : see blogs.sun.com/roch set ip_soft_rings_cnt=16
&lt;/pre&gt;&lt;br&gt;&lt;br&gt; The receive socket buffer size is critical to the TCP connection
performance. The buffer is not preallocated and memory is only
used if and when the application is not reading the data
it has requested. The default at 48K is from the age of 10MB/s Network cards
and 1GB/sec systems. Having a larger value allows the peer to not
throttle it's flow pending the returning TCP ACK. This is specially
critical in high latency environment, urban area networks or other
large fat network but it's also critical in the datacenter to reach a
reasonable portion of the 10Gbe available in today's NIC. It turns out
that NFS connection inherit the TCP default for the system and so it's
interesting to run with a value between 400K and 1MB :&lt;br&gt;&lt;br&gt; &lt;pre&gt; ndd -set /dev/tcp_recv_hiwat 400000
&lt;/pre&gt;&lt;br&gt;&lt;br&gt; But even with this, a single TCP connection is not enough to extract
the most out of 10Gbe on CMT. And the solaris rpc client will
establish a single connection to any of the server it connects to.
The code underneath is highly threaded but did suffer from a few bugs when trying to tune that number of connections notably &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6696163&quot;&gt;6696163&lt;/a&gt;,
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6817942&quot;&gt;6817942&lt;/a&gt;
both of which are fixed in S10 update 8.&lt;br&gt;&lt;br&gt; With that release, it becomes interesting to tune the number of RPC
connections for instance to 8.&lt;br&gt;&lt;br&gt; In /etc/system :
&lt;pre&gt; * To drive 10Gbe in CMT in Solaris 10 update 8 : see blogs.sun.com/roch set clnt_max_conns=8
&lt;/pre&gt;&lt;br&gt;&lt;br&gt; And finally, above the RPC layer, NFS does implement a pool of threads
per mount point to service asynchronous requests. These will be mostly
used in streaming workloads (readahead and writebehind) while other
synchronous requests will be issued within the context of the
application thread. The default number of asynchronous requests is
likely to limit performance in some streaming scenario. So I would experiment with&lt;br&gt;&lt;br&gt; In /etc/system :
&lt;pre&gt; * To drive 10Gbe in CMT in Solaris 10 update 7 : see blogs.sun.com/roch set nfs3_max_threads=32 set nfs4_max_threads=32
&lt;/pre&gt;&lt;br&gt;&lt;br&gt; As usual &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wiktionary.org/wiki/YMMV&quot;&gt;YMMV&lt;/a&gt; and use
them with the usual circumspection, remember that &lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide&quot;&gt;tuning
is evil&lt;/a&gt; but it's better to know about these factors than being in
the dark and stuck with lower than expected performance.&lt;br&gt;&lt;br&gt;</description>
         <author>roch</author>
         <guid isPermaLink="false">http://blogs.sun.com/roch/entry/cmt_nfs_and_10_gbe</guid>
         <pubDate>Wed, 07 Oct 2009 22:00:53 -0700</pubDate>
      </item>
      <item>
         <title>bobp: Technology spending? Economic growth? Have you heard of UAE?</title>
         <link>http://blogs.sun.com/bobp/entry/technology_spending_economic_growth_have</link>
         <description>&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Recent news of increased economic stability in the world is comforting.&amp;nbsp; However how much of it is based on sound fundamentals?&amp;nbsp; If you are an investor or run a business where in the world do you want to &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.gulfnews.com/opinion/editorial_opinion/nation/10351917.html&quot;&gt;invest for growth and equity&lt;/a&gt;?&amp;nbsp; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.tradingeconomics.com/Economics/GDP-Per-Capita-PPP.aspx?Symbol=AED&quot;&gt;&lt;img align=&quot;left&quot; vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;-1&quot;/&gt;United Arab Emerates&lt;/a&gt; may be a place of interest.&amp;nbsp; The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/United_Arab_Emirates&quot;&gt;UAE&lt;/a&gt; growth rate in GDP is astounding.&amp;nbsp; While not all economic indicators are objectively sound, you have to speculate where can you find a better risk/reward ratio.&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Western based banks have recovered their share price&lt;img align=&quot;right&quot; vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; src=&quot;http://blog.vcu.edu/abroad/dubai.jpg&quot;/&gt; as well as balance sheets, but new credit lending is still tight.&amp;nbsp; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ft.com/cms/s/0/fae38354-a960-11de-9b7f-00144feabdc0.html&quot;&gt;Loan losses are still surging&lt;/a&gt; in the West.&amp;nbsp; In my opinion there remains too many toxic, complex, leveraged, convoluted, imaginary assets out there that have not been exposed to date.&amp;nbsp; In order for the world economy to move forward the majority of &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ft.com/cms/s/3/45af4014-a752-11de-9467-00144feabdc0.html&quot;&gt;bad credit instruments&lt;/a&gt; need to be exposed and liquidated.&amp;nbsp; Otherwise we will continue to regain the false sense of consumer comfort that eventually got us into trouble.&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Most world economies are driven by consumer spending, but consumer savings is the buffer from repeating what we are seeing today.&amp;nbsp; One issue is where (globally) to place your assets into safe saving instruments with a secure and viable return.&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;I'm not sure anyone out there has all the answers...&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;i&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Blog is available also at: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://bobporras.wordpress.com/&quot;&gt;http://bobporras.wordpress.com/&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>bobp</author>
         <guid isPermaLink="false">http://blogs.sun.com/bobp/entry/technology_spending_economic_growth_have</guid>
         <pubDate>Wed, 07 Oct 2009 19:08:08 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Gartner Says Measurement and Monitoring of Data Centre Energy Use Will Remain Immature Through 2011</title>
         <link>http://blogs.sun.com/moroplace/entry/gartner_says_measurement_and_monitoring</link>
         <description>&lt;p&gt;&lt;p&gt;&lt;span lang=&quot;EN-GB&quot;&gt;The Gartner webinar conducted in April 2009 among&lt;br/&gt;
more than 130 attendees from the infrastructure and operations&lt;br/&gt;
(I&amp;amp;O) management found that although green IT issues remain at the&lt;br/&gt;
top of the agenda, respondents consider vendor and green procurement a&lt;br/&gt;
low priority activity for the next 18 months. Although 68 per cent of&lt;br/&gt;
respondents thought data centre energy management is their most&lt;br/&gt;
important green IT issue for the next 18 months, only 7 per cent&lt;br/&gt;
consider green procurement and pushing vendors to create more energy&lt;br/&gt;
efficient and greener solutions as their top priority.&lt;/span&gt;&lt;/p&gt;&lt;br/&gt; &lt;p&gt;...&lt;/p&gt;&lt;br/&gt; &lt;p&gt; source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.gartner.com/it/page.jsp?id=1187913&quot;&gt;Gartner&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/gartner_says_measurement_and_monitoring</guid>
         <pubDate>Mon, 05 Oct 2009 22:22:49 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Gartner Says IT Organisations Will Invest More in Private Cloud Services than in External Cloud Providers Through 2012</title>
         <link>http://blogs.sun.com/moroplace/entry/gartner_says_it_organisations_will</link>
         <description>&lt;p&gt;&lt;p&gt;....&lt;/p&gt;&lt;br/&gt; &lt;p&gt;&lt;span lang=&quot;EN-GB&quot;&gt;“With cloud offerings coming in the form of&lt;br/&gt;
services, this means that the IT organisation will be replaced by&lt;br/&gt;
relationships to many cloud computing service providers, each for one&lt;br/&gt;
or a handful of services,” said Phil Dawson, research vice president at&lt;br/&gt;
Gartner.&lt;/span&gt;&lt;/p&gt;&lt;br/&gt; &lt;p&gt;&lt;span lang=&quot;EN-GB&quot;&gt;&lt;/span&gt; .....&lt;/p&gt;&lt;br/&gt; &lt;p&gt;source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.gartner.com/it/page.jsp?id=1193913&quot;&gt;Gartner&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/gartner_says_it_organisations_will</guid>
         <pubDate>Mon, 05 Oct 2009 22:21:49 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Western European Mobile Phone Market Shows Signs of Recovery, But Still Expected to Shrink in 2009, Says IDC</title>
         <link>http://blogs.sun.com/moroplace/entry/western_european_mobile_phone_market</link>
         <description>&lt;p&gt;&lt;p&gt;&lt;strong&gt;LONDON, &lt;/strong&gt;&lt;strong&gt;September 18, 2009&lt;/strong&gt; — The&lt;br/&gt;
Western European Mobile Phone market recorded another quarter of&lt;br/&gt;
year-on-year declines in the second quarter of 2009 (2Q09). According&lt;br/&gt;
to the IDC European Mobile Phone Tracker, handset vendors shipped 42&lt;br/&gt;
million units to Western Europe, down 6% from 2Q08. The second quarter&lt;br/&gt;
results are an improvement on the 14% decrease in 1Q09, but the crisis&lt;br/&gt;
will continue to impact the region.&lt;/p&gt;&lt;br/&gt; &lt;p&gt;.....&lt;/p&gt;&lt;br/&gt; &lt;p&gt; source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.idc.com/getdoc.jsp;sessionId=XOY0SYMMMIMCMCQJAFICFGAKBEAUMIWD?containerId=prUK22012009&quot;&gt;IDC&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/western_european_mobile_phone_market</guid>
         <pubDate>Mon, 05 Oct 2009 22:20:43 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: A Orvieto si parlerà di OpenOffice</title>
         <link>http://blogs.sun.com/moroplace/entry/a_orvieto_si_parler%C3%A0_di</link>
         <description>&lt;p&gt;&lt;p&gt;E' la splendida città umbra di Orvieto a fare da cornice alla prossima conferenza interamente dedicata ad &lt;b&gt;OpenOffice.org.&lt;/b&gt;&lt;br/&gt;
La manifestazione si svolgerà dal 3 al 6 novembre prossimi e proporrà&lt;br/&gt;
una serie di sessioni durante le quali parleranno sia i singoli membri&lt;br/&gt;
della comunità sia gli esponenti delle principali aziende che&lt;br/&gt;
sostengono o il progetto OpenOffice.org o il formato OpenDocument&lt;br/&gt;
Format (ODF), tra cui Sun, IBM, Redflag 2000, Novell e Microsoft. Il&lt;br/&gt;
primo giorno della manifestazione sarà riservato alla comunità mentre i&lt;br/&gt;
successivi saranno aperti al pubblico.&lt;/p&gt;&lt;br/&gt; &lt;p&gt;...&lt;/p&gt;&lt;br/&gt; &lt;p&gt; source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.01net.it/01NET/HP/0,1254,0_ART_102381,00.html?lw=nl20000&quot;&gt;01Net&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/a_orvieto_si_parler%C3%A0_di</guid>
         <pubDate>Mon, 05 Oct 2009 22:10:05 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Gartner: il mercato dei semiconduttori resta in attesa</title>
         <link>http://blogs.sun.com/moroplace/entry/gartner_il_mercato_dei_semiconduttori</link>
         <description>&lt;p&gt;&lt;p&gt;Secondo Gartner, nel terzo trimestre dell'anno l'indice Dasi (Dataquest&lt;br/&gt;
Semiconductor Inventory) è sceso da un punteggio di 1.21, che&lt;br/&gt;
corrisponde a una situazione di “grave eccesso di stock”, a un più&lt;br/&gt;
contenuto 1.10-1.20, che corrisponde a un “moderato surplus di stock”,&lt;br/&gt;
appena al di sopra del livello di normalità. &lt;/p&gt;&lt;br/&gt; &lt;p&gt;....&lt;/p&gt;&lt;br/&gt; &lt;p&gt;source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.01net.it/01NET/HP/0,1254,0_ART_102398,00.html?lw=nl20000&quot;&gt;01Net&lt;/a&gt;&lt;br /&gt; &lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/gartner_il_mercato_dei_semiconduttori</guid>
         <pubDate>Mon, 05 Oct 2009 20:29:46 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Lsi dà più efficienza allo storage</title>
         <link>http://blogs.sun.com/moroplace/entry/lsi_d%C3%A0_pi%C3%B9_efficienza_allo</link>
         <description>&lt;p&gt;&lt;p&gt;La società ha reso disponibile agli Oem la versione aggiornata del&lt;br/&gt;
sistema di fascia alta Engenio 7900, che promette più elevati livelli&lt;br/&gt;
di efficienza e capacità. Il nuovo sistema storage è stato attrezzato&lt;br/&gt;
con alloggiamenti per drive Sata ad alta densità (da 3,5”) oltre che&lt;br/&gt;
per memorie a stato solido (Ssd). Puo montare interfacce host iScsi da&lt;br/&gt;
1Gb/s doppia porta a fianco degli adattatori fibre channel da 4 e 8&lt;br/&gt;
Gbps. Il sistema Lsi è, inoltre, fornito con lo strumento Storage&lt;br/&gt;
Profiler Tek-Tools che svolge compiti di monitoraggio e di reportistica.&lt;/p&gt;&lt;br/&gt; &lt;p&gt;.... source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.cdvweb.it/01NET/HP/0,1254,2_ART_102388,00.html?lw=nl20000&quot;&gt;01Net&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/lsi_d%C3%A0_pi%C3%B9_efficienza_allo</guid>
         <pubDate>Mon, 05 Oct 2009 20:29:01 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Audiweb pubblica i dati di AW Database del mese di luglio 2009</title>
         <link>http://blogs.sun.com/moroplace/entry/audiweb_pubblica_i_dati_di</link>
         <description>&lt;p&gt;&lt;p&gt;&lt;span class=&quot;text&quot;&gt;Nel mese di luglio risultano &lt;strong&gt;30,8 milioni gli utenti che hanno accesso a internet&lt;/strong&gt;,&lt;br/&gt;
21,7 milioni gli utenti attivi nel mese, 10,4 milioni gli utenti attivi&lt;br/&gt;
nel giorno medio, per 1 ora e 38 minuti di tempo speso e 179 pagine&lt;br/&gt;
viste per persona nel giorno medio &lt;/span&gt;&lt;/p&gt;&lt;br/&gt; &lt;p&gt;....&lt;/p&gt;&lt;br/&gt; &lt;p&gt; source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.audiweb.it/cms/view.php?id=6&amp;amp;cms_pk=155&quot;&gt;Audiweb&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/audiweb_pubblica_i_dati_di</guid>
         <pubDate>Fri, 02 Oct 2009 09:49:43 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Cloud Storage Standard Released for Public Review</title>
         <link>http://blogs.sun.com/moroplace/entry/cloud_storage_standard_released_for1</link>
         <description>&lt;p&gt;&lt;p&gt;The SNIA Cloud Storage Technical Work Group has completed the first&lt;br/&gt;
public draft of the new cloud storage standard: Cloud Data Management&lt;br/&gt;
Interface (CDMI),&lt;br /&gt;Version 0.8 is avalable for&amp;nbsp; review and feedback from:&lt;br /&gt;&lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.snia.org/tech_activities/publicreview/&quot;&gt;http://www.snia.org/tech_activities/publicreview&lt;/a&gt;&lt;/p&gt;&lt;br/&gt; &lt;p&gt;....source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.snia.org/cloud&quot;&gt;SNIA &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/cloud_storage_standard_released_for1</guid>
         <pubDate>Fri, 02 Oct 2009 09:46:55 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Virtualization World Snia - Agenda</title>
         <link>http://blogs.sun.com/moroplace/entry/virtualization_world_snia_agenda</link>
         <description>&lt;p&gt;&lt;p align=&quot;left&quot;&gt;&lt;strong&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.snweurope.net/tue.php&quot;&gt;Tuesday 27th October&lt;/a&gt;:&lt;/strong&gt;&lt;br /&gt;&lt;br/&gt; 08:00 – 18:00: Conference Registration Open&lt;br /&gt;&lt;br/&gt; 08:00 – 19:30: Expo Areas Open, Hall 5&lt;br /&gt;&lt;br/&gt; 09:00 – 17:30: Conference Sessions*, Congress Centre &lt;br /&gt;&lt;br/&gt; 17:30 – 19:30: Reception&lt;/p&gt; &lt;br/&gt; &lt;p align=&quot;left&quot;&gt;&lt;strong&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.snweurope.net/wed.php&quot;&gt;Wednesday 28th October&lt;/a&gt;:&lt;/strong&gt;&lt;br /&gt;&lt;br/&gt; 09:00 – 14:30: Conference Registration Open&lt;br /&gt;&lt;br/&gt; 09:00 – 16:00: Expo Areas Open, Hall 5&lt;br /&gt;&lt;br/&gt; 09:30 – 16:10: Conference Sessions*, Congress Centre &lt;/p&gt;&lt;br/&gt; &lt;p&gt; &lt;/p&gt;&lt;br/&gt; &lt;p&gt;complete agend source www.&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.virtualizationworld.net/agenda.php&quot;&gt;virtualizationworld&lt;/a&gt;.net &lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/virtualization_world_snia_agenda</guid>
         <pubDate>Fri, 02 Oct 2009 09:45:48 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Mediaset, Regione Siciliana e i-Faber, eccellenze italiane</title>
         <link>http://blogs.sun.com/moroplace/entry/mediaset_regione_siciliana_e_i</link>
         <description>&lt;p&gt;&lt;p&gt;Mediaset per le Grandi aziende, Regione Siciliana nella categoria&lt;br/&gt;
Pubblica amministrazione e i-Faber per le Pmi sono i vincitori della&lt;br/&gt;
seconda edizione del Customer Success Award, il premio che Oracle&lt;br/&gt;
assegna come riconoscimento alle organizzazioni italiane, pubbliche o&lt;br/&gt;
private, che, a partire dal 2007, hanno realizzato i progetti più&lt;br/&gt;
innovativi affidandosi alle sue soluzioni It.&lt;br/&gt;
&lt;/p&gt;&lt;br/&gt; &lt;p&gt;....source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.lineaedp.it/01NET/HP/0,1254,1_ART_102062,00.html?lw=nl20003&quot;&gt;01Net &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/mediaset_regione_siciliana_e_i</guid>
         <pubDate>Fri, 02 Oct 2009 09:26:27 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: L'It a picco con hardware e servizi</title>
         <link>http://blogs.sun.com/moroplace/entry/l_it_a_picco_con</link>
         <description>&lt;p&gt;&lt;p&gt;...&lt;/p&gt;&lt;br/&gt; &lt;p&gt;-9% per l'It e -2,5% per le telecomunicazioni (-6,7 il fisso e -3,4%&lt;br/&gt;
il mobile) sono le cifre che riassumono la situazione e che riportano&lt;br/&gt;
il settore a una situazione simile a quella del primo semestre del 1991.&lt;/p&gt; &lt;br/&gt; &lt;p&gt;Entrando nel dettaglio, l'hardware lascia sul terreno il 15,7%, il&lt;br/&gt;
software il 4,1%, l'assistenza tecnica il 6,2% e i servizi il 7,3%. &lt;/p&gt;&lt;br/&gt; &lt;p&gt;....&lt;/p&gt;&lt;br/&gt; &lt;p&gt; source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.lineaedppmi.it/01NET/HP/0,1254,5_ART_102201,00.html?lw=nl20003&quot;&gt;01Net&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br/&gt; &lt;p&gt; &lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/l_it_a_picco_con</guid>
         <pubDate>Fri, 02 Oct 2009 09:23:38 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Meno risorse e più richieste per i Cio</title>
         <link>http://blogs.sun.com/moroplace/entry/meno_risorse_e_pi%C3%B9_richieste</link>
         <description>&lt;p&gt;&lt;p&gt;.....&lt;/p&gt;&lt;br/&gt; &lt;p&gt;Lo studio, condotto su 100 Chief information officer europei di aziende&lt;br/&gt;
operanti in tutti i settori ha evidenziato per il Cio un ruolo evoluto&lt;br/&gt;
in tutte le componenti: è un manager che catalizza il cambiamento,&lt;br/&gt;
frenato da budget in contrazione, da complessità applicativa e da&lt;br/&gt;
eccessive richieste interne, e che vive le sfide dell'ottimizzazione&lt;br/&gt;
processuale, della razionalizzazione informativa, della sicurezza e&lt;br/&gt;
dell'innovazione.&lt;/p&gt;&lt;br/&gt; &lt;p&gt; ....&lt;/p&gt;&lt;br/&gt; &lt;p&gt;source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.lineaedp.it/01NET/HP/0,1254,1_ART_102281,00.html?lw=nl20003&quot;&gt;01Net&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/meno_risorse_e_pi%C3%B9_richieste</guid>
         <pubDate>Fri, 02 Oct 2009 09:19:59 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Premio innovazione: i vincitori</title>
         <link>http://blogs.sun.com/moroplace/entry/premio_innovazione_i_vincitori</link>
         <description>&lt;p&gt;&lt;p&gt;L'elenco dei premiati della prima edizione del riconoscimento che Smau assegna a Pmi e Pa che utilizzano al meglio l'Ict&lt;/p&gt;&lt;br/&gt; &lt;p&gt;...&lt;/p&gt;&lt;br/&gt; &lt;p&gt; source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.lineaedppmi.it/01NET/HP/0,1254,5_ART_102311,00.html?lw=nl20003&quot;&gt;01Net&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/premio_innovazione_i_vincitori</guid>
         <pubDate>Fri, 02 Oct 2009 09:19:02 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Pmi più mature. L'Ict ora è meno lontana</title>
         <link>http://blogs.sun.com/moroplace/entry/pmi_pi%C3%B9_mature_l_ict</link>
         <description>&lt;p&gt;&lt;p&gt;...&lt;/p&gt;&lt;br/&gt; &lt;p&gt;&quot;&lt;em&gt;Negli ultimi due anni - spiega &lt;/em&gt;&lt;i&gt;Balocco&lt;/i&gt;&lt;em&gt;, &lt;/em&gt;responsabile della ricerca sulle &lt;em&gt;Ict nelle Pmi&lt;/em&gt; - &lt;em&gt;abbiamo assistito ad un aumento del livello di maturità Ict&lt;/em&gt;: &lt;em&gt;in particolare, le imprese &lt;/em&gt;Lungimiranti&lt;em&gt;,&lt;br/&gt;
che stanno utilizzando in modo evoluto sia l'infrastruttura Ict sia il&lt;br/&gt;
parco applicativo sono passate dal 12% al 17%, mentre si è ridotta la&lt;br/&gt;
percentuale di imprese&lt;/em&gt; Immature&lt;em&gt;, passate dal 42% al 34% &quot;.&lt;/em&gt;&lt;/p&gt;&lt;br/&gt; &lt;p&gt;&lt;em&gt;&lt;/em&gt; ....&lt;/p&gt;&lt;br/&gt; &lt;p&gt;source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.lineaedppmi.it/01NET/HP/0,1254,5_ART_102304,00.html?lw=nl20003&quot;&gt;01Net&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/pmi_pi%C3%B9_mature_l_ict</guid>
         <pubDate>Fri, 02 Oct 2009 09:18:11 -0700</pubDate>
      </item>
      <item>
         <title>Walter Moriconi: Pa: Brunetta, al via sperimentazione posta elettronica certificata</title>
         <link>http://blogs.sun.com/moroplace/entry/pa_brunetta_al_via_sperimentazione</link>
         <description>&lt;p&gt;&lt;p&gt;....&lt;/p&gt;&lt;br/&gt; &lt;p&gt;&lt;em&gt;&quot;Questa&amp;nbsp;è una rivoluzione&lt;/em&gt; - ha detto il ministro della Pubblica amministrazione e dell'innovazione, Renato Brunetta illustrando l'iniziativa -. &lt;em&gt;La&lt;br/&gt;
sperimentazione con Inps e Aci durera fino a dicembre. Entro novembre&lt;br/&gt;
tutti i professionisti dovranno dotarsi di posta elettronica&lt;br/&gt;
certificata per dialogare con la pubblica ammnistrazione, da gennaio&lt;br/&gt;
sarà avviato la posta elettronica certificata gratuita per tutti i&lt;br/&gt;
cittadini&quot;&lt;/em&gt;.&amp;nbsp; ......&lt;/p&gt;&lt;br/&gt; &lt;p&gt;source &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.lineaedppmi.it/01NET/HP/0,1254,5_ART_9011116078,00.html?lw=nl20003&quot;&gt;01Net&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>Walter Moriconi</author>
         <guid isPermaLink="false">http://blogs.sun.com/moroplace/entry/pa_brunetta_al_via_sperimentazione</guid>
         <pubDate>Fri, 02 Oct 2009 09:16:35 -0700</pubDate>
      </item>
      <item>
         <title>: Gonzalez Goes GeekAndPoke: My First Co-Authored Webcomic</title>
         <link>http://feedproxy.google.com/~r/ConstantinsSunBlog/~3/KlEB9Rdi2t4/gonzalez_goes_geekandpoke_my_first</link>
         <description>&lt;p&gt;A while ago, &lt;a rel=&quot;nofollow&quot;&gt;I highlighted a few of my favourite web comics&lt;/a&gt;. Little did I know then, that today I was going to be part of one. Here's the story:&lt;/p&gt; &lt;p&gt;Yesterday, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/moellus&quot;&gt;@moellus&lt;/a&gt; complained yet again about his eternal nemesis, the NT admin, by saying something like: &quot;Damn, can't unfollow the NT admin because he doesn't twitter - &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tinyurl.com/y973kyn&quot;&gt;here's why&lt;/a&gt; - that's the sh*# he sends me!&quot; (&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/moellus/status/4519825556&quot;&gt;Original Tweet&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;That reminded me of the famous insult by the late Douglas Adams from &quot;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy_(radio_series)&quot;&gt;The Hitchhiker's Guide to the Galaxy&lt;/a&gt;&quot;, in which Arthur Dent says about the Vogons: &quot;I wish I had a daughter so I could forbid her to marry one...&quot;&lt;/p&gt; &lt;p&gt;So I &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/zalez/status/4519994555&quot;&gt;twittered back&lt;/a&gt; that &quot;I wish you were on Twitter so I could unfollow you!&quot; must be the new worst insult you can do in 2009 and asked &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/geekandpoke&quot;&gt;Oliver&lt;/a&gt; whether that would make a nice &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://geekandpoke.typepad.com/&quot;&gt;Geek And Poke&lt;/a&gt; cartoon.&lt;/p&gt; &lt;p&gt;Today, I'm proud to be part of the &quot;Geek And Poke&quot;-uversum, here's the cartoon:&lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://geekandpoke.typepad.com/geekandpoke/2009/10/post-20-insulting-guest-writer-cartoon.html&quot;&gt;&lt;img src=&quot;http://geekandpoke.typepad.com/.a/6a00d8341d3df553ef0120a6097a7b970c-800wi&quot; alt=&quot;Geek And Poke, October 1st, 2009: Post 2.0 Insulting (Guest Writer Cartoon)&quot; align=&quot;center&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;I guess, to be &quot;GeekAndPoked&quot; is the new &quot;Slashdotted&quot; :). Thanks, Oliver!&lt;/p&gt; &lt;br /&gt; &lt;p&gt;P.S.: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/moellus&quot;&gt;@moellus&lt;/a&gt;: Actually, to a geek, in 2009, sending someone a box of Windows 7 is like the medieval slapping with a glove. Don't take it lightly and get your &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.youtube.com/watch?v=3QbvlxRPJh0&amp;amp;feature=player_embedded&quot;&gt;LART-whip&lt;/a&gt; ready!&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=KlEB9Rdi2t4:w-10Wx1NtBs:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=KlEB9Rdi2t4:w-10Wx1NtBs:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=KlEB9Rdi2t4:w-10Wx1NtBs:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?i=KlEB9Rdi2t4:w-10Wx1NtBs:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=KlEB9Rdi2t4:w-10Wx1NtBs:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?i=KlEB9Rdi2t4:w-10Wx1NtBs:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=KlEB9Rdi2t4:w-10Wx1NtBs:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/ConstantinsSunBlog/~4/KlEB9Rdi2t4&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://blogs.sun.com/constantin/entry/gonzalez_goes_geekandpoke_my_first</guid>
         <pubDate>Fri, 02 Oct 2009 00:55:40 -0700</pubDate>
      </item>
      <item>
         <title>bobp: China &amp; India Fuel Growth With Infrastructure Projects</title>
         <link>http://blogs.sun.com/bobp/entry/china_india_fuel_growth_with</link>
         <description>&lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://english.china.com/&quot;&gt;&lt;img align=&quot;left&quot; vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; src=&quot;http://www.chinadaily.com.cn/china/2007-01/16/xin_30010416065058260263.jpg&quot;/&gt;&lt;/a&gt;While the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.tradingeconomics.com/Economics/GDP-Growth.aspx?Symbol=USD&quot;&gt;U.S.&lt;/a&gt; is still trying to stimulate spending of U.S. consumers with its economic stimulus programs, countries such as India and China appear to be making much better progress.&amp;nbsp; On a recent trip in September to China and India via Singapore one can visibly see that Asia Pacific is not standing still and putting idled factory workers toward new infrastructure projects.&amp;nbsp; Talking with customers and partners in &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.tradingeconomics.com/Economics/GDP-Growth.aspx?Symbol=CNY&quot;&gt;China&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.tradingeconomics.com/Economics/GDP-Growth.aspx?Symbol=INR&quot;&gt;India&lt;/a&gt; only confirms what could be described as a best practice for any nation looking for economic recovery.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt; &lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Earlier this year Beijing announced a $585 billion (U.S. dollars) stimulus package (~13% of China's 2008 &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Gross_domestic_product&quot;&gt;GDP&lt;/a&gt;). As part of this stimulus package China will spend this year $50 billion (U.S. dollars) alone on the ambitious worlds biggest high-speed (started in 2005 and expected to finish in 2020) railway which will connect Beijing, Dalian, Xuzhou, Lanzhou, Shanghai, Kunming and Guangzhou.&lt;/font&gt;&lt;/font&gt; &lt;font size=&quot;2&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Beijing's economic stimulus is directly targeted at the ~20 million idled workers in China due mostly to the 20% decline in foreign sales.&amp;nbsp; Notable statistics of the new high-speed railway include:&lt;/font&gt;&lt;/p&gt;&lt;font size=&quot;2&quot; face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;/font&gt; &lt;blockquote&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;&lt;i&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Buttress&quot;&gt;buttresses&lt;/a&gt; which carry the tracks will consume 117 million tons of concrete&lt;/font&gt;&lt;/font&gt;&lt;/i&gt;&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;ul&gt; &lt;li&gt;&lt;i&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;16,000 miles (25,749 km) of new track will be built&lt;/font&gt;&lt;/font&gt;&lt;/i&gt;&lt;/li&gt; &lt;/ul&gt; &lt;ul&gt; &lt;li&gt;&lt;i&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;The Beijing to Shanghai line will consume enough steel to build 120 &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Beijing_National_Stadium&quot;&gt;&quot;Birds Nest&quot; Olympic Stadiums&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/i&gt;&lt;/li&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;In addition to construction labor the railway will create jobs for engineers and lot's of them.&amp;nbsp; The railway will be computerized and require a lot of IT spending and resources.&amp;nbsp; You can be certain the large IT companies are looking to win this business and provide hardware, software, services and support.&amp;nbsp; A great opportunity.&amp;nbsp; Bill Powell wrote a great article in FORTUNE magazine with many more exciting facts which you can read &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://money.cnn.com/2009/08/03/news/international/china_high_speed_bullet_train.fortune/&quot;&gt;here&lt;/a&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.india.com/&quot;&gt;&lt;img align=&quot;right&quot; vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; src=&quot;http://farm4.static.flickr.com/3174/3026632969_dd5c04a84a.jpg&quot;/&gt;&lt;/a&gt;India's growth is equally impressive despite the global recession.&amp;nbsp; India still needs to build massive amounts of infrastructure while China is already upgrading infrastructure previous built.&amp;nbsp; I like to describe China as organized chaos while India is still dealing with unorganized chaos.&amp;nbsp; In Beijing you see cars, buses, trains, people, bikes, motorcycles all in congested traffic in harmony with the traffic signals.&amp;nbsp; In Bangalore you have the same as Beijing but with everyone only in harmony with themselves.&amp;nbsp; Traffic signals get ignored, motorcycles are riding on the sidewalk and intersections, at rush hour, give no clear indication as to who has the right of way.&amp;nbsp; It's simply something that every business professional should experience because you need to know the customer you are selling.&amp;nbsp; Both are beautiful cultures and part of the solution of economic recovery in the world.&amp;nbsp; India too will consume massive amount of engineers, software, hardware and services not only to fuel their IT outsourcing industry but to rapidly build their own nation, infrastructure and ultimately their own economy as a world leader.&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;/ul&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;i&gt;&lt;font size=&quot;2&quot;&gt;&lt;font face=&quot;tahoma,arial,helvetica,sans-serif&quot;&gt;Blog is available also at: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://bobporras.wordpress.com/&quot;&gt;http://bobporras.wordpress.com/&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;</description>
         <author>bobp</author>
         <guid isPermaLink="false">http://blogs.sun.com/bobp/entry/china_india_fuel_growth_with</guid>
         <pubDate>Mon, 21 Sep 2009 19:08:08 -0700</pubDate>
      </item>
      <item>
         <title>timf: OpenSolaris at OSS BarCamp</title>
         <link>http://blogs.sun.com/timf/entry/opensolaris_at_oss_barcamp</link>
         <description>&lt;p&gt;I presented An Introduction to OpenSolaris last Saturday at &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ossbarcamp.com/&quot;&gt;OSS BarCamp&lt;/a&gt; - my contribution to &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://softwarefreedomday.org/&quot;&gt;Software Freedom Day 2009&lt;/a&gt;.
&lt;/p&gt; &lt;p&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/timf/resource/opensolaris-ossbarcamp.pdf&quot;
&gt;&lt;/a&gt;
&lt;/p&gt; &lt;p&gt;You can download the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mediacast.sun.com/users/timsf/media/opensolarisossbarcamp/details&quot;&gt;odp presentation&lt;/a&gt; or &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/timf/resource/opensolaris-ossbarcamp.pdf&quot;&gt;the pdf&lt;/a&gt;, which I've exported with my notes for the talk that explain each of the slides a little more - I hope this is useful if you're planning on giving a similar talk.&lt;/p&gt; &lt;p&gt;A few things struck me while preparing for and giving the presentation. Firstly, it seemed odd to be giving an introduction to an operating system that's been around for quite a while now: clearly we haven't been doing enough of this sort of thing (and from personal experience, yes, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://opensolaris.org/os/project/ie-osug/&quot;&gt;ie-osug&lt;/a&gt; isn't as active as I'd like, I just sadly don't have the bandwidth)
&lt;/p&gt; &lt;p&gt;Then secondly, it's &lt;em&gt;really hard&lt;/em&gt; to cover all of the interesting features of OpenSolaris in sufficient detail over the course of an hour. My take, was to try to whet the appetite, rather than explain every feature fully - and in some cases, go for the features I thought the audience might be interested in (for example, mentioning NWAM as one of the major networking features - perhaps it's not as full of rocket science as other aspects of Solaris networking, but it makes a huge difference to the novice user)
&lt;/p&gt; &lt;p&gt;Finally, and slightly embarrassingly, I had to spend about 5 minutes in front of an expectant audience futzing around with the display settings on my R500 laptop to get it to talk to the projector. It was doubly annoying that both &lt;code&gt;xrandr&lt;/code&gt; (and indeed &lt;code&gt;gnome-display-properties&lt;/code&gt;) were able to see the separate screen, but try as I might, I couldn't get any output to appear externally. Ultimately, a kind audience member offered me a USB key by which I transferred the pdf over to my EeePC (running nv_122) which was able to see the projector, but didn't have any of my demo material setup (some ZFS settings, some zones, crossbow, flows etc.) Oh well.
&lt;/p&gt; &lt;p&gt;Here's hoping that at least some of the audience left with an impression that OpenSolaris was worth taking a second (or perhaps a first?) look at, despite the brevity of my talk and the initial teething problems I had. My new mantra:
&lt;/p&gt; &lt;p&gt;&lt;blockquote&gt; Never work with children, animals, or weird exernal VGA projectors.&lt;/blockquote&gt;
&lt;/p&gt;</description>
         <author>timf</author>
         <guid isPermaLink="false">http://blogs.sun.com/timf/entry/opensolaris_at_oss_barcamp</guid>
         <pubDate>Sun, 20 Sep 2009 19:25:10 -0700</pubDate>
      </item>
      <item>
         <title>: New OpenSolaris ZFS Home Server: Requirements</title>
         <link>http://feedproxy.google.com/~r/ConstantinsSunBlog/~3/N12qzstHO04/new_opensolaris_zfs_home_server</link>
         <description>&lt;img alt=&quot;Old OpenSolaris Home Server with blinkenlights USB drives&quot; align=&quot;left&quot;/&gt;&lt;p&gt;A few months ago, I decided it was time for a new home server. The &lt;a rel=&quot;nofollow&quot;&gt;old one&lt;/a&gt; (see picture) is now more than 3 years old (the hardware is 2 years older), so it was time to plan ahead for the inevitable hardware failure. Curiously enough, my old server started to refuse working with some of my external USB disks only a few weeks ago, which confirmed my need for a new system. This is the beginning of a series of blog articles around building a new OpenSolaris home server.&lt;/p&gt; &lt;h3&gt;Home Server Goals&lt;/h3&gt; &lt;p&gt;Let's go over some goals for a home server to help us decide on the hardware. IMHO, a good home server should:&lt;/p&gt; &lt;ol&gt; &lt;li&gt; &lt;strong&gt;Run OpenSolaris.&lt;/strong&gt; This means I don't want an appliance because this is too limiting and I'd end up hacking it to make it run something it doesn't do by itself anyway. It should therfore use a real OS.&lt;br/&gt;
It also means I don't want to use Linux, because quite frankly the whole Linux landscape is too unstable, confused and de-focused (don't get me wrong: It's nice for experimentation and as a hobbyist-OS, but I want something more serious to guard my data).&lt;br/&gt;
Windows is out of the question because it delivers too little for too high a price.&lt;br/&gt;
I like BSD (and used to run NetBSD on my Amiga 4000 back then in the mid nineties), but it seems to be more oriented to some (albeit interesting) niches for my taste. &lt;br/&gt;Right now I prefer &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.opensolaris.org/&quot;&gt;OpenSolaris&lt;/a&gt; because it's rock-solid, clean, well-documented, well-designed and it has lots of advanced features that other OSes only dream of. Yes, I'd still write and do the same if I weren't a Sun employee.&lt;/li&gt; &lt;li&gt; &lt;strong&gt;Leverage ZFS.&lt;/strong&gt; This should be a no-brainer, but I just wanted to point out that any system that is serious about its data should absolutely run ZFS because of the end-to-end-integrity. Period. And then there are many useful features such as compression, send/receive, snapshots, ease of administration, no fscks and much more. Oh, and I'm looking forward to leveraging encryption and de-duplication at home in the near future, too!&lt;/li&gt; &lt;li&gt; &lt;strong&gt;Use ECC Memory&lt;/strong&gt;: What's the use of having end-to-end data integrity with ZFS if your data is corrupted before ZFS can create it's checksum? That's why you need ECC Memory. Simply put: Use ECC memory and kiss those unexpected, unexplicable system crashes and broken data surprises good bye.&lt;/li&gt; &lt;li&gt; &lt;strong&gt;Be Power Efficient&lt;/strong&gt;: Think 1.5 Euros of electricity bill per Watt per Year for a system running 24/7. The difference between your typical gaming PC and a power-efficient home server can easily be 50W or more when idle, so you're looking at an extra 75 Euros and more of free cash if you just pick your components more carefully. Notice that I'm not saying &quot;Low-Power&quot;. There are a lot of compromises when trying to reach absolute low-powerness. Like many optimization problems, squeezing the last few Watts out of your system means investing a lot of money and effort while sacrificing important features. So I want this system to be power-efficient, but without too many sacrifices.&lt;/li&gt; &lt;li&gt; &lt;strong&gt;Use a Moderate Amount of Space&lt;/strong&gt;: While my home server sits in the basement, form doesn't matter. But I may move into a new apartment where networking to the basement is not an option. Then the server needs to be living-room capable and have a decent WAF. Which also brings us to:&lt;/li&gt; &lt;li&gt; &lt;strong&gt;Be quiet&lt;/strong&gt;: A power-efficient server needs less cooling which helps with being quiet. Again, we don't want to stretch the limits of quietness at all costs, but we want to make sure we don't do any obvious mistakes here that sacrifice the living-room capabilities of the system&lt;/li&gt; &lt;/ol&gt;
&lt;h3&gt;What's Next&lt;/h3&gt;
&lt;p&gt;In the next blog entry, we'll discuss a few processor and platform considerations and reveal a cool, yet powerful option that presented itself to me. Meanwhile, feel free to check out other home server resources, such as &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://breden.org.uk/&quot;&gt;Simon Breden's blog&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot;&gt;Matthias Pfuetzner's blog&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.brosowski.biz/tag/heimserver/&quot;&gt;Jan Brosowski's Blog (German)&lt;/a&gt; or one of the many home server discussions on the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.opensolaris.org/jive/forum.jspa?forumID=80&quot;&gt;zfs-discuss&lt;/a&gt; mailing list.&lt;/p&gt;
&lt;p&gt;What are your requirements for a good home server? What do you currently use at home to fulfill your home server needs? What would you add to the above list of home server requirements? Feel free to add a comment below!&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=N12qzstHO04:zhe1ygvmudA:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=N12qzstHO04:zhe1ygvmudA:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=N12qzstHO04:zhe1ygvmudA:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?i=N12qzstHO04:zhe1ygvmudA:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=N12qzstHO04:zhe1ygvmudA:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?i=N12qzstHO04:zhe1ygvmudA:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=N12qzstHO04:zhe1ygvmudA:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/ConstantinsSunBlog/~4/N12qzstHO04&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://blogs.sun.com/constantin/entry/new_opensolaris_zfs_home_server</guid>
         <pubDate>Sat, 19 Sep 2009 08:24:29 -0700</pubDate>
      </item>
      <item>
         <title>eschrock: User and Group Quotas in the 7000 Series</title>
         <link>http://blogs.sun.com/eschrock/entry/user_and_group_quotas_in</link>
         <description>&lt;div style=&quot;float:right;margin-left:18px;margin-bottom:12px;&quot;&gt;
&lt;img src=&quot;http://blogs.sun.com/eschrock/resource/fishworks/userquota2.png&quot;&gt;
&lt;/div&gt; &lt;p&gt;When ZFS was first developed, the engineering team had the notion that pooled storage would make filesystems cheap and plentiful, and we'd move away from the days of &lt;tt&gt;/export1&lt;/tt&gt;, &lt;tt&gt;/export2&lt;/tt&gt;, ad infinitum. From the ZFS perspective, they are cheap. It's very easy to create dozens or hundreds of filesystems, each which functions as an administrative control point for various properties. However, we quickly found that other parts of the system start to break down once you get past 1,000 or 10,000 filesystems. Mounting and sharing filesystems takes longer, browsing datasets takes longer, and managing automount maps (for those without NFSv4 mirror mounts) quickly spirals out of control.&lt;/p&gt; &lt;p&gt;For most users this isn't a problem - a few hundred filesystems is more than enough to manage disparate projects and groups on a single machine. There was one class of users, however, where a few hundred filesystems wasn't enough. These users were university or other home directory environments with 20,000 or more users, each which needed to have a quota to guarantee that they couldn't run amok on the system. The traditional ZFS solution, creating a filesystem for each user and assigning a quota, didn't scale. After thinking about it for a while, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/ahrens&quot;&gt;Matt&lt;/a&gt; developed a fairly simple architecture to provide this functionality without introducing pathological complexity into the bowels of ZFS. In build 114 of Solaris Nevada, he pushed the following:&lt;/p&gt; &lt;pre&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://arc.opensolaris.org/caselog/PSARC/2009/204&quot;&gt;PSARC 2009/204&lt;/a&gt; ZFS user/group quotas &amp;amp; space accounting
&lt;/pre&gt; &lt;div style=&quot;float:left;margin-right:18px;margin-bottom:12px;&quot;&gt;
&lt;img src=&quot;http://blogs.sun.com/eschrock/resource/fishworks/userquota3.png&quot; width=&quot;320px&quot;&gt;
&lt;/div&gt; &lt;p&gt;This provides full support for user and group quotas on ZFS, as well as the ability to track usage on a per-user or per-group basis within a dataset.&lt;/p&gt; &lt;p&gt; This was later integrated into the 2009.Q3 software release, with an additional UI layer. From the 'general' tab of a share, you can query usage and set quotas for individual users or groups quickly. The CLI allows for automated batch operations. Requesting a single user or group is significantly faster than requesting all the current usage, but you an also get a list of the current usage for a project or share. With integrated &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/wdp/entry/windows_interoperability&quot;&gt;identity management&lt;/a&gt;, users and groups can be specified either by UNIX username or Windows name.&lt;/p&gt; &lt;p&gt;There are some significant differences between user and group quotas and traditional ZFS quotas. The following is an excerpt from the on-line documentation on the subject:&lt;/p&gt; &lt;ul&gt;
&lt;li&gt;User and group quotas can only be applied to filesystems.&lt;/li&gt;
&lt;li&gt;User and group quotas are implemented using delayed enforcement. This means that users will be able to exceed their quota for a short period of time before data is written to disk. Once the data has been pushed to disk, the user will receive an error on new writes, just as with the filesystem-level quota case.&lt;/li&gt;
&lt;li&gt;User and group quotas are always enforced against referenced data. This means that snapshots do not affect any quotas, and a clone of a snapshot will consume the same amount of effective quota, even though the underlying blocks are shared.&lt;/li&gt;
&lt;li&gt;User and group reservations are not supported.&lt;/li&gt;
&lt;li&gt;User and group quotas, unlike data quotas, are stored with the regular filesystem data. This means that if the filesystem is out of space, you will not be able to make changes to user and group quotas. You must first make additional space available before modifying user and group quotas.&lt;/li&gt;
&lt;li&gt;User and group quotas are sent as part of any remote replication. It is up to the administrator to ensure that the name service environments are identical on the source and destination.&lt;/li&gt;
&lt;li&gt;NDMP backup and restore of an entire share will include any user or group quotas. Restores into an existing share will not affect any current quotas. &lt;i&gt;(There is currently a bug preventing this from working in the initial release, which will be fixed in a subsequent minor release.)&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;This feature will hopefully allow the Sun Storage 7000 series to function in environments where it was previously impractical to do so. Of course, the real person to thank is Matt and the ZFS team - it was a very small amount of work to provide an interface on top of the underlying ZFS infrastructure.&lt;/p&gt;</description>
         <author>eschrock</author>
         <guid isPermaLink="false">http://blogs.sun.com/eschrock/entry/user_and_group_quotas_in</guid>
         <pubDate>Thu, 17 Sep 2009 03:19:49 -0700</pubDate>
      </item>
      <item>
         <title>: New OpenSolaris ZFS Auto-Scrub Service Helps You Keep Proper Pool Hygiene</title>
         <link>http://feedproxy.google.com/~r/ConstantinsSunBlog/~3/guuUOBZ6m_w/new_opensolaris_zfs_auto_scrub</link>
         <description>&lt;img align=&quot;left&quot; alt=&quot;A harddisk that is being scrubbed&quot;/&gt;&lt;p&gt;One of the most important features of ZFS is the ability to detect data corruption through the use of end-to-end checksums. In redundant ZFS pools (pools that are either mirrored or use a variant of RAID-Z), this can be used to fix broken data blocks by using the redundancy of the pool to reconstruct the data. This is often called self-healing.&lt;/p&gt; &lt;p&gt;This mechanism works whenever ZFS accesses any data, because it will always verify the checksum after reading a block of data. Unfortunately, this does not work if you don't regularly look at your data: Bit rot happens and with every broken block that is not checked (and therefore not corrected), the probability increases that even the redundant copy will be affected by bit rot too, resulting in data corruption.&lt;/p&gt; &lt;p&gt;Therefore, &lt;code&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://docs.sun.com/app/docs/doc/819-2240/zpool-1m?a=view&quot;&gt;zpool(1M)&lt;/a&gt;&lt;/code&gt; provides the useful &lt;code&gt;scrub&lt;/code&gt; sub-command which will systematically go through each data block on the pool and verify its checksum. On redundant pools, it will automatically fix any broken blocks and make sure your data is healthy and clean.&lt;/p&gt; &lt;p&gt;It should now be clear that every system should regularly scrub their pools to take full advantage of the ZFS self-healing feature. But you know how it is: You set up your server and often those little things get overlooked and that &lt;code&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://docs.sun.com/app/docs/doc/819-2240/cron-1m?a=view&quot;&gt;cron(1M)&lt;/a&gt;&lt;/code&gt; job you wanted to set up for regular pool scrubbing fell off your radar etc.&lt;/p&gt; &lt;h3&gt;Introducing the ZFS Auto-Scrub SMF Service&lt;/h3&gt; &lt;p&gt;Here's a service that is easy to install and configure that will make sure all of your pools will be scrubbed at least once a month. Advanced users can set up individualized schedules per pool with different scrubbing periods. It is implemented as an &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://docs.sun.com/app/docs/doc/819-2379/hbrunlevels-25516?l=en&amp;amp;a=view&quot;&gt;SMF service&lt;/a&gt; which means it can be easily managed using &lt;code&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://docs.sun.com/app/docs/doc/819-2240/svcadm-1m?a=view&quot;&gt;svcadm(1M)&lt;/a&gt;&lt;/code&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://docs.sun.com/app/docs/doc/819-2240/svcadm-1m?a=view&quot;&gt; and customized using &lt;code&gt;&lt;/code&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://docs.sun.com/app/docs/doc/819-2240/svccfg-1m?a=view&quot;&gt;svccfg(1M).&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://docs.sun.com/app/docs/doc/819-2240/svccfg-1m?a=view&quot;&gt;The service borrows heavily from &lt;/a&gt;&lt;a rel=&quot;nofollow&quot;&gt;Tim Foster's ZFS Auto-Snapshot Service&lt;/a&gt;. This is not just coding laziness, it also helps minimize bugs in common tasks (such as setting up periodic cron jobs) and provides better consistency across multiple similar services. Plus: Why invent the wheel twice?&lt;/p&gt; &lt;h3&gt;Requirements&lt;/h3&gt; &lt;p&gt;The ZFS Auto-Scrub service assumes it is running on OpenSolaris. It should run on any recent distribution of OpenSolaris without problems.&lt;/p&gt; &lt;p&gt;More specifically, it uses the -d switch of the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.gnu.org/software/coreutils/manual/coreutils.html#Options-for-date&quot;&gt;GNU variant of date(1)&lt;/a&gt; to parse human-readable date values. Make sure that /usr/gnu/bin/date is available (which is the default in OpenSolaris).&lt;/p&gt; &lt;p&gt;Right now, this service does not work on Solaris 10 out of the box (unless you install GNU date in /usr/gnu/bin). A future version of this script will work around this issue to make it easily usable on Solaris 10 systems as well.&lt;/p&gt; &lt;h3&gt;Download and Installation&lt;/h3&gt; &lt;p&gt;You can download &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mediacast.sun.com/users/constant/media/zfs-auto-scrub_0.5b.tar.bz2&quot;&gt;Version 0.5b of the ZFS Auto-Scrub Service here&lt;/a&gt;. The included README file explains everything you need to know to make it work:&lt;/p&gt; &lt;p&gt;After unpacking the archive, start the install script as a privileged user:&lt;/p&gt; &lt;p&gt;&lt;code&gt;pfexec ./install.sh&lt;/code&gt;&lt;/p&gt; &lt;p&gt;The script will copy three SMF method scripts into &lt;code&gt;/lib/svc/method&lt;/code&gt;, import three SMF manifests and start a service that creates a new Solaris role for managing the service's privileges while it is running. It also installs the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.opensolaris.org/os/project/vpanels/&quot;&gt;OpenSolaris Visual Panels&lt;/a&gt; package and adds a simple GUI to manage this service.&lt;/p&gt; &lt;img align=&quot;right&quot; alt=&quot;ZFS Auto-Scrub GUI&quot;/&gt; &lt;p&gt;After installation, you need to activate the service. This can be done easily with:&lt;/p&gt; &lt;p&gt;&lt;code&gt;svcadm enable auto-scrub:monthly&lt;/code&gt;&lt;/p&gt; &lt;p&gt;or by running the GUI with:&lt;/p&gt; &lt;p&gt;&lt;code&gt;vp zfs-auto-scrub&lt;/code&gt;&lt;/p&gt; &lt;p&gt;This will activate a pre-defined instance of the service that makes sure each of your pools is scrubbed at least once a month.&lt;/p&gt; &lt;p&gt;This is all you need to do to make sure all your pools are regularly scrubbed.&lt;/p&gt; &lt;p&gt;If your pools haven't been scrubbed before or if the time or their last scrub is unknown, the script will proceed and start scrubbing. Keep in mind that scrubbing consumes a significant amount of system resources, so if you feel that a currently running scrub slows your system too much, you can interrupt it by saying:&lt;/p&gt; &lt;p&gt;&lt;code&gt;pfexec zpool scrub -s &amp;lt;pool name&amp;gt;&lt;/code&gt;&lt;/p&gt; &lt;p&gt;In this case, don't worry, you can always start a manual scrub at a more suitable time or wait until the service kicks in by itself during the next scheduled scrubbing period.&lt;/p&gt; &lt;p&gt;Should you want to get rid of this service, use:&lt;/p&gt; &lt;p&gt;&lt;code&gt;pfexec ./install.sh -d&lt;/code&gt;&lt;/p&gt; &lt;p&gt;The script will then disable any instances of the service, remove the manifests from the SMF repository, delete the scripts from &lt;code&gt;/lib/svc/method&lt;/code&gt;, remove the special role and the authorizations the service created and finally remove the GUI. Notice that it will not remove the OpenSolaris Visual Panels package in case you want to use it for other purposes. Should you want to get rid of this as well, you can do so by saying:&lt;/p&gt; &lt;p&gt;&lt;code&gt;pkg uninstall OSOLvpanels&lt;/code&gt;&lt;/p&gt; &lt;h3&gt;Advanced Use&lt;/h3&gt; &lt;p&gt;You can create your own instances of this service for individual pools at specified intervals. Here's an example:&lt;/p&gt; &lt;pre&gt; constant@fridolin:~$ svccfg svc:&amp;gt; select auto-scrub svc:/system/filesystem/zfs/auto-scrub&amp;gt; add mypool-weekly svc:/system/filesystem/zfs/auto-scrub&amp;gt; select mypool-weekly svc:/system/filesystem/zfs/auto-scrub:mypool-weekly&amp;gt; addpg zfs application svc:/system/filesystem/zfs/auto-scrub:mypool-weekly&amp;gt; setprop zfs/pool-name=mypool svc:/system/filesystem/zfs/auto-scrub:mypool-weekly&amp;gt; setprop zfs/interval=days svc:/system/filesystem/zfs/auto-scrub:mypool-weekly&amp;gt; setprop zfs/period=7 svc:/system/filesystem/zfs/auto-scrub:mypool-weekly&amp;gt; setprop zfs/offset=0 svc:/system/filesystem/zfs/auto-scrub:mypool-weekly&amp;gt; setprop zfs/verbose=false svc:/system/filesystem/zfs/auto-scrub:mypool-weekly&amp;gt; end constant@fridolin:~$ svcadm enable auto-scrub:mypool-weekly
&lt;/pre&gt; &lt;p&gt;This example will create and activate a service instance that makes sure the pool &quot;mypool&quot; is scrubbed once a week.&lt;/p&gt; &lt;p&gt;Check out the &lt;code&gt;zfs-auto-scrub.xml&lt;/code&gt; file to learn more about how these properties work.&lt;/p&gt; &lt;h3&gt;Implementation Details&lt;/h3&gt; &lt;p&gt;Here are some interesting aspects of this service that I came across while writing it:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;The service comes with its own Solaris role &lt;code&gt;zfsscrub&lt;/code&gt; under which the script runs. The role has just the authorizations and profiles necessary to carry out its job, following the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://docs.sun.com/app/docs/doc/819-3321/prbactm-1?l=en&amp;amp;a=view&quot;&gt;Solaris Role-Based Access Control&lt;/a&gt; philosophy. It comes with its own SMF service that takes care of creating the role if necessary, then disables itself. This makes a future deployment of this service with &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://opensolaris.org/os/project/pkg/&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.opensolaris.org/os/project/pkg/&quot;&gt;pkg(1)&lt;/a&gt; easier, which does not allow any scripts to be started during installation, but does allow activation of newly installed SMF services.&lt;/li&gt; &lt;li&gt;While &lt;code&gt;zpool(1M) status&lt;/code&gt; can show you the last time a pool has been scrubbed, this information is not stored persistently. Every time you reboot or export/import the pool, ZFS loses track of when the last scrub of this pool occurred. This has been filed as CR &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6878281&quot;&gt;6878281&lt;/a&gt;. Until that has been resolved, we need to take care of remembering the time of last scrub ourselves. This is done by introducing another SMF service that periodically checks the scrub status, then records the completion date/time of the scrub in a custom ZFS property called &lt;code&gt;org.opensolaris.auto-scrub:lastscrub&lt;/code&gt; in the pool's root filesystem when finished. We call this service whenever a scrub is started and it deactivates itself once it's job is done.&lt;/li&gt; &lt;li&gt;As mentioned above, the GUI is based on the OpenSolaris Visual Panels project. Many thanks to the people on its discussion list to help me get going. More about creating a visual panels GUI in a future blog entry.&lt;/li&gt; &lt;/ul&gt; &lt;h3&gt;Lessons learned&lt;/h3&gt; &lt;p&gt;It's funny how a very simple task like &quot;Write an SMF service that takes care of regular zpool scrubbing&quot; can develop into a moderately complex thing. It grew into three different services instead of one, each with their own scripts and SMF manifests. It required an extra RBAC role to make it more secure. I ran into some zpool(1M) limitations which I now feel are worthy of RFEs and working around them made the whole thing slightly more complex. Add an install and de-install script and some minor quirks like using GNU date(1) instead of the regular one to have a reliable parser for human-readable date strings, not to mention a GUI and you cover quite a lot of ground even with a service as seemingly simple as this.&lt;/p&gt; &lt;p&gt;But this is what made this project interesting to me: I learned a lot about RBAC and SMF (of course), some new scripting hacks from the existing ZFS Auto-Snapshot service, found a few minor bugs (in the ZFS Auto-Snapshot service) and RFEs, programmed some Java including the use of the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.netbeans.org/features/java/swing.html&quot;&gt;NetBeans GUI builder&lt;/a&gt; and had some fun with scripting, finding solutions and making sure stuff is more or less cleanly implemented.&lt;/p&gt; &lt;p&gt;I'd like to encourage everyone to write their own SMF services for whatever tools they install or write for themselves. It helps you think your stuff through, make it easy to install and manage, and you get a better feel of how Solaris and its subsystems work. And you can have some fun too. The easiest way to get started is by looking at what others have done. You'll find a lot of SMF scripts in &lt;code&gt;/lib/svc/method&lt;/code&gt; and you can extract the manifests of already installed services using &lt;code&gt;svccfg&lt;/code&gt; export. Find an SMF service that is similar to the one you want to implement, check out how it works and start adapting it to your needs until your own service is alive and kicking.&lt;/p&gt; &lt;p&gt;If you happen to be in Dresden for &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.osdevcon.org/2009/&quot;&gt;OSDevCon 2009&lt;/a&gt;, check out my session on &quot;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.osdevcon.org/2009/program_detail.html#constantin&quot;&gt;Implementing a simple SMF Service: Lessons learned&lt;/a&gt;&quot; where I'll share more of the details behind implementing this service including the Visual Panels part.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Edit (Sep. 21st)&lt;/strong&gt; Changed the link to CR 6878281 to the externally visible OpenSolaris bug database version, added a link to the session details on OSDevCon.&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=guuUOBZ6m_w:VpZ8-gkSEM0:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=guuUOBZ6m_w:VpZ8-gkSEM0:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=dnMXMwOfBR0&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=guuUOBZ6m_w:VpZ8-gkSEM0:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?i=guuUOBZ6m_w:VpZ8-gkSEM0:F7zBnMyn0Lo&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=guuUOBZ6m_w:VpZ8-gkSEM0:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?i=guuUOBZ6m_w:VpZ8-gkSEM0:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?a=guuUOBZ6m_w:VpZ8-gkSEM0:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ConstantinsSunBlog?d=qj6IDK7rITs&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/ConstantinsSunBlog/~4/guuUOBZ6m_w&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://blogs.sun.com/constantin/entry/new_opensolaris_zfs_auto_scrub</guid>
         <pubDate>Thu, 17 Sep 2009 07:25:34 -0700</pubDate>
      </item>
      <item>
         <title>roch: iSCSI unleashed</title>
         <link>http://blogs.sun.com/roch/entry/iscsi_unleashed</link>
         <description>&lt;br&gt;&lt;br&gt;One of the much anticipated feature of the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/fishworks/&quot;&gt;2009.Q3&lt;/a&gt; release of the
fishworks OS is a complete rewrite of the iSCSI target implementation
known as Common Multiprotocol SCSI Target or &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.opensolaris.org/os/project/comstar/&quot;&gt;COMSTAR&lt;/a&gt;. The new target code is
an in-kernel implementation that replaces what was previously known as
the iSCSI target deamon, a user-level implementation of iSCSI.&lt;br&gt;&lt;br&gt; Should we expect huge performance gains from this change ? &lt;b&gt;You Bet !&lt;/b&gt;&lt;br&gt;&lt;br&gt; But like most performance question, the answer is often : it
depends. The measured performance of a given test is gated by the
weakest link triggered. iSCSI is just one component among many others
that can end up gating performance. If the daemon was not a limiting
factor, then that's your answer.&lt;br&gt;&lt;br&gt; The target deamon was a userland implementation of iSCSI : some daemon
threads would read data from a storage pool and write data to a socket
or vice versa. Moving to a kernel implementation opens up options to
bypass at least one of the copies and that is being considered as a
future option. But extra copies while undesirable do not necessarily
contribute to the small packet latency or large request throughput;
For small packets requests, the copy is small change compared to the
request handling. For large request throughput the important things is
that the data path establishes a pipelined flow in order to keep every
components busy at all times.&lt;br&gt;&lt;br&gt; But the way threads interact with one another can be a much greater
factor in delivered performance. And there lies the problem. The old
target deamon suffered from one major flaw in that each and every
iSCSI requests would require multiple trips through a single queue
(shared between every luns) and that queue was being read and written
by 2 specific threads. Those 2 threads would end up fighting for the
same locks. This was compounded by the fact that user level threads
can be put to sleep when they fail to acquire a mutex and that going
to sleep for a user level thread is a costly operation implying a
system call and all the accounting that goes with that.&lt;br&gt;&lt;br&gt; So while the iSCSI target deamon gave reasonable service for large
request, it was much less scalable in terms of the number IOPS that
can be served and the CPU efficiency in which it could do that. IOPS
being of course a critical metrics for block protocols.&lt;br&gt;&lt;br&gt; As an illustration of that with 10 client initiators and 10 threads
per initiators (so 100 outstanding request) doing 8K cache-hit reads,
we observed&lt;br&gt;&lt;br&gt; &lt;table border=&quot;1&quot;&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;th&gt;Old Target Daemon&lt;/th&gt;&lt;th&gt;	Comstar&lt;/th&gt;&lt;th&gt; Improvement&lt;/th&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;31K IOPS&lt;/td&gt;&lt;td&gt; 85K IOPS&lt;/td&gt;&lt;td&gt;	2.7X&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br&gt;&lt;br&gt; Moreover the target daemon was consuming 7.6 CPU to service those
31K IOPS while comstar could handle 2.7X more IOPS consuming only 10
cpus, a 2X improvement in iops per cpu efficiency.&lt;br&gt;&lt;br&gt; On the write side, with a disk pool that had 2 striped write
optimised SSD, comstar gave us 50% more throughput (130 MB/sec vs
88MB/sec) and 60% more cpu efficiency.&lt;br&gt;&lt;br&gt; &lt;h3&gt;Immediatedata&lt;/h3&gt; During our testing we noted a few interesting contributor to delivered
performance. The first being the setting of iSCSI &lt;tt&gt;immediatedata&lt;/tt&gt;
parameter &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://docs.sun.com/app/docs/doc/816-5166/iSCSIadm-1m?a=view&quot;&gt;iSCSIadm(1M)&lt;/a&gt;. On the
write path, that parameter will cause the initiator iSCSI to send up
to 8K of data along with the initial request packet. While this is a good
idea to do so, we found that for certain sizes of writes, it would
trigger some condition in the zil that caused ZFS to issue more data
than necessary through the logzillas. The problem is well understood
and remediation is underway and we expect to get to a situation in
which keeping the default value of &lt;tt&gt;immediatedata=yes&lt;/tt&gt; is the best. But
as of today, for those attempting world record data transfer speeds
through logzillas, setting &lt;tt&gt;immediatedata=no&lt;/tt&gt; and using a 32K or 64K write
size might yield positive result depending on your client OS.&lt;br&gt;&lt;br&gt; &lt;h3&gt;Interrupt Blanking&lt;/h3&gt; Interested in low latency request response ? Interestingly, a chunk of
that response time is lost in the obscure setting of network card
drivers. Network cards will often delay pending interrupts in the hope
of coalescing more packets into a single interrupt. The extra
efficiency often results in more throughput at high data rate at the
expense of small packet latency. For 8K request we manage to get 15%
more single threaded IOPS by tweaking one such client side
parameter. Historically such tuning has always been hidden in the
bowel of each drivers and specific to ever client OS so that's too
broad a topic to cover here. But for Solaris clients, the &lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://www.opensolaris.com/learn/features/networking/networkcrossbow/&quot;&gt;Crossbow&lt;/a&gt;
framework is aiming among other thing to make latency vs throughput decision
much more adaptive to operating condition relaxing the need for per
workload tunings. &lt;br&gt;&lt;br&gt; &lt;h3&gt;WCE Settings&lt;/h3&gt; Another important parameter to consider for comstar is the 'write
cache enable' bit. By default all write request to an iSCSI lun needs
to be committed to stable storage as this is what is expected by most
consumers of block storage. That means that each individual write
request to a disk based storage pool will take minimally a disk
rotation or 5ms to 8ms to commit. This also why a write optimised SSD
is quite critical to many iSCSI workloads often yeilding 10X
performance improvements. Without such an SSD, iSCSI performance will
appear quite lackluster particularly for lightly threaded workloads
which more affected by latency characteristics.&lt;br&gt;&lt;br&gt; One could then feel justified to set the write cache enable bits on
some luns in order to recoup some spunk in their engine. One good news
here is that in the new 2009.Q3 release of fishworks the setting is
now persistent across reboots and reconnection event, fixing a nasty
condition of 2009.Q2. However one should be very careful with this
setting as the end consumer of block storage (exchange, NTFS,
oracle,...) is quite probably operating under an unexpected set of
condition. This setting can lead to application corruption in case
of outage (no risk for the storage internal state). &lt;br&gt;&lt;br&gt; There is one exception to this caveat and it is ZFS itself. ZFS is
designed to safely and correctly operate on top of devices that have
their write cached enabled. That is because ZFS will flush write
caches whenever application semantics or its own internal consistency
require it. So a ZPOOL created on top of iSCSI luns would be well
justified to set the WCE on the lun to boost performance. &lt;br&gt;&lt;br&gt; &lt;h3&gt;Synchronous write bias&lt;/h3&gt; Finally as described in my blog entry about &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/roch/entry/synchronous_write_bias_property&quot;&gt;Synchronous write bias&lt;/a&gt;,
we now have to option to bypass the write optimised SSDs for a lun if
the workload it receive is less sensitive to latency. This would be
the case of a highly threaded workload doing large data
transfers. Experimenting with this new property is warranted at this
point.&lt;br&gt;&lt;br&gt;</description>
         <author>roch</author>
         <guid isPermaLink="false">http://blogs.sun.com/roch/entry/iscsi_unleashed</guid>
         <pubDate>Wed, 16 Sep 2009 19:23:50 -0700</pubDate>
      </item>
      <item>
         <title>roch: Synchronous write bias property</title>
         <link>http://blogs.sun.com/roch/entry/synchronous_write_bias_property</link>
         <description>&lt;br&gt;With the release of &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/fishworks/&quot;&gt;2009.Q3&lt;/a&gt; release of fishworks along with a new &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/roch/entry/iscsi_unleashed&quot;&gt;iSCSI &lt;/a&gt;
implemtation we're coming up with
a very significant new feature for managing performance of Oracle
database : the new dataset &lt;b&gt;Synchronous write bias&lt;/b&gt; property or
&lt;b&gt;logbias&lt;/b&gt; for short. In a nutshell, this
property takes the default value of &lt;tt&gt;Latency&lt;/tt&gt; signifying that the
storage should handle synchronous writes in urgency, the historical
default handling. See &lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/brendan/entry/slog_screenshots&quot;&gt;Brendan's&lt;/a&gt;
comprehensive blog entry on the Separate Intent Log and synchronous writes.
However for datasets holding Oracle &lt;em&gt;Datafiles&lt;/em&gt;,
the &lt;tt&gt;logbias&lt;/tt&gt; property can be set to &lt;tt&gt;Throughput&lt;/tt&gt; signifying that the
storage should avoid using log devices acceleration instead trying to
optimize the workload's throughput and efficiency. We definitely
expect to see a good boost to Oracle performance from this feature for
many types of workloads and configs; workloads that generate
10s of MB/sec of DB writer traffic and have no more than 1 logzilla per tray/JBOD. &lt;br&gt;&lt;br&gt; The property is set in the &lt;tt&gt;Share Properties&lt;/tt&gt; just above
database recordsize. You might need to unset the &lt;tt&gt;Inherit from
projet&lt;/tt&gt; checkbox in order to modify the settings on a particular
share: &lt;br&gt;&lt;br&gt; &lt;img width=&quot;75%&quot;
 src=&quot;http://blogs.sun.com/roch/resource/logbias.png&quot;/&gt;&lt;br&gt;&lt;br&gt; The &lt;tt&gt;logbias&lt;/tt&gt; property addresses a peculiar aspect of Oracle workloads :
namely that DB writers are issuing a large number of concurrent
&lt;em&gt;synchronous writes&lt;/em&gt; to Oracle datafiles, writes which individually
are not particularly urgent. In contrast to other types of synchronous
writes workloads, the more important metrics for DB Writers is not
about individual latency. The important metric is that the storage
keep up with the &lt;tt&gt;throughput&lt;/tt&gt; demand in order to have database buffers
always available for recycling. This is unlike redo log writes which are critically sensitive to latency as they are holding
up individual transactions and thus users.&lt;br&gt;&lt;br&gt; &lt;h3&gt;ZFS and the ZIL&lt;/h3&gt; A little background; with ZFS, synchronous writes are managed by the
ZFS Intent Log &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/perrin/entry/the_lumberjack&quot;&gt;ZIL&lt;/a&gt;.
Because synchronous writes are typically holding up applications, it's
important to handle those writes with some level of urgency and the
ZIL does an admirable job at that.&lt;br&gt;&lt;br&gt; In the Openstorage &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/ahl/entry/fishworks_launch&quot;&gt;hybrid storage pool&lt;/a&gt; the ZIL itself
is speeded up using low latency write-optimized SSD devices : the
logzillas. Those devices are used to commit a copy of the in-memory
ZIL transaction and retain the data until an upcoming transaction group
commits the in-memory state to the on-disk pooled storage
(&lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/roch/entry/the_dynamics_of_zfs&quot;&gt;Dynamics of
ZFS&lt;/a&gt;,
&lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/roch/entry/the_new_zfs_write_throttle&quot;&gt;The
New ZFS write throttle&lt;/a&gt;). &lt;br&gt;&lt;br&gt; So while the ZIL speeds up synchronous writes, logzillas speeds up the
zil. Now SSDs can serve IOPS at a blazing 100&amp;mu;s but also have
their own throughput limits: currently around 110MB/sec per device.
At that throughput, committing, for example, 40K of data will need
minimally 360&amp;mu;s. The more data we can divert away from log devices, the lower the
latency response of those devices will be.&lt;br&gt;&lt;br&gt; It's interesting to note that other types of raid controllers will be
hostage of their NVRAM and &lt;b&gt;require&lt;/b&gt;, for consistency, that data be
committed through some form of acceleration in order to avoid the &lt;b&gt;Raid
Write Hole&lt;/b&gt; (&lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/bonwick/entry/raid_z&quot;&gt;Bonwick on Raid-Z&lt;/a&gt;). ZFS, however,
does require that data passes through its SSD commit accelerator and
it can manage consistency of commits either using disk &lt;em&gt;or&lt;/em&gt; using
SSDs. &lt;br&gt;&lt;br&gt; &lt;h3&gt;Synchronous write bias : Throughput&lt;/h3&gt; With this newfound ability of storage administrators to signify to ZFS
that some datasets will be subject to highly threaded synchronous
writes for which global throughput is more critical than individual
write latency, we can enable a different handling mode. By setting
&lt;tt&gt;Logbias=Throughput&lt;/tt&gt; ZFS is able to divert writes away from
the Logzillas which are then preserved for servicing low latency
sensitive operations (e.g. redo log operations).&lt;br&gt;&lt;br&gt; &lt;ul&gt;
&lt;h4&gt;
&lt;li&gt;A setting of &lt;tt&gt;Synchronous write bias : Throughput&lt;/tt&gt; for a dataset allows synchronous
writes to files in &lt;em&gt;other&lt;/em&gt; datasets to have lower latency
access to SSD log devices.
&lt;/h4&gt;
&lt;/ul&gt; But that's not all. Data flowing through a &lt;tt&gt;logbias=Throughput&lt;/tt&gt;
dataset is still served by the ZIL. It turns out that the ZIL has
different internal options in the way it can commit transactions one
of which being tagged WR_INDIRECT. WR_INDIRECT commits issue an
I/O for the modified file record and record a pointer to it in the zil chain.
(see WR_INDIRECT in
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/zfs/zil.c&quot;&gt;zil.c&lt;/a&gt;,
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/zfs/zvol.c&quot;&gt;zvol.c&lt;/a&gt;,
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/zfs/zfs_log.c&quot;&gt;zfs_log.c&lt;/a&gt;
).&lt;br&gt;&lt;br&gt; ZIL transaction of type WR_INDIRECT might use more disk I/Os and
slightly higher latency immediately but less I/Os and less total bytes
during the upcoming transaction group update. Up to this point, the
heuristics that lead to using WR_INDIRECT transactions, were not
triggered by DB writer workloads. But armed with the knowledge that
comes with the new &lt;tt&gt;logbias&lt;/tt&gt; property, we're now less concerned
about the slight latency increase that WR_INDIRECT can have. So from
efficiency consideration the &lt;tt&gt;logbias=Throughput&lt;/tt&gt; datasets
are now set to use this mode leading to more leveled latency
distributions of Transactions.&lt;br&gt;&lt;br&gt; &lt;ul&gt;
&lt;h4&gt;
&lt;li&gt;&lt;tt&gt;Synchronous write bias : Throughput&lt;/tt&gt; is a dataset mode that reduces the number of I/Os that need to be issued on behalf of this dataset during the regular transaction group updates leading to more leveled response time.
&lt;/h4&gt;
&lt;/ul&gt; A reminder that such kind of improvements sometimes can go unnoticed
in sustained benchmarks if the downstream Transaction group destage is
not given enough resources. Make sure you have enough spindles (or
total disk KRPM) to sustain the level of performance you need. A
pool with 2 logzillas and a single JBOD, might have enough SSD
throughput to absorb DB writer workloads without adversely affecting
redo log latency and so would not benefit from the special logbias
settings, however for 1 logzillas per JBOD the situation might be
reversed.&lt;br&gt;&lt;br&gt; While the DB Record Size property is inherited by files in a dataset and is
immutable, the logbias setting is totally dynamic and can be
toggled on the fly during operations. For instance, during database
creation or some lightly threaded write operations to Datafiles, it's
expected that &lt;tt&gt;logbias=Latency&lt;/tt&gt; should perform better. &lt;br&gt;&lt;br&gt; &lt;h3&gt;Logbias deployments for Oracle&lt;/h3&gt; As of the 2009.Q3 release of fishworks, the current wisdom around
deploying Oracle DB an Openstorage system with SSD acceleration, is to
segregate, at the filesystem/dataset level, but within the single
storage pool, Oracle datafiles, index files and redo Log files. Having
each type of files in different dataset allows better observability
into each one using the great &lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://sun.systemnews.com/go/2?a=20889&amp;l=http%3A%2F%2Fblogs.sun.com%2Fbmc%2Fresource%2Fcec_analytics.pdf&quot;&gt;analytics&lt;/a&gt;
tool. But also, each dataset can then be tuned independantly to
deliver the most stable performance characteristics. The most
important parameter to consider is the ZFS internal recordsize used to
manage the files. For Oracle datafiles the established (&lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide&quot;&gt;ZFS
Best Practice&lt;/a&gt;) is to match the recordsize and the DB block size.
For redo log files using default 128K records means that fewer file
updates will be stradling multiple filesystem records. With 128K
records we expect to have fewer transaction needing to wait for redo
log input I/Os leading more leveled latency distribution for
transactions. As for Index files, using smaller blocks of 8K offers
better cacheability feature for both the primary and &lt;a rel=&quot;nofollow&quot;
 target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/brendan/entry/test&quot;&gt;secondary&lt;/a&gt; caches
(only cache what is used from indexes), but using larger blocks offers
better index-scan performance. Experimenting is in order, depending on
your use case, but an intermediate block size of maybe 32K might also
be considered for mixed usage scenario.&lt;br&gt;&lt;br&gt; For Oracle datafiles specifically, using the new setting of
&lt;tt&gt;Synchronous write bias : Throughput&lt;/tt&gt; has potential to deliver
more stable performance in general and higher performance for redo log
sensitive workloads. &lt;br&gt;&lt;br&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;th&gt;Dataset&lt;/th&gt;&lt;th&gt;	Recordsize&lt;/th&gt;&lt;th&gt; Logbias&lt;/th&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;Datafiles&lt;/td&gt;&lt;td&gt; 8K&lt;/td&gt;&lt;td&gt; Throughput&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;Redo Logs&lt;/td&gt;&lt;td&gt; 128K(default)&lt;/td&gt;&lt;td&gt;Latency(default)&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot;&gt;&lt;td&gt;Index&lt;/td&gt;&lt;td&gt; 8K-32K?&lt;/td&gt;&lt;td&gt;Latency(default)&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br&gt;&lt;br&gt; Following these guidelines yielded a 40% boost in our Transaction
processing testing in which we had 1 logzillas for a 40 disk pool.
&lt;br&gt;&lt;br&gt;</description>
         <author>roch</author>
         <guid isPermaLink="false">http://blogs.sun.com/roch/entry/synchronous_write_bias_property</guid>
         <pubDate>Wed, 16 Sep 2009 19:13:49 -0700</pubDate>
      </item>
      <item>
         <title>ahl: 2009.Q3 Storage Configuration</title>
         <link>http://blogs.sun.com/ahl/entry/2009_q3_storage_configuration</link>
         <description>&lt;p&gt;
Today we shipped our &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/fishworks/entry/sun_storage_7000_2009_q3&quot;&gt;2009.Q3 release&lt;/a&gt;. Amidst the many great new features, enhancements and bug fixes, we've added new storage profiles for &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/ahl/entry/triple_parity_raid_z&quot;&gt;triple-parity RAID&lt;/a&gt; and three-way mirroring. Here's an example on a 9 JBOD system of what you'll see in the updated storage configuration screen:
&lt;/p&gt; &lt;img src=&quot;http://blogs.sun.com/ahl/resource/2009.q3_storage_config.png&quot;/&gt;
&lt;br&gt;&lt;br&gt; &lt;p&gt;
Note that the new Triple parity RAID, wide stripes option replaces the old Double parity RAID, wide stripes configuration. With RAID stripes that can easily be more than 40 disks wide, and resilver times that can be quite long as a result, we decided that the additional protection of triple-parity RAID trumped the very small space efficiency of double-parity RAID.
&lt;/p&gt; &lt;p&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/rdm/&quot;&gt;Ryan Matthews&lt;/a&gt; has updated the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/ahl/entry/sun_storage_7410_space_calculator#u20090916&quot;&gt;space calculator for the 7310 and 7410&lt;/a&gt; to include the new profiles. &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=SS7000SU-2009.Q3.0.0-OTH-G-F@CDS-CDS_SMI&quot;&gt;Download&lt;/a&gt; the new update and give it a shot.
&lt;/p&gt;</description>
         <author>ahl</author>
         <guid isPermaLink="false">http://blogs.sun.com/ahl/entry/2009_q3_storage_configuration</guid>
         <pubDate>Wed, 16 Sep 2009 10:38:50 -0700</pubDate>
      </item>
      <item>
         <title>eschrock: What is Shadow Migration?</title>
         <link>http://blogs.sun.com/eschrock/entry/shadow_migration</link>
         <description>&lt;p&gt;In the Sun Storage 7000 2009.Q3 software release, one of the major new features I worked on was the addition of what we termed &quot;shadow migration.&quot; When we launched the product, there was no integrated way to migrate data from existing systems to the new systems. This resulted in customers rolling it by hand (rsync, tar, etc), or paying for professional services to do the work for them. We felt that we could present a superior model that would provide for a more integrated experience as well as let the customer leverage the investment in the system even before the migration was complete.&lt;/p&gt; &lt;p&gt;The idea in and of itself is not new, and various prototypes of this have been kicking around inside of Sun under various monikers (&quot;brain slug&quot;, &quot;hoover&quot;, etc) without ever becoming a complete product. When &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/ahl&quot;&gt;Adam&lt;/a&gt; and myself sat down shortly before the initial launch of the product, we decide we could do this without too much work by integrating the functionality directly in the kernel. The basic design requirements we had were:&lt;/p&gt; &lt;ul&gt;
&lt;li&gt;We must be able to migrate over standard data protocols (NFS) from arbitrary data sources without the need to have special software running on the source system.&lt;/li&gt;
&lt;li&gt;Migrated data must be available before the entire migration is complete, and must be accessible with native performance.&lt;/li&gt;
&lt;li&gt;All the data to migrate the filesystem must be stored within the filesystem itself, and must not rely on an external database to ensure consistency.&lt;/li&gt;
&lt;/ul&gt; &lt;div style=&quot;float:right;margin-left:18px;padding-left:18px;margin-bottom:12px;background:#ffffff;&quot;&gt;
&lt;img src=&quot;http://blogs.sun.com/eschrock/resource/fishworks/shr_shadow.png&quot;&gt;
&lt;/div&gt; &lt;p&gt;With these requirements in hand, our key insight was that we could create a &quot;shadow&quot; filesystem that could pull data from the original source if necessary, but then fall through to the native filesystem for reads and writes one the file has been migrated. What's more, we could leverage the NFS client on Solaris and do this entirely at the VFS (virtual filesystem) layer, allowing us to migrate data between shares locally or (eventually) over other protocols as well without changing the interpositioning layer. The other nice thing about this architecture is that the kernel remains ignorant of the larger migration process. Both synchronous requests (from clients) and background requests (from the management daemon) appear the same. This allows us to control policy within the userland software stack, without pushing that complexity into the kernel. It also allows us to write a very comprehensive automated test suite that runs entirely on local filesystems without need a complex multi-system environment.&lt;/p&gt; &lt;p&gt;So what's better (and worse) about shadow migration compared to other migration strategies? For that, I'll defer to the documentation, which I've reproduced here for those who don't have a (virtual) system available to run the 2009.Q3 release:&lt;/p&gt; &lt;hr/&gt; &lt;h3&gt;Migration via synchronization&lt;/h3&gt; &lt;p&gt;This method works by taking an active host X and migrating data to the new host Y while X remains active. Clients still read and write to the original host while this migration is underway. Once the data is initially migrated, incremental changes are repeatedly sent until the delta is small enough to be sent within a single downtime window. At this point the original share is made read-only, the final delta is sent to the new host, and all clients are updated to point to the new location. The most common way of accomplishing this is through the rsync tool, though other integrated tools exist. This mechanism has several drawbacks:&lt;/p&gt; &lt;ul&gt;
&lt;li&gt;The anticipated downtime, while small, is not easily quantified. If a user commits a large amount of change immediately before the scheduled downtime, this can increase the downtime window.&lt;/li&gt;
&lt;li&gt;During migration, the new server is idle. Since new servers typically come with new features or performance improvements, this represents a waste of resources during a potentially long migration period.&lt;/li&gt;
&lt;li&gt;Coordinating across multiple filesystems is burdensome. When migrating dozens or hundreds of filesystems, each migration will take a different amount of time, and downtime will have to be scheduled across the union of all filesystems.&lt;/li&gt;
&lt;/ul&gt; &lt;h3&gt;Migration via external interposition&lt;/h3&gt; &lt;p&gt;This method works by taking an active host X and inserting a new appliance M that migrates data to a new host Y. All clients are updated at once to point to M, and data is automatically migrated in the background. This provides more flexibility in migration options (for example, being able to migrate to a new server in the future without downtime), and leverages the new server for already migrated data, but also has significant drawbacks:&lt;/p&gt; &lt;ul&gt;
&lt;li&gt;The migration appliance represents a new physical machine, with associated costs (initial investment, support costs, power and cooling) and additional management overhead.&lt;/li&gt;
&lt;li&gt;The migration appliance represents a new point of failure within the system.&lt;/li&gt;
&lt;li&gt;The migration appliance interposes on already migrated data, incurring extra latency, often permanently. These appliances are typically left in place, though it would be possible to schedule another downtime window and decommission the migration appliance.&lt;/li&gt;
&lt;/ul&gt; &lt;h3&gt;Shadow migration&lt;/h3&gt; &lt;p&gt;Shadow migration uses interposition, but is integrated into the appliance and doesn't require a separate physical machine. When shares are created, they can optionally &quot;shadow&quot; an existing directory, either locally (see below) or over NFS. In this scenario, downtime is scheduled once where the source appliance X is placed into read-only mode, a share is created with the shadow property set, and clients are updated to point to the new share on the Sun Storage 7000 appliance. Clients can then access the appliance in read-write mode.&lt;/p&gt; &lt;p&gt;Once the shadow property is set, data is transparently migrated in the background from the source appliance locally. If a request comes from a client for a file that has not yet been migrated, the appliance will automatically migrate this file to the local server before responding to the request. This may incur some initial latency for some client requests, but once a file has been migrated all accesses are local to the appliance and have native performance. It is often the case that the current working set for a filesystem is much smaller than the total size, so once this working set has been migrated, regardless of the total native size on the source, there will be no perceived impact on performance.&lt;/p&gt; &lt;p&gt;The downside to shadow migration is that it requires a commitment before the data has finished migrating, though this is the case with any interposition method. During the migration, portions of the data exists in two locations, which means that backups are more complicated, and snapshots may be incomplete and/or exist only on one host. Because of this, it is extremely important that any migration between two hosts first be tested thoroughly to make sure that identity management and access controls are setup correctly. This need not test the entire data migration, but it should be verified that files or directories that are not world readable are migrated correctly, ACLs (if any) are preserved, and identities are properly represented on the new system.&lt;/p&gt; &lt;p&gt;Shadow migration implemented using on-disk data within the filesystem, so there is no external database and no data stored locally outside the storage pool. If a pool is failed over in a cluster, or both system disks fail and a new head node is required, all data necessary to continue shadow migration without interruption will be kept with the storage pool.&lt;/p&gt; &lt;hr/&gt; &lt;p&gt;In a subsequent post, I'll discuss some of the thorny implementation detail we had to solve, as well as provide some screenshots of migration in progress. In the meantime, I suggest folks download the simulator and upgrade to the latest software to give it a try.&lt;/p&gt;</description>
         <author>eschrock</author>
         <guid isPermaLink="false">http://blogs.sun.com/eschrock/entry/shadow_migration</guid>
         <pubDate>Wed, 16 Sep 2009 10:06:01 -0700</pubDate>
      </item>
   </channel>
</rss>
<!-- fe11.pipes.sp1.yahoo.com uncompressed/chunked Sun Nov 22 16:13:01 PST 2009 -->
