<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>uk2</title>
  <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/tags/uk2"/>
  <link rel="self" type="application/atom+xml" href="http://tumbleweed.org.za/taxonomy/term/55/atom/feed"/>
  <id>http://tumbleweed.org.za/taxonomy/term/55/atom/feed</id>
  <updated>2008-01-02T19:55:08+00:00</updated>
  <entry>
    <title>Multiple IP addresses on Debian</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2007/12/05/multiple-ip-addresses-on-debian" />
    <id>http://tumbleweed.org.za/2007/12/05/multiple-ip-addresses-on-debian</id>
    <published>2007-12-05T20:29:02+00:00</published>
    <updated>2008-12-10T16:35:23+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="debian" />
    <category term="linux" />
    <category term="ubuntu" />
    <category term="uk2" />
    <summary type="html"><![CDATA[<p>Quick post. If you have multiple <span class="caps"><span class="caps">IP</span></span> addresses (i.e. a range) assigned to you server, and you want to listen on all of them (i.e. multiple <span class="caps"><span class="caps">SSL</span></span> sites), then rather than using the ancient eth0:1 syntax, you can hack <span class="geshifilter"><code class="geshifilter-text">/etc/network/interfaces</code></span> to use&nbsp;iproute2&nbsp;properly.</p>

<p>Assuming the <span class="caps"><span class="caps">IP</span></span> 10.2.3.4, with the extra range of 10.5.4.110-10.5.4.118 (yes these extra ranges often&nbsp;ignore&nbsp;class-boundries):</p>

<div class="geshifilter"><div class="text geshifilter-text" style="font-family:monospace;">auto eth0<br />
iface eth0 inet static<br />
&nbsp; &nbsp; address 10.2.3.4<br />
&nbsp; &nbsp; netmask 255.255.255.0<br />
&nbsp; &nbsp; network 10.2.3.0<br />
&nbsp; &nbsp; broadcast 10.2.3.255<br />
&nbsp; &nbsp; gateway 10.2.3.1<br />
&nbsp; &nbsp; # Extra IPs:<br />
&nbsp; &nbsp; post-up for last in `seq 110 118`; do ip addr add 10.5.4.$last/32 dev $<span class="caps"><span class="caps">IFACE</span></span>; done || true<br />
&nbsp; &nbsp; pre-down for ip in `ip addr show dev $<span class="caps"><span class="caps">IFACE</span></span> | sed -n &#8216;s@.* inet \([0-9.]*/32\) .*@\1@ p&#8217;`; do ip addr del $ip dev $<span class="caps"><span class="caps">IFACE</span></span>; done || true</div></div>

<p>Yes, it&#8217;s ugly as shit, but I can&#8217;t think of a neater way to&nbsp;do&nbsp;it.</p>

<p><strong>Update:</strong> <a href="http://wertarbyte.de/debian/addresses">Better&nbsp;solution</a></p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Quick post. If you have multiple <span class="caps">IP</span> addresses (i.e. a range) assigned to you server, and you want to listen on all of them (i.e. multiple <span class="caps">SSL</span> sites), then rather than using the ancient eth0:1 syntax, you can hack <code>/etc/network/interfaces</code> to use iproute2&nbsp;properly.</p>

<p>Assuming the <span class="caps">IP</span> 10.2.3.4, with the extra range of 10.5.4.110-10.5.4.118 (yes these extra ranges often ignore&nbsp;class-boundries):</p>

<div class="geshifilter"><div class="text geshifilter-text" style="font-family:monospace;">auto eth0<br />
iface eth0 inet static<br />
&nbsp; &nbsp; address 10.2.3.4<br />
&nbsp; &nbsp; netmask 255.255.255.0<br />
&nbsp; &nbsp; network 10.2.3.0<br />
&nbsp; &nbsp; broadcast 10.2.3.255<br />
&nbsp; &nbsp; gateway 10.2.3.1<br />
&nbsp; &nbsp; # Extra IPs:<br />
&nbsp; &nbsp; post-up for last in `seq 110 118`; do ip addr add 10.5.4.$last/32 dev $<span class="caps">IFACE</span>; done || true<br />
&nbsp; &nbsp; pre-down for ip in `ip addr show dev $<span class="caps">IFACE</span> | sed -n &#8216;s@.* inet \([0-9.]*/32\) .*@\1@ p&#8217;`; do ip addr del $ip dev $<span class="caps">IFACE</span>; done || true</div></div>

<p>Yes, it&#8217;s ugly as shit, but I can&#8217;t think of a neater way to do&nbsp;it.</p>

<p><strong>Update:</strong> <a href="http://wertarbyte.de/debian/addresses">Better&nbsp;solution</a></p>
    ]]></content>
  </entry>
  <entry>
    <title>Horrific performance with 3ware RAID</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2007/02/16/horrific-performance-with-3ware-raid" />
    <id>http://tumbleweed.org.za/2007/02/16/horrific-performance-with-3ware-raid</id>
    <published>2007-02-16T08:01:54+00:00</published>
    <updated>2008-01-02T19:55:10+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="3ware" />
    <category term="hardware" />
    <category term="linux" />
    <category term="raid" />
    <category term="software" />
    <category term="uk2" />
    <summary type="html"><![CDATA[<p>I&#8217;ve been enjoying our server at <a href="http://uk2.net/"><span class="caps"><span class="caps">UK2</span></span>.net</a>. It&#8217;s a pretty speedy machine (although a little light on <span class="caps"><span class="caps">RAM</span></span> - I suspect that they don&#8217;t want people running Xen), and it&#8217;s connected to a fat pipe.
But I&#8217;ve been experiencing a lot of&nbsp;bad&nbsp;lockups.</p>

<p>I traced the problem to <a href="http://www.postfix.org/postmap.1.html">postmap</a>ing the <a href="http://www.uceprotect.net/en/index.php">uceprotect.net</a> <span class="caps"><span class="caps">RBL</span></span> file. They recommend that you rsync this file from them, and then postmap it into a fast lookup database for postfix, rather than using their <span class="caps"><span class="caps">DNSRBL</span></span> service. But running the postmap was taking my box 40 mins. The same operation, on a loaded, lower-spec, 2 year old server took 2 mins (yes this server also has <span class="caps"><span class="caps">RAID1</span></span> on the volume concerned). On my <span class="caps"><span class="caps">UK2</span></span> box, while the postmap was running, the machine became totally unresponsive, and it could take a minute or two to log in, serve a web page, or even execute a basic command like <span class="geshifilter"><code class="geshifilter-text">ps</code></span>.</p>

<p>Clearly something wasn&#8217;t right. And it was something in the <span class="caps"><span class="caps">IO</span></span> system. The only answer is the 3ware <span class="caps"><span class="caps">RAID</span></span> controller. (It&#8217;s a 8006-2, doing <span class="caps"><span class="caps">RAID</span></span>-1) I know these controllers have a big buffer, so I looked up the 3ware website, for <a href="http://www.3ware.com/KB/article.aspx?id=11050">tuning guidance</a>. I followed it to the letter, and things didn&#8217;t really improve. I tried the deadline scheduler, and tweaking the buffers, but it only got&nbsp;marginally&nbsp;better.</p>

<p>Personally, I&#8217;ve always used software <span class="caps"><span class="caps">RAID</span></span>, even for <span class="caps"><span class="caps">RAID</span></span>-5, and I&#8217;ve never had bad performance like that. And having the <span class="caps"><span class="caps">RAID</span></span> in a portable format has really helped with recovery in the past. I understand that Windows monkeys have to use hardware <span class="caps"><span class="caps">RAID</span></span> (because their software <span class="caps"><span class="caps">RAID</span></span> sucks so much), but is this kind of&nbsp;performance&nbsp;normal?</p>

<p>I&#8217;ve asked <span class="caps"><span class="caps">UK2</span></span> to chuck my controller and give me software <span class="caps"><span class="caps">RAID</span></span>&nbsp;:-)</p>

<h2>Update</h2>

<p>I&#8217;ve now got software <span class="caps"><span class="caps">RAID</span></span> 1, and postmap runs in 25 seconds. That&#8217;s what I call a 60x speed&nbsp;improvement&nbsp;:-)</p>

<p>Oh, and the system is totally responsive while the&nbsp;postmap&nbsp;runs.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I&#8217;ve been enjoying our server at <a href="http://uk2.net/"><span class="caps">UK2</span>.net</a>. It&#8217;s a pretty speedy machine (although a little light on <span class="caps">RAM</span> - I suspect that they don&#8217;t want people running Xen), and it&#8217;s connected to a fat pipe.
But I&#8217;ve been experiencing a lot of bad&nbsp;lockups.</p>

<p>I traced the problem to <a href="http://www.postfix.org/postmap.1.html">postmap</a>ing the <a href="http://www.uceprotect.net/en/index.php">uceprotect.net</a> <span class="caps">RBL</span> file. They recommend that you rsync this file from them, and then postmap it into a fast lookup database for postfix, rather than using their <span class="caps">DNSRBL</span> service. But running the postmap was taking my box 40 mins. The same operation, on a loaded, lower-spec, 2 year old server took 2 mins (yes this server also has <span class="caps">RAID1</span> on the volume concerned). On my <span class="caps">UK2</span> box, while the postmap was running, the machine became totally unresponsive, and it could take a minute or two to log in, serve a web page, or even execute a basic command like <code>ps</code>.</p>

<p>Clearly something wasn&#8217;t right. And it was something in the <span class="caps">IO</span> system. The only answer is the 3ware <span class="caps">RAID</span> controller. (It&#8217;s a 8006-2, doing <span class="caps">RAID</span>-1) I know these controllers have a big buffer, so I looked up the 3ware website, for <a href="http://www.3ware.com/KB/article.aspx?id=11050">tuning guidance</a>. I followed it to the letter, and things didn&#8217;t really improve. I tried the deadline scheduler, and tweaking the buffers, but it only got marginally&nbsp;better.</p>

<p>Personally, I&#8217;ve always used software <span class="caps">RAID</span>, even for <span class="caps">RAID</span>-5, and I&#8217;ve never had bad performance like that. And having the <span class="caps">RAID</span> in a portable format has really helped with recovery in the past. I understand that Windows monkeys have to use hardware <span class="caps">RAID</span> (because their software <span class="caps">RAID</span> sucks so much), but is this kind of performance&nbsp;normal?</p>

<p>I&#8217;ve asked <span class="caps">UK2</span> to chuck my controller and give me software <span class="caps">RAID</span>&nbsp;:-)</p>

<h2>Update</h2>

<p>I&#8217;ve now got software <span class="caps">RAID</span> 1, and postmap runs in 25 seconds. That&#8217;s what I call a 60x speed improvement&nbsp;:-)</p>

<p>Oh, and the system is totally responsive while the postmap&nbsp;runs.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Cross compile kernel</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2007/01/15/cross-compile-kernel" />
    <id>http://tumbleweed.org.za/2007/01/15/cross-compile-kernel</id>
    <published>2007-01-15T15:25:36+00:00</published>
    <updated>2008-01-02T19:55:10+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="debian" />
    <category term="linux" />
    <category term="software" />
    <category term="uk2" />
    <summary type="html"><![CDATA[<p>I decided I wanted a 64bit kernel for my <span class="caps"><span class="caps">UK2</span></span> server (seeing as it&#8217;s an Athlon X2, and I wanted an ubuntu amd64 chroot to work&nbsp;on&nbsp;it).</p>

<p>After a little playing around, this is how you&nbsp;do&nbsp;it:</p>

<ul>
<li>Get&nbsp;your&nbsp;kernel</li>
<li>Extract&nbsp;it</li>
<li><span class="geshifilter"><code class="geshifilter-text">make menuconfig ARCH=x86_64</code></span></li>
<li>Create some <span class="geshifilter"><code class="geshifilter-text">linux-amd64-gcc</code></span>, <span class="geshifilter"><code class="geshifilter-text">linux-amd64-ld</code></span>, etc. wrappers. Some need <span class="geshifilter"><code class="geshifilter-text">-m64</code></span> options. Others autodetect what&#8217;s required. (I made a tarball of my wrappers, but they&#8217;ve&nbsp;been&nbsp;lost.)</li>
<li><span class="geshifilter"><code class="geshifilter-text">CONCURRENCY_LEVEL=4 make-kpkg --append-to-version '-londonpride' --revision '1.00' --rootcmd fakeroot --arch amd64 kernel_image</code></span></li>
<li>Extract the control.tar.gz from the deb, edit control file, and change the architecture&nbsp;to&nbsp;i386.</li>
<li>Install</li>
</ul>

<p>Unfortunaly, in the week after this, my machine died of disk corruption. This is the 2nd time it&#8217;s happened. I hope <span class="caps"><span class="caps">UK2</span></span> don&#8217;t use&nbsp;dodgy&nbsp;hardware&#8230;</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I decided I wanted a 64bit kernel for my <span class="caps">UK2</span> server (seeing as it&#8217;s an Athlon X2, and I wanted an ubuntu amd64 chroot to work on&nbsp;it).</p>

<p>After a little playing around, this is how you do&nbsp;it:</p>

<ul>
<li>Get your&nbsp;kernel</li>
<li>Extract&nbsp;it</li>
<li><code>make menuconfig ARCH=x86_64</code></li>
<li>Create some <code>linux-amd64-gcc</code>, <code>linux-amd64-ld</code>, etc. wrappers. Some need <code>-m64</code> options. Others autodetect what&#8217;s required. (I made a tarball of my wrappers, but they&#8217;ve been&nbsp;lost.)</li>
<li><code>CONCURRENCY_LEVEL=4 make-kpkg --append-to-version '-londonpride' --revision '1.00' --rootcmd fakeroot --arch amd64 kernel_image</code></li>
<li>Extract the control.tar.gz from the deb, edit control file, and change the architecture to&nbsp;i386.</li>
<li>Install</li>
</ul>

<p>Unfortunaly, in the week after this, my machine died of disk corruption. This is the 2nd time it&#8217;s happened. I hope <span class="caps">UK2</span> don&#8217;t use dodgy&nbsp;hardware&#8230;</p>
    ]]></content>
  </entry>
  <entry>
    <title>Playing with a uk2.net server</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2006/11/24/playing-with-a-uk2net-server" />
    <id>http://tumbleweed.org.za/2006/11/24/playing-with-a-uk2net-server</id>
    <published>2006-11-24T18:31:32+00:00</published>
    <updated>2008-01-02T19:55:08+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="hosting" />
    <category term="internet" />
    <category term="me-elsewhere" />
    <category term="uk2" />
    <summary type="html"><![CDATA[<p>I&#8217;m having fun with a <a href="http://www.uk2.net/" title="A respected and cheap docklands dedicated host">uk2.net</a>&nbsp;dedicated&nbsp;server.</p>

<p>A video-hosting site that I admin is currently hosted on a colo box with some <em>very</em> expensive bandwith. While the burstable bandwidth we can get on it is <em>amazing</em>, it&#8217;s staggeringly expensive, and we have a small quota. Thus we can&#8217;t sustain too&nbsp;much&nbsp;traffic.</p>

<p>For poorer customers, I want to look at some cheaper bandwidth&#8230; <span class="caps"><span class="caps">UK2</span></span>.net are having a special where you can try a dedicated box for £0.99 for it&#8217;s first month. With 2TiB of traffic / month (2 orders of magnitude more than the co-lo box) it is more than up to the job, and upgrading to an un-metered 10M link&nbsp;is&nbsp;cheap.</p>

<p>So, I&#8217;m trying out the mid-range option. I get a GiB of <span class="caps"><span class="caps">RAM</span></span>, <span class="caps"><span class="caps">80GB</span></span> <span class="caps"><span class="caps">HDD</span></span>, and more bandwidth than I know what to do with. A bittorent :-) test shows that it&#8217;s reasonably&nbsp;well&nbsp;connected.</p>

<p>Now to set up a demo website and see how it compares to our current&nbsp;uber-expensive&nbsp;box.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I&#8217;m having fun with a <a href="http://www.uk2.net/" title="A respected and cheap docklands dedicated host">uk2.net</a> dedicated&nbsp;server.</p>

<p>A video-hosting site that I admin is currently hosted on a colo box with some <em>very</em> expensive bandwith. While the burstable bandwidth we can get on it is <em>amazing</em>, it&#8217;s staggeringly expensive, and we have a small quota. Thus we can&#8217;t sustain too much&nbsp;traffic.</p>

<p>For poorer customers, I want to look at some cheaper bandwidth&#8230; <span class="caps">UK2</span>.net are having a special where you can try a dedicated box for £0.99 for it&#8217;s first month. With 2TiB of traffic / month (2 orders of magnitude more than the co-lo box) it is more than up to the job, and upgrading to an un-metered 10M link is&nbsp;cheap.</p>

<p>So, I&#8217;m trying out the mid-range option. I get a GiB of <span class="caps">RAM</span>, <span class="caps">80GB</span> <span class="caps">HDD</span>, and more bandwidth than I know what to do with. A bittorent :-) test shows that it&#8217;s reasonably well&nbsp;connected.</p>

<p>Now to set up a demo website and see how it compares to our current uber-expensive&nbsp;box.</p>
    ]]></content>
  </entry>
</feed>
