<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Planet HA</title>
	<link>default</link>
	<language>en</language>
	<description>Planet HA - default</description>

<item>
	<title>LINBIT Blogs: DRBD and the sync rate controller (8.3.9 and above)</title>
	<guid permalink="False">http://blogs.linbit.com/?p=128</guid>
	<link>http://blogs.linbit.com/p/128/drbd-sync-rate-controller/</link>
	<description>&lt;p&gt;The sync-rate controller is used for controlling the used bandwidth during resynchronization (&lt;strong&gt;not&lt;/strong&gt; normal replication); it runs in the &lt;code&gt;SyncTarget&lt;/code&gt; state, ie. on the (inconsistent) receiver side.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s configured as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set &lt;code&gt;c-plan-ahead&lt;/code&gt; to approximately 10 times the RTT; so if &lt;code&gt;ping&lt;/code&gt; from one node to the other says 200msec, configure 2 seconds (ie. a value of &lt;em&gt;20&lt;/em&gt;, as the unit is tenths of a second).&lt;sup class=&quot;footnote&quot;&gt;&lt;a href=&quot;http://blogs.linbit.com/p/128/drbd-sync-rate-controller/#fn-128-1&quot; id=&quot;fnref-128-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;br /&gt;
Please note that the controller is only polling every 100msec; so &lt;code&gt;c-plan-ahead&lt;/code&gt; values below &lt;em&gt;5&lt;/em&gt; don&amp;#8217;t make sense, as the controller hasn&amp;#8217;t collected enough information to decide whether to request more data. We recommend to use at least 1 second (configured value is &lt;em&gt;10&lt;/em&gt;).&lt;br /&gt;
This value specifies the &amp;#8220;thinking ahead&amp;#8221; time of the controller, ie. the time period the controller has to achieve the actual sync-rate.&lt;/li&gt;
&lt;li&gt;Configure minimum and maximum values via &lt;code&gt;c-min-rate&lt;/code&gt; and &lt;code&gt;c-max-rate&lt;/code&gt;; these depend mostly on the available bandwidth per resource.&lt;br /&gt;
The &lt;code&gt;c-min-rate&lt;/code&gt; is the minimum bandwidth that will be used during a resync, whereas &lt;code&gt;c-max-rate&lt;/code&gt; is the most bandwidth that can be used by a resync.&lt;/li&gt;
&lt;li&gt;Now decide whether to use &lt;code&gt;c-fill-target&lt;/code&gt; or &lt;code&gt;c-delay-target&lt;/code&gt; &amp;#8211; you can choose only one.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Difference between delay and fill based control&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you set &lt;code&gt;c-fill-target&lt;/code&gt; to a non-zero value, DRBD will try to keep that much data on the wire; if application IO gets in, it will temporarily displace the synchronization traffic. This means that application data will have only a limited amount of synchronization data in the buffers before it, which helps latency a bit.&lt;br /&gt;
The data still has to fit into the socket buffers, along with the application IO, so using multi-MB sizes here doesn&amp;#8217;t make sense; 100kByte is a good starting value.&lt;/p&gt;
&lt;p&gt;With a proxy you should use &lt;code&gt;c-delay-target&lt;/code&gt;, so set the &lt;code&gt;c-fill-target&lt;/code&gt; value to zero. This way the time interval that the synchronization data is on the wire is measured; if application IO gets in, this triggers the controller, and it will turn back the synchronization speed, to keep the communication latency at the specified value. Use 5 times the RTT as a starting point.&lt;/p&gt;</description>
	<pubDate>Thu, 05 Jan 2012 20:26:05 +0000</pubDate>
</item>
<item>
	<title>LINBIT Blogs: DRBD causes too much CPU-load</title>
	<guid permalink="False">http://blogs.linbit.com/?p=58</guid>
	<link>http://blogs.linbit.com/p/58/drbd-cpu-bound/</link>
	<description>&lt;p&gt;The TL;DR version: don&amp;#8217;t use &lt;code&gt;data-integrity-alg&lt;/code&gt; in a production.&lt;span id=&quot;more-58&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://www.drbd.org/docs/about/&quot; target=&quot;_blank&quot;&gt;users guide&lt;/a&gt; (&lt;a href=&quot;http://www.drbd.org/users-guide-8.3/&quot; target=&quot;_blank&quot;&gt;8.3 version&lt;/a&gt;) describes the &lt;code&gt;data-integrity-alg&lt;/code&gt; as&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;DRBD can ensure the data integrity of the user&amp;#8217;s data on the network by comparing hash values. [...]&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Too many people think this is a must-have setting &amp;#8211; but are sadly wrong.&lt;/p&gt;
&lt;p&gt;During initial installation and testing it does make sense to use this &amp;#8211; it&amp;#8217;s an easy way to find out whether the hardware (CPU, memory, network card, etc.) work as they should &amp;#8211; if you get the famous &lt;code&gt;Digest integrity check FAILED&lt;/code&gt; message&lt;sup class=&quot;footnote&quot;&gt;&lt;a href=&quot;http://blogs.linbit.com/p/58/drbd-cpu-bound/#fn-58-1&quot; id=&quot;fnref-58-1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; you can be worried (but not too much, since you found that during testing (;).&lt;/p&gt;
&lt;p&gt;But in production this should not be set &amp;#8211; apart from causing a lot of CPU load&lt;sup class=&quot;footnote&quot;&gt;&lt;a href=&quot;http://blogs.linbit.com/p/58/drbd-cpu-bound/#fn-58-2&quot; id=&quot;fnref-58-2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; it might cause frequent connection abort &amp;#8211; and that means a short bit of time (re-sync) during which the secondary is inconsistent.&lt;/p&gt;
&lt;p&gt;So: don&amp;#8217;t use this in production.&lt;/p&gt;</description>
	<pubDate>Tue, 20 Dec 2011 11:36:26 +0000</pubDate>
</item>
<item>
	<title>Florian's blog: Now available: Slides from Percona Live and Linuxcon Europe</title>
	<guid permalink="False">http://fghaas.wordpress.com/?p=692</guid>
	<link>http://fghaas.wordpress.com/2011/11/01/now-available-slides-from-percona-live-and-linuxcon-europe/</link>
	<description>&lt;p&gt;The slides from last week&amp;#8217;s talks I (co-)presented at Percona Live and Linuxcon Europe are now available from &lt;a href=&quot;http://www.hastexo.com&quot;&gt;our web site&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In my tutorial &lt;a href=&quot;http://www.hastexo.com/content/mysql-high-availability-sprint-launch-pacemaker&quot;&gt;MySQL High Availability Sprint: Launch the Pacemaker&lt;/a&gt;, I gave a fast walk-through of Pacemaker high availability for MySQL. Tutorial presented at Percona Live UK 2011 in London, England.&lt;/li&gt;
&lt;li&gt;In &lt;a href=&quot;http://www.hastexo.com/content/fencing-and-maintaining-sanity-high-availability-clusters&quot;&gt;Fencing and Maintaining Sanity in High Availability Clusters&lt;/a&gt;, Madison Kelly and I explored the importance of fencing in HA clusters, highlighted important considerations for fencing, and shared technical details and best practices. Talk presented at Linuxcon Europe 2011 in Prague, Czech Republic.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All slides are available entirely free of charge for logged-in users on our web site. To log in, you don&amp;#8217;t even need to register — just use your Google Profile, or Google Apps account, or your WordPress account, or anything else that uses OpenID, and you&amp;#8217;ll be good to go.&lt;/p&gt;
&lt;p&gt;Comments on our slides are, of course, always highly appreciated.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/fghaas.wordpress.com/692/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/fghaas.wordpress.com/692/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/fghaas.wordpress.com/692/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/fghaas.wordpress.com/692/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/fghaas.wordpress.com/692/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/fghaas.wordpress.com/692/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/fghaas.wordpress.com/692/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/fghaas.wordpress.com/692/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/fghaas.wordpress.com/692/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/fghaas.wordpress.com/692/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/fghaas.wordpress.com/692/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/fghaas.wordpress.com/692/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/fghaas.wordpress.com/692/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/fghaas.wordpress.com/692/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=fghaas.wordpress.com&amp;blog=1182330&amp;post=692&amp;subd=fghaas&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 01 Nov 2011 20:53:44 +0000</pubDate>
</item>
<item>
	<title>Florian's blog: Ready to roll for Percona Live UK</title>
	<guid permalink="False">http://fghaas.wordpress.com/?p=689</guid>
	<link>http://fghaas.wordpress.com/2011/10/23/ready-to-roll-for-percona-live-uk/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.percona.com/live/london-2011/&quot;&gt;&lt;img title=&quot;Discover the Power of MySQL&quot; src=&quot;http://www.percona.com/static/images/percona-live/London2011/promote/PL_Badge_Large_Speaker.jpg&quot; alt=&quot;Percona Live MySQL Conference, London, Oct 24th and 25th, 2011&quot; width=&quot;118&quot; height=&quot;239&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;All slides are done, all virtual images are completed and we&amp;#8217;re ready to roll for tomorrow&amp;#8217;s &lt;a href=&quot;http://www.percona.com/live/london-2011/tutorial/mysql-high-availability-sprint/&quot;&gt;MySQL High Availability Sprint: Launch the Pacemaker&lt;/a&gt; tutorial at &lt;a href=&quot;http://www.percona.com/live/london-2011&quot;&gt;Percona Live UK 2011&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is probably your very last chance to register for PLUK as there are only a handful of tickets left. You can still use my discount code, &lt;strong&gt;HaasPLUK11&lt;/strong&gt;. See you tomorrow!&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/fghaas.wordpress.com/689/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/fghaas.wordpress.com/689/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/fghaas.wordpress.com/689/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/fghaas.wordpress.com/689/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/fghaas.wordpress.com/689/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/fghaas.wordpress.com/689/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/fghaas.wordpress.com/689/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/fghaas.wordpress.com/689/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/fghaas.wordpress.com/689/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/fghaas.wordpress.com/689/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/fghaas.wordpress.com/689/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/fghaas.wordpress.com/689/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/fghaas.wordpress.com/689/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/fghaas.wordpress.com/689/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=fghaas.wordpress.com&amp;blog=1182330&amp;post=689&amp;subd=fghaas&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Sun, 23 Oct 2011 18:17:35 +0000</pubDate>
</item>
<item>
	<title>Florian's blog: Twitter</title>
	<guid permalink="False">http://fghaas.wordpress.com/?p=685</guid>
	<link>http://fghaas.wordpress.com/2011/10/19/twitter/</link>
	<description>&lt;p&gt;Henceforth, you can find and follow us on Twitter. &lt;a href=&quot;http://twitter.com/hastexo&quot;&gt;See you there&lt;/a&gt;!&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/fghaas.wordpress.com/685/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/fghaas.wordpress.com/685/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/fghaas.wordpress.com/685/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/fghaas.wordpress.com/685/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/fghaas.wordpress.com/685/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/fghaas.wordpress.com/685/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/fghaas.wordpress.com/685/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/fghaas.wordpress.com/685/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/fghaas.wordpress.com/685/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/fghaas.wordpress.com/685/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/fghaas.wordpress.com/685/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/fghaas.wordpress.com/685/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/fghaas.wordpress.com/685/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/fghaas.wordpress.com/685/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=fghaas.wordpress.com&amp;blog=1182330&amp;post=685&amp;subd=fghaas&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 19 Oct 2011 10:22:28 +0000</pubDate>
</item>
<item>
	<title>Florian's blog: Busy weeks ahead!</title>
	<guid permalink="False">http://fghaas.wordpress.com/?p=679</guid>
	<link>http://fghaas.wordpress.com/2011/10/17/busy-weeks-ahead/</link>
	<description>&lt;p&gt;I&amp;#8217;m speaking at Percona Live, LinuxCon Europe, and linux.conf.au. And I just co-founded a &lt;a href=&quot;http://www.hastexo.com&quot;&gt;new company&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-679&quot;&gt;&lt;/span&gt;I have a few busy weeks behind me, and even busier weeks ahead. If you&amp;#8217;ve been wondering why recently I haven&amp;#8217;t been updating this space too frequently, here&amp;#8217;s why:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.hastexo.com/who/florian&quot;&gt;Yours truly&lt;/a&gt; and fellow ex-Linbiters &lt;a href=&quot;http://www.hastexo.com/who/martin&quot;&gt;Martin Loschwitz&lt;/a&gt; and &lt;a href=&quot;http://www.hastexo.com/who/andreas&quot;&gt;Andreas Kurz&lt;/a&gt; have recently founded &lt;a href=&quot;http://www.hastexo.com&quot;&gt;hastexo&lt;/a&gt;, an independent professional services organization focused on open-source high availability and disaster recovery. We are already offering both &lt;a href=&quot;http://www.hastexo.com/services/onsite&quot;&gt;on-site&lt;/a&gt; and &lt;a href=&quot;http://www.hastexo.com/services/remote&quot;&gt;remote consultancy&lt;/a&gt;, &lt;a href=&quot;http://www.hastexo.com/services/custom-training&quot;&gt;custom training&lt;/a&gt;, and our &lt;a href=&quot;http://www.hastexo.com/services/checkup&quot;&gt;Availability Checkup&lt;/a&gt; package, with more services lined up to be added to our offering.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;re able to offer &lt;a href=&quot;http://www.hastexo.com/now&quot;&gt;direct, 24/7 access to high availability experts&lt;/a&gt; with dial-in numbers in Europe, North America and Australia. We&amp;#8217;re offering our services under an &lt;a href=&quot;http://www.hastexo.com/products/pscredits&quot;&gt;extremely flexible, versatile payments scheme&lt;/a&gt; with an &lt;a href=&quot;http://www.hastexo.com/products/discounts&quot;&gt;attractive volume discount model&lt;/a&gt;. We&amp;#8217;re experts in an array of high availability and disaster recover technologies &amp;#8212; like &lt;a href=&quot;http://www.hastexo.com/knowledge/pacemaker&quot;&gt;Pacemaker&lt;/a&gt;, &lt;a href=&quot;http://www.hastexo.com/knowledge/corosync&quot;&gt;Corosync&lt;/a&gt;, &lt;a href=&quot;http://www.hastexo.com/knowledge/heartbeat&quot;&gt;Heartbeat&lt;/a&gt;, &lt;a href=&quot;http://www.hastexo.com/knowledge/drbd&quot;&gt;DRBD&lt;/a&gt;, highly available &lt;a href=&quot;http://www.hastexo.com/knowledge/virtualization&quot;&gt;virtualization&lt;/a&gt; (a.k.a &amp;#8220;enterprise cloud&amp;#8221;), and &lt;a href=&quot;http://www.hastexo.com/knowledge/clusterfs&quot;&gt;cluster file systems&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And we&amp;#8217;ve got a unique, free offering. Have you ever considered hiring a high availability consultant to review your setup or provide expert advice, but were unsure as to the expected cost involved? At hastexo, we can help. You simply &lt;a href=&quot;http://www.hastexo.com/help&quot;&gt;go to our Help page&lt;/a&gt; (free-of-charge registration required), collect information as instructed, and then just create a ticket in our support system. And we&amp;#8217;ll make a qualified estimate as to the amount of effort (and cost) required to fix your issue, or improve your uptime, or both.&lt;/p&gt;
&lt;p&gt;And, just in case one of us has previously help you on a mailing list, on IRC, or at a conference, as we frequently do, then please &lt;a href=&quot;http://www.hastexo.com/shoutbox&quot;&gt;leave us a message in our Shoutbox&lt;/a&gt;. We love to support the high availability community, and we&amp;#8217;re thrilled to hear about it when we can help.&lt;/p&gt;
&lt;p&gt;Speaking of conferences: next week, I&amp;#8217;m doing back-to-back conferences in Europe.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On Monday, I&amp;#8217;ll present a &lt;a href=&quot;http://www.percona.com/live/london-2011/tutorial/mysql-high-availability-sprint/&quot;&gt;Pacemaker/MySQL tutorial at Percona Live UK&lt;/a&gt;, which I&amp;#8217;ve &lt;a href=&quot;http://fghaas.wordpress.com/2011/09/08/speaking-at-percona-live-%E2%80%94-and-you-can-get-there-for-cheap/&quot;&gt;blogged about before&lt;/a&gt;. Do check it out; my discount code for registrations is still valid!&lt;/li&gt;
&lt;li&gt;On Friday, I&amp;#8217;m joining &lt;a href=&quot;https://alteeve.com/w/Digimer&quot;&gt;Madison Kelly&lt;/a&gt; for a talk on &lt;a href=&quot;https://events.linuxfoundation.org/events/linuxcon-europe/haas-kelly&quot;&gt;high availability fencing at LinuxCon&lt;/a&gt; in Prague.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And, for those of you making plans for Ballarat in January: I&amp;#8217;ll return to &lt;a href=&quot;http://linux.conf.au&quot;&gt;linux.conf.au&lt;/a&gt; as a &lt;a href=&quot;http://linux.conf.au/schedule/81/view_talk?day=thursday&quot;&gt;tutorial speaker&lt;/a&gt;, together with Andrew Beekhof and Tim Serong. I have also submitted a talk for the &lt;a href=&quot;http://linux.conf.au/media/news/56&quot;&gt;High Availability and Distributed Storage&lt;/a&gt; miniconf, preceding the main conference. See you there!&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/fghaas.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/fghaas.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/fghaas.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/fghaas.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/fghaas.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/fghaas.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/fghaas.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/fghaas.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/fghaas.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/fghaas.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/fghaas.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/fghaas.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/fghaas.wordpress.com/679/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/fghaas.wordpress.com/679/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=fghaas.wordpress.com&amp;blog=1182330&amp;post=679&amp;subd=fghaas&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 17 Oct 2011 15:17:31 +0000</pubDate>
</item>
<item>
	<title>Florian's blog: Speaking at Percona Live — and you can get there for cheap!</title>
	<guid permalink="False">http://fghaas.wordpress.com/2011/09/08/speaking-at-percona-live-%e2%80%94-and-you-can-get-there-for-cheap/</guid>
	<link>http://fghaas.wordpress.com/2011/09/08/speaking-at-percona-live-%e2%80%94-and-you-can-get-there-for-cheap/</link>
	<description>&lt;p&gt;Following &lt;a href=&quot;http://fghaas.wordpress.com/2011/09/05/on-to-new-endeavors/&quot;&gt;my departure from Linbit&lt;/a&gt;, I&amp;#8217;m honored to be serving a number of speaking requests at conferences over the next few months.&lt;/p&gt;
&lt;p&gt;The first I am pleased to announce is my commitment to speak at &lt;a href=&quot;http://www.percona.com/live/london-2011&quot;&gt;Percona Live&lt;/a&gt; in London this October. The conference venue is the &lt;a href=&quot;http://www.percona.com/live/london-2011/venue/&quot;&gt;America Square Conference Centre&lt;/a&gt; not too far from the iconic &lt;a href=&quot;http://en.wikipedia.org/wiki/Tower_of_London&quot;&gt;Tower of London&lt;/a&gt;. My 3-hour tutorial &lt;em&gt;&lt;a href=&quot;http://www.percona.com/live/london-2011/tutorial/mysql-high-availability-sprint/&quot;&gt;MySQL High Availability Sprint: Launch The Pacemaker!&lt;/a&gt;&lt;/em&gt; is scheduled for Monday, October 24th at 1pm.&lt;/p&gt;
&lt;p&gt;In this tutorial, I&amp;#8217;ll show you the simplest, quickest and easiest way to set up MySQL high availability in Pacemaker clusters — once you understand the concept, you&amp;#8217;ll be able to pull this sort of thing off in under an hour.&lt;/p&gt;
&lt;p&gt;What&amp;#8217;s cool is that Percona provide tutorial speakers with discount codes for registration, which we can freely share. Thus, if you &lt;a href=&quot;http://www.eventbrite.com/event/1909670877&quot;&gt;register for Percona&amp;nbsp;Live&lt;/a&gt; using the discount code &lt;strong&gt;HaasPLUK11&lt;/strong&gt;, you get £40 off the &lt;em&gt;Conference+Tutorials&lt;/em&gt; ticket — and if you do so before September 19, you save an additional £135 with Early Bird Registration. This discount is valid regardless of whether you actually come to &lt;em&gt;my&lt;/em&gt; tutorial or choose a concurrently scheduled one — so even if my tut is not for you, I can still help you get into the conference cheaper!&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m thrilled to be doing this and can&amp;#8217;t wait to see a bunch of familiar faces in London. And I&amp;#8217;d be thrilled so see &lt;em&gt;you&lt;/em&gt;!&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/fghaas.wordpress.com/673/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/fghaas.wordpress.com/673/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/fghaas.wordpress.com/673/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/fghaas.wordpress.com/673/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/fghaas.wordpress.com/673/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/fghaas.wordpress.com/673/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/fghaas.wordpress.com/673/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/fghaas.wordpress.com/673/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/fghaas.wordpress.com/673/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/fghaas.wordpress.com/673/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/fghaas.wordpress.com/673/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/fghaas.wordpress.com/673/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/fghaas.wordpress.com/673/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/fghaas.wordpress.com/673/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=fghaas.wordpress.com&amp;blog=1182330&amp;post=673&amp;subd=fghaas&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Thu, 08 Sep 2011 06:16:10 +0000</pubDate>
</item>
<item>
	<title>Arrfab's Blog » Cluster: Monitoring DRBD resources with Zabbix on CentOS</title>
	<guid permalink="False">http://www.arrfab.net/blog/?p=328</guid>
	<link>http://www.arrfab.net/blog/?p=328</link>
	<description>&lt;p&gt;We use &lt;a href=&quot;http://www.drbd.org&quot; target=&quot;_blank&quot;&gt;DRBD&lt;/a&gt; at work on several CentOS 5.x nodes to replicate data between our two computer rooms (in different buildings but linked with Gigabit fiber). It's true that you can know if something wrong happens at the DRBD level if you have configured the correct 'handlers' and the appropriate notifications scripts (Have a look for example at the &lt;a href=&quot;http://www.drbd.org/users-guide/s-configure-split-brain-behavior.html#s-split-brain-notification&quot; target=&quot;_blank&quot;&gt;Split Brain notification script&lt;/a&gt;). Those scripts are 'cool' but what if you could 'plumb' the DRBD status in your actual monitoring solution ? We use&lt;a href=&quot;http://www.zabbix.com&quot; target=&quot;_blank&quot;&gt; Zabbix &lt;/a&gt;at $work and I was asked to centralize events from differents sources and Zabbix doesn't support directly monitoring DRBD devices. But one of the cool thing with Zabbix is that it's like a &lt;a href=&quot;http://www.lego.com&quot; target=&quot;_blank&quot;&gt;Lego&lt;/a&gt; system : you can extend what it does if you know what to query and how to do it. If you want to monitor DRBD devices, the best that Zabbix can do (on the agent side, when using the zabbix agent running as a simple zabbix user with /sbin/nologin as shell) is to query and parse&lt;a href=&quot;http://www.drbd.org/users-guide/ch-admin.html#s-proc-drbd&quot; target=&quot;_blank&quot;&gt; /proc/drbd&lt;/a&gt; . So here we go : we need to modify the Zabbix agent to use &lt;a href=&quot;http://www.zabbix.com/documentation/1.8/manual/config/user_parameters#flexible_user_parameters&quot; target=&quot;_blank&quot;&gt;Flexible User Parameters&lt;/a&gt;, like this (in /etc/zabbix/zabbix_agentd.conf) :&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;UserParameter=drbd.cstate[*],cat /proc/drbd |grep $1:|tr [:blank:] \\n|grep cs|cut -f 2 -d ':'|grep Connected |wc -l&lt;br /&gt;
UserParameter=drbd.dstate[*],cat /proc/drbd |grep $1:|tr [:blank:] \\n|grep ds|cut -f 2 -d ':'|cut -f 1 -d '/'|grep UpToDate|wc -l&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;We just need to inform the Zabbix server of the actual Connection State (cs) and Disk State (ds) . For that we just need to create Application/Items and Triggers .. but what if we could just create a &lt;a href=&quot;http://www.zabbix.com/documentation/1.8/manual/config/host_templates&quot; target=&quot;_blank&quot;&gt;Zabbix Template&lt;/a&gt; so that we can just link that template to a DRBD host ? I attach to this post the DRBD Zabbix template (xml file that you can import in your zabbix setup) and you can just link it to your drbd hosts. Here is the &lt;a href=&quot;http://www.arrfab.net/blog/wp-content/uploads/2011/09/zabbix-drbd.xml&quot; target=&quot;_blank&quot;&gt;link &lt;/a&gt;. That XML file contains both two Items (cstate and dstate) and the associated triggers. Of course you can extend it, especially if you use multiple resources , drbd disks. Because we used the Flexible parameters, you can for example in the Zabbix item, create a new one (based on the template) and monitor the /dev/drbd1 device just by using the drbd.dstate[1] key in that zabbix item.&lt;/p&gt;
&lt;p&gt;Happy Monitoring and DRBD'ing ...&lt;/p&gt;</description>
	<pubDate>Wed, 07 Sep 2011 12:10:41 +0000</pubDate>
</item>
<item>
	<title>Florian's blog: On to new endeavors!</title>
	<guid permalink="False">http://fghaas.wordpress.com/2011/09/05/on-to-new-endeavors/</guid>
	<link>http://fghaas.wordpress.com/2011/09/05/on-to-new-endeavors/</link>
	<description>&lt;p&gt;As many of you know already, I have left &lt;a href=&quot;http://www.linbit.com&quot;&gt;Linbit&lt;/a&gt; on September 1. Stay tuned for updates; I will post those here.&lt;/p&gt;
&lt;p&gt;Overall my experience at Linbit has been excellent, and the parting has been very amicable. I am enormously grateful for the 4½ years I spent at Linbit, and I wish them well.&lt;/p&gt;
&lt;p&gt;At the moment it appears that the autoreply I enabled on my email account when I left is non-functional. Unfortunately, as the email address as such is still active, that means anyone writing to my old email address is no longer being notified that if anyone does read it, it won&amp;#8217;t be me.&lt;/p&gt;
&lt;p&gt;My current, correct, email address is on my &lt;a href=&quot;http://linkedin.com/in/florianhaas&quot;&gt;LinkedIn&lt;/a&gt; and &lt;a href=&quot;http://www.xing.com/profile/Florian_Haas2&quot;&gt;Xing&lt;/a&gt; profile pages. Please make sure you use the new one when communicating with me. Or contact me on LinkedIn or Xing directly; that&amp;#8217;ll also work.&lt;/p&gt;
&lt;p&gt;I presume that the same thing is also true for the email addresses previously used by fellow ex-Linbiters &lt;a href=&quot;http://fghaas.wordpress.com/feed/www.xing.com/profile/MartinGerhard_Loschwitz&quot;&gt;Martin Loschwitz&lt;/a&gt; and &lt;a href=&quot;https://www.xing.com/profile/Andreas_Kurz6&quot;&gt;Andreas Kurz&lt;/a&gt;, as well. You can of course find them on their respective Xing pages, too.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/fghaas.wordpress.com/670/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/fghaas.wordpress.com/670/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/fghaas.wordpress.com/670/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/fghaas.wordpress.com/670/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gofacebook/fghaas.wordpress.com/670/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/fghaas.wordpress.com/670/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gotwitter/fghaas.wordpress.com/670/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/fghaas.wordpress.com/670/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/fghaas.wordpress.com/670/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/fghaas.wordpress.com/670/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/fghaas.wordpress.com/670/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/fghaas.wordpress.com/670/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/fghaas.wordpress.com/670/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/fghaas.wordpress.com/670/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=fghaas.wordpress.com&amp;blog=1182330&amp;post=670&amp;subd=fghaas&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 05 Sep 2011 14:33:00 +0000</pubDate>
</item>
<item>
	<title>Xaprb » High Availability: When can I have a big server in the cloud?</title>
	<guid permalink="False">http://www.xaprb.com/blog/?p=2365</guid>
	<link>http://www.xaprb.com/blog/2011/06/10/when-can-i-have-a-big-server-in-the-cloud/</link>
	<description>&lt;p&gt;I was at a conference recently talking with a Major Cloud Hosting Provider and mentioned that for database servers, I really want large instances, quite a bit larger than the largest I can get now.  The lack of cloud servers with lots of memory, many &lt;em&gt;fast&lt;/em&gt; cores, and fast I/O and network performance leads to premature sharding, which is costly.  A large number of applications can currently run on a single real server, but would require sharding to run in any of the popular cloud providers&amp;#8217; environments.  And many of those applications aren&amp;#8217;t growing rapidly, so by the time they outgrow today&amp;#8217;s hardware we can pretty much count on simply upgrading and staying on a single machine.&lt;/p&gt;

&lt;p&gt;The person I was talking to actually seemed to become angry at me, and basically called me an idiot.  This person&amp;#8217;s opinion is that no one should be running on anything larger than 4GB of memory, and anyone who doesn&amp;#8217;t build their system to be sharded and massively horizontally scaled is clueless.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve received similar push-back from a lot of cloud hosting providers.  When I work through the math with clients, a lot of them don&amp;#8217;t like the ultimate price/performance ratio offered by cloud hosting.  Hype doesn&amp;#8217;t drive everyone&amp;#8217;s business decisions, so a lot of people are wisely staying far away from cloud hosting for their applications, or even moving whole applications out of cloud hosting into real hardware to consolidate machines and save a lot of money.  Some of them are using flash storage devices such as Fusion-io to further lower their TCO (this isn&amp;#8217;t the right answer for every app, though).&lt;/p&gt;

&lt;p&gt;Why do cloud hosting providers work so hard to make everyone buy lots of anemic machines and shard their applications an order of magnitude more than is required?  Why aren&amp;#8217;t they jumping to offer really beefy instances?  I think there are a couple of simple reasons.&lt;/p&gt;

&lt;p&gt;First, they want to colocate virtual machines and over-provision, just as airlines sell more tickets than there are seats in the plane.  It&amp;#8217;s a numbers game: sell more capacity than you really have, and bet on some of the instances not using all resources allocated to them.  Win!  Of course, this is only possible with lots of small instances; the law of large numbers doesn&amp;#8217;t work without lots of instances, and large instances can&amp;#8217;t be colocated.  Cloud providers tend to dislike dedicated instances, which leads to the second reason. They don&amp;#8217;t want to make strong claims about the availability of any particular machine.  This is where the cloud paradigm of &amp;#8220;you must build to recover from machines vanishing without warning&amp;#8221; comes from.  A dedicated beefy instance wouldn&amp;#8217;t let the hosting provider push that responsibility onto the application.&lt;/p&gt;

&lt;p&gt;There are lots more reasons &amp;#8212; all of them combining into one big overall &amp;#8220;cloud application architecture best practice&amp;#8221; &amp;#8212; but I think those are two of the showstoppers.&lt;/p&gt;

&lt;p&gt;I really think this is a wrong paradigm.  People talk about the cloud being the technology of the future, but in many ways it&amp;#8217;s pretty stone-age compared to what smart system architects can achieve with high-quality hardware and networking at a much lower cost, with very strong guarantees of performance, consistency, and availability.&lt;/p&gt;

&lt;p&gt;Cloud computing is new enough that we don&amp;#8217;t understand, in a collective sense, how to think about it.  (I know that lots of individuals do, but as a whole, there isn&amp;#8217;t much of a shared understanding.) The real value proposition that I want to see emerge from cloud computing is pretty much orthogonal to what everyone&amp;#8217;s raving about these days.  I want to see the DevOps engineering discipline build momentum around the idea that systems should be treated as services, with architectural components provisioned and controlled through APIs.  That can be done completely independently of many of the characteristics of current cloud computing platforms (virtualization, ephemerality, horizontally scaled architectures&amp;#8230;)&lt;/p&gt;

&lt;p&gt;And like most people, I&amp;#8217;ve got an ego and I don&amp;#8217;t appreciate repeatedly being called a moron by cloud computing providers&amp;#8217; sales people, who don&amp;#8217;t know anything about running database servers.  I can do math and understand price/performance, and I know the cost and difficulty of building a sharded application.  I look forward to the day when I don&amp;#8217;t have to just bite my tongue and walk on to the next booth.  I look forward to cloud hosting providers advancing to the year 2005 or so.  I&amp;#8217;m sure it will happen as we figure this all out.&lt;/p&gt;

&lt;p&gt;Feel free to comment, but don&amp;#8217;t expect me to approve your comment if you&amp;#8217;re from a cloud provider and you&amp;#8217;re plugging your platform :)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Further Reading:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2010/06/01/under-provisioning-the-curse-of-the-cloud/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: Under-provisioning: the curse of the cloud&quot;&gt;Under-provisioning: the curse of the cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2011/04/23/risks-of-running-in-the-cloud/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: Risks of running in the cloud&quot;&gt;Risks of running in the cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2010/07/04/a-review-of-cloud-application-architectures-by-george-reese/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: A review of Cloud Application Architectures by George Reese&quot;&gt;A review of Cloud Application Architectures by George Reese&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2010/04/10/brian-aker-20gb-doesnt-fit-on-a-single-server/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: Brian Aker: 20GB doesn&amp;#8217;t fit on a single server&quot;&gt;Brian Aker: 20GB doesn&amp;#8217;t fit on a single server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2011/02/08/building-a-mysql-server-with-xtradb-for-speed/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: Building a MySQL server with XtraDB for speed&quot;&gt;Building a MySQL server with XtraDB for speed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 10 Jun 2011 15:12:03 +0000</pubDate>
</item>
<item>
	<title>Xaprb » High Availability: What’s wrong with MMM?</title>
	<guid permalink="False">http://www.xaprb.com/blog/?p=2307</guid>
	<link>http://www.xaprb.com/blog/2011/05/04/whats-wrong-with-mmm/</link>
	<description>&lt;p&gt;I am not a fan of the MMM tool for managing MySQL replication.  This is a topic of vigorous debate among different people, and even within Percona not everyone feels the same way, which is why I&amp;#8217;m posting it here instead of on an official Percona blog.  There is room for legitimate differences of opinion, and my opinion is just my opinion.  Nonetheless, I think it&amp;#8217;s important to share, because a lot of people think of MMM as a high availability tool, and that&amp;#8217;s not a decision to take lightly.  At some point I just have to step off the treadmill and write a blog post to create awareness of what I see as a really bad situation that needs to be stopped.&lt;/p&gt;

&lt;p&gt;I like software that is well documented and formally tested.  A lot of software is usable even if it isn&amp;#8217;t created by perfectionists.  But there are two major things in the MySQL world for which I think we can all agree we need strong guarantees of correctness.  One is backups.  The other is High Availability (HA) tools.  And this leads me to my position on MMM.&lt;/p&gt;

&lt;p&gt;MMM is 1) fundamentally broken and unsuitable for use as a HA tool, and 2) absolutely cannot be fixed.  I&amp;#8217;ll take that in two parts.&lt;/p&gt;

&lt;p&gt;First, it&amp;#8217;s broken and untrustworthy.  I could go into the technical details of why MMM is broken at the architectural and implementation level.  I could talk about the way that it uses a distributed set of agents, which do not have a reliable communications channel, all maintain their own state which is not communicated or agreed upon across nodes, and don&amp;#8217;t even share configuration.  I could talk about the fact that MMM itself can&amp;#8217;t be made HA or redundant &amp;#8212; you can only have a single instance of it.&lt;/p&gt;

&lt;p&gt;I could talk about lots of things, but you can argue with every one of those assertions.  You can&amp;#8217;t argue with the list of failures I&amp;#8217;ve personally seen.  It fails over with no reason when nothing is wrong &amp;#8212; and botches it up, causing the entire replication cluster to get out of sync and break.  It tries to fail over when something actually is wrong with the cluster, but it does things out of order and with no synchronization amongst the agents, leading to chaos.  It can&amp;#8217;t handle anything unexpected, such as the ordinary kinds of network, disk, etc failures you&amp;#8217;d expect in systems that have something wrong (which is exactly when an HA tool is supposed to function).  It doesn&amp;#8217;t protect itself against the human doing something wrong, such as mixing up the agent configuration on different hosts.  There are many bizarre ways MMM can fail, but these are all theoretical &amp;#8212; until you witness them.  I&amp;#8217;ve witnessed them, and new customer cases on MMM failures are filed on a regular basis.  Here&amp;#8217;s one:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;In the recent past, we have had a couple of bad experiences with mmm-monitor tool which broke replication and brought our website down for a few hours.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;And another:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;We have recently started testing MMM for MySQL and when using it under write load we have been experiencing &amp;#8216;Duplicate entry&amp;#8217; (1062) errors.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;In short, MMM causes more downtime than it prevents.  It&amp;#8217;s a Low-Availability tool, not a High-Availability tool.  It only takes one really good serious system-wide mess to take you down for a couple of days, working 24&amp;#215;7 trying to scrape your data off the walls and put it back into the server.  MMM brings new meaning to the term &amp;#8220;cluster-f__k&amp;#8221;.&lt;/p&gt;

&lt;p&gt;Now, why isn&amp;#8217;t it possible to fix it?  One simple reason: MMM is completely untested and untestable.  Change one line of code in Agent.pm&amp;#8217;s master control flow and tell me that you&amp;#8217;re confident that you know what it has just done to the whole system?  You can&amp;#8217;t do it.  If you don&amp;#8217;t have tests, you can&amp;#8217;t change the code with confidence, period.  And as I said before, HA and backup tools are where we need a zero-tolerance policy.  &amp;#8220;I think this fixed the bug&amp;#8221; or &amp;#8220;I think it&amp;#8217;s safe to change this code&amp;#8221; are not acceptable.  I have seen a lot of bug fixes that cause new and interesting bugs.  I appreciate the variety &amp;#8212; life is boring if all we&amp;#8217;re doing is seeing the same old bugs &amp;#8212; but this isn&amp;#8217;t what we need in an HA tool.&lt;/p&gt;

&lt;p&gt;In order to fix MMM, it has to be completely rewritten from scratch.  Among other things, decisions and actions need to be completely separated.  Then the decisions can be verified with a test suite, and the actions can be verified independently.  But if you do that, you don&amp;#8217;t have MMM anymore, you have a new tool.  Therefore MMM can&amp;#8217;t be fixed, it can only be thrown out and reimplemented.&lt;/p&gt;

&lt;p&gt;Note that I&amp;#8217;m not claiming that MMM was developed by bad programmers or that it is bad quality.  I am only claiming that a) it demonstrably doesn&amp;#8217;t work correctly, and b) it can&amp;#8217;t be fixed without a rigorous test suite, which can&amp;#8217;t be added to it without a complete reimplementation.&lt;/p&gt;

&lt;p&gt;I will go further and claim that the architecture of MMM is fundamentally unreliable, and it isn&amp;#8217;t a good idea to reimplement it (it&amp;#8217;s already been done once!).  This we could argue for a long time, but I know of so many better architectures that I wouldn&amp;#8217;t entertain the notion of building a new tool with the same architecture.&lt;/p&gt;

&lt;p&gt;I have seen a number of people reach the same conclusions and then implement new systems in the same general vein as MMM, with a limited set of functionality to avoid some of the problems.  For instance, Flipper is a single tool with no agents, so that&amp;#8217;s an improvement.  Unfortunately, these tools all suffer from the same problem: they aren&amp;#8217;t formally tested.  I simply can&amp;#8217;t accept that in an HA tool.&lt;/p&gt;

&lt;p&gt;If I&amp;#8217;m such a perfectionist, why haven&amp;#8217;t I built a tool that solves this problem?  I have a limited amount of time, and at some point, I don&amp;#8217;t do things for free.  I&amp;#8217;ve had multiple conversations that go like this: &amp;#8220;My last replication downtime incident cost me $75k.  I can&amp;#8217;t let that happen again.  What will it cost to build a correct solution?  No way &amp;#8212; I can&amp;#8217;t pay $20k for a high availability tool that really works.&amp;#8221;&lt;/p&gt;

&lt;p&gt;There is active development on something related that I can&amp;#8217;t talk much about now.  But if you want, you can come to &lt;a href=&quot;http://www.percona.com/live/&quot;&gt;Percona Live&lt;/a&gt; and be among the first to find out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Further Reading:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2010/10/02/all-measurements-are-wrong/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: All measurements are wrong&quot;&gt;All measurements are wrong&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2005/12/12/everyone-is-wrong-sometimes/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: Everyone is wrong sometimes&quot;&gt;Everyone is wrong sometimes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2007/10/20/what-are-your-favorite-mysql-replication-filtering-rules/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: What are your favorite MySQL replication filtering rules?&quot;&gt;What are your favorite MySQL replication filtering rules?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2008/12/11/is-mysql-51-really-a-better-50/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: Is MySQL 5.1 really a better 5.0?&quot;&gt;Is MySQL 5.1 really a better 5.0?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2011/05/15/what-kind-of-high-availability-do-you-need/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: What kind of High Availability do you need?&quot;&gt;What kind of High Availability do you need?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 04 May 2011 19:43:43 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: High Availability MySQL Cookbook , the review</title>
	<guid permalink="False">http://www.krisbuytaert.be/1022 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/high-availability-mysql-cookbook-review</link>
	<description>&lt;p&gt;When I read on the internetz that Alex Davies was about the publish a &lt;a href=&quot;https://www.packtpub.com/high-availability-mysql-cookbook/book&quot; rel=&quot;nofollow&quot;&gt;Packt book on MySQL HA&lt;/a&gt;  I pinged my contacts at Packt and suggested that I'd review the book .&lt;/p&gt;
&lt;p&gt;I've ran into &lt;a href=&quot;https://sites.google.com/a/davz.net/alex-davies/&quot; rel=&quot;nofollow&quot;&gt;Alex&lt;/a&gt; at some UKUUG conferences before and he's got a solid background on MySQL Cluster and other HA alternatives so I was looking forward to reading the book.&lt;/p&gt;
&lt;p&gt;Alex starts of with a couple of indepth chapters on MySQL Cluster,  he does mention that it's not a fit for all problems, but I'd hoped he did it a bit more prominently ...    an upfront chapter outlining the different approaches and when which approach is a match could have been better.    The avid reader now might be 80 pages into MySQL cluster before he realizes it's not going to be a match for his problem.&lt;/p&gt;
&lt;p&gt;I really loved the part where Alex correcly mentions that you should probably be using Puppet or so to manage the config files of your environment, rather than scp them around your different boxes ..&lt;/p&gt;
&lt;p&gt;Alex then goes on to describe setting up MySQL replication and Multi Master replicataion with the different approaches one can take here,  he gives some nice tips on using LVM to reduce the downtime of your MySQL when having to transfer the dataset of an already existing MySQL setup, good stuff.&lt;/p&gt;
&lt;p&gt;He then goes on to describe MySQL with shared storage ...   if you only mount your redundant sandisk once on your MySQL nodes my preference would probably be a Pacemaker stack  rather than a RedHat Cluster based setup,  but his setup seems to work too.   Alex quickly touches on using GFS to have your data disk mounted simultaneously on both nodes (keep in mind with only 1 active MySQLd)  and then goes on to describe a full DRBD based MySQL HA setup&lt;/p&gt;
&lt;p&gt;The last chapter titled Performance tuning gives some very nice tips on both tuning your regular storae, as your&lt;br /&gt;
GFS setup but also the tuning parameters for MySQL Cluster&lt;/p&gt;
&lt;p&gt;I was also really happy to see the Appendixes on the basic installation where he advocates the use of Cobbler , Kickstart and LVM ..&lt;/p&gt;
&lt;p&gt;One of the better books I read the past couple of years .. certainly the best book from Packt so far , I hope there is more quality stuff coming from that direction !&lt;/p&gt;
&lt;div class=&quot;technorati_tags&quot;&gt;&lt;img alt=&quot;Technorati Tags:&quot; src=&quot;http://www.krisbuytaert.be/blog/sites/all/modules/technorati/technobubble.gif&quot; /&gt;&lt;strong&gt;Technorati Tags: &lt;/strong&gt;&lt;a href=&quot;http://technorati.com/tag/cobbler&quot; rel=&quot;tag&quot;&gt;cobbler&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/drbd&quot; rel=&quot;tag&quot;&gt;drbd&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/ha&quot; rel=&quot;tag&quot;&gt;ha&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/heartbeat&quot; rel=&quot;tag&quot;&gt;heartbeat&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/linux-ha&quot; rel=&quot;tag&quot;&gt;linux-ha&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/mysql&quot; rel=&quot;tag&quot;&gt;mysql&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/pacemaker&quot; rel=&quot;tag&quot;&gt;pacemaker&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/puppet&quot; rel=&quot;tag&quot;&gt;puppet&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;sharomaticbutton&quot;&gt; &lt;a href=&quot;http://www.shareomatic.com/http://www.krisbuytaert.be/blog/high-availability-mysql-cookbook-review/shareomatic-drupal/High Availability MySQL Cookbook , the review&quot;&gt;&lt;img src=&quot;http://www.shareomatic.com/images/s_16_black.gif&quot; alt=&quot;Share with Shareomatic!&quot; title=&quot;Post this item on various social news sites with Shareomatic!&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.shareomatic.com/http://www.krisbuytaert.be/blog/high-availability-mysql-cookbook-review/shareomatic-drupal/High Availability MySQL Cookbook , the review&quot;&gt;Share with Shareomatic!&lt;/a&gt; &lt;/div&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:trackback=&quot;http://madskills.com/public/xml/rss/module/trackback/&quot;&gt;
&lt;rdf:Description rdf:about=&quot;http://www.krisbuytaert.be/blog/high-availability-mysql-cookbook-review&quot; dc:identifier=&quot;http://www.krisbuytaert.be/blog/high-availability-mysql-cookbook-review&quot; dc:title=&quot;High Availability MySQL Cookbook , the review&quot; trackback:ping=&quot;http://www.krisbuytaert.be/blog/trackback/1022&quot; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
&lt;div class=&quot;trackback-url&quot;&gt;&lt;div class=&quot;box&quot;&gt;

  &lt;h3&gt;Trackback URL for this post:&lt;/h3&gt;

  &lt;div class=&quot;content&quot;&gt;http://www.krisbuytaert.be/blog/trackback/1022&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 03 Nov 2010 23:07:18 +0000</pubDate>
</item>
<item>
	<title>Arrfab's Blog » Cluster: DRBD backported (or not) to 2.6.32 in EL6 ?</title>
	<guid permalink="False">http://www.arrfab.net/blog/?p=224</guid>
	<link>http://www.arrfab.net/blog/?p=224</link>
	<description>&lt;p&gt;As some of you already know it, DRBD is now (since kernel 2.6.33) &lt;a href=&quot;http://www.drbd.org/download/mainline/&quot; target=&quot;_blank&quot;&gt;part of the mainline/upstream kernel&lt;/a&gt;. Some were expecting RHEL6 to come with that kernel (used for Fedora 13). The latest RHEL6beta2 still comes with 2.6.32, which doesn't include DRBD support. Of course we still don't know what the 'frozen' RHEL6 kernel will be but on the other hand, we know that Red Hat quite often 'backports' modules from newer kernel into the RHEL kernel. What about DRBD ? At the time of writing this blog post, it seems still undecided, but you can follow the &lt;a href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=585309&quot; target=&quot;_blank&quot;&gt;DRBD RFE on Upstream Bugzilla &lt;/a&gt;to get a clue, or even comment on it if you have a bugzilla account to  make hear your voice. On the other hand, you can still be sure that even if DRBD isn't part of EL6, CentOS will still ship it in the &lt;a href=&quot;http://wiki.centos.org/AdditionalResources/Repositories&quot; target=&quot;_blank&quot;&gt;Extras repository&lt;/a&gt;, like for EL4/EL5 ...&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 12:54:32 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: MySQL HA , an alternative approach</title>
	<guid permalink="False">http://www.krisbuytaert.be/1001 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/mysql-ha-alternative-approach</link>
	<description>&lt;p&gt;For those who've seen my presentation on MySQL HA, you already know that I often use a multimaster setup with a meta OCF resource  that groups my favoured MySQL instance with the service ip ,  using a meta resource means that pacemaker monitors mysql, but it doesn't actually manage it.  It's an approach that works for us.&lt;/p&gt;
&lt;p&gt;One of the other approaches I will be looking at soon is the freshly released OCF resource that &lt;a href=&quot;http://fghaas.wordpress.com/2010/04/21/mysql-masterslave-support-now-merged-into-linux-ha/&quot; rel=&quot;nofollow&quot;&gt;Florian&lt;/a&gt; announced last week.&lt;/p&gt;
&lt;p&gt;Back in the days our approach meant we didn't have to use clone resources, which you might remember being pretty buggy in the v2 era,  not wanting to use clons resources isn't really a valid reason anymore these days .  I've also frequently mentioned the combination of using DRBD and MultiMaster replication,  using this set of OCF resource makes that a lot more easy ..&lt;/p&gt;
&lt;p&gt;Now all I need to do is find me some time to validate this setup.&lt;/p&gt;</description>
	<pubDate>Wed, 28 Apr 2010 21:17:27 +0000</pubDate>
</item>
<item>
	<title>Xaprb » High Availability: Why high-availability is hard with databases</title>
	<guid permalink="False">http://www.xaprb.com/blog/?p=1778</guid>
	<link>http://www.xaprb.com/blog/2010/04/26/why-high-availability-is-hard-with-databases/</link>
	<description>&lt;p&gt;A lot of systems are relatively easy to make HA (highly available).  You just slap them into a well-known HA framework such as Linux-HA and you&amp;#8217;re done.  But databases are different, especially replicated databases, &lt;em&gt;especially&lt;/em&gt; replicated MySQL.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.xaprb.com/blog/wp-content/uploads/2010/04/matchbox_car-300x200.jpg&quot; alt=&quot;Matchbox Car&quot; title=&quot;Matchbox Car&quot; width=&quot;300&quot; height=&quot;200&quot; class=&quot;alignnone size-medium wp-image-1779&quot; /&gt;The reason has to do with some properties that hold for many systems, but not for most databases.  Most systems that you want to make HA are relatively lightweight and interchangeable, with little to zero statefulness, easy to start, easy to stop, don&amp;#8217;t care a lot about storage (or at least don&amp;#8217;t write a lot of data; that&amp;#8217;s usually delegated to the database), and there&amp;#8217;s little or no harm done if you ruthlessly behead them.  The classic example is a web server or even most application servers.  Most of the time these things are all about CPU power and network bandwidth. If I were to compare them to a car, I&amp;#8217;d say they are like matchbox cars: there are many of them, and they are cheap and easy to replace.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.xaprb.com/blog/wp-content/uploads/2010/04/mining-truck-300x242.jpg&quot; alt=&quot;Mining Truck&quot; title=&quot;Mining Truck&quot; width=&quot;300&quot; height=&quot;242&quot; class=&quot;alignnone size-medium wp-image-1783&quot; /&gt;Databases are different.  With or without replication, you&amp;#8217;re looking at a system that is complex, stateful, heavyweight, and cares a lot about storage.  It runs on bigger hardware with fast disks and a lot of memory.  It&amp;#8217;s usually disk-bound, and it does a lot of writes.  It&amp;#8217;s hard to start &amp;#8212; it takes a long time to warm up and really get ready to serve production workloads (many minutes, hours, or even days).  It tends to run with a lot of data in memory in a dirty state, so shutdown is slow, because a clean shutdown requires flushing a bunch of data to disk.  If you yank its power plug or kill-dash-nine it, it&amp;#8217;ll have to perform recovery on startup, which slows the startup process even more.  If I were to compare a database server to a car, I wouldn&amp;#8217;t even use a car as the analogy: I&amp;#8217;d use one of those big-ass mining trucks.  If your mining truck breaks down, you don&amp;#8217;t just toss it in the trash and pull another off the shelf.&lt;/p&gt;

&lt;p&gt;The problem with a lot of HA solutions is that they want to deal with inconsistencies or irregularities by killing the resource and replacing it in another location.  This works fine with web servers, but not with database servers.  Doing that will cause serious pain and downtime, defeating the point of HA.  And when you add replication into the mix, it gets even worse.  A system that wants to manage replication needs to deal with very complex conditions.  A lot of replication failures are delicate matters that require skilled human intervention to solve.  The HA solution must insulate the application from the misbehaving resource, but leave it running so the human can handle things.&lt;/p&gt;

&lt;p&gt;This is not the way most applications are made HA.  It&amp;#8217;s different with databases, and it&amp;#8217;s much harder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Further Reading:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2007/10/18/high-performance-mysql-second-edition-replication-scaling-and-high-availability/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: High Performance MySQL, Second Edition: Replication, Scaling and High Availability&quot;&gt;High Performance MySQL, Second Edition: Replication, Scaling and High Availability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2011/05/15/what-kind-of-high-availability-do-you-need/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: What kind of High Availability do you need?&quot;&gt;What kind of High Availability do you need?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2010/06/12/postmodern-databases/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: Postmodern databases&quot;&gt;Postmodern databases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2009/09/20/observations-on-key-value-databases/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: Observations on key-value databases&quot;&gt;Observations on key-value databases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.xaprb.com/blog/2008/01/12/more-progress-on-high-performance-mysql-second-edition/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: More progress on High Performance MySQL, Second Edition&quot;&gt;More progress on High Performance MySQL, Second Edition&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 26 Apr 2010 11:53:15 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: Linux Open Administration Days 2010</title>
	<guid permalink="False">http://www.krisbuytaert.be/998 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/linux-open-administration-days-2010</link>
	<description>&lt;p&gt;So about 4 monts ago &lt;a href=&quot;http://blog.bdesmet.be/?p=272&quot; rel=&quot;nofollow&quot;&gt;there was the crazy idea&lt;/a&gt; to start a new FOSS event in Belgium targeted  at sysadmins.&lt;/p&gt;
&lt;p&gt;What started out as an event for local people to meet local people with some local speakers actually ended up being a small local event with some top international speakers on onfiguration mananagement and system administration mixed with a bunch of good local ones !&lt;/p&gt;
&lt;p&gt;I had the honour to open the conference with an extremely short version of the Devops talk I gave earlier last year..  extremely short as I knew that over the course of the weekend the topic would reoccur a lot.&lt;/p&gt;
&lt;p&gt;We had the first european talk on &lt;a href=&quot;http://wiki.opscode.com/display/chef/Home&quot; rel=&quot;nofollow&quot;&gt;Chef&lt;/a&gt;, by Joshua Timberman,  and we had Puppet talks amongst by Dan Bode from Puppetlabs and CFengine talks ,  devops was a frequently dropped word,&lt;/p&gt;
&lt;p&gt;We had a book raffle where we handed out O'Reilly's .. we had a great free pizza party (got the idea from the saturday pizza event at LCA 2005) ,  and we had some free beer.      Sounds like a good combination for a geeky weekend.&lt;/p&gt;
&lt;p&gt;Apart from the regular talks there were plenty of Open Spaces where interesting topics were discussed ... we had spaces on Open Source vs Open Core , strong voices were heard when we discussed what we should do with the Open Core companies that claim to value Open Source , some people think we should actually list the fauxpensource ones somewhere and make sure the world knows about them&lt;/p&gt;
&lt;p&gt;We had an awesome configuration management discussion session  discussing Chef vs Puppet vs CFengine . And much much more ...&lt;/p&gt;
&lt;p&gt;Some people owe me plenty of Sushi as I had to do my MySQL HA talk before their Managing MySQL talk  , but other than that .. things just went fine..&lt;/p&gt;
&lt;div class=&quot;technorati_tags&quot;&gt;&lt;img alt=&quot;Technorati Tags:&quot; src=&quot;http://www.krisbuytaert.be/blog/sites/all/modules/technorati/technobubble.gif&quot; /&gt;&lt;strong&gt;Technorati Tags: &lt;/strong&gt;&lt;a href=&quot;http://technorati.com/tag/cfengine&quot; rel=&quot;tag&quot;&gt;cfengine&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/chef&quot; rel=&quot;tag&quot;&gt;chef&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/conference&quot; rel=&quot;tag&quot;&gt;conference&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/devops&quot; rel=&quot;tag&quot;&gt;devops&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/ha&quot; rel=&quot;tag&quot;&gt;ha&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/load&quot; rel=&quot;tag&quot;&gt;load&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/loadays&quot; rel=&quot;tag&quot;&gt;loadays&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/mysql&quot; rel=&quot;tag&quot;&gt;mysql&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/mysql+ha&quot; rel=&quot;tag&quot;&gt;mysql ha&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/puppet&quot; rel=&quot;tag&quot;&gt;puppet&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;sharomaticbutton&quot;&gt; &lt;a href=&quot;http://www.shareomatic.com/http://www.krisbuytaert.be/blog/linux-open-administration-days-2010/shareomatic-drupal/Linux Open Administration Days 2010&quot;&gt;&lt;img src=&quot;http://www.shareomatic.com/images/s_16_black.gif&quot; alt=&quot;Share with Shareomatic!&quot; title=&quot;Post this item on various social news sites with Shareomatic!&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.shareomatic.com/http://www.krisbuytaert.be/blog/linux-open-administration-days-2010/shareomatic-drupal/Linux Open Administration Days 2010&quot;&gt;Share with Shareomatic!&lt;/a&gt; &lt;/div&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:trackback=&quot;http://madskills.com/public/xml/rss/module/trackback/&quot;&gt;
&lt;rdf:Description rdf:about=&quot;http://www.krisbuytaert.be/blog/linux-open-administration-days-2010&quot; dc:identifier=&quot;http://www.krisbuytaert.be/blog/linux-open-administration-days-2010&quot; dc:title=&quot;Linux Open Administration Days 2010&quot; trackback:ping=&quot;http://www.krisbuytaert.be/blog/trackback/998&quot; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
&lt;div class=&quot;trackback-url&quot;&gt;&lt;div class=&quot;box&quot;&gt;

  &lt;h3&gt;Trackback URL for this post:&lt;/h3&gt;

  &lt;div class=&quot;content&quot;&gt;http://www.krisbuytaert.be/blog/trackback/998&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 20 Apr 2010 19:43:05 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: UKUUG Spring Conference 2010</title>
	<guid permalink="False">http://www.krisbuytaert.be/997 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/ukuug-spring-conference-2010</link>
	<description>&lt;p&gt;Last week I was in Manchester for the 2010 UKUUG Spring Conference, right .. make that 2 weeks ago , :) &lt;/p&gt;
&lt;p&gt;The UKUUG usually hosts the more interesting conferences around ... , it's not just the schedule that attrackts me , yes there's the strong focus towards Larger Scale Unix (and mostly Linux) deployments and how to manage them, but there's also the opportunity to chat in real life with the Devops from across the chunnel.&lt;/p&gt;
&lt;p&gt;Spending time with &lt;a href=&quot;http://www.devco.net/&quot;&gt;R.I.Pienaar&lt;/a&gt;, &lt;a href=&quot;http://www.build-doctor.com/2010/03/26/ukuug-spring-conference-2010/&quot;&gt;Julian Simpson&lt;/a&gt;,  &lt;a href=&quot;http://twitter.com/simonxwilkinson&quot;&gt;Simon Wilkinson&lt;/a&gt; , &lt;a href=&quot;https://sites.google.com/a/davz.net/alex-davies/&quot;&gt;Alex Davies&lt;/a&gt; , &lt;a href=&quot;http://database-explorer.blogspot.com/&quot;&gt;Simon Riggs&lt;/a&gt; , Josette, and many others is always fun .&lt;/p&gt;
&lt;p&gt;As I was in town early I went to the preconference beer meetup and met with a lot of people and chatted about config management, virtualization   and lots of other stuff ...  after the pub the plan was to go for curries nearby .. and while walking to the , ahem  Bus stop, I managed to recognise &lt;a href=&quot;http://monkeyiq.blogspot.com/&quot;&gt;Ben Martin&lt;/a&gt; from meeting him back ages ago in Hamburg for LinuxKongress , always fun ..&lt;/p&gt;
&lt;p&gt;Apart from having to jump on a bus and our group being split at the curry place , rather than being able to tell the latecomers where to walk to and being seeted upstairs with the whole group , the curries were interesting and fun.&lt;/p&gt;
&lt;p&gt;As I had been pushing &lt;a href=&quot;http://blog.gardeviance.org/&quot;&gt;Simon Wardley&lt;/a&gt; on Twitter to submit a talk for the conference it was really great to finally see him present ..  His talk was the perfect soft introduction to the conference ...&lt;/p&gt;
&lt;p&gt;Simon's talk  was followed   by a talk on Security for the virtual datacenters,  after I questionned the speaker  if anyone actualy uses TPM outside an academic lab the talk suddenly changed into a commercial presentation for a Quack, nuff said.&lt;/p&gt;
&lt;p&gt;The Ever energetic &lt;a href=&quot;http://www.shadowcat.co.uk/blog/matt-s-trout/&quot;&gt;Matt S Trout&lt;/a&gt; talked about 21st century perl before Simon &quot;Life is to short for SELinux&quot; Wilkinson talked about his experiences in getting the openAFS crowd  on Git.&lt;/p&gt;
&lt;p&gt;Bummer Thierry Carrez didn't show us the real juice of UEC and just the installations of  a Cloud Controller and a Node Controller , but he managed to do so in approx 30 minutes as promised .&lt;/p&gt;
&lt;p&gt;A talk titled Coherent and Integrated Configuration of Virtual Infrastructures always cathces my eye.. however when that talk turns out to be a Coherent and Integrated configuration only within the Univerity of Edinborough  (aka lcfg2) talk I`m dissapointed,  specially since it pretty  much didn't introduce any new concepts from the ones I introduced back in  my Durham UKUUG presentation&lt;/p&gt;
&lt;p&gt;Luckily Andrew Stribblehill gave a very interesting talk on MySQL scalability,  in which I promised him some answers to his questions for the next day :)&lt;/p&gt;
&lt;p&gt;The Conference dinner was without a doubt the best UKUUG dinner so far ,  no typical english &quot;food&quot;,  no weird location (Old Trafford, an abandoned warship) , but just a big chinese place and plenty of food !&lt;/p&gt;
&lt;p&gt;I started thurday morning in the wrong track,  I assumed to be in the Virtualization track, but I ended up in the Sun thinclient and Abusing Linux to serve weird desktops under the Green computing umbrella track, not my favourites ..&lt;/p&gt;
&lt;p&gt;When Patrick and Julian started their Hudson hit my Puppet with a Cucumber talk (which featured some aweseom #devops content) I was a afraid that we'd had to look for a replacment PostgreSQL talk as Simon hadn't arrived yet ..  Luckily he arrived in time for his presentation and he explained us about the new replication features that are slowly making it into PostgreSQL,   one way ... log shipping ...  not really up to par with other alternatives yet :(&lt;/p&gt;
&lt;p&gt;So with no further ado .. here's the presentation I gave&lt;/p&gt;
&lt;div id=&quot;__ss_3582666&quot;&gt;&lt;strong&gt;&lt;a href=&quot;http://www.slideshare.net/KrisBuytaert/mysql-ha-with-pacemaker&quot; title=&quot;MySQL HA with  PaceMaker&quot;&gt;MySQL HA with  PaceMaker&lt;/a&gt;&lt;/strong&gt;
&lt;div&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/KrisBuytaert&quot;&gt;Kris Buytaert&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;PS.  If at a Ukuug event and not sure about a person's name ... try Simon.. pretty good chance you're correct :)&lt;/p&gt;</description>
	<pubDate>Wed, 07 Apr 2010 17:16:20 +0000</pubDate>
</item>
<item>
	<title>High Availability MySQL: Relevance in the datacenter</title>
	<guid>tag:blogger.com,1999:blog-5915567578707286635.post-7649483785601072210</guid>
	<link>http://mysqlha.blogspot.com/2009/07/relevance-in-datacenter.html</link>
	<description>Do you know SQL or do you &lt;a href=&quot;http://www.dbms2.com/2009/07/01/nosql-sql-alternative/&quot;&gt;NoSQL&lt;/a&gt;? MySQL has been very popular for internet-scale deployments. But times have changed and there are alternatives. The alternatives either out-scale or out-avail MySQL and this is more important than providing the features of an RDBMS for many applications. My prediction is that there will be much less usage of MySQL for internet-scale applications in the future if we do not make big changes.&lt;br /&gt;&lt;br /&gt;What are the problems and what can we do to fix them? From my perspective there are two problems:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;MySQL is not efficient on modern hardware (multicore, many disk IOPs)&lt;/li&gt;&lt;li&gt;Replication is very expensive to manage&lt;/li&gt;&lt;/ol&gt;We are in the process of fixing the first problem for InnoDB and Percona has binaries you can use in production today that make things much better. However many problems remain that limit throughput on servers with 8+ cores and there is little visible work in progress to fix them (MyISAM, query cache, LOCK_table, ...). This is a serious issue as 8 cores is or will soon be the new common box in the datacenter and price/performance comparisons will get much worse for MySQL.&lt;br /&gt;&lt;br /&gt;Replication requires much more work. I want more automation and more flexibility.&lt;br /&gt;&lt;br /&gt;The lack of automation is apparent when you consider the replication related errors that require manual intervention. These errors are frequent or constant when you run a large number of MySQL servers. It is very expensive to support MySQL in this environment. Actions that must be automated include:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; the promotion of a slave to a master after the failure of the master&lt;/li&gt;&lt;li&gt;failover of slaves to the new master&lt;/li&gt;&lt;/ul&gt;I also want the flexibility to extend replication. I have participated in the development of many replication enhancements (semi-sync, mirror binlog, global group IDs) and that effort has been incredibly difficult. I am still amazed at what Wei and Justin were able to accomplish. I doubt that anyone would ever volunteer for such a project (I was paid). The code is not fun to modify.&lt;br /&gt;&lt;br /&gt;I have more ideas to improve replication but it isn't clear to me that I can afford the cost to modify the replication code in official MySQL. But then I looked at the code for &lt;a href=&quot;http://drizzle.org/&quot;&gt;Drizzle&lt;/a&gt;. Wow! The code is clean, easy to read and easy to modify. So I still have hope for MySQL-related technology in the datacenter, but in the form of Drizzle.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5915567578707286635-7649483785601072210?l=mysqlha.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 28 Mar 2010 08:11:33 +0000</pubDate>
	<author>noreply@blogger.com (Mark Callaghan)</author>
</item>
<item>
	<title>High Availability MySQL: On synchronous replication</title>
	<guid>tag:blogger.com,1999:blog-5915567578707286635.post-8048945696333416683</guid>
	<link>http://mysqlha.blogspot.com/2009/06/on-synchronous-replication.html</link>
	<description>Is synchronous replication possible in MySQL? Yes. Is it possible without major surgery to the existing code? Probably (or hopefully). Notes on an approach are at &lt;a href=&quot;http://code.google.com/p/google-mysql-tools/wiki/MysqlSyncReplication&quot;&gt;code.google.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The MySQL replication team may be working on this now for MySQL 6.0. They have spent a lot of time recently making replication flexible to support semi-sync and other new features. I assume they plan to support sync replication as well.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5915567578707286635-8048945696333416683?l=mysqlha.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 28 Mar 2010 08:11:33 +0000</pubDate>
	<author>noreply@blogger.com (Mark Callaghan)</author>
</item>
<item>
	<title>High Availability MySQL: Patch for global transaction IDs, binlog event checksums and crash-safe replication state</title>
	<guid>tag:blogger.com,1999:blog-5915567578707286635.post-7782225283088604991</guid>
	<link>http://mysqlha.blogspot.com/2009/05/patch-for-global-transaction-ids-binlog.html</link>
	<description>Justin just added a patch for &lt;a href=&quot;http://code.google.com/p/google-mysql-tools/wiki/GlobalTransactionIds&quot;&gt;global transaction IDs&lt;/a&gt;, &lt;a href=&quot;http://code.google.com/p/google-mysql-tools/wiki/BinlogEventChecksums&quot;&gt;binlog event checksums&lt;/a&gt; and crash-safe replication state. It is at &lt;a href=&quot;http://code.google.com/p/google-mysql-tools/wiki/Mysql5Patches&quot;&gt;code.google.com&lt;/a&gt;. This patch is based on MySQL 5.0.68, so Justin did a bit of work to port code forward from the version we use (5.0.37).&lt;br /&gt;&lt;br /&gt;Well, I assume that this includes support for crash-safe replication state. This replaces &lt;a href=&quot;http://code.google.com/p/google-mysql-tools/wiki/TransactionalReplication&quot;&gt;transactional replication&lt;/a&gt;. But it works for all storage engines.&lt;br /&gt;&lt;br /&gt;Percona has ported a few of the replication features from previous Google patches. Hopefully, they are interested in these changes. MySQL has semi-sync replication in 6.0 with a promise to backport to 5.4. Perhaps these changes will end up there too.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5915567578707286635-7782225283088604991?l=mysqlha.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 28 Mar 2010 08:11:33 +0000</pubDate>
	<author>noreply@blogger.com (Mark Callaghan)</author>
</item>
<item>
	<title>High Availability MySQL: Vendor lock in and MySQL documentation</title>
	<guid>tag:blogger.com,1999:blog-5915567578707286635.post-7556871304760974466</guid>
	<link>http://mysqlha.blogspot.com/2009/04/vendor-lock-in-and-mysql-documentation.html</link>
	<description>Part of the sales pitch for MySQL is that there is less risk of vendor lock in. This is repeated frequently on their marketing &lt;a href=&quot;http://mysql.com/why-mysql/topreasons_vp.html&quot;&gt;here&lt;/a&gt;, &lt;a href=&quot;http://mysql.com/why-mysql/topreasons_pm.html&quot;&gt;here&lt;/a&gt;, &lt;a href=&quot;http://mysql.com/why-mysql/topreasons_dba.html&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://mysql.com/why-mysql/topreasons_cio.html&quot;&gt;here&lt;/a&gt;. The explanation is that the source code for MySQL is available with a GPL license and if you are unhappy with MySQL the company you can continue using MySQL the product and get support elsewhere.&lt;br /&gt;&lt;br /&gt;Documentatation does not have a similar license. You can decide whether this creates the risk of vendor lock in. Details are &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/index.html&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;We cannot edit it.&lt;/li&gt;&lt;li&gt; We have limited rights to publish it.&lt;/li&gt;&lt;/ul&gt;Isn't it in the best interests of Sun/MySQL to address this issue and reassure potential customers?&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://openquery.com/blog/mysql-docs-freedom&quot;&gt;Arjen&lt;/a&gt;, &lt;a href=&quot;http://www.pythian.com/news/2274/mysql-documentation-licensing-woes&quot;&gt;Sheeri&lt;/a&gt;, &lt;a href=&quot;http://www.xaprb.com/blog/2009/05/08/please-re-license-the-mysql-documentation/&quot;&gt;Baron&lt;/a&gt; and the &lt;a href=&quot;http://blogs.sun.com/mysqlf/entry/mysql_documentation_no_license_change&quot;&gt;lead for the MySQL docs team&lt;/a&gt; have also written about this.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5915567578707286635-7556871304760974466?l=mysqlha.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 28 Mar 2010 08:11:33 +0000</pubDate>
	<author>noreply@blogger.com (Mark Callaghan)</author>
</item>
<item>
	<title>High Availability MySQL: Cool things you can almost do with replication</title>
	<guid>tag:blogger.com,1999:blog-5915567578707286635.post-2974121277946283786</guid>
	<link>http://mysqlha.blogspot.com/2009/04/cool-things-you-can-almost-do-with.html</link>
	<description>We added support for row-change logging to MySQL 5.0. The logged data is similar to row-based replication with changes to the output that make it much easier to parse. Gene Pang &lt;a href=&quot;http://www.mysqlconf.com/mysql2009/public/schedule/detail/6780&quot;&gt;describes this work at 2pm&lt;/a&gt; at the conference.&lt;br /&gt;&lt;br /&gt;What might be done with this data?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;replicate row changes to a data store that is not MySQL (Teradata, HBase/Hypertable, memcached)&lt;/li&gt;&lt;li&gt;materialized view maintenance&lt;/li&gt;&lt;li&gt;change notification&lt;/li&gt;&lt;/ul&gt;And I &lt;a href=&quot;http://tinyurl.com/dzshl2&quot;&gt;talk&lt;/a&gt; at the Percona Performance Conference &lt;a href=&quot;http://conferences.percona.com/percona-performance-conference-2009/schedule.html&quot;&gt;at 10:50am today&lt;/a&gt; on the InnoDB IO architecture.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5915567578707286635-2974121277946283786?l=mysqlha.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 28 Mar 2010 08:11:33 +0000</pubDate>
	<author>noreply@blogger.com (Mark Callaghan)</author>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: Better days Arrive when Dev Meet Ops</title>
	<guid permalink="False">http://www.krisbuytaert.be/991 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/better-days-arrive-when-dev-meet-ops</link>
	<description>&lt;p&gt;A couple of weeks a go &lt;a href=&quot;http://twitter.com/LinuxScribe&quot; rel=&quot;nofollow&quot;&gt;Brian Profitt&lt;/a&gt; pinged me for a chat about  Devops ,  the result of that chat , his article can now be found on the Zenoss blog, it's  titled &lt;a href=&quot;http://community.zenoss.org/blogs/zenossblog/2010/03/05/datacenter-barometer-better-days-arrive-when-dev-meets-ops&quot; rel=&quot;nofollow&quot;&gt;Datacenter Barometer: Better days arrive when dev meets ops&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It's a very nice read with some pointers to places regular readers of my blog should already know ;)&lt;br /&gt;
So with lots of leading Open Source infrastructure companies  on different levels, such as config management (OpsCode and Reductive Labs) , monitoring (Zenoss) , deployment (openQRM, RPath, and obviously &lt;a href=&quot;http://www.inuits.be&quot;&gt;Consultancy&lt;/a&gt; companies  , the upcoming Devops conferences around the planet promise to be a lot of fun ! ;)&lt;/p&gt;
&lt;p&gt;Oh, and apparently there is some more on the  story on &lt;a href=&quot;http://slashdot.org/submission/1186968/&quot; rel=&quot;nofollow&quot;&gt;/.&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;technorati_tags&quot;&gt;&lt;img alt=&quot;Technorati Tags:&quot; src=&quot;http://www.krisbuytaert.be/blog/sites/all/modules/technorati/technobubble.gif&quot; /&gt;&lt;strong&gt;Technorati Tags: &lt;/strong&gt;&lt;a href=&quot;http://technorati.com/tag/devops&quot; rel=&quot;tag&quot;&gt;devops&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/ha&quot; rel=&quot;tag&quot;&gt;ha&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/krisbuytaert&quot; rel=&quot;tag&quot;&gt;krisbuytaert&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/monitoring&quot; rel=&quot;tag&quot;&gt;monitoring&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/opensource&quot; rel=&quot;tag&quot;&gt;opensource&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/zenoss&quot; rel=&quot;tag&quot;&gt;zenoss&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;sharomaticbutton&quot;&gt; &lt;a href=&quot;http://www.shareomatic.com/http://www.krisbuytaert.be/blog/better-days-arrive-when-dev-meet-ops/shareomatic-drupal/Better days Arrive when Dev Meet Ops&quot;&gt;&lt;img src=&quot;http://www.shareomatic.com/images/s_16_black.gif&quot; alt=&quot;Share with Shareomatic!&quot; title=&quot;Post this item on various social news sites with Shareomatic!&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.shareomatic.com/http://www.krisbuytaert.be/blog/better-days-arrive-when-dev-meet-ops/shareomatic-drupal/Better days Arrive when Dev Meet Ops&quot;&gt;Share with Shareomatic!&lt;/a&gt; &lt;/div&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:trackback=&quot;http://madskills.com/public/xml/rss/module/trackback/&quot;&gt;
&lt;rdf:Description rdf:about=&quot;http://www.krisbuytaert.be/blog/better-days-arrive-when-dev-meet-ops&quot; dc:identifier=&quot;http://www.krisbuytaert.be/blog/better-days-arrive-when-dev-meet-ops&quot; dc:title=&quot;Better days Arrive when Dev Meet Ops&quot; trackback:ping=&quot;http://www.krisbuytaert.be/blog/trackback/991&quot; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
&lt;div class=&quot;trackback-url&quot;&gt;&lt;div class=&quot;box&quot;&gt;

  &lt;h3&gt;Trackback URL for this post:&lt;/h3&gt;

  &lt;div class=&quot;content&quot;&gt;http://www.krisbuytaert.be/blog/trackback/991&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
	<pubDate>Sat, 06 Mar 2010 13:03:27 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: Disabling DHCP on a LibVirt setup</title>
	<guid permalink="False">http://www.krisbuytaert.be/967 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/disabling-dhcp-libvirt-setup</link>
	<description>&lt;p&gt;So you have this libvirt setup and you  want to have a dhcp server on the virtual machines you are playing with , or you want to have all static IP's.&lt;/p&gt;
&lt;p&gt;Libvirt uses dnsmasq to provide dhcp services etc and when you  generate a config from the gui it will look like&lt;br /&gt;
&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;text geshifilter-text&quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;&amp;lt;network&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;  &amp;lt;name&amp;gt;piponet&amp;lt;/name&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;  &amp;lt;uuid&amp;gt;e87d3bf1-a2e7-96ca-e131-7ae51ac033f9&amp;lt;/uuid&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;  &amp;lt;bridge name='virbr2' stp='on' delay='0' /&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;  &amp;lt;ip address='192.168.100.1' netmask='255.255.255.0'&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;    &amp;lt;dhcp&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;      &amp;lt;range start='192.168.100.128' end='192.168.100.254' /&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;    &amp;lt;/dhcp&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;  &amp;lt;/ip&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&amp;lt;/network&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
If you  fully remove the dhcp  section, then restart libvirt you'll notice dnsmasq running with no dhcpd on that subnet so you'll have full control again :)&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;text geshifilter-text&quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;&amp;lt;network&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;  &amp;lt;name&amp;gt;piponet&amp;lt;/name&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;  &amp;lt;uuid&amp;gt;e87d3bf1-a2e7-96ca-e131-7ae51ac033f9&amp;lt;/uuid&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;  &amp;lt;bridge name='virbr2' stp='on' delay='0' /&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;  &amp;lt;ip address='192.168.100.1' netmask='255.255.255.0'&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;     &amp;lt;/ip&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&amp;lt;/network&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 04 Dec 2009 18:43:27 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: Got Interviewed</title>
	<guid permalink="False">http://www.krisbuytaert.be/960 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/got-interviewed</link>
	<description>&lt;p&gt;by &lt;a href=&quot;http://www.johnmwillis.com/devopsdays/devopsdays-09-interview-with-kris-buytaert/&quot;&gt;@botchagalupe&lt;/a&gt;&lt;br /&gt;
on Virtualization, Open Source tools and DNS Problems&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 18 Nov 2009 20:05:47 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: Yet Another DNS Issue</title>
	<guid permalink="False">http://www.krisbuytaert.be/958 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/yet-another-dns-issue</link>
	<description>&lt;p&gt;While browsing trough  my enormous mailinglist backlog I ran into the following message from Gianluca Cecchi on the DRBD-user mailing list&lt;/p&gt;
&lt;p&gt;guess I`ll have to give Lars a T-Shirt when we next meet ;)&lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;text geshifilter-text&quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;From: Gianluca Cecchi&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;To: drbd-user@lists.linbit.com&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Subject: [DRBD-user] notes on 8.3.2&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;- drbdadm create-md r0 segfaults when the command &amp;quot;hostname&amp;quot; on the&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;server contains the fully qualified domain name but you have put only&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;the hostname part in drbd.conf&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Instead, the command &amp;quot;drbdadm dump&amp;quot; correctly gives you a warning in&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;this case (suggesting how to correct the error you made....):&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;suppose complete hostname is virtfed.domainname.com and you put&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;virtfed alone in drbd.conf&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;[root@virtfed ~]# drbdadm dump&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;WARN: no normal resources defined for this host (virtfed.domainname.com)!?&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;while&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;[root@virtfed ~]# drbdadm create-md r0&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Segmentation fault&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Guess I`ll have to give the Linbit crowd a T-Shirt when we next meet ;)&lt;/p&gt;</description>
	<pubDate>Thu, 12 Nov 2009 21:01:43 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: Nines , Damn Nines  and More Nines</title>
	<guid permalink="False">http://www.krisbuytaert.be/951 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/nines-damn-nines-and-more-nines</link>
	<description>&lt;p&gt;Funny how different experiences lead to different evaluations of tools. The MySQL HA solutions &lt;a href=&quot;http://www.mysqlperformanceblog.com/2009/10/16/finding-your-mysql-high-availability-solution-%E2%80%93-the-questions/&quot; rel=&quot;nofollow&quot;&gt;the MySQL Performanceblog&lt;/a&gt; list, are almost listed in the complete opposited order of what  my impressions are.&lt;/p&gt;
&lt;p&gt;Ok agreed, I should probably not put my MySQL NDB experiences from 2-3 years ago with multiple Query of deaths and more problems than you into account  anymore ,  but back then went in the list Less stable than a single node.   I've had NDB POC setups going down for much more than 05:16 minutes&lt;br /&gt;
Ndb comes with a lot of restrictions, there are&lt;/p&gt;
&lt;p&gt;As for MySQL on DRBD, &lt;a href=&quot;http://www.krisbuytaert.be/blog/mysql-and-drbd-often-say-no&quot;&gt;I've said this before&lt;/a&gt; , I love DRBD, but having to wait for a long InnoDB recovery after a failover  just kills your uptime ,&lt;br /&gt;
I remember being called by a customer during &lt;a href=&quot;http://lefred.be/&quot;&gt;Fred&lt;/a&gt; last holiday who was waiting over 20 minutes for recovery , twice, so putting the DRBD/San setup second would not be my preference.   But agreed .. it's only listed at 99.9% meaning almost 9 hours of downtime per year are allowed.&lt;/p&gt;
&lt;p&gt;On the other hand we've seen database uptime of MySQL MultiMaster setups with Heartbeat reaching better figures than 99.99%  Heck I've seen single nodes  achieve better  than 99.99% :)&lt;/p&gt;
&lt;p&gt;So what does this teach us ... there is no golden rule for HA,  lots of situations are different,  it's the preferences of the customer, the size of the database,   the kind of application , and much&lt;br /&gt;
more ..  you always need to think and evaluate the environment ...&lt;/p&gt;</description>
	<pubDate>Mon, 19 Oct 2009 21:46:41 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: Heartbeat 2 OpenAIS</title>
	<guid permalink="False">http://www.krisbuytaert.be/950 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/heartbeat-2-openais</link>
	<description>&lt;p&gt;While upgrading a pretty recent Heartbeat cluster to OpenAis earlier today I ran  into the following weird situation&lt;br /&gt;
&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;text geshifilter-text&quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;Last updated: Fri Oct 16 08:50:03 2009&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Stack: openais&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Current DC: CO_NMS-1 - partition with quorum&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Version: 1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;4 Nodes configured, 2 expected votes&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;1 Resources configured.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;============&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Online: [ CO_NMS-1 CO_NMS-2 ]&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;OFFLINE: [ co_nms-1 co_nms-2 ]&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;or &lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;text geshifilter-text&quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;crm(live)node# show&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;co_nms-1(5c48ab4f-767f-e2dc-20ec-5969cddad152): normal&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;co_nms-2(922ff786-eca9-bed0-d79d-8222727a2c5b): normal&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;CO_NMS-1: normal&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;CO_NMS-2: normal&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Whohoo.. OpenAIS must have realized I have upperase and lowercase cores :)&lt;/p&gt;
&lt;p&gt;Funny to see .. but quickly solved..&lt;/p&gt;</description>
	<pubDate>Fri, 16 Oct 2009 18:53:13 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: Monitoring MySQL</title>
	<guid permalink="False">http://www.krisbuytaert.be/945 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/monitoring-mysql-0</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://ronaldbradford.com/blog/what-alert-monitoring-do-you-use-2009-10-07/&quot; rel=&quot;nofollow&quot;&gt;Ronald Bradford&lt;/a&gt; wants to know what kind of Monitoring you use..&lt;br /&gt;
He specifically wants to know about Alerting tools&lt;/p&gt;
&lt;p&gt;There's different cases , looking at it from a full infrastructure point my current favourite is Zabbix or good old Nagios,&lt;/p&gt;
&lt;p&gt;But when looking at it from a debugging perspective you have MySQLAR or Hyperic, but those aren't in the  alerting list.&lt;/p&gt;
&lt;p&gt;However, when you are building HA clusters, you have custom scripts running either from mon  or from pacemaker ..&lt;/p&gt;
&lt;p&gt;Still .. Ronald probably wants more input :)&lt;/p&gt;
&lt;div class=&quot;technorati_tags&quot;&gt;&lt;img alt=&quot;Technorati Tags:&quot; src=&quot;http://www.krisbuytaert.be/blog/sites/all/modules/technorati/technobubble.gif&quot; /&gt;&lt;strong&gt;Technorati Tags: &lt;/strong&gt;&lt;a href=&quot;http://technorati.com/tag/ha&quot; rel=&quot;tag&quot;&gt;ha&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/monitoring&quot; rel=&quot;tag&quot;&gt;monitoring&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/msql&quot; rel=&quot;tag&quot;&gt;msql&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/zabbix&quot; rel=&quot;tag&quot;&gt;zabbix&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/zenos&quot; rel=&quot;tag&quot;&gt;zenos&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;sharomaticbutton&quot;&gt; &lt;a href=&quot;http://www.shareomatic.com/http://www.krisbuytaert.be/blog/monitoring-mysql-0/shareomatic-drupal/Monitoring MySQL&quot;&gt;&lt;img src=&quot;http://www.shareomatic.com/images/s_16_black.gif&quot; alt=&quot;Share with Shareomatic!&quot; title=&quot;Post this item on various social news sites with Shareomatic!&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.shareomatic.com/http://www.krisbuytaert.be/blog/monitoring-mysql-0/shareomatic-drupal/Monitoring MySQL&quot;&gt;Share with Shareomatic!&lt;/a&gt; &lt;/div&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:trackback=&quot;http://madskills.com/public/xml/rss/module/trackback/&quot;&gt;
&lt;rdf:Description rdf:about=&quot;http://www.krisbuytaert.be/blog/monitoring-mysql-0&quot; dc:identifier=&quot;http://www.krisbuytaert.be/blog/monitoring-mysql-0&quot; dc:title=&quot;Monitoring MySQL&quot; trackback:ping=&quot;http://www.krisbuytaert.be/blog/trackback/945&quot; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
&lt;div class=&quot;trackback-url&quot;&gt;&lt;div class=&quot;box&quot;&gt;

  &lt;h3&gt;Trackback URL for this post:&lt;/h3&gt;

  &lt;div class=&quot;content&quot;&gt;http://www.krisbuytaert.be/blog/trackback/945&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
	<pubDate>Sun, 11 Oct 2009 18:18:04 +0000</pubDate>
</item>
<item>
	<title>Everything is a Freaking DNS problem - ha: Why learn to type ?</title>
	<guid permalink="False">http://www.krisbuytaert.be/944 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/why-learn-type</link>
	<description>&lt;p&gt;When your machine knows what you mean .. &lt;/p&gt;
&lt;p&gt;&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;text geshifilter-text&quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;[s3p-root@XMS-1 tomcat6]# crm configure &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;crm(live)configure# bye&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;[s3p-root@XMS-1 tomcat6]# crm confiure &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;crm(live)configure# bye&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;[s3p-root@XMS-1 tomcat6]# crm confiture &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;crm(live)configure# bye&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;[s3p-root@XMS-1 tomcat6]# &lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;I'd better&lt;br /&gt;
&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;text geshifilter-text&quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;apt-get install coffee&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;div class=&quot;technorati_tags&quot;&gt;&lt;img alt=&quot;Technorati Tags:&quot; src=&quot;http://www.krisbuytaert.be/blog/sites/all/modules/technorati/technobubble.gif&quot; /&gt;&lt;strong&gt;Technorati Tags: &lt;/strong&gt;&lt;a href=&quot;http://technorati.com/tag/configure&quot; rel=&quot;tag&quot;&gt;configure&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/crm&quot; rel=&quot;tag&quot;&gt;crm&lt;/a&gt; &lt;a href=&quot;http://technorati.com/tag/ha&quot; rel=&quot;tag&quot;&gt;ha&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;sharomaticbutton&quot;&gt; &lt;a href=&quot;http://www.shareomatic.com/http://www.krisbuytaert.be/blog/why-learn-type/shareomatic-drupal/Why learn to type &quot;&gt;&lt;img src=&quot;http://www.shareomatic.com/images/s_16_black.gif&quot; alt=&quot;Share with Shareomatic!&quot; title=&quot;Post this item on various social news sites with Shareomatic!&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.shareomatic.com/http://www.krisbuytaert.be/blog/why-learn-type/shareomatic-drupal/Why learn to type &quot;&gt;Share with Shareomatic!&lt;/a&gt; &lt;/div&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:trackback=&quot;http://madskills.com/public/xml/rss/module/trackback/&quot;&gt;
&lt;rdf:Description rdf:about=&quot;http://www.krisbuytaert.be/blog/why-learn-type&quot; dc:identifier=&quot;http://www.krisbuytaert.be/blog/why-learn-type&quot; dc:title=&quot;Why learn to type ?&quot; trackback:ping=&quot;http://www.krisbuytaert.be/blog/trackback/944&quot; /&gt;
&lt;/rdf:RDF&gt;
--&gt;
&lt;div class=&quot;trackback-url&quot;&gt;&lt;div class=&quot;box&quot;&gt;

  &lt;h3&gt;Trackback URL for this post:&lt;/h3&gt;

  &lt;div class=&quot;content&quot;&gt;http://www.krisbuytaert.be/blog/trackback/944&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 09 Oct 2009 10:06:12 +0000</pubDate>
</item>

</channel>
</rss>

