<?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; general</title>
	<atom:link href="http://sysconfig.org.uk/category/general/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>Scientific Linux &#8212; an alternative to CentOS?</title>
		<link>http://sysconfig.org.uk/2011/08/scientific-linux-an-alternative-to-centos/</link>
		<comments>http://sysconfig.org.uk/2011/08/scientific-linux-an-alternative-to-centos/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 09:43:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[RHEL]]></category>
		<category><![CDATA[scientific linux]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://sysconfig.org.uk/?p=1071</guid>
		<description><![CDATA[As CentOS is currently in a bit worrying situation with security updates arriving late, and major and point releases being months behind, it&#8217;s probably a good idea to have a look around and check what else is out there that claims to be binary compatible with RHEL. With more than 100 active installations of CentOS, [...]]]></description>
			<content:encoded><![CDATA[<p>As CentOS is currently in a bit worrying situation with security updates arriving late, and major and point releases being months behind, it&#8217;s probably a good idea to have a look around and check what else is out there that claims to be binary compatible with RHEL. With more than 100 active installations of CentOS, I just have to make sure that we&#8217;re ready for the worst case. Obviously purchasing subscriptions with RHEL for all those installations is not an option; the customers can&#8217;t possibly agree to the significantly higher costs that would force on them.</p>
<p>Now, I don&#8217;t want to spread rumours or create unnecessary panic. I don&#8217;t really doubt that the CentOS team will somehow manage to increase their pace a little bit, and their latest announcement regarding <a href="http://www.h-online.com/open/news/item/CentOS-to-deliver-advance-updates-from-5-7-1323584.html" target="_blank">continuous releases</a> (essentially &#8220;backported&#8221; security updates) goes into the right direction, if they can for once stick to their promised timelines.</p>
<p>Nonetheless, I need stability and consistency. That absolutely entails security updates, quite obviously. From my personal and professional experience, if it has to be Linux, RHEL-derivates are by far the best bet for enterprise environments. So, just in case, what else is in store for paranoid people like me who have committed to using RHEL and its forks/clones? (where FreeBSD sadly isn&#8217;t an option)</p>
<p><span id="more-1071"></span></p>
<p>It&#8217;s not that I never heard of it before, but somehow I dismissed it as, well, scientific or academic: Scientific Linux. Probably I&#8217;m not the only one who was misguided by its name. The obvious questions are: Is it fully binary compatible with RHEL? What additions or modifications are included? Has anything important been removed? Who&#8217;s backing and supporting it? And: how up to date is it?</p>
<p>I had a close look at the website and repositories, and I was in for a very pleasant surprise actually: Scientific Linux is maintained by major scientific organisations, hence the name, and claims full binary compatibility with <a href="http://ftp.plusline.de/scientific/6.0/x86_64/os/sl-release-notes-6.0.html#changed" target="_blank">only very minor changes</a> to the base installation of RHEL 6. The main goal of Scientific Linux (or &#8220;SL&#8221;) is to provide their users with an easy to customise RHEL-clone, which can be wrapped up into entirely new distributions (&#8220;Spins&#8221;). Also they provide a bit of entirely optional stuff, basically additions to the original. The important thing is: SL is a full clone, and it is entirely built from RHEL&#8217;s source RPMs (which can be found in SL&#8217;s repository of course, as the GPL requires).</p>
<p>How long has it been around, and how likely is it that it will last? Again a nice surprise: It&#8217;s actually older than CentOS, by about one year, and first appeared early 2004. And obviously it&#8217;s got the resources (and manpower) to keep it going. Their updates are released much faster than CentOS&#8217;s. For example for 6.0:  RHEL Nov/2010, SL Mar/2011, CentOS Jul/2011.  For 6.1: RHEL May/2011, SL Jul/2011, CentOS not yet available. Or for 5.7: RHEL Jul/2011, SL and CentOS both not released yet. However, SL has all the upstream updates available. The latest updates are from yesterday and include the issues in DHCP, Firefox et al, as announced by RedHat two days ago. None of these recent updates are in CentOS&#8217;s CR repository, despite the two-day old promise that said updates would be made available via CR within 24 hours. The latest CR updates are 5 days old. For me personally it doesn&#8217;t matter, because I&#8217;m not affected by the issues which were fixed since then; but others may be.</p>
<p>Don&#8217;t get me wrong. Five days is not a long time, especially as rolling everything out across the board will take a few days as well, given typical enterprise planning pace and decision making. However, it&#8217;s not really continuous and not in line with Karanbir&#8217;s own guesstimates.</p>
<p>Anyways. Time for some hands-on impressions. Or, wait, what do we expect to see in a binary-compatible RHEL-clone, which we haven&#8217;t seen in CentOS already? Exactly, despite some branding changes it is the same. The installed packages are identical as well, except the tiny differences mentioned above. In fact you could go install CentOS 6 and take the SL update repositories to update to more current packages (or SL 6.1). I&#8217;ve done that to prove my own theory. No surprises there. It&#8217;s not the most elegant way of updating CentOS, but certainly even less intrusive than using other third party repositories, and lesser trouble than building your own updates from RHEL&#8217;s source RPMs, believe me. Plus, SL&#8217;s updates originally come from RHEL.</p>
<p>Or&#8230; well&#8230; you could of course switch to SL altogether, given that you get essentially the same product, with shorter update delays. Taking the background, history, manpower and all that into account, the seemingly academic distribution actually looks a lot more enterprisy at the moment than CentOS does. I hope Karanbir Singh and his team can fill that gap very quickly. I&#8217;m not too keen on switching to SL, and I know that the CentOS team is very committed and doing a great job. But if we can&#8217;t get at least latest security updates for CentOS in a timely manner, it might become inevitable to switch.</p>
<p>That doesn&#8217;t mean that I will hastily switch the distributions of ~100 installations; nor should anybody else rush that decision. But come the time that we put 6.x in production, we might as well go for SL then. However, that&#8217;s certainly not going to happen this year any more, and requires careful side-by-side evaluation first, which is starting as I write this, and will last for months. How close we get to switching to SL seems to depend solely on CentOS; if they manage to get back to normal pace, this whole consideration may become obsolete. It&#8217;s good to know though that there are viable alternatives if need be.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2011/08/scientific-linux-an-alternative-to-centos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>FreeBSD 8.2 on Xen using Para-Virtualisation, Step-by-Step</title>
		<link>http://sysconfig.org.uk/2011/08/freebsd-8-2-on-xen-using-para-virtualisation-step-by-step/</link>
		<comments>http://sysconfig.org.uk/2011/08/freebsd-8-2-on-xen-using-para-virtualisation-step-by-step/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 18:55:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Virtualisation]]></category>

		<guid isPermaLink="false">http://sysconfig.org.uk/?p=911</guid>
		<description><![CDATA[Using FreeBSD on Xen is not exactly uncharted territory any more these days, however you&#8217;ll often find that people use hardware virtualisation (HVM) instead of para-virtualisation (PV). The latter can unleash quite a bit more potential, and of course features like memory ballooning, live migration, attaching of network interfaces or storage at runtime, etc.  Some [...]]]></description>
			<content:encoded><![CDATA[<p>Using FreeBSD on Xen is not exactly uncharted territory any more these days, however you&#8217;ll often find that people use hardware virtualisation (HVM) instead of para-virtualisation (PV). The latter can unleash quite a bit more potential, and of course features like memory ballooning, live migration, attaching of network interfaces or storage at runtime, etc.  Some of these features may not yet be supported very well, but I&#8217;ve got trust in the FreeBSD community! (I only wish my C/C++ wasn&#8217;t so rusty and I had focused more on system-level development in the past. But well, writing tutorials to help others use it isn&#8217;t too bad either, is it? <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> )  Problem is that documentation with regards to this subject is scattered all over the place and often outdated.</p>
<p>So anyways, enough waffle here. Those of you who are interested, should follow this link: my step-by-step guide on <a title="Xen FreeBSD 8.2 DomU" href="http://wiki.sysconfig.org.uk/display/howto/Xen+FreeBSD+8.2+DomU+%28PV%29+--+Step+by+Step+Howto">how to set up a FreeBSD PV guest from scratch</a>, including pygrub support. The tutorial will walk you through all the steps required from setting up an empty stub, over creating a HVM guest, to transforming that into a PV guest (or even hybrid, if you wish).</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2011/08/freebsd-8-2-on-xen-using-para-virtualisation-step-by-step/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GlusterFS, a workhorse that needs to be tamed</title>
		<link>http://sysconfig.org.uk/2011/07/glusterfs-a-workhorse-that-needs-to-be-tamed/</link>
		<comments>http://sysconfig.org.uk/2011/07/glusterfs-a-workhorse-that-needs-to-be-tamed/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 19:51:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Virtualisation]]></category>

		<guid isPermaLink="false">http://sysconfig.ossafe.org/?p=671</guid>
		<description><![CDATA[I&#8217;m sure by now most of you will have heard of GlusterFS, which allows you to store data on a very large scale, replicated, striped, or both &#8211; across multiple physical boxes. At the face of it, and if you believe the marketing, it is THE most reliable and fastest solution. And yes indeed, it [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure by now most of you will have heard of <a title="GlusterFS Community Website" href="http://gluster.com/community/documentation/index.php/Main_Page" target="_blank">GlusterFS</a>, which allows you to store data on a very large scale, replicated, striped, or both &#8211; across multiple physical boxes. At the face of it, and if you believe the marketing, it is THE most reliable and fastest solution. And yes indeed, it has got massive potential, and it has matured a lot over the years since I last wrote about it. However, it still has got a few nasty pitfalls, which you need to be aware of before deploying it into a production environment. You should really test thoroughly how it copes with your workload, and how your applications and infrastructure behave in case of failure.</p>
<h2><span id="more-671"></span>What is GlusterFS, and what is it not?</h2>
<p>You can think of GlusterFS as a RAID device, which works across the boundaries of a single physical disk array. Take RAID-1 for example, which mirrors data between two identical disks. In GlusterFS&#8217;s jargon, you run two <em>bricks</em> in replicate mode, where a brick is defined as storage in general terms; it can be an array of disks (which could use RAID), a single disk, a partition, a directory. Anything that can be mounted into your filesystem hierarchy qualifies as a brick. The key feature of GlusterFS is now, to treat bricks on different physical machines as one volume, which can be accessed by any number of clients. It can be mounted either via Fuse/GlusterFS client, or even via NFS or CIFS/Samba.  You can use RAID-0 style striping for read speed, RAID-1 style mirroring for real-time replication, RAID-10 for both, or you can go beyond any of those and spread the stripes or mirrors across any number of bricks. 4-node replication? No problem at all. GlusterFS gives you truly enormous flexibility and performance when it comes to making large amounts of data available across multiple nodes.<br />
Since version 3.2 (if I&#8217;m not mistaken), they have even added GeoReplication, which allows a Master/Slave setup, where the slave can be a local or remote site. Be it for backups or to have a standby version of your application in a different geographical location&#8230; it&#8217;s possible. Due to the fact that GeoReplication does not require locking or synchronous replication, the network speed to your remote site isn&#8217;t that important either. It copes well with it.</p>
<p>This sounds very different than for example a DRBD/GFS2 or DRBD/OCFS2 setup, doesn&#8217;t it? And indeed it is! GlusterFS, unlike DRBD, is not providing a block device. What it means is that it compares hashes of files, and if files on nodes differ (for example after a failure), it will copy entire files across, not only the changed blocks. In normal day-to-day operation that&#8217;s not a big problem, in particular as you get a lot of flexibility, which is unmatched by other solutions. Where it does make a difference is during recovery. More on that in the Caveats section.</p>
<h2>A variety of different connectors</h2>
<p>I mentioned earlier that you can use a couple of different ways to connect to your GlusterFS volumes. First, there&#8217;s their own GlusterFS client, which uses the kernel&#8217;s Fuse layer. This client is Gluster&#8217;s recommendation, if your workload requires a high amount of fast write operations. If your workload is more about reading small files quickly, they recommend NFS. (The NFS server is part of the glusterd daemon, which serves the volumes to the clients.) Samba/CIFS is probably mainly targeting Windows clients.</p>
<p>All these connectors have their advantages and disadvantages. You want to test that thoroughly for your particular workload. Also, in SELinux environments, you will require some tweaking of your policies, if you use the GlusterFS client, whereas NFS is a lot more straight forward (don&#8217;t forget that apache needs to be allowed to access NFS directly if that&#8217;s your intention; <em>setsebool -P httpd_use_nfs=on</em> is your friend). I know most people find it easier to switch off SELinux altogether, but for me personally that is <em>never</em> an option. I&#8217;d rather spend hours tweaking the SELinux policies, if necessary. Anyhow, the bottom line is that both NFS and CIFS make GlusterFS very attractive for platforms beyond Linux. FreeBSD for example, although I&#8217;m not sure if the native client has reached a production-ready state there yet; I shall give that a spin soon, and in the meantime NFS will do.</p>
<h2>Performance</h2>
<p>As a rule of thumb you can say that high-availabily, robustness, scalability etc always come with a downside: write performance. During write operations, all nodes need to be kept in sync, which means that the weakest &#8220;link&#8221; (or slowest disk for that matter) together with some locking and network/protocol overhead determines the actual write speed. That is normal. (Note: pure throughput must not be confused with the time it takes to actually be able to access a file on a different node than it was written to)</p>
<p>For that reason you can never expect a high availability file system to solve all your problems. There&#8217;s no such thing as &#8220;one size fits it all&#8221;. Your application need to be cluster/HA aware. In practice that means you will have to select carefully which type of information you store where. This is of course true for GlusterFS, too. However, when it comes to read performance, GlusterFS is actually very fast. Not as fast as a local block device, obviously, but personally I wasn&#8217;t able to tell the difference between native NFS and Gluster&#8217;s NFS implementation. The GlusterFS client (fuse/glusterfs, not NFS) however seems to be a little bit slower reading data, while being faster writing. It really depends on your workload. Bottom line is: GlusterFS is fast and flexible, which alone is a big plus over many other solutions. For maximum read performance you can of course use stripes (data scattered across multiple nodes), which the glusterfs client connects to simultaneously. It&#8217;s kind of obvious that in particular big files benefit from such a setup.</p>
<h2>Caveats</h2>
<p>If you intend to deploy GlusterFS, you better plan a serious amount of time for the first tests, integration into your setup, including benchmarks and failover. GlusterFS is powerful and not too difficult to get started with, but you&#8217;ll soon run into various rather specific questions, which aren&#8217;t documented well (or not at all). Quite frankly the online documentation is poor, or rudimentary. Obviously Gluster, a business, wants to sell their expertise, and there&#8217;s nothing wrong with it. So be prepared to browse mailing list archives or hang out in #gluster in irc.freenode.net or so.</p>
<p>GlusterFS has matured a lot over the last years, and you certainly don&#8217;t need to be worried about losing data (after all it&#8217;s filesystem based and you can copy anything out of the bricks&#8217; directories directly, if you wish). However, some major issues and pitfalls still exist.</p>
<ul>
<li>If you reintroduce or replace a node, which was either faulty or offline for a while, the self-healing will transfer entire files back from up-2-date nodes onto the reintroduced one. This consumes a lot of network bandwidth, and even worse, CPU load (possibly due to the hash comparison). If a GlusterFS brick lives on a box together with other services, you will experience a significant performance hit.</li>
<li>Large files are locked while being replicated. In practice that means that you really can&#8217;t use GlusterFS as a backend for VMs at the moment, unless recovery always happens in a controlled manner at times where you can afford to shut down running VMs for the entire duration of the healing. That somehow defeats the purpose of a high-availability storage cluster.<br />
However, a GlusterFS engineer has told me earlier today on irc.freenode.net that this issue will be tackled in GlusterFS 3.3, if not earlier. Only a question of months, I suppose.</li>
<li>You absolutely must synchronise the system time of all bricks. If you&#8217;re not doing that already anyway, do it before deploying GlusterFS. (use NTP for your own sanity)</li>
<li>Make sure that the bricks of one volume are of identical size and that you don&#8217;t by mistake fill the disk space by other means. I had a situation the other day where I wanted to replace a brick; what I didn&#8217;t realise first was that someone set a disk quota on the new brick. Consequently it stopped writing long before all data could be copied. However, GlusterFS did not warn me, nor did it report an error; it actually confirmed successful migration, although only 1/3 of the files were transferred!<br />
Clearly the lack of accessible disk space wasn&#8217;t GlusterFS&#8217;s fault, and is probably not a common scenario either, but it should spit out at least an error message. Imagine what would have happened if I had taken the other node offline after allegedly successful migration! Total mess.</li>
</ul>
<p>Presumably none of these things would have happened, if I had taken their commercial offerings. <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   Those of you who prefer D.I.Y., better be prepared to spend a serious amount of time to fit it into your use-case and more importantly&#8230; monitor it closely!</p>
<h2>Summary</h2>
<p>GlusterFS has made a lot of positive progress over the last 2-3 years. It&#8217;s very easy to get started, especially on RHEL/CentOS, and it offers enormous flexibility and opportunities. The new CLI makes basic configuration much much easier than it used to be before. With a few simple commands you can create your volumes (on multiple servers, aka &#8220;peers&#8221;, simultaneously). You could say that it&#8217;s actually fun to use GlusterFS!</p>
<p>However, if you (like me) are looking at GlusterFS as a backend for Xen or VMware VMs in order to facilitate live-migration and resilience, you will probably need to wait for version 3.3, unless controlled recovery with planned downtime is an option for you. Might be worth keeping an eye on their <a title="GlusterFS Git Repository" href="https://github.com/gluster/glusterfs" target="_blank">Git repository</a> (I certainly will). While using it to serve files for all sorts of things already, I&#8217;m really looking forward to using it as a backend for Xen soon! <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Version 3.3 brings some other new promising features, too&#8230; Unified storage, object storage&#8230; I see memcached on the list of dependencies&#8230; looks promising. Beta 1 is out, by the way.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2011/07/glusterfs-a-workhorse-that-needs-to-be-tamed/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<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>My Broadband Adventure</title>
		<link>http://sysconfig.org.uk/2009/08/my-broadband-adventure/</link>
		<comments>http://sysconfig.org.uk/2009/08/my-broadband-adventure/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 14:52:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[bethere be* virgin BT dsl broadband]]></category>

		<guid isPermaLink="false">http://sysconfig.ossafe.org/?p=169</guid>
		<description><![CDATA[It might be just me, my misperception, or the fact that I haven&#8217;t quite understood yet what &#8220;support&#8221; means in this country (I think it might be arguable if it means anything at all). But I have the feeling that ISPs in the UK have no clue what they are doing! Let&#8217;s hope they don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>It might be just me, my misperception, or the fact that I haven&#8217;t quite understood yet what &#8220;support&#8221; means in this country (I think it might be arguable if it means anything at all). But I have the feeling that ISPs in the UK have no clue what they are doing! Let&#8217;s hope they don&#8217;t do that on purpose&#8230;</p>
<p>When I moved in a year ago, there wasn&#8217;t a broadband connection in this house, but there was a phone line &#8212; with BT apparently. So I went for the option, which I hoped would be the quickest (in terms of getting connected): BT. 8meg sounded ok to me, and I didn&#8217;t want to use 3G all the time (although I had a lot of traffic allowance on my contract).</p>
<p><span id="more-169"></span></p>
<p>We were in fact online after a couple of days. However, we did not get 8meg. We were around 6meg first, with a rather ridiculous upstream speed:</p>
<p><img class="alignnone" title="BT DSL end-2008" src="http://www.speedtest.net/result/368754308.png" alt="" width="300" height="135" /></p>
<p>But, as we all know BT, things never get better. They only get worse&#8230; This year we had &#8220;impressive&#8221; results, especially in the evenings:</p>
<p><img class="alignnone" title="BT DSL june 1" src="http://www.speedtest.net/result/488668663.png" alt="" width="300" height="135" /></p>
<p>This picture might look like an exception, but it&#8217;s not. Towards the end of the contract things got even worse:</p>
<p><img class="alignnone" title="BT DSL july" src="http://www.speedtest.net/result/525918170.png" alt="" width="300" height="135" /></p>
<p>I&#8217;d like to point out again, that this connection was supposed to be a <strong>8meg</strong> connection!</p>
<p>Even my <strong>T-Mobile 3G</strong> connection could compete with that:</p>
<p><img class="alignnone" title="T-Mobile 3G" src="http://www.speedtest.net/result/533987259.png" alt="" width="300" height="135" /></p>
<p>We were told that our line quality is too poor to offer higher speeds. And the exchange was too far away, they said. In fact it&#8217;s only about 300m down the street! Plus, one might wonder why we got 6meg downstream half a year earlier then? Why did it constantly get worse, especially in the evenings? Right, because the uplinks from the exchange onwards are blocked. They connect more customers than they actually can handle. Should introduce Congestion Charge there, seriously! So, probably it doesn&#8217;t surprise anyone that we did not stay with BT.</p>
<p><strong>Virgin Media&#8217;s</strong> fibre optic offers were very appealing. Our neighbours next door have it. Our neighbours on the other side next door can have it. And even in the same house, our neighbours upstairs can have it. That&#8217;s what the online availability checker said and still says. Guess what? Right, we cannot have it!</p>
<p>I thought a support call might actually help discover an error in their database, and in fact we can have it, too. Well, I thought. Obviously every man-hour is way more expensive than the monthly fibre optic rental customers are being charged. So they showed little to no effort, and told me that I can&#8217;t have it, because that would be technically impossible. Why? The cable is out there, and my neighbours upstairs can have it. Why would it be technically impossible? The sophisticated answer was:<em> I don&#8217;t know. The system shows it&#8217;s impossible and wont change in due course.</em></p>
<p>A second call, hoping to talk to someone who&#8217;s a little bit brighter, didn&#8217;t make a difference. Other words, same meaning.</p>
<p>People recommended Be* and reckoned that they had a good customer support, too. Interestingly they estimated a <strong>possible line speed of 19meg</strong>!  Wow! To be fair, I would have been happy with anything beyond 4meg, which wouldn&#8217;t drop in the evenings.</p>
<p>Only one week after we decided to switch, we were connected with <strong>Be*</strong>. There was only a 3 or 4 hours gap on the day they switched the line. While I was working from home, I could fill that gap with T-Mobile 3G.</p>
<p>One of the first things I did after we got connected was, of course, to verify the line speed with Be*. Here&#8217;s the first result:</p>
<p><img class="alignnone" title="Be* 1" src="http://www.speedtest.net/result/527128240.png" alt="" width="300" height="135" /></p>
<p>Yay! But&#8230;wait. Didn&#8217;t they say 19meg downstream and 2.5meg upstream? So we only got half of the promised speed. Hmm. Of course, still way better than BT ever was &#8212; on the same physical phone line! However, we are humans&#8230; we always want more, especially when someone promises to give more. So I quickly changed my mind and decided not to be happy to have 4meg or more. That&#8217;s probably because I somehow expected that the line wasn&#8217;t capable of offering more than the 6meg we initially got from BT. But as it was, I became greedy <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>After a couple of support tickets and two weeks later, the best results we ever got (relatively stable) were these:</p>
<p><img class="alignnone" title="Be* best result with BeBox" src="http://www.speedtest.net/result/534119658.png" alt="" width="300" height="135" /></p>
<p>Be*&#8217;s support turned out to be good with simple things, and total failure with difficult things. Arguable if support is the right term then. Actually their <strong>user</strong> forums were more helpful than their paid staff. Ping here, traceroute there, connect via Ethernet rather than wireless&#8230; Also they didn&#8217;t really read the whole trail of the ticket. Just the last message. Which, obviously, resulted in the same questions being asked over and over again &#8212; and a solution being severely delayed.</p>
<p>The funny thing was that the BeBox (the provided DSL router) synced with different speeds on every single re-connect. Plus, it started to reboot randomly, dropping the DSL connection for 5 minutes each. Sometimes 4-5 times a day (probably more often, but we didn&#8217;t notice). How would a ping or traceroute help to solve this? (Yes, I have been asked a couple of times to provide pings and traceroutes to google.com and the BBC!)</p>
<p>Anyway, let&#8217;s continue&#8230; <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Be* offers three different DSL profiles (sync setups), which customers can choose from:</p>
<ul>
<li>optimised for speed</li>
<li>normal</li>
<li>optimised for reliability</li>
</ul>
<p>Plus, you can opt in for the fast path option, which gives way faster round trip times at the cost of reduced error correction.</p>
<p>The BeBox was using the &#8220;normal&#8221; profile without fast path. We did try the &#8220;optimised for speed&#8221; option, but that made things worse. The disconnects really bothered me, but I didn&#8217;t want to reduce the speed further. So the picture above shows the maximum we could get through the line using a BeBox, and accepting a couple of disconnections a day. I wasn&#8217;t impressed.</p>
<p>In different forums I found people complaining about the BeBox, describing similar symptoms. So I thought: <em>Let&#8217;s just try another router, for whatever it&#8217;s worth</em>.</p>
<p>I ordered the <strong>D-Link DSL-2640B</strong> (£50). When it arrived, it took me about 30 minutes to get it running (20 minutes to get the DHCP lease renewed, 10 minutes configuration and reboot).  And here are the very first results (still with Be*&#8217;s &#8220;normal&#8221; profile, and without fast path):</p>
<p><img class="alignnone" title="Be* with D-Link router 1" src="http://www.speedtest.net/result/542726465.png" alt="" width="300" height="135" /></p>
<p>Did you notice? More than <strong>3meg more</strong> downstream with exactly the same line and cabling, just a replaced router. And this was an average speed test result. (By the way: I did not only use speedtest.net with their Maidenhead server; I double-checked the results with other tests, too &#8212; all of the reported results in this article)</p>
<p>But it gets even more interesting: As the D-Link apparently can deal way better with a below-average line quality, I wondered if I could push it a bit. Today I asked Be* to switch to &#8220;optimised for speed&#8221; and activate fast path on my line. And now watch this:</p>
<p><img class="alignnone" title="Be* with D-Link, optimised for speed, and fast path active" src="http://www.speedtest.net/result/543466030.png" alt="" width="300" height="135" /></p>
<p>To digest this article&#8230; On the same physical line, I got:</p>
<ul>
<li>6meg initally with BT</li>
<li>dropping down to 2meg with BT</li>
<li>11meg with Be* and their BeBox</li>
<li>16.5meg with Be*, optimised settings and a D-Link router</li>
</ul>
<p>Using Be* with a third-party router can result in 10.5meg more bandwidth than BT said would be possible on that phone line, and even 5.5meg (50%!) more than Be*&#8217;s BeBox can achieve on that line.</p>
<p>The D-Link router didn&#8217;t show any uncorrectable errors so far. No disconnects. No other unexpected problems. But very good performance!</p>
<p>Why the heck do the ISPs bundle crap hardware with their offers, causing unnecessary support inquiries? And why do the ISPs not have support staff in place, who are actually capable of dealing with the increased support load then?</p>
<p>Or in other words: Why does the customer have to spend lots of time and a bit of extra money to figure out and solve the issues on their own, while all they requested was to get what they actually pay for?</p>
<p><strong>[ Update: </strong>I just realised that Be* switched the line back to the normal profile without fast path active. Sync speed and throughput went immediately back down to the old values. Let's see how long it takes to get my preferred settings activated (and hopefully persisted!) again. I'm getting slightly mad at them. And the option on their "website" (quotation marks on purpose -- <a href="http://www.bethere.co.uk">see youself</a>!), where I could in theory choose the setting myself, is broken, too. So I have to wait for their support to do it...<strong> ]</strong></p>
<p><strong>[ Update 2: </strong>About one hour later, I'm back to the desired settings... Let's see for how long. They claim it has been changed on the member portal. I wish I could do that, but firstly it's broken there, and secondly I haven't touched it at all... Funny people. <strong>]</strong></p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2009/08/my-broadband-adventure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu or FreeBSD?</title>
		<link>http://sysconfig.org.uk/2009/07/ubuntu-or-freebsd/</link>
		<comments>http://sysconfig.org.uk/2009/07/ubuntu-or-freebsd/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 23:32:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating Systems]]></category>

		<guid isPermaLink="false">http://sysconfig.ossafe.org/?p=85</guid>
		<description><![CDATA[That&#8217;s one of the most stupid controversial questions I&#8217;ve ever read on Twitter. (Ok, I haven&#8217;t used Twitter for a long time yet, so I&#8217;m prepared for worse questions.) It shows that 140 characters cannot transport any substantial information really. The funny thing is that people indeed try to answer that question on Twitter &#8212; [...]]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s one of the most <span style="text-decoration: line-through;">stupid</span> controversial questions I&#8217;ve ever read on Twitter. (Ok, I haven&#8217;t used Twitter for a long time yet, so I&#8217;m prepared for worse questions.) It shows that 140 characters cannot transport any substantial information really. The funny thing is that people indeed try to answer that question on Twitter &#8212; with 140 characters &#8212; recommending one or the other operating system to the one who asked. Total madness.</p>
<p>First of all, questions like this, which do not tell anything about the author&#8217;s aims and intentions, are not answerable. One could as well ask: Ferrari or Landrover? I&#8217;d suggest taking the Ferrari for the next cross-country rally, whereas the Landrover is definitely the best choice for the F1 track. Anyway, you got my point. <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>This blog post has potential for flamewars between the lovers of BSD and Linux, and also between lovers of either of the Linux distributions. So let me emphasize that this is my personal opinion.</p>
<p><span id="more-85"></span>Let me kick off with two certainly arguable statements and take it from there:</p>
<ul>
<li><strong>Production</strong> environment: The operating system of your choice should be the one, which you are most comfortable administering, because it&#8217;s your job to secure it to the best of your knowledge and solve upcoming issues within the least possible amount of time and effort.</li>
<li><strong>Experimental</strong> environment: Do whatever you want to. Experimental environments are meant to gain more knowledge, experience or compare it with other environments.</li>
</ul>
<p>In this context, let&#8217;s be clear about this: Any server that is accessible from any other untrusted machine (aka Internet), is a production environment! Why so? Because it could easily be turned into a threat to others (if not secured properly), which can cause trouble with your ISP or with third parties, which leads to costs, and in the worst case lawsuits! This means: Although you run it for your own pleasure, you have to ensure that your pleasure does not become a nuisance to others &#8212; be it by your mistake or by third parties taking over your server. Should be common sense, but apparently it&#8217;s not.</p>
<p>Now that we&#8217;ve understood that the playground approach is misplaced in a server environment, you may want agree with my previous statements. <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><em>&#8220;I hear you, but which Linux/BSD/Unix is the best for which aims?&#8221;</em> Let me first briefly explain how things have evolved and why a FreeBSD user will have problems recommending <em>any</em> Linux distribution.</p>
<p>Unlike any Linux distribution, which strictly speaking is merely the kernel bundled with a bunch of (mostly) GNU tools and programs, FreeBSD is a real operating system, where all core elements are maintained by a central &#8220;authority&#8221;, the FreeBSD Project (which is funded by donations collected by the FreeBSD Foundation). That ensures a high level of integrity and as a result stability. FreeBSD (like NetBSD) is a fork of the original BSD by the Berkeley University, which was derived from AT&amp;T Unix. Nowadays you find three major BSDs out there: FreeBSD, NetBSD, and OpenBSD (which was forked from NetBSD). They are maintained by their core teams, and cross-port various functionality whenever suitable (e.g. OpenBSD&#8217;s packet filter pf). When you install any of these BSD&#8217;s base, you will end up with a working operating system and all core tools needed to administer it.</p>
<p>When you install any of the approximately 250 different Linux distributions out there, you more precisely install a third-party bootloader, the Linux kernel, and a whole bunch of third-party (GNU) tools and software. What exactly you end up with, depends on the taste and policies of the distributors. It should be easy to understand that a distribution which focuses on including the latest drivers and software in every release, cannot be as stable as a distribution with a rather long release cycle that has got a big number of enterprise-level users. Essentially they are all the same, but the collection of software and tools (and their branding and look&amp;feel) differs. As various GNU projects have got a lot of cross-dependencies (e.g. PHP with GD, ImageMagick, MySQL, to mention a popular one), it is a tedious and time-consuming task to bundle the right versions with each other in order to get a stable system.</p>
<p>Or in other words: A Linux distributor has to ensure that their selection of <em>third-party software</em> form a stable system, whereas the major BSD derivates <em>maintain the core system</em> themselves. In the BSD world, third-party software isn&#8217;t part of the core functionality. Hence BSD doesn&#8217;t depend on the good will of other software projects. However, you can of course get a lot of third-party software, too: The portstree (in FreeBSD for example), currently contains over 20,000 different programs, carefully selected and tested, and linked against other ports and/or the core libraries. As the latter are provided by the BSD maintainers, you can be sure to have a solid foundation.</p>
<p>If you look at SELinux, it was a rather <span style="text-decoration: line-through;">chaotic</span> uncoordinated situation in the beginning: SELinux was developed and maintained by the NSA, and was not part of the kernel initially, but you could compile it as a kernel module (don&#8217;t get me started on kernel modules on a server). The tools to actually use it are part of the GNU coreutils package &#8212; third party software, strictly speaking. When SELinux reached a stable status and was supported by the Linux kernel, some distributors decided to include and activate it by default (Fedora, RHEL, and CentOS), while others didn&#8217;t make use of it at all (Debian, Ubuntu). So security was a matter of the distributor&#8217;s taste. That happens when there&#8217;s no central &#8220;authority&#8221; which ensures continuity, and coordinates kernel (and related) development. A sad result was that people didn&#8217;t want to get used to SELinux, because it wasn&#8217;t (and still isn&#8217;t) accepted as a standard and must-have. Even nowadays you read recommendations like <em>&#8220;use &#8216;setenforce 0&#8242;&#8221;</em>, which effectively switches SELinux restrictions and its security improvements off! As far as I know, only RHEL and CentOS install and activate SELinux and its utilities by default. They are also the only mainstream Linux distributions which activate the iptables firewall by default, <em>and</em> apply a restrictive ruleset, by the way.</p>
<p>You&#8217;ll still even find Linux distributions, which allegedly target the server market, without SELinux utilities installed. How can you ignore huge security enhancements in a server environment? Ah right, the distributor has got a different taste and would probably add <span style="text-decoration: line-through;">no</span> other security tools.</p>
<p>Apologies for my sarcasm. Linux is not all bad, but you must not expect any distribution to be as rock-solid as any of the three main BSDs. Let&#8217;s check out which Linux is the least of all evil <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The first commercial distribution back in the early 90&#8242;s was Slackware, which nowadays is only being used on a minority of Linux-based servers. Slackware is sort of considered geeky.</p>
<p>A couple of years ago, the big players were RedHat Linux in the English-speaking countries, and SuSE in the German-speaking areas. That has changed. RedHat Linux for the commodity market does not exist any more (it is now the community-maintained Fedora Linux, supported by RedHat). RedHat&#8217;s own Linux distribution is RedHat Enterprise Linux, which obviously targets enterprise-level customers, who are willing to pay for licenses and professional support. For those who don&#8217;t, CentOS as a de-branded RHEL copy has become more and more popular. It claims 100% binary compatibility with RHEL, without asking for license fees, and without offering professional paid support. The target group for both RHEL and CentOS are enterprises and server installations, whereas Fedora targets the desktop market.</p>
<p>Especially in Germany, Debian Linux is also widely used. The easy package management with <em>apt-get </em>certainly played an important role in its success. Fedora introduced <em>yum</em> to make RPM package management as easy. (Open)SuSE seems to lose market share. YaST as their package manager could be one reason.</p>
<p>Ubuntu was started as a Debian derivate just a few years ago, and initially aimed the desktop market trying to keep up with current hardware drivers and new features. Apart from its LTS (long term support) versions, which are being released once every two years, the life cycle of the half-year releases is very short. However, Ubuntu has experienced great success and played an important role in making Linux a widely accepted desktop operating system. In my opinion it is not the best choice for server installations where robustness is more important than introducing the latest features and device drivers, though. It also lacks SELinux utilities in its default installation.</p>
<p>For the tough cookies, there&#8217;s also Gentoo Linux, which covers kind of a niche market: people who believe in stability by compiling everything from scratch (and most obviously took BSD as an example), but who are reluctant to leave the Linux terrain towards BSD. <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Why am I saying this? Simply because compiling from scratch is rather not suitable for newbies, but all the effort still doesn&#8217;t provide a BSD level of stability in a Linux environment as too many bits and pieces are actually third-party software.</p>
<p>Personally, although I used to prefer Debian (before SELinux became de facto standard), I cannot take that distribution seriously any more. They made a <a href="http://taint.org/2008/05/13/153959a.html" target="_blank">terrible mistake</a> when they &#8220;patched&#8221; the OpenSSL library, turning all generated keys and certificates built with them into garbage (or what do we call keys and certs which are created with a predictable random generator?). In my opinion, it shows pretty well why a more centralised approach of maintaining core components is better. There&#8217;s a thin line between diversity and mess. When distributors start patching core components just like that, rather than contributing code to the upstream projects, the diversity will soon equal mess &#8212; and introduce absolutely unnecessary distribution-related security flaws.</p>
<p>In my personal opinion, CentOS is <em>the</em> Linux distribution for a server setup (or RHEL for those who rely on professional support), whereas a desktop or laptop user&#8217;s best bet would be Ubuntu (if you can live with a short release cycle and are happy to update your whole system often) or Fedora.</p>
<p>However, I do prefer FreeBSD for servers (as you could easily tell after reading all this). <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   And on a desktop/laptop, MacOS is my favourite. (I know that paying for solid software is political incorrect nowadays, but at least it has a reliable &#8212; FreeBSD/Darwin &#8212; foundation!)</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2009/07/ubuntu-or-freebsd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Managing Web 2.0</title>
		<link>http://sysconfig.org.uk/2009/06/managing-web-20/</link>
		<comments>http://sysconfig.org.uk/2009/06/managing-web-20/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 18:23:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://blog.ossafe.org/?p=58</guid>
		<description><![CDATA[Somehow, all the features and increasingly popular services become more and more confusing. Ok, everyone has Facebook (at least in English speaking countries people would rather ask if you are on Facebook than what your phone number is). And then there&#8217;s Twitter, another way of keeping friends or customers or whoever informed about what&#8217;s going [...]]]></description>
			<content:encoded><![CDATA[<p>Somehow, all the features and increasingly popular services become more and more confusing.</p>
<p>Ok, everyone has Facebook (at least in English speaking countries people would rather ask if you are on Facebook than what your phone number is). And then there&#8217;s Twitter, another way of keeping friends or customers or whoever informed about what&#8217;s going on. Plus, you need to share you favourite URLs with digg, del.icio.us, or any other social bookmarking service of your choice. And of course, you need your own blog! And a Flickr account for your photos. Did I cover all of the services a modern Web 2.0 person has to have? Probably not. But now the core question: How do you manage to keep everything up 2 date? I mean as someone who&#8217;s already got a full-time job&#8230; <img src='http://sysconfig.org.uk/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Comments, suggestions, URL appreciated!</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2009/06/managing-web-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SPF &#8212; Sender Policy Framework</title>
		<link>http://sysconfig.org.uk/2008/05/spf-sender-policy-framework/</link>
		<comments>http://sysconfig.org.uk/2008/05/spf-sender-policy-framework/#comments</comments>
		<pubDate>Sun, 25 May 2008 15:31:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.admin-at-once.co.uk/?p=11</guid>
		<description><![CDATA[Did you ever receive spam mails which seem to originate from your own mail address? Or did anybody else complain about you sending those emails? Then you should take a look at SPF. In a nutshell, it plugs the holes in the SMTP protocoll, which does not allow to verify if a sender (or anybody [...]]]></description>
			<content:encoded><![CDATA[<p>Did you ever receive spam mails which seem to originate from your own mail address? Or did anybody else complain about you sending those emails? Then you should take a look at <a href="http://www.openspf.org/" target="_blank">SPF</a>. In a nutshell, it plugs the holes in the SMTP protocoll, which does not allow to verify if a sender (or anybody who pretends to be that sender) really may use a particular mail server to transmit their mails. Unfortunately, SPF is not yet very wide-spread. Almost everybody (including me) has come across this abbreviation and/or heard that it might protect misuse of mail addresses. But most people (including me) cannot be bothered to implement it.</p>
<p><span id="more-11"></span>But as I took a closer view at it recently, it turned out to be a pretty simple task. Only people with loads of domain names and/or restricted nameserver control might run into problems.</p>
<p>In a nutshell, you only need to do this in order to get SPF running on your own server and to tell other mail servers how to deal with your domain name:</p>
<ul>
<li>add a <a href="http://www.openspf.org/Software" target="_blank">policy daemon</a> to your MTA (e.g. postfix-policyd-spf) &#8212; pretty easy, really!</li>
<li>add SPF/TXT records to your zonefiles as described <a href="http://www.openspf.org/SPF_Record_Syntax" target="_blank">here</a></li>
</ul>
<p>That&#8217;s it, honestly. Assuming, you have successfully finished the two tasks, your mail server will block all mails that originate from domains, which have SPF records set and been delivered through other than the allowed hosts. And your domains will be protected from being misused on all other mail servers which use SPF as well.</p>
<p>Example:</p>
<pre>example.com.       IN MX 10  mail
mail.example.com.  IN TXT "v=spf1 mx -all
mail.example.com.  IN A 1.2.3.4</pre>
<p>Now, mails from johndoe@example.com must be delivered through the mailserver mail.example.com. All mailservers which implement SPF will refuse to accept mails from other than that server. Especially the big players like Googlemail do make use of SPF. Although some don&#8217;t block mails, they at least add a telling header which makes spam-filtering easier:</p>
<pre>Received-SPF: fail (google.com: domain of mail@***.co.uk does not designate
85.***.***.*** as permitted sender) client-ip=85.***.***.***
Authentication-Results: mx.google.com; spf=hardfail (google.com: domain of
mail@***.co.uk does not designate 85.***.***.*** as permitted sender)
smtp.mail=mail@***.co.uk</pre>
<p>So what are you waiting for? The more people make SPF mandatory on their servers, the better is its protection against SPAM.</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.org.uk/2008/05/spf-sender-policy-framework/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/26 queries in 0.057 seconds using apc
Object Caching 1009/1906 objects using apc

Served from: sysconfig.org.uk @ 2012-02-05 20:01:40 -->
