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

<channel>
	<title>Sysconfig&#039;s Blog &#187; Work</title>
	<atom:link href="http://sysconfig.org.uk/category/work/feed/" rel="self" type="application/rss+xml" />
	<link>http://sysconfig.org.uk</link>
	<description>FreeBSD, Linux, Virtualisation, Resilience, Scalability, Storage, and other (random) things</description>
	<lastBuildDate>Thu, 25 Aug 2011 10:41:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>So long, XenServer</title>
		<link>http://sysconfig.org.uk/2011/01/so-long-xenserver/</link>
		<comments>http://sysconfig.org.uk/2011/01/so-long-xenserver/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 14:08:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://sysconfig.ossafe.org/?p=324</guid>
		<description><![CDATA[Citrix XenServer is great. No really. As long as you don&#8217;t want to do uncommon things like, say, replacing a network card which is your management interface, or deleting snapshots and expecting to get the freed space back instantly, XenServer is solid and very easy to setup and use. With a few clicks you can [...]]]></description>
			<content:encoded><![CDATA[<p>Citrix XenServer is great. No really. As long as you don&#8217;t want to do uncommon things like, say, replacing a network card which is your management interface, or deleting snapshots and expecting to get the freed space back instantly, XenServer is solid and very easy to setup and use. With a few clicks you can set up VMs with just about any available OS, attach them to a network interface or even VLAN [more on that later], and are only a few more mouse clicks away from starting it. I&#8217;ve run various different OS on it: a bunch of Linux flavours, FreeBSD, Solaris, Windows. It runs and runs and runs.</p>
<p>So where&#8217;s the <em>but</em>? Here it comes: &#8230;<em>but</em> if something unexpected happens, you are seriously screwed. Here are a few examples from the past couple of months.</p>
<p><span id="more-324"></span></p>
<p><strong>Changing a NIC,</strong> which is also management interface, of a pool server &#8212; This was about the worst nightmare I&#8217;ve ever had. What you&#8217;d expect to do is: shutdown the machine, open it, replace the NIC, close it, switch it on again, wait for it to boot and start the VMs, done. What really happened is: I had to actually wipe and re-install the whole box, because there was apparently no documented, reverse-engineerable, or otherwise known way to just simply change the MAC address somewhere, because that is managed by the pool master. Now, as the NIC was broken, the master wasn&#8217;t able to communicate with the pool server any more (not even on the second NIC, because that was not the management interface). Attempts to change it failed. Not even the &#8220;xe&#8221; tool was functional any more, so I couldn&#8217;t really gather the UUIDs in order to search through configurations etc. The master refused to talk to the pool server, and the pool server with the broken (and afterwards replaced NIC) refused to let me change anything, because that should be done on the master. Catch 22.</p>
<p>I consulted the <a href="http://forums.citrix.com/thread.jspa?threadID=278550&amp;tstart=0">official support forum</a>, but nobody knew an answer there either. I&#8217;m sure there is a way to change it easily. After all it&#8217;s a Linux box with a modified Xen, but still not an unaccessible blackbox. Hang on&#8230; actually it felt a bit like that. I would like to think that Citrix certainly knows an easy solution, but as I&#8217;m not paying thousands of Pounds for a product, which is almost entirely based on free software, they of course kept quiet. (The bloody toolstack, which complicated things, is their own development, by the way.)</p>
<p>End of that experience was that I had to remove the server from the pool (XenServer would then wipe the box, so you can&#8217;t re-join the pool later, either&#8230; awesome). After a clean setup and restoring all the VMs from previously created snapshots, the machine was finally able to join the pool. That was 6 hours after the NIC broke. Fortunately all VMs have an identical twin running on another machine, so it didn&#8217;t cause downtime (except a few minor hiccups while I was fiddling about with network settings). Otherwise all websites/applications would have been offline for 6 hours.</p>
<p>Without the XenServer toolstack, I could have resolved the issue within 10 minutes, which includes all of the steps mentioned earlier (what I would have expected).</p>
<p>I learned my lesson from it. As live-migration of VMs isn&#8217;t really necessary in most cases (my customers&#8217; applications don&#8217;t benefit from it), it&#8217;s actually better to not form pools of your servers. Disconnected standalone servers are a lot easier to maintain and you don&#8217;t risk side-effects with pool members, because there aren&#8217;t any. The only real downside is that VLANs need to be configured individually on each server. Same applies to shared resources (NAS etc). But that&#8217;s fine.</p>
<p>Another almost unbelievable example is deleting <strong>snapshots</strong>. I create them all the time, because if something goes wrong, or someone breaks a VM setup, you want to be able to roll back to a previous version. Snapshots are one of the biggest advantages of virtualisation. A whole VM can be brought back to an older state within seconds. Or you can export it and reimport it elsewhere, clone another instance from it, work there, swing later. Anyways, if you use that feature often, it fills your disk (even the huge disks you get nowadays). So you regularly delete them and get your space back. Right? Nope, wrong. With XenServer you may or may not get your space back. When your monitoring tells you that you are running out of disk space, although you haven&#8217;t done anything but rotating snapshots in a while, you scratch your head in disbelief. Well, at least I did. Unfortunately, the <a href="http://support.citrix.com/article/CTX123400" target="_blank">official documentation confirms</a> my observations. When I first read that <strong>reclaiming space causes downtime</strong>, I wasn&#8217;t sure if laughing or crying was the best course of action.</p>
<p>In a production environment, you can&#8217;t just go ahead and suspend VMs just to get space back. Even if you only reduce performance (without causing downtimes, as we&#8217;re running twins of everything), you need to make affected customers aware of it. And how do you explain that? &#8220;<em>Sorry, Sir, I need to suspend your service, because I need to delete old snapshots.</em>&#8221; They&#8217;ll think you&#8217;re taking the piss.</p>
<p>Again, this &#8220;feature&#8221; is brought to you by Citrix&#8217;s toolstack, not Xen. If I decide to delete an LVM-based snapshot of a running VM on Xen, I can do that any time. No need to suspend anything or to manually reclaim free space afterwards.</p>
<p>My favourite subject is <strong>VLANs</strong>. I don&#8217;t know how many hours I&#8217;ve wasted trying to find what I did wrong, just to figure out in the end that it was not my fault&#8230; Citrix apparently manipulated the bridge code and never really tested it. You have to actually install ebtables (iptables for bridges, if you will) to <a href="http://forums.citrix.com/thread.jspa?threadID=245149&amp;tstart=0" target="_blank">work around that issue</a>. I observed exactly the same thing as the poster there, and many others did, too. Their forums are full of problems related to VLANs and NIC bonding. Problems get worse with two NICs. VLANs may work out-of-the-box on both, only one, or none of the NICs. Apparently it depends on the used NIC (well, I&#8217;m assuming here that nobody uses old NICs without VLAN support any more nowadays), which of the NIC is management interface, and a couple of other factors like weather, mood etc. <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Once you know about the workaround mentioned earlier, you can solve it. But now, when you update your XenServer version, you can&#8217;t rely on Citrix. They might just remove the required kernel modules so that ebtables wouldn&#8217;t work any more. Sounds unlikely? Well, reality is that ebtables did work until XenServer version 5.5, but in 5.6 the kernel support was removed (see <a href="http://forums.citrix.com/thread.jspa?threadID=245149&amp;start=15&amp;tstart=15" target="_blank">last post here</a>). To fix it, you end up downloading the XenServer SDK (which includes all the open source bits they are using) and recompile the kernel yourself.</p>
<p>I won&#8217;t go deeper into this subjcet, but there are several issues with bonded NICs as well. And the management interface can <em>never</em> be on a tagged VLAN. All those are restrictions/problems solely related to Citrix&#8217;s stuff. Linux itself lets you create any combination of bonds and VLANs on as many interfaces as you want to. Unfortunately, you need to unlearn all about Linux network configuration, because if you try applying your knowledge, XenServer will overwrite your configuration as soon as you reboot (best case) or use its API or Windows client to manage NICs/VLANs.</p>
<p>I could go on and on and on. There are many other quirks like being unable to shutdown a VM when for some reason it can&#8217;t attach to a VNC console (but keeps trying, although you absolutely don&#8217;t need a console to shut it down); having a &#8220;force&#8221; option for many commands, which is useless, because it doesn&#8217;t force anything; being unable to remove stale shared storage; having to work around limitations which would for example disallow you to build a pool with an i7 920 and an i7 930 server; and quite a few more, which are of minor relevance in a production environment.</p>
<p>Don&#8217;t get me wrong. If you dig deep enough, you will find problems in any similarly complex software. And Citrix&#8217;s XenServer is not a bad product at all. Much of the functionality like live-migration isn&#8217;t available in VMware&#8217;s free version ESXi, and said free version doesn&#8217;t run on top of CentOS but on a custom Linux, which officially you can&#8217;t access via SSH (there are ways though, but you can&#8217;t expect <em>any</em> support at all). Also, XenServer&#8217;s GUI is self-explanatory and easy to use &#8212; and certainly one of the main reasons for using XenServer, because whoever is going to use it after you set it up for them, they won&#8217;t have many problems getting started.</p>
<p>However, if you don&#8217;t have lesser knowledgeable people using it later, and if you don&#8217;t mind going the extra mile, you probably get most flexibility and reliability if you set up Xen instead (the vanilla or &#8220;real&#8221; one, not XenServer). XenServer doesn&#8217;t really provide any additional functionality, which isn&#8217;t available in Xen. (Some people even say the opposite is true, and you only get full Xen functionality if you purchase XenServer&#8217;s extra licenses; I wouldn&#8217;t go that far.) It does add convenience with its GUI and toolstack though, which you&#8217;d otherwise have to implement yourself &#8212; snapshots, shared storage use, starting up any type of guest OS etc. Most of those things aren&#8217;t exactly rocket science; only a few are a bit more tricky. But you can script/automate them <em>as you please </em>and you don&#8217;t need to expect any bad surprises caused by 3rd parties.</p>
<p>For example, I disabled Xen&#8217;s bridging code (by commenting out a single line in their scripts) and do the whole network configuration with standard OS tools, keeping it independent and consistent for future updates. (<a href="http://wiki.virtastic.com/display/howto/Xen+3.4.3+on+CentOS+5.5+--+Tutorial" target="_blank">More details here</a>.) Snapshots are easy enough to do with LVM, too. Live-migration I haven&#8217;t tested yet, but it doesn&#8217;t look too difficult to do either. (We don&#8217;t really need that feature here anyway)</p>
<p>What I&#8217;ve struggled with was <a href="http://wiki.virtastic.com/display/howto/Xen+DomU+configuration+examples+-+FreeBSD+and+CentOS" target="_blank">getting different OS running</a>, namely FreeBSD. But now that I have sorted that out, I can easily clone and fork more FreeBSD VMs on the vanilla Xen machines. Hence, Citrix XenServer isn&#8217;t providing any benefits there either.</p>
<p>As you can see (and as the title suggests), I&#8217;m considerably fed up with XenServer&#8217;s quirks; some of them are too huge to accept them in production environments. Consequently, we&#8217;re going to &#8220;migrate&#8221; back to Xen, where we can. (Admittedly, in some environments we won&#8217;t be able to do that for another year or so.)</p>
<p>Once you&#8217;ve worked out how XenServer stores VM backups (yep, they did their own thing there too, and the format is really stupid), it&#8217;s <a href="http://wiki.virtastic.com/display/howto/Convert+Citrix+XenServer+images+to+plain+Xen" target="_blank">not too difficult to convert them</a>. I&#8217;ve done that for both CentOS and FreeBSD XenServer images. They run smoothly on vanilla Xen after converting them back.</p>
<p>Once again the &#8220;keep it simple&#8221; motto wins. Additional toolstacks and bloat cause more problems than necessary, and the manufacturer turns out to be the only one benefitting from it &#8212; as often is the case. So long, XenServer &#8212; Hello Xen!</p>
<p>(Update: Only three hours after I published this, one of our XenServers started <a href="http://forums.citrix.com/thread.jspa?messageID=1525359" target="_blank">refusing to create new VMs from templates</a>&#8230;)</p>
<p>(Update 2: It&#8217;s cursed. Yesterday I was all of a sudden unable to attach any block devices, hence I was unable to start new VMs, reboot existing ones, or increase storage. I&#8217;m <a href="http://forums.citrix.com/thread.jspa?threadID=151301&amp;tstart=30">not the only one</a>, who faces that problem and does not get any help from the experts at Citrix.)</p>
<p>(Update 3, Aug 25th: Done. Last weekend we&#8217;ve transformed the last remaining XenServers to vanilla Xen. Thanks to the twin-design, this went through without any downtimes whatsoever; was a major piece of work though, but certainly worth it. Chapter closed. <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2011/01/so-long-xenserver/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>EC2, Puppet, and some custom Development</title>
		<link>http://sysconfig.org.uk/2011/01/ec2-puppet-and-some-custom-development/</link>
		<comments>http://sysconfig.org.uk/2011/01/ec2-puppet-and-some-custom-development/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 01:37:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[availability]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[uptime]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://sysconfig.ossafe.org/?p=300</guid>
		<description><![CDATA[Hello, and a Happy New Year everyone! I have been quiet here for many months due to an incredible work load. Fortunately the festive season gave me some time to breath, and to look into things which I have been wanting to look into for months, namely Amazon&#8217;s EC2 cloud, which has become much more [...]]]></description>
			<content:encoded><![CDATA[<p>Hello, and a Happy New Year everyone! I have been quiet here for many months due to an incredible work load. Fortunately the festive season gave me some time to breath, and to look into things which I have been wanting to look into for months, namely Amazon&#8217;s EC2 cloud, which has become much more interesting (from a business perspective) since they have achieved <a href="http://aws.amazon.com/security/pci-dss-level-1-compliance-faqs/" target="_blank">PCI DSS certification</a>, and Puppet, which is a brilliant tool to automate lots of server (or EC2 instance) management tasks.</p>
<p><span id="more-300"></span></p>
<p>Admittedly the learning curve for both is quiet steep, and everyone&#8217;s well-advised to spend some serious time evaluating them. When I started looking into EC2, I only had a rough idea of all the services they offer. I was quite overwhelmed, how many related services EC2 (or more precisely AWS) entails:</p>
<ul>
<li>EC2, the cloud, which runs your instances (also known as virtual machines, Xen based) in one out of four regions (US East/West, EU, APAC) and one out of two-four availability zones in each region</li>
<li>Elastic Load Balancing (ELB), giving you the opportunity to spread load across instances, obviously</li>
<li>Elastic IPs, allowing you to assign (and re-assign) static IPs to instances of your choice</li>
<li>Simple Storage (S3), which guarantees replication of your stored data in three different locations, enabling it to survive an outage of two entire data centres (or one data centre, if you opt-in for the &#8220;reduced redundancy&#8221; option, which is a little bit cheaper &#8212; you can choose that for every file stored individually)</li>
<li>EBS (Elastic Block Storage), enabling you to create RAID-backed volumes of any size and attach them to any of your EC2 instances; on top of that you can create snapshots (which are internally stored on S3) within seconds</li>
<li>RDS (Relational Database Service), basically a MySQL offering, in either single, single/hot-standby, master/slave, or master/multi-slave setups, with nodes spread across different availability zones</li>
<li>CloudWatch, which entails monitoring facilities for most of the services</li>
<li>CloudFront, a multi-region CDN-like service</li>
<li>SimpleDB, Map/Reduce</li>
<li>Route 53 DNS services (beta)</li>
<li>DevPay, Flexible Payments</li>
</ul>
<p>All these services have one thing in common: They can be managed entirely via different APIs and command line tools. There&#8217;s <em>nothing</em> which you can&#8217;t automate, if you spend some time and effort to actually understand how it all fits together! It&#8217;s certainly very overwhelming in the beginning, and Amazon clearly doesn&#8217;t target customers who might want to fire up one or two instances and that&#8217;s it. It&#8217;s way too complex for that. And it requires an entirely different approach, for example an instance and all its data is lost when you terminate it. And all resources are very dynamic &#8212; for most simple use-cases too dynamic (you don&#8217;t know which IP or hostname your instance will have; most provided OS images won&#8217;t suit your needs, so you&#8217;ll need to build your own). But if you are interested in creating environments for your applications, which come with both high availability and scalability, then EC2 is definitely worth a shot. Amazon gives you the bullet-proof and battle-proven infrastructure and tools &#8212; you need to decide and find a way how to use them for your requirements.</p>
<p>Amazon offer the AWS console for very basic management of your resources. Very basic. You&#8217;ll soon find out that it can&#8217;t offer things, which you really will need:</p>
<ul>
<li>creating a snapshot, which you can use to boot another instance from (or as a backup to start the same instance again, when it fails)</li>
<li>setting triggers for the CloudWatch monitoring (or alarms as they call it in their API)</li>
<li>bundling your instance (or parts of it) and backing up on S3</li>
<li>moving instances between availability zones</li>
<li>configuring the RDS MySQL server</li>
<li>and many more things</li>
</ul>
<p>All of these things can be done via API (in Java, PHP, and other languages, or via command line tools, which can all be downloaded from Amazon). Some of them are trivial, most are not. Flexibility takes its toll. Consequently, you should be prepared to spend some time tailoring your own toolset. There are some 3rd party offers out there (notably the best on is s3cmd, which allows rsync-style file transfers between instance and S3 buckets). They may or may not suit your needs.</p>
<p>I&#8217;ve spent the last two weeks creating my own toolset. With very simple commands I can now build fully bootable AMI images for different Linux setups both in 32bit or 64bit (EC2 instance types differ in terms of architecture!), create bootable snapshots from running instances, detect instance failure and restart from the most recent snapshot (including re-assigning the elastic IP), set tags and other information/attributes on all sorts of resource types, create volumes (empty or from snapshot) and attach them to instances, hook instances into a load balancer, read all relevant CloudWatch metrics and feed them into RRD graphs, clone instances on-the-fly, launch any number of clones, manage security groups and keypairs etc.  Basically everything the AWS console can plus a few necessary features on top of that &#8212; with a single shell command and no more than 2-3 parameters each. I&#8217;m not exactly a developer and started doing this merely as a proof of concept (but then went further than originally intended to). If I can do that, some of you bright-minded developers can do a lot better for sure <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>This was AWS management covered. But how about managing the actual instances (their OS internals)? What if, for example, you want to deploy a web application on four identical, load-balanced nodes?  Should I create a dedicated image for that (not too difficult with my toolset)? Or would it be better to have a look into Puppet at last? I went for the latter. I&#8217;ve got customers on my own clusters outside of EC2 (mostly based on Citrix XenServer), and that environment is growing continuously. It&#8217;s about time that I simplified management there as well.</p>
<p>Consequently, I decided to take my EC2 proof of concept another step further. After getting acquainted to Puppet, I&#8217;ve deployed it on a playground-style bunch of EC2 instances and told it to install/configure various things. The language structure really gave me hard times in the beginning, but once you get used to it, you can almost write it down as you think.</p>
<p>The next thing I wanted to achieve was that puppet connects to the puppet master as soon as the instance is started. There were some obstacles in the way, though: AWS assigns hostnames dynamically, but your puppet master would need to know that hostname in order to sign the certificate used for communication between both. Catch 22 situation. Resolved by writing a tiny web service which allows the instance to figure out and set the hostname I assigned (and dynamically added to a DNS server as well) rather than using Amazon&#8217;s one. This happens during startup just after the network interface comes up, so that all running services use the correct hostname. Puppet then takes over at the end of the first startup of the instance and installs/configures as told by the puppet master. This way you can fire up a whole cluster, hook it into the load balancer, and are ready to go live in just under three minutes. Fully automated. And the monitoring mentioned earlier would pick up metrics via CloudWatch instantly.</p>
<p>I&#8217;ve heard it all in theory before. However, I wanted to see my own working proof of concept for a few things (and some others, which are still in progress). I&#8217;m pretty amazed actually, how much flexibility <em>and</em> reliability (often a contradiction in terms) AWS offers. You just have to embrace a slightly different model of implementing things (you&#8217;ll like the term &#8220;ephemeral&#8221;, which Amazon have chosen for a reason!).</p>
<p>So now the next question would be: How much does it cost. Is it really saving costs as many people state? Frankly, I don&#8217;t know yet. It may do. Surely, it reduces upfront costs, as Amazon won&#8217;t charge any setup or recurring fees, unless you opt-in for their &#8220;Reserved Instance&#8221; schemes, which are actually <em>significantly</em> cheaper in the long run. For example, a Micro instance (640 MB Ram, 1.7GHz Xeon; the smallest instance type) would usually be charged at US$ 0.025 per hour, which equals to US$ 219 per year if running full-time. If you commit to a year, paying US$ 54 one-off, your hourly rate is reduced to US$ 0.01, which together equals to yearly costs of US$ 117.60 or less than US$ 10 per month! That&#8217;s a smashing 50% discount almost. Higher discounts possible, if you can commit to 3 years.</p>
<p>However, the pricing is somewhat difficult to decipher and costs impossible to predict. I don&#8217;t actually know yet, how many IOPs (I/O operations) my EBS volumes and snapshots will generate. I can&#8217;t exactly tell how much S3 storage I will use. Also, I don&#8217;t know exactly what to expect on the inter-availability-zone traffic scale. Or the RDS (MySQL) read/write operations. Surely, previous monitoring gives me very rough estimates, but not good enough to make an educated guess as to what costs to expect on EC2. I will have to keep an eye on that over the next weeks and months, and also find some tools to get all these figures from the usage reports (CSV or XML files, downloadable from Amazon). At least you can see how your usage translates into actual costs for the current billing period, updated every few hours. So the costs wouldn&#8217;t hit you as a big surprise <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>On the plus side, you never pay for any over-capacity, which you would need to account for, if you built everything in-house. When you build infrastructure like that on your own, there are different things, which scale more or less dynamically (if you&#8217;ve got 10 servers already, buying two more doesn&#8217;t do a harm). But you&#8217;ve also got devices where upfront costs are enormous, because you buy them from the point of view, of what you <em>might</em> need in the foreseeable future, not what you do need at this very moment. Storage devices are a good example. A chassis from NetApp with only a few drives cost you an arm and a leg; then you can scale it a bit for a reasonable price; and then you&#8217;ll need another one sooner or later. But you always end up paying for more than you actually use at any given point. Same for networking devices.</p>
<p>Clouds like EC2 take those massive entry-costs from you (and your customers), which saves painful budget discussions. They&#8217;ve got a brilliant, scalable infrastructure, and one would be bold to assume that you could build anything better at a reasonable price (also take availability in distinct and independent data centres into account!). Now that they&#8217;ve got their PCI DSS certification, one of the biggest remaining concerns (what about data security in a proprietary, shared environment?) for many customers is gone, too.</p>
<p>I&#8217;ll go through the other proofs of concept on my list, see how usage translates into actual costs over time, and may then be able to add some very interesting offers to my company&#8217;s portfolio. Stay tuned <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Surely, the cloud is not the solution to all problems (although it&#8217;s commonly propagated as that), but with decent automation and tools it can improve or at least add value to a variety of services.</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2011/01/ec2-puppet-and-some-custom-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZFS on FreeBSD 7 &#8212; experimental for a reason!</title>
		<link>http://sysconfig.org.uk/2008/05/zfs-on-freebsd-7-experimental-for-a-reason/</link>
		<comments>http://sysconfig.org.uk/2008/05/zfs-on-freebsd-7-experimental-for-a-reason/#comments</comments>
		<pubDate>Wed, 28 May 2008 18:04:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.admin-at-once.co.uk/?p=12</guid>
		<description><![CDATA[Yes, it has a reason that ZFS is not yet marked stable on FreeBSD! I had to learn the hard lesson today. Under very high load and many concurrent read requests (I set up the company&#8217;s mail server with ZFS and root from ZFS), the two disks in the Raid array repeatedly lost sync, forcing [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, it has a reason that ZFS is not yet marked stable on FreeBSD! I had to learn the hard lesson today.</p>
<p>Under very high load and many concurrent read requests (I set up the company&#8217;s mail server with ZFS and root from ZFS), the two disks in the Raid array repeatedly lost sync, forcing an automatic re-silvering (auto healing) process to be started, which blocked the system as everything (except /boot) was running from that ZFS arrray. As far as I figured out, the system halted entirely as there was another inconsistency occuring while the re-silvering was still in progress.</p>
<p>I would have investigated further, if it wasn&#8217;t a crucial production machine. And that kind of traffic is very difficult to simulate under laboratory situations (maybe I can do that when I have more time). So I had to revert back to UFS as the downtime had to be minimized. It&#8217;s a shame, really, because I love the features ZFS offers. On my private server it runs very smoothly, but traffic, load and I/O are not comparable to the mail server in question.</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2008/05/zfs-on-freebsd-7-experimental-for-a-reason/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two neat storage machines</title>
		<link>http://sysconfig.org.uk/2008/05/two-neat-storage-machines/</link>
		<comments>http://sysconfig.org.uk/2008/05/two-neat-storage-machines/#comments</comments>
		<pubDate>Sat, 10 May 2008 13:44:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.admin-at-once.co.uk/?p=10</guid>
		<description><![CDATA[Yesterday I set up one of our new storage machines for testing: Dell 2950, Quad Xeon, 8GB, 6&#215;750 GB HDD. I installed FreeBSD 7 with ZFS (following up this article). Firstly it seemed to be a bit tricky, because the PERC/6i controller configuration is &#8212; sorry &#8212; crap from the usuability point of view. It [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I set up one of our new storage machines for testing: Dell 2950, Quad Xeon, 8GB, 6&#215;750 GB HDD. I installed FreeBSD 7 with ZFS (following up <a href="http://blog.admin-at-once.co.uk/2008/04/zfs-on-freebsd/" target="_self">this article</a>). Firstly it seemed to be a bit tricky, because the PERC/6i controller configuration is &#8212; sorry &#8212; crap from the usuability point of view. It seemed not to support non-RAID configurations, but taking a closer look it turned out to be a wrong assumption. Six RAID-0 Arrays with only one drive each is in fact the same as no RAID at all. (The reason why RAID does not make sense is, that ZFS will do this job, and its auto-healing is much better than any hardware controller&#8217;s auto-healing)</p>
<p>After having set up the minimal FreeBSD and doing some tuning (such as creating the ZFS volumes), I ran some tests. You won&#8217;t believe me, but writing a 10GB file (/dev/random to the ZFS volume) resulted in a transfer rate at about 160MB/sec and reading (cp testfile /dev/null) was done at a speed of more than 270MB/sec!!</p>
<p>To be continued&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2008/05/two-neat-storage-machines/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>(C&#124;G)lustered Storage</title>
		<link>http://sysconfig.org.uk/2008/04/clustered-storage/</link>
		<comments>http://sysconfig.org.uk/2008/04/clustered-storage/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 14:12:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.admin-at-once.co.uk/?p=7</guid>
		<description><![CDATA[As the company I work with has to store many media files, backups, rapidly changing documents and so on, they used to run a NetworkAppliance FAS2020 storage machine, which is quite neat. Unfortunately, the current setup does not allow to scale the volumes any more. So we needed to find an alternative. Consequently we asked [...]]]></description>
			<content:encoded><![CDATA[<p>As the company I work with has to store many media files, backups, rapidly changing documents and so on, they used to run a NetworkAppliance FAS2020 storage machine, which is quite neat. Unfortunately, the current setup does not allow to scale the volumes any more. So we needed to find an alternative.</p>
<p><span id="more-7"></span></p>
<p>Consequently we asked for quotes on bigger NetApp devices. Unfortunately, they cost more than a good car. The investigation on other solutions began&#8230; <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>After doing some research and testing as well performance as failure behaviour, the decision was made: I will setup a storage cluster based on i386 hardware and <a href="http://www.gluster.org/glusterfs.php" target="_blank">GlusterFS</a>. Its speed was quite impressive. And also the fact that mirroring (for data security) and striping (for performance) can be combined, is very convincing.</p>
<p>We will start with two huge servers which run partly in mirrored and partly in striped mode. The only thing which needs to be tested before hand is, if FreeBSD&#8217;s UFS in combination with its snapshot feature makes sense here (this could be a bit tricky). If it works, this solution will be as good as the proprietary offer. But it costs less than 1/5!</p>
<p>I will keep you posted.</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2008/04/clustered-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I started to love Mac</title>
		<link>http://sysconfig.org.uk/2008/04/how-i-started-to-love-mac/</link>
		<comments>http://sysconfig.org.uk/2008/04/how-i-started-to-love-mac/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 11:45:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.admin-at-once.co.uk/?p=4</guid>
		<description><![CDATA[To be honest, three months ago I could not imagine that I would fall in love with Mac OS and/or Apple&#8217;s products. I considered them way too expensive and did not understand the hype, because technically they do not differ much (any more) from i386 hardware. But as my new employer offered to provide a [...]]]></description>
			<content:encoded><![CDATA[<p>To be honest, three months ago I could not imagine that I would fall in love with Mac OS and/or Apple&#8217;s products. I considered them way too expensive and did not understand the hype, because technically they do not differ much (any more) from i386 hardware. But as my new employer offered to provide a MacBook Pro for my daily business, I thought: &#8220;Why not?&#8221;</p>
<p><span id="more-4"></span></p>
<p>This was how I got my first Mac OS based computer. It did not take long to make me love it, because the difference between Mac OS and other operating systems is, that they kept an eye on detail. They built an OS which clearly works and seldomly causes any hassle. Mac OS combines a great UI with an incredibly good usuability and a solid and stable foundation: Darwin/BSD. Since I got my MacBook Pro, it never freezed, it never crashed and it never did anything unexpected. Can Windows do that? And there was no problem getting parts of the hardware to work properly within a minimum amount of time. Can Linux do that?</p>
<p>To cut a long story short: I am not a freak any more who is willing to spend hours on setting up his computer and getting peripherials to work. I expect my laptop to work out of the box. And I really do hate unexpected behaviour. Mac OS has convinced me as a desktop/laptop operating system.</p>
<p>And what about the hardware? Well, it is at least as convincing as the OS! Of course, you can get the same piece of hardware cheaper, if you only look at the technical data:</p>
<ul>
<li>Intel Core2Duo 2&#215;2.4 GHz</li>
<li>2 GB RAM</li>
<li>200 GB SATA HDD Fujitsu connected to Intel ICH8</li>
<li>Broadcom WLAN, Ethernet (1Gbit), Bluetooth 2.1</li>
<li>15.4&#8243; Widescreen TFT (1440x900px)</li>
<li>DL-DVD/CD burner</li>
<li>Firewire 400, Firewire 800</li>
<li>2x USB 2.0</li>
<li>Audio in/out</li>
<li>DVI connector</li>
</ul>
<p>That&#8217;s certainly a rock-solid equipment, but nothing which justifies a price of £1,299. To be honest, technical data is only one part of the story. A good laptop is more than a collection of good components. And this is why a MacBook Pro is better than most other laptops:</p>
<ul>
<li>Battery lifetime: using office applications and terminal windows, I can run the MacBook Pro for more than 5 hours without power supply!</li>
<li>Trackpad: it is precise and huge enough; together with the two finger scrolling and zooming functionality I hardly ever need a mouse</li>
<li>Magnetic power plug: Did you ever pull the power cable incidentally? Don&#8217;t worry, because the magnetic plug is safe <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>Air flow: There&#8217;s no risk of over-heating the laptop when putting it on a soft surface, because the air flow cannot be covered</li>
<li>Robust case</li>
<li>Great keyboard: except from getting used to Apple&#8217;s special keys (which only applies to new Apple users), they keyboard is excellent</li>
<li>Reasonable sound quality: Compared to other laptops, the speakers are quite ok. Of course it cannot compete with a home stereo <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>Excellent display (I use the matt one, because I don&#8217;t like makeup mirrors)</li>
<li>last but not least the aforementioned Mac OS X (&#8220;Leopard&#8221;)</li>
</ul>
<p>So, yes the MacBook Pro is expensive. But it is clearly worth its price! After having used it for almost three months, I can say: I love it! <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2008/04/how-i-started-to-love-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using apc
Database Caching 1/30 queries in 0.074 seconds using apc
Object Caching 636/1250 objects using apc

Served from: sysconfig.org.uk @ 2012-02-05 20:00:37 -->
