<?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>etbe - Russell Coker &#187; Virtualisation</title>
	<atom:link href="http://etbe.coker.com.au/category/virt/feed/" rel="self" type="application/rss+xml" />
	<link>http://etbe.coker.com.au</link>
	<description>Linux, politics, and other interesting things</description>
	<lastBuildDate>Wed, 08 Feb 2012 13:24:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Dedicated vs Virtual Servers</title>
		<link>http://etbe.coker.com.au/2011/10/21/dedicated-vs-virtual/</link>
		<comments>http://etbe.coker.com.au/2011/10/21/dedicated-vs-virtual/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 13:34:49 +0000</pubDate>
		<dc:creator>etbe</dc:creator>
				<category><![CDATA[Virtualisation]]></category>

		<guid isPermaLink="false">http://etbe.coker.com.au/?p=3006</guid>
		<description><![CDATA[A common question about hosting is whether to use a dedicated server or a virtual server. Dedicated Servers If you use a dedicated server then you will face the risk of problems which interrupt the boot process. It seems that all the affordable dedicated server offerings lack any good remote management, so when the server [...]]]></description>
			<content:encoded><![CDATA[<p>A common question about hosting is whether to use a dedicated server or a virtual server.</p>
<h3>Dedicated Servers</h3>
<p>If you use a dedicated server then you will face the risk of problems which interrupt the boot process. It seems that all the affordable dedicated server offerings lack any good remote management, so when the server doesn&#8217;t boot you either have to raise a trouble ticket with the company running the Data-Center (DC) or use some sort of hack. <a href="http://www.hetzner.de/">Hetzner is a dedicated server company that I have had good experiences with [1]</a>, when a server in their DC fails to boot you can use their web based interface (at no extra charge or delay) to boot a Linux recovery environment which can then be used to fix whatever the problem may be. They also charge extra for hands-on support which could be used if the Linux recovery environment revealed no errors but the system just didn&#8217;t work. This isn&#8217;t nearly as good as using something like <a href="http://en.wikipedia.org/wiki/Ipmi">IPMI</a> which permits remote console access to see error messages and more direct control of rebooting.</p>
<p>The up-side of a dedicated server is performance. Some people think that avoiding virtualisation improves performance, but in practice most virtual servers use virtualisation technologies that have little overhead. A bigger performance issue than the virtualisation overhead is the fact that most companies running DCs have a range of hardware in their DC and your system (whether a virtual server or a dedicated server) will be on a random system from their DC. I have observed hosting companies to give different speed CPUs and for dedicated servers different amounts of RAM for the same price. I expect that the disk IO performance also varies a lot but I have no evidence. As long as the hosting company provides everything that they offered before you sign the contract you can&#8217;t complain. It&#8217;s worth noting that CPU performance is either poorly specified or absent in most offers and disk IO performance is almost never specified. One advantage of dedicated servers in this regard is that you get to know the details of the hardware and can therefore refuse certain low spec hardware.</p>
<p>The real performance benefit of a dedicated server is that disk IO performance won&#8217;t be hurt by other users of the same system. Disk IO is the real issue as CPU and RAM are easy to share fairly but disk performance is difficult to share and is also a significant bottleneck on many servers.</p>
<p>Dedicated servers also have a higher minimum price due to the fact that a real server is being used which involves hardware purchase and rack space. Hetzner&#8217;s offers which start at E29 per month are about as cheap as it&#8217;s possible to get. But it appears that the E29 offer is for an old server &#8211; new hardware starts at E49 per month which is still quite cheap. But no dedicated server compares to the virtual servers which can be rented for prices less than $10 per month.</p>
<h3>Virtual Servers</h3>
<p>A virtual server will typically have an effective management interface. You should expect to get web based access to the system console as well as ssh console access. If console access is not sufficient to recover the system then there is an option to boot from a recovery device. This allows you to avoid many situations that could potentially result in down-time and when things go wrong it allows you to recover faster. <a href="http://www.linode.com/">Linode is an example of a company that provides virtual servers and provides a great management interface [2]</a>. It would take a lot of work with performance monitoring and graphing tools to give the performance overview that comes for free with the Linode interface.</p>
<p>Disk IO performance can suck badly on virtual servers and it can happen suddenly and semi-randomly. If someone else who is using a virtual server on the same hardware is the target of a DoS attack then your performance can disappear. Performance for CPU is generally fairly reliable though. So a CPU bound server would be a better fit on the typical virtual server options than a disk IO bound server.</p>
<p>Virtual servers are a lot cheaper at the low end so if you don&#8217;t need the hardware capabilities of a minimal dedicated server (with 1G of RAM for Hetzner and a minimum of 8G of RAM for some other providers) then you can save a lot of money by getting a virtual server.</p>
<p>Finally the options for running a virtual machine under a virtual machine aren&#8217;t good, AFAIK the only options that would work on a commercial VPS offering are <a href="http://en.wikipedia.org/wiki/QEMU">QEMU (an x86 CPU instruction emulator)</a>, <a href="http://en.wikipedia.org/wiki/Hercules_emulator">Hercules (a S/370 S/390, and Z series IBM mainframe emulator)</a>, and similar CPU emulators. Please let me know if there are any other good options for running a virtual machine on a VPS. Now while these emulators are apparently good for debugging OS development they aren&#8217;t something that are generally useful for running a virtual machine. I knew someone who ran his important servers under Hercules so that x86 exploits couldn&#8217;t be used for attacking them, but apart from that CPU emulation isn&#8217;t generally useful for servers.</p>
<h3>Summary</h3>
<p>If you want to have entire control of the hardware or if you want to run your own virtual machines that suit your needs (EG one with lots of RAM and another with lots of disk space) then a dedicated server is required. If you want to have minimal expense or the greatest ease of sysadmin use then a virtual server is a better option.</p>
<p>But the cheapest option for virtual hosting is to rent a server from Hetzner, run Xen on it, and then rent out DomUs to other people. Apart from the inevitable pain that you experience if anything goes wrong with the Dom0 this is a great option.</p>
<p>As an aside, if anyone knows of a reliable company that offers some benefits over Hetzner then please let me know.</p>
<h3>What I would Like to See</h3>
<p>There is no technical reason why a company like Linode couldn&#8217;t make an offer which was a single DomU on a server taking up all available RAM, CPU, and disk space. Such an offer would be really compelling if it wasn&#8217;t excessively expensive. That would give Linode ease of management and also a guarantee that no-one else could disrupt your system by doing a lot of disk IO. This would be really easy for Linode (or any virtual server provider) to implement.</p>
<p>There is also no technical reason why a company like Linode couldn&#8217;t allow their customers to rent all the capacity of a physical system and then subdivide it among DomUs as they wish. I have a few clients who would be better suited by Linode DomUs that are configured for their needs rather than stock Linode offerings (which never seem to offer the exact amounts of RAM, disk, or CPU that are required). Also if I had a Linode physical server that only had DomUs for my clients then I could make sure that none of them had excessive disk IO that affected the others. This would require many extra features in the Linode management web pages, so it seems unlikely that they will do it. Please let me know if there is someone doing this, it&#8217;s obvious enough that someone must be doing it.</p>
<p><b>Update:</b></p>
<p><a href="https://rimuhosting.com/order/vps-on-dedicated.jsp">A Rimuhosting employee pointed out that they offer virtual servers on dedicated hardware which meets this criteria [3]</a>. Rimuhosting allows you to use their VPS management system for running all the resources in a single server (so no-one else can slow your VM down) and also allow custom partitioning of a server into as many VMs as you desire.</p>
<ul>
<li>[1]<a href="http://www.hetzner.de/"> http://www.hetzner.de/</a></li>
<li>[2]<a href="http://www.linode.com/"> http://www.linode.com/</a></li>
<li>[3]<a href="https://rimuhosting.com/order/vps-on-dedicated.jsp"> https://rimuhosting.com/order/vps-on-dedicated.jsp</a></li>
</ul>
<p>Related posts:</p><ol>
<li><a href='http://etbe.coker.com.au/2011/10/18/servers-vs-phones/' rel='bookmark' title='Servers vs Phones'>Servers vs Phones</a> <small>Hetzner have recently updated their offerings to include servers with...</small></li>
<li><a href='http://etbe.coker.com.au/2009/10/21/virtual-hosting-features/' rel='bookmark' title='Virtual Hosting Features'>Virtual Hosting Features</a> <small>I&#8217;ve just been setting up new virtual servers at Linode...</small></li>
<li><a href='http://etbe.coker.com.au/2008/11/29/physical-vs-virtual-servers/' rel='bookmark' title='Physical vs Virtual Servers'>Physical vs Virtual Servers</a> <small>In a comment on my post about Slicehost, Linode, and...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://etbe.coker.com.au/2011/10/21/dedicated-vs-virtual/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Server Costs vs Virtual Server Costs</title>
		<link>http://etbe.coker.com.au/2010/03/29/server-vs-virtual-server-costs/</link>
		<comments>http://etbe.coker.com.au/2010/03/29/server-vs-virtual-server-costs/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 11:54:41 +0000</pubDate>
		<dc:creator>etbe</dc:creator>
				<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Most Popular]]></category>

		<guid isPermaLink="false">http://etbe.coker.com.au/?p=1951</guid>
		<description><![CDATA[The Claim I have seen it claimed that renting a virtual server can be cheaper than paying for electricity on a server you own. So I&#8217;m going to analyse this with electricity costs from Melbourne, Australia and the costs of running virtual servers in the US and Europe as these are the options available to [...]]]></description>
			<content:encoded><![CDATA[<h3>The Claim</h3>
<p>I have seen it claimed that renting a virtual server can be cheaper than paying for electricity on a server you own.  So I&#8217;m going to analyse this with electricity costs from Melbourne, Australia and the costs of running virtual servers in the US and Europe as these are the options available to me.</p>
<h3>The Costs</h3>
<p>According to my last bill I&#8217;m paying 18.25 cents per kWh &#8211; that&#8217;s a domestic rate for electricity use and businesses pay different rates.  For this post I&#8217;m interested in SOHO and hobbyist use so business rates aren&#8217;t relevant.  I&#8217;ll assume that a year has 365.25 days as I really doubt that people will change their server arrangements to save some money on a leap year.   A device that draws 1W of power if left on for 365.25 days will take 365.25*24/1000 = 8.766kWh which will cost 8.766*0.1825 = $1.5997950.  I&#8217;ll round that off to $1.60 per Watt-year.</p>
<p><a href="http://doc.coker.com.au/environment/computer-power-use/">I&#8217;ve documented the power use of some systems that I own [1]</a>.  I&#8217;ll use the idle power use because most small servers spend so much time idling that the time that they spend doing something useful doesn&#8217;t affect the average power use.  I think it&#8217;s safe to assume that someone who really wants to save money on a small server isn&#8217;t going to buy a new system so I&#8217;ll look at the older and cheaper systems.  The lowest power use there is a Cobalt Qube, a 450MHz AMD K6 is really small, but at 20W when idling means a cost of only $32 per annum.  My Thinkpad T41p is a powerful little system, a 1.7GHz Pentium-M with 1.5G of RAM, a 100G IDE disk and a Gig-E port should be quite useful as a server &#8211; which now that the screen is broken is a good use for it.  That Thinkpad drew 23W at idle with the screen on last time I tested it which means an annual cost of $36.80 &#8211; or something a little less if I leave the screen turned off.  A 1.8GHz Celeron with 3 IDE disks drew 58W when idling (but with the disks still spinning), let&#8217;s assume for the sake of discussion that a well configured system of that era would take 60W on average and cost $96 per annum.</p>
<p>So my cost for electricity would vary from as little as $36.80 to as much as $96 per year depending on the specs of the system I choose.  That&#8217;s not considering the possibility of doing something crazy like ripping the IDE disk out of an old Thinkpad and using some spare USB flash devices for storage &#8211; I&#8217;ve been given enough USB flash devices to run a RAID array if I was really enthusiastic.</p>
<p>For virtual server hosting the cheapest I could find was <a href="http://www.xeneurope.co.uk/packages">Xen Europe charges E5 for a virtual server with 128M of RAM, 10G of storage and 1TB of data transfer [2]</a>, that is $AU7.38.  The next best was <a href="https://www.quantact.com/signup.cgi">Quantact who charges $US15 for a virtual server with 256M of RAM [3]</a>, that is $AU16.41.</p>
<p>Really for my own use if I was paying I might choose <a href="http://www.linode.com/">Linode [4]</a> or <a href="https://manage.slicehost.com/customers/new">Slicehost [5]</a>, they both charge $US20 ($AU21.89) for their cheapest virtual server which has 360M or 256M of RAM respectively.  I&#8217;ve done a lot of things with Linode and Slicehost and had some good experiences, Xen Europe got some good reviews last time I checked but I haven&#8217;t used them.</p>
<h3>The Conclusion</h3>
<p>When comparing a Xen Europe virtual server at $88.56 per annum it might be slightly cheaper than running my old Celeron system &#8211; but would be more expensive than buying electricity for my old Thinkpad.  If I needed more than 128M of RAM (which seems likely) then the next cheapest option is a 256M XenEurope server for $14.76 per month which is $177.12 per annum which makes my old computers look very appealing.  If I needed more than a Gig of RAM then my old Thinkpad would be a clear winner, also if I needed good disk IO capacity (something that always seems poor in virtual servers) then a local server would win.</p>
<p>Virtual servers win when serious data transfer is needed.  Even if you aren&#8217;t based in a country like Australia where data transfer quotas are small (<a href="http://etbe.coker.com.au/2010/01/18/why-internet-access-in-australia-sucks/">see my previous post about why Internet access in Australia sucks [6]</a>) you will probably find that any home Internet connection you can reasonably afford doesn&#8217;t allow the fast transfer of large quantities of data that you would desire from a server.</p>
<p>So I conclude that apart from strange and unusual corner cases it is cheaper in terms of ongoing expenses to run a small server in your own home than to rent a virtual server.</p>
<p>If you have to purchase a system to run as a server (let&#8217;s say $200 for something cheap) and assume hardware depreciation expenses (maybe another $200 every two years) then you might be able to save money.  But this also seems like a corner case as the vast majority of people who have the skills to run such servers also have plenty of old hardware, they replace their main desktop systems periodically and often receive gifts of old hardware.</p>
<p>One final fact that is worth considering is that if your time has a monetary value and if you aren&#8217;t going to learn anything useful by running your own local server then using a managed virtual server such as those provided by Linode (who have a really good management console) then you will probably save enough time to make it worth the expense.</p>
<ul>
<li>[1]<a href="http://doc.coker.com.au/environment/computer-power-use/"> http://doc.coker.com.au/environment/computer-power-use/</a></li>
<li>[2]<a href="http://www.xeneurope.co.uk/packages"> http://www.xeneurope.co.uk/packages</a></li>
<li>[3]<a href="https://www.quantact.com/signup.cgi"> https://www.quantact.com/signup.cgi</a></li>
<li>[4]<a href="http://www.linode.com/"> http://www.linode.com/</a></li>
<li>[5]<a href="https://manage.slicehost.com/customers/new"> https://manage.slicehost.com/customers/new</a></li>
<li>[6]<a href="http://etbe.coker.com.au/2010/01/18/why-internet-access-in-australia-sucks/"> http://etbe.coker.com.au/2010/01/18/why-internet-access-in-australia-sucks/</a></li>
</ul>
<p>Related posts:</p><ol>
<li><a href='http://etbe.coker.com.au/2009/10/13/new-servers-non-virtual-cloud/' rel='bookmark' title='New Servers &#8211; a non-virtual Cloud'>New Servers &#8211; a non-virtual Cloud</a> <small>NewServers.com [1] provides an interesting service. They have a cloud...</small></li>
<li><a href='http://etbe.coker.com.au/2009/10/21/virtual-hosting-features/' rel='bookmark' title='Virtual Hosting Features'>Virtual Hosting Features</a> <small>I&#8217;ve just been setting up new virtual servers at Linode...</small></li>
<li><a href='http://etbe.coker.com.au/2009/03/20/cpu-intensive-server/' rel='bookmark' title='Choosing a Server for CPU Intensive work'>Choosing a Server for CPU Intensive work</a> <small>A client is considering some options for serious deployment of...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://etbe.coker.com.au/2010/03/29/server-vs-virtual-server-costs/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Xen and Debian/Squeeze</title>
		<link>http://etbe.coker.com.au/2010/03/21/xen-debian-squeeze/</link>
		<comments>http://etbe.coker.com.au/2010/03/21/xen-debian-squeeze/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 02:03:56 +0000</pubDate>
		<dc:creator>etbe</dc:creator>
				<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Most Popular]]></category>
		<category><![CDATA[Selinux]]></category>

		<guid isPermaLink="false">http://etbe.coker.com.au/?p=1907</guid>
		<description><![CDATA[Ben Hutchings announced that the Debian kernel team are now building Xen flavoured kernels for Debian/Unstable [1]. Thanks to Max Attems and the rest of the kernel team for this and all their other great work! Thanks Ben for announcing it. The same release included OpenVZ, updated DRM, and the kernel mode part of Nouveau [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://womble.decadent.org.uk/blog/debian-linux-packages-the-big-bang-release">Ben Hutchings announced that the Debian kernel team are now building Xen flavoured kernels for Debian/Unstable [1]</a>.  Thanks to Max Attems and the rest of the kernel team for this and all their other great work!  Thanks Ben for announcing it.  The same release included OpenVZ, updated DRM, and the kernel mode part of Nouveau &#8211; but Xen is what interests me most.</p>
<p>I&#8217;ve upgraded the Xen server that I use for my <a href="http://www.coker.com.au/selinux/play.html">SE Linux Play Machine [2]</a> to test this out.</p>
<p>To get this working you first need to remove <b>xen-tools</b> as the Testing version of <b>bash-completion</b> has an undeclared conflict, see <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550590">Debian bug report #550590</a>.</p>
<p>Then you need to upgrade to Unstable, this requires upgrading the kernel first as udev won&#8217;t upgrade without it.</p>
<p>If you have an existing system you need to install <b>xen-hypervisor-3.4-i386</b> and purge <b>xen-hypervisor-3.2-1-i386</b> as the older Xen hypervisor won&#8217;t boot the newer kernel.  This also requires installing <b>xen-utils-3.4</b> and removing <b>xen-utils-3.2-1</b> as the utilities have to match the kernel.  You don&#8217;t strictly need to remove the old hypervisor and utils packages as it should be possible to have dual-boot configured with old and new versions of Xen and matching Linux kernels.  But this would be painful to manage as <b>update-grub</b> doesn&#8217;t know how to match Xen and Linux kernel versions so you will get Grub entries that are not bootable &#8211; it&#8217;s best to just do a clean break and keep a non-Xen version of the older kernel installed in case it doesn&#8217;t initially boot.</p>
<p>A <b>apt-get dist-upgrade</b> operation will result in installing the <b>grub-pc</b> package.  The <b>update-grub2</b> command doesn&#8217;t generate Xen entries.  I&#8217;ve filed <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574666">Debian bug report #574666</a> about this.</p>
<p>Because the Linux kernel doesn&#8217;t want to reduce in size to low values I use &#8220;<b>xenhopt=dom0_mem=142000</b>&#8221; in my GRUB 0.98 configuration so that the kernel doesn&#8217;t allocate as much RAM to it&#8217;s internal data structures.  <a href="http://etbe.coker.com.au/2008/08/25/xen-and-linux-memory-assignment-bugs/">In the past I&#8217;ve encountered a kernel memory management bug related to significantly reducing the size of the Dom0 memory after boot [3]</a>.</p>
<p>Before I upgraded I had the dom0_mem size set to 122880 but when running Testing that seems to get me a kernel Out Of Memory condition from udev in the early stages of boot which prevents LVM volumes from being scanned and therefore prevents swap from being enabled so the system doesn&#8217;t work correctly (if at all).  I had this problem with 138000M of RAM so I chose 142000 as a safe number.  Now I admit that the system would probably boot with less RAM if I disabled SE Linux, but the SE Linux policy size of the configuration I&#8217;m using in the Dom0 has dropped from 692K to 619K so it seems likely that the increase in required memory is not caused by SE Linux.</p>
<p>The Xen Dom0 support on i386 in Debian/Unstable seems to work quite well.  I wouldn&#8217;t recommend it for any serious use, but for something that&#8217;s inherently designed for testing (such as a SE Linux Play Machine) then it works well.  My Play Machine has been offline for the last few days while I&#8217;ve been working on it.  It didn&#8217;t take much time to get Xen working, it took a bit of time to get the SE Linux policy for Unstable working well enough to run Xen utilities in enforcing mode, and it took three days because I had to take time off to work on other projects.</p>
<ul>
<li>[1]<a href="http://womble.decadent.org.uk/blog/debian-linux-packages-the-big-bang-release"> http://womble.decadent.org.uk/blog/debian-linux-packages-the-big-bang-release</a></li>
<li>[2]<a href="http://www.coker.com.au/selinux/play.html"> http://www.coker.com.au/selinux/play.html</a></li>
<li>[3]<a href="http://etbe.coker.com.au/2008/08/25/xen-and-linux-memory-assignment-bugs/"> http://etbe.coker.com.au/2008/08/25/xen-and-linux-memory-assignment-bugs/</a></li>
</ul>
<p>Related posts:</p><ol>
<li><a href='http://etbe.coker.com.au/2008/08/24/play-machine-downtime/' rel='bookmark' title='Play Machine Downtime'>Play Machine Downtime</a> <small>From the 13th to the 14th of August my Play...</small></li>
<li><a href='http://etbe.coker.com.au/2007/01/01/installing-xen-domu-on-debian-etch/' rel='bookmark' title='installing Xen domU on Debian Etch'>installing Xen domU on Debian Etch</a> <small>I have just been installing a Xen domU on Debian...</small></li>
<li><a href='http://etbe.coker.com.au/2007/05/18/se-linux-in-debian/' rel='bookmark' title='SE Linux in Debian'>SE Linux in Debian</a> <small>I have now got a Debian Xen domU running the...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://etbe.coker.com.au/2010/03/21/xen-debian-squeeze/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Starting with KVM</title>
		<link>http://etbe.coker.com.au/2010/03/17/starting-with-kvm/</link>
		<comments>http://etbe.coker.com.au/2010/03/17/starting-with-kvm/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 20:42:31 +0000</pubDate>
		<dc:creator>etbe</dc:creator>
				<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Most Popular]]></category>

		<guid isPermaLink="false">http://etbe.coker.com.au/?p=1829</guid>
		<description><![CDATA[I&#8217;ve just bought a new Thinkpad that has hardware virtualisation support and I&#8217;ve got KVM running. HugePages The Linux-KVM site has some information on using hugetlbfs to allow the use of 2MB pages for KVM [1]. I put &#8220;vm.nr_hugepages = 1024&#8221; in /etc/sysctl.conf to reserve 2G of RAM for KVM use. The web page notes [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just bought a new Thinkpad that has hardware virtualisation support and I&#8217;ve got KVM running.</p>
<h3>HugePages</h3>
<p><a href="http://www.linux-kvm.com/content/get-performance-boost-backing-your-kvm-guest-hugetlbfs">The Linux-KVM site has some information on using hugetlbfs to allow the use of 2MB pages for KVM [1]</a>.  I put &#8220;<b>vm.nr_hugepages = 1024</b>&#8221; in <b>/etc/sysctl.conf</b> to reserve 2G of RAM for KVM use.  The web page notes that it may be impossible to allocate enough pages if you set it some time after boot (the kernel can allocate memory that can&#8217;t be paged and it&#8217;s possible for RAM to become too fragmented to allow allocation).  As a test I reduced my allocation to 296 pages and then increased it again to 1024, I was surprised to note that my system ran extremely slow while reserving the pages &#8211; it seems that allocating such pages is efficient when done at boot time but not so efficient when done later.</p>
<p><b>hugetlbfs       /hugepages  hugetlbfs       mode=1770,gid=121        0 0</b></p>
<p>I put the above line in <b>/etc/fstab</b> to mount the hugetlbfs filesystem.  The mode of 1770 allows anyone in the group to create files but not unlink or rename each other&#8217;s files.  The gid of 121 is for the <b>kvm</b> group.</p>
<p>I&#8217;m not sure how hugepages are used, they aren&#8217;t used in the most obvious way.  I expected that allocating 1024 huge pages would allow allocating 2G of RAM to the virtual machine, that&#8217;s not the case as &#8220;<b>-m 2048</b>&#8221; caused kvm to fail.  I also expected that the number of HugePages free according to <b>/proc/meminfo</b> would reliably drop by an amount that approximately matches the size of the virtual machine &#8211; which doesn&#8217;t seem to be the case.</p>
<p>I have no idea why KVM with Hugepages would be significantly slower for user and system CPU time but still slightly faster for the overall build time (see the performance section below).  I&#8217;ve been unable to find any documents explaining in which situations huge pages provide advantages and disadvantages or how they work with KVM virtualisation &#8211; the virtual machine allocates memory in 4K pages so how does that work with 2M pages provided to it by the OS?</p>
<p>But Hugepages does provide a slight benefit in performance and if you have plenty of RAM (I have 5G and can afford to buy more if I need it) you should just install it as soon as you start.</p>
<p>I have <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574073">filed Debian bug report #574073 about KVM displaying an error you normally can&#8217;t see when it can&#8217;t access the hugepages filesystem [6]</a>.</p>
<h3>Permissions</h3>
<p><b>open /dev/kvm: Permission denied<br />
Could not initialize KVM, will disable KVM support</b></p>
<p>One thing that annoyed me about KVM is that the Debian/Lenny version will run QEMU instead if it can&#8217;t run KVM.  I discovered this when a routine rebuild of the SE Linux Policy packages in a Debian/Unstable virtual machine took an unreasonable amount of time.  When I halted the virtual machine I noticed that it had displayed the above message on stderr before changing into curses mode (I&#8217;m not sure the correct term for this) such that the message was obscured until the xterm was returned to the non-curses mode at program exit.  I had to add the user in question to the <b>kvm</b> group.  I&#8217;ve <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574063">filed Debian bug report #574063 about this [2]</a>.</p>
<p><b>Performance</b></p>
<p>Below is a table showing the time taken for building the SE Linux reference policy on Debian/Unstable.  It compares running QEMU emulation (using the <b>kvm</b> command but without permission to access <b>/dev/kvm</b>), KVM with and without hugepages, Xen, and a chroot.  Xen is run on an Opteron 1212 Dell server system with 2*1TB SATA disks in a RAID-1 while the KVM/QEMU tests are on <a href="http://etbe.coker.com.au/2010/03/16/thinkpad-t61/">an Intel T7500 CPU in a Thinkpad T61 with a 100G SATA disk [4]</a>.  All virtual machines had 512M of RAM and 2 CPU cores.  The Opteron 1212 system is running Debian/Lenny and the Thinkpad is running Debian/Lenny with a 2.6.32 kernel from Testing.</p>
<table border="1">
<tr>
<th></th>
<th>Elapsed</th>
<th>User</th>
<th>System</th>
</tr>
<tr>
<td>QEMU on Opteron 1212 with Xen installed</td>
<td>126m54</td>
<td>39m36</td>
<td>8m1</td>
</tr>
<tr>
<td>QEMU on T7500</td>
<td>95m42</td>
<td>42m57</td>
<td>8m29</td>
</tr>
<tr>
<td>KVM on Opteron 1212</td>
<td>7m54</td>
<td>4m47</td>
<td>2m26</td>
</tr>
<tr>
<td>Xen on Opteron 1212</td>
<td>6m54</td>
<td>3m5</td>
<td>1m5</td>
</tr>
<tr>
<td>KVM on T7500</td>
<td>6m3</td>
<td>2m3</td>
<td>1m9</td>
</tr>
<tr>
<td>KVM Hugepages on T7500 with NCurses console</td>
<td>5m58</td>
<td>3m32</td>
<td>2m16</td>
</tr>
<tr>
<td>KVM Hugepages on T7500</td>
<td>5m50</td>
<td>3m31</td>
<td>1m54</td>
</tr>
<tr>
<td>KVM Hugepages on T7500 with 1800M of RAM</td>
<td>5m39</td>
<td>3m30</td>
<td>1m48</td>
</tr>
<tr>
<td>KVM Hugepages on T7500 with 1800M and file output</td>
<td>5m7</td>
<td>3m28</td>
<td>1m38</td>
</tr>
<tr>
<td>Chroot on T7500</td>
<td>3m43</td>
<td>3m11</td>
<td>29</td>
</tr>
</table>
<p>I was surprised to see how inefficient it is when compared with a chroot on the same hardware.  It seems that the system time is the issue.  Most of the tests were done with 512M of RAM for the virtual machine, I tried 1800M which improved performance slightly (less IO means less context switches to access the real block device) and redirecting the output of dpkg-buildpackage to /tmp/out and /tmp/err reduced the built time by 32 seconds &#8211; it seems that the context switches for networking or console output really hurt performance.  But for the default build it seems that it will take about 50% longer in a virtual machine than in a chroot, this is bearable for the things I do (of which building the SE Linux policy is the most time consuming), but if I was to start compiling KDE then I would be compelled to use a chroot.</p>
<p>I was also surprised to see how slow it was when compared to Xen, for the tests on the Opteron 1212 system I used a later version of KVM (<b>qemu-kvm 0.11.0+dfsg-1~bpo50+1</b> from Debian/Unstable) but could only use 2.6.26 as the virtualised kernel (the Debian 2.6.32 kernels gave a kernel Oops on boot).  I doubt that the lower kernel version is responsible for any significant portion of the extra minute of build time.</p>
<h3>Storage</h3>
<p>One way of managing storage for a virtual machine is to use files on a large filesystem for it&#8217;s block devices, this can work OK if you use a filesystem that is well designed for large files (such as XKS).  I prefer to use LVM, one thing I have not yet discovered is how to make udev assign the KVM group to all devices that match /dev/V0/kvm-*.</p>
<h3>Startup</h3>
<p>KVM seems to be basically designed to run from a session, unlike Xen which can be started with &#8220;<b>xm create</b>&#8221; and then run in the background until you feel like running &#8220;<b>xm console</b>&#8221; to gain access to the console.  One way of dealing with this is to use <a href="http://en.wikipedia.org/wiki/GNU_Screen">screen</a>.  The command &#8220;<b>screen -S kvm-foo -d -m kvm WHATEVER</b>&#8221; will start a screen session named <b>kvm-foo</b> that will be detached and will start by running <b>kvm</b> with &#8220;<b>WHATEVER</b>&#8221; as the command-line options.  When screen is used for managing virtual machines you can use the command &#8220;<b>screen -ls</b>&#8221; to list the running sessions and then commands such as &#8220;<b>screen -r kvm-unstable</b>&#8221; to reattach to screen sessions.  To detach from a running screen session you type <b>^A^D</b>.</p>
<p>The problem with this is that screen will exit when the process ends and that loses the shutdown messages from the virtual machine.  To solve this you can put &#8220;<b>exec bash</b>&#8221; or &#8220;<b>sleep 200</b>&#8221; at the end of the script that runs kvm.</p>
<p><b>start-stop-daemon -S -c USERNAME &#45;-exec /usr/bin/screen &#45;- -S kvm-unstable -d -m /usr/local/sbin/kvm-unstable</b></p>
<p>On a Debian system the above command in a system boot script (maybe <b>/etc/rc.local</b>) could be used to start a KVM virtual machine on boot.  In this example <b>USERNAME</b> would be replaced by the name of the account used to run kvm, and <b>/usr/local/sbin/kvm-unstable</b> is a shell script to run kvm with the correct parameters.  Then as user <b>USERNAME</b> you can attach to the session later with the command &#8220;<b>screen -x kvm-unstable</b>&#8220;.  Thanks to Jason White for the tip on using screen.</p>
<p>I&#8217;ve filed <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574069">Debian bug report #574069 [3]</a> requesting that kvm change it&#8217;s argv[0] so that top(1) and similar programs can be used to distinguish different virtual machines.  Currently when you have a few entries named <b>kvm</b> in top&#8217;s output it is annoying to match the CPU hogging process to the virtual machine it&#8217;s running.</p>
<p>It is possible to use KVM with X or VNC for a graphical display by the virtual machine.  I don&#8217;t like these options, I believe that Xephyr provides better isolation, <a href="http://etbe.coker.com.au/2007/01/07/xephyr/">I&#8217;ve previously documented how to use Xephyr [5]</a>.</p>
<p><b>kvm -kernel /boot/vmlinuz-2.6.32-2-amd64 -initrd /boot/initrd.img-2.6.32-2-amd64 -hda /dev/V0/unstable -hdb /dev/V0/unstable-swap -m 512 -mem-path /hugepages -append &#34;selinux=1 audit=1 root=/dev/hda ro rootfstype=ext4&#34; -smp 2 -curses -redir tcp:2022::22</b></p>
<p>The above is the current kvm command-line that I&#8217;m using for my Debian/Unstable test environment.</p>
<h3>Networking</h3>
<p>I&#8217;m using KVM options such as &#8220;<b>-redir tcp:2022::22</b>&#8221; to redirect unprivileged ports (in this case 2022) to the ssh port.  This works for a basic test virtual machine but is not suitable for production use.  I want to run virtual machines with minimal access to the environment, this means not starting them as root.</p>
<p>One thing I haven&#8217;t yet investigated is the <b>vde2</b> networking system which allows a private virtual network over multiple physical hosts and which should allow kvm to be run without root privs.  It seems that all the other networking options for kvm which have appealing feature sets require that the kvm process be started with root privs.</p>
<h3>Is KVM worth using?</h3>
<p>It seems that KVM is significantly slower than a chroot, so for a basic build environment a secure chroot environment would probably be a better option.  I had hoped that KVM would be more reliable than Xen which would offset the performance loss &#8211; however as KVM and Debian kernel 2.6.32 don&#8217;t work together on my Opteron system it seems that I will have some reliability issues with KVM that compare with the Xen issues.  There are currently no Xen kernels in Debian/Testing so KVM is usable now with the latest bleeding edge stuff (on my Thinkpad at least) while Xen isn&#8217;t.</p>
<p>Qemu is really slow, so Xen is the only option for 32bit hardware.  Therefore all my 32bit Xen servers need to keep running Xen.</p>
<p>I don&#8217;t plan to switch my 64bit production servers to KVM any time soon.  When Debian/Squeeze is released I will consider whether to use KVM or Xen after upgrading my 64bit Debian server.  I probably won&#8217;t upgrade my 64bit RHEL-5 server any time soon &#8211; maybe when RHEL-7 is released.  My 64bit Debian test and development server will probably end up running KVM very soon, I need to upgrade the kernel for Ext4 support and that makes KVM more desirable.</p>
<p>So it seems that for me KVM is only going to be seriously used on my laptop for a while.</p>
<p>Generally I am disappointed with KVM.  I had hoped that it would give almost the performance of Xen (admittedly it was only 14.5% slower).  I had also hoped that it would be really reliable and work with the latest kernels (unlike Xen) but it is giving me problems with 2.6.32 on Opteron.  Also it has some new issues such as deciding to quietly do something I don&#8217;t want when it&#8217;s unable to do what I want it to do.</p>
<ul>
<li>[1]<a href="http://www.linux-kvm.com/content/get-performance-boost-backing-your-kvm-guest-hugetlbfs"> http://www.linux-kvm.com/content/get-performance-boost-backing-your-kvm-guest-hugetlbfs</a></li>
<li>[2]<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574063"> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574063</a></li>
<li>[3]<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574069"> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574069</a></li>
<li>[4]<a href="http://etbe.coker.com.au/2010/03/16/thinkpad-t61/"> http://etbe.coker.com.au/2010/03/16/thinkpad-t61/</a></li>
<li>[5]<a href="http://etbe.coker.com.au/2007/01/07/xephyr/"> http://etbe.coker.com.au/2007/01/07/xephyr/</a></li>
<li>[6]<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574073"> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574073</a></li>
</ul>
<p>Related posts:</p><ol>
<li><a href='http://etbe.coker.com.au/2007/01/01/installing-xen-domu-on-debian-etch/' rel='bookmark' title='installing Xen domU on Debian Etch'>installing Xen domU on Debian Etch</a> <small>I have just been installing a Xen domU on Debian...</small></li>
<li><a href='http://etbe.coker.com.au/2008/08/13/cpu-vs-ram/' rel='bookmark' title='CPU vs RAM'>CPU vs RAM</a> <small>When configuring servers the trade-offs between RAM and disk are...</small></li>
<li><a href='http://etbe.coker.com.au/2007/08/22/se-linux-vs-chroot/' rel='bookmark' title='SE Linux vs chroot'>SE Linux vs chroot</a> <small>A question that is often asked is whether to use...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://etbe.coker.com.au/2010/03/17/starting-with-kvm/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Virtual Hosting Features</title>
		<link>http://etbe.coker.com.au/2009/10/21/virtual-hosting-features/</link>
		<comments>http://etbe.coker.com.au/2009/10/21/virtual-hosting-features/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 20:25:10 +0000</pubDate>
		<dc:creator>etbe</dc:creator>
				<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Most Popular]]></category>

		<guid isPermaLink="false">http://etbe.coker.com.au/?p=1392</guid>
		<description><![CDATA[I&#8217;ve just been setting up new virtual servers at Linode [1] and Slicehost [2]. I have previously written a review of both those services [3], based on that review (and some other discussions) one of my clients now has a policy of setting up pairs of virtual servers for various projects, one server at Linode [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just been setting up new virtual servers at <a href="http://www.linode.com/">Linode [1]</a> and <a href="http://www.slicehost.com/">Slicehost [2]</a>.  <a href="http://etbe.coker.com.au/2008/11/27/slicehost-vs-linode/">I have previously written a review of both those services [3]</a>, based on that review (and some other discussions) one of my clients now has a policy of setting up pairs of virtual servers for various projects, one server at Linode and one at Slicehost.</p>
<p>Now both virtual hosting providers work very well and I&#8217;m generally happy with both of them.</p>
<p>But Linode seems to be a better offering.</p>
<p>Linode has graphs of various types of usage, I can look at graphs of disk IO, CPU use, and network IO for the last 24 hours, 30 days, or for previous months.  The three graphs have the same scale of the X axis so I can correlate them.  The stats on Slicehost just allow you to get the current raw numbers, which doesn&#8217;t help if I want to know what happened last night when performance sucked.</p>
<p>When I build a Linode instance I can have multiple filesystems configured (Slicehost can&#8217;t do any of this).  I can use less disk space than is available to reserve space for other filesystems.  Separating filesystems makes it easier to track IO performance and also allows some bounds to be set on the amount of disk space used for various tasks.  Nowadays the use of multiple partitions is not as popular as it once was, but it&#8217;s still a real benefit.  Of course one of the benefits of this is that I can have two partitions on Linode that are suitable for running as the root filesystem.  If an upgrade fails then it would be an option to boot with the other filesystem (I haven&#8217;t actually done this but it&#8217;s good to have the option).</p>
<p>I believe that this feature of Linode could do with some improvements.  Firstly when creating or resizing filesystem it should be possible to specify the number of Inodes when using Ext3.  The fsck time for a large Ext3 filesystem that has the default number of Inodes is quite unreasonable.  It would also be good if other filesystems such as XFS were supported, for some use cases XFS can significantly outperform Ext3 &#8211; and choice is always good.  When BTRFS becomes stable I expect that every hosting provider will be compelled to support it (any provider that wants my continued business will do so).</p>
<p>Now Linode and Slicehost both allow sharing bandwidth allowances between virtual servers.  So if you run one server that uses little bandwidth you can run a second server that needs a lot of bandwidth and reduce the potential for excess bandwidth use problems.  The next logical extension to this is to allow sharing disk allocation between servers on the same physical system.  So for example I might want to run a web server for the purpose of sending out large files, 360M of RAM as provided by the Linode 360 offering would be plenty.  But the 128G of storage and 1600GB per month of bandwidth usage that is provided with the Linode 2880 plan would be really useful.  At the same time a system that does computationally expensive tasks (such as a build and test server) might require a large amount of RAM such as 2880MB while requiring little disk space or bandwidth.  Currently Linode allows sharing bandwidth arbitrarily between the various servers but not disk space or RAM.  I don&#8217;t think that this would be a really difficult feature to implement.</p>
<p>Finally Linode has a &#8220;<b>Pending Jobs Queue</b>&#8221; that shows the last few requests to the management system and their status.  It&#8217;s not really necessary, but it is handy to see what has been done and it gives the sysadmin a feeling of control over the process.</p>
<p>These management features provide enough value to me that if I was going to use a single virtual hosting provider then I would choose Linode.  For certain reliability requirements it simply wouldn&#8217;t be a responsible decision to trust any single hosting company.  In that case I&#8217;m happy to recommend both Linode and Slicehost as providers.</p>
<ul>
<li>[1]<a href="http://www.linode.com/"> http://www.linode.com/</a></li>
<li>[2]<a href="http://www.slicehost.com/"> http://www.slicehost.com/</a></li>
<li>[3]<a href="http://etbe.coker.com.au/2008/11/27/slicehost-vs-linode/"> http://etbe.coker.com.au/2008/11/27/slicehost-vs-linode/</a></li>
</ul>
<p>Related posts:</p><ol>
<li><a href='http://etbe.coker.com.au/2008/05/28/xen-hosting/' rel='bookmark' title='Xen Hosting'>Xen Hosting</a> <small>I&#8217;m currently deciding where to get a Xen DomU hosted....</small></li>
<li><a href='http://etbe.coker.com.au/2008/11/29/physical-vs-virtual-servers/' rel='bookmark' title='Physical vs Virtual Servers'>Physical vs Virtual Servers</a> <small>In a comment on my post about Slicehost, Linode, and...</small></li>
<li><a href='http://etbe.coker.com.au/2009/10/13/new-servers-non-virtual-cloud/' rel='bookmark' title='New Servers &#8211; a non-virtual Cloud'>New Servers &#8211; a non-virtual Cloud</a> <small>NewServers.com [1] provides an interesting service. They have a cloud...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://etbe.coker.com.au/2009/10/21/virtual-hosting-features/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New Servers &#8211; a non-virtual Cloud</title>
		<link>http://etbe.coker.com.au/2009/10/13/new-servers-non-virtual-cloud/</link>
		<comments>http://etbe.coker.com.au/2009/10/13/new-servers-non-virtual-cloud/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 12:21:41 +0000</pubDate>
		<dc:creator>etbe</dc:creator>
				<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Most Popular]]></category>

		<guid isPermaLink="false">http://etbe.coker.com.au/?p=1380</guid>
		<description><![CDATA[NewServers.com [1] provides an interesting service. They have a cloud computing system that is roughly comparable to Amazon EC2, but for which all servers are physical machines (blade servers with real disks). This means that you get the option of changing between servers and starting more servers at will, but they are all physical systems [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.newservers.com/">NewServers.com [1]</a> provides an interesting service.  They have a cloud computing system that is roughly comparable to Amazon EC2, but for which all servers are physical machines (blade servers with real disks).  This means that you get the option of changing between servers and starting more servers at will, but they are all physical systems so you know that your system is not going to go slow because someone else is running a batch job.</p>
<p>New Servers also has a bandwidth limit of 3GB per hour with $0.10 per GB if you transfer more than that.  Most people should find that 3GB/hour is enough for a single server.  This compares to EC2 where you pay $0.10 per GB to receive data and $0.17 to transmit it.  If you actually need to transmit 2100GB per month then the data transfer fees from EC2 would be greater than the costs of renting a server from New Servers.</p>
<p>When running Linux the EC2 hourly charges are (where 1ECU is provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor):</p>
<table border="2">
<tr>
<td>NAME</td>
<td>Cost</td>
<td>Desc</td>
</tr>
<tr>
<td>Small</td>
<td>$0.10</td>
<td>1.7G, 160G, 32bit, 1ECU, 1core</td>
</tr>
<tr>
<td>Large</td>
<td>$0.20</td>
<td>7.5G, 850G, 64bit, 4ECU, 2core</td>
</tr>
<tr>
<td>Extra Large</td>
<td>$0.40</td>
<td>15G, 1690G, 64bit, 8ECU, 4core</td>
</tr>
<tr>
<td>High CPU Medium</td>
<td>$0.20</td>
<td>1.7G, 350G, 32bit, 5ECU, 2core</td>
</tr>
<tr>
<td>High CPU Extra Large</td>
<td>$0.80</td>
<td>7G, 1690G, 64bit, 20ECU, 5core</td>
</tr>
</table>
<p>The New Servers charges are:</p>
<table border="2">
<tr>
<td>NAME</td>
<td>Cost</td>
<td>Desc</td>
</tr>
<tr>
<td>Small</td>
<td>$0.11</td>
<td>1G, 36G, 32bit, Xeon 2.8GHz</td>
</tr>
<tr>
<td>Medium</td>
<td>$0.17</td>
<td>2G, 2*73G, 32bit, 2*Xeon 3.2GHz</td>
</tr>
<tr>
<td>Large</td>
<td>$0.25</td>
<td>4G, 250G, 64bit, E5405 Quad Core 2Ghz</td>
</tr>
<tr>
<td>Jumbo</td>
<td>$0.38</td>
<td>8G, 2*500G, 64bit, 2 x E5405 Quad Core 2Ghz</td>
</tr>
<tr>
<td>Fast</td>
<td>$0.53</td>
<td>4G, 2*300G, 64bit, E5450 Quad Core 3Ghz</td>
</tr>
</table>
<p>The New Servers prices seem quite competitive with the Amazon prices.  One down-side to New Servers is that you have to manage your own RAID, the cheaper servers have only a single disk (bad luck if it fails).  The better ones have two disks and you could setup your own RAID.  Of course the upside of this is that if you want a fast server from New Servers and you don&#8217;t need redundancy then you have the option of RAID-0 for better performance.</p>
<p>Also I don&#8217;t think that there is anything stopping you from running Xen on a New Servers system.  So you could have a bunch of Xen images and a varying pool of Dom0s to run them on.  If you were to choose the &#8220;Jumbo&#8221; option with 8G of RAM and share it among some friends with everyone getting a 512M or 1G DomU then the cost per user would be a little better than Slicehost or Linode while giving better management options.  One problem I sometimes have with virtual servers for my clients is that the disk IO performance is poorer than I expect.  When running the server that hosts my blog (which is shared with some friends) I know the performance requirements of all DomUs and can diagnose problems quickly.  I can deal with a limit on the hardware capacity, I can deal with trading off my needs with the needs of my friends.  But having a server just go slow, not knowing why, and having the hosting company say &#8220;I can move you to a different physical server&#8221; (which may be better or worse) doesn&#8217;t make me happy.</p>
<p>I first heard about New Servers from <a href="http://luv.asn.au/2009/10/06">Tom Fifield&#8217;s LUV talk about using EC2 as a cluster for high energy physics [2]</a>.  According to the detailed analysis Tom presented using EC2 systems on demand can compete well with the costs of buying Dell servers and managing them yourself, EC2 wins if you have to pay Japanese prices for electricity but if you get cheap electricity then Dell may win.  Of course a major factor is the amount of time that the servers are used, a cluster that is used for short periods of time with long breaks in between will have a higher cost per used CPU hour and thus make EC2 a better option.</p>
<ul>
<li>[1]<a href="http://www.newservers.com/"> http://www.newservers.com/</a></li>
<li>[2]<a href="http://luv.asn.au/2009/10/06"> http://luv.asn.au/2009/10/06</a></li>
</ul>
<p>Related posts:</p><ol>
<li><a href='http://etbe.coker.com.au/2008/11/29/physical-vs-virtual-servers/' rel='bookmark' title='Physical vs Virtual Servers'>Physical vs Virtual Servers</a> <small>In a comment on my post about Slicehost, Linode, and...</small></li>
<li><a href='http://etbe.coker.com.au/2008/10/02/open-computing-cloud/' rel='bookmark' title='Could we have an Open Computing Cloud?'>Could we have an Open Computing Cloud?</a> <small>One of the most interesting new technologies that has come...</small></li>
<li><a href='http://etbe.coker.com.au/2007/07/23/modules-and-nfs-for-xen/' rel='bookmark' title='Modules and NFS for Xen'>Modules and NFS for Xen</a> <small>I&#8217;m just in the process of converting a multi-user system...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://etbe.coker.com.au/2009/10/13/new-servers-non-virtual-cloud/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

