<?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>GeeForce LLC &#187; Software</title>
	<atom:link href="http://www.geeforce.net/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geeforce.net</link>
	<description>We get technology out of the way of doing business</description>
	<lastBuildDate>Thu, 28 Oct 2010 14:15:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<atom:link rel='hub' href='http://www.geeforce.net/?pushpress=hub'/>
		<item>
		<title>Centralized Security With iptables &amp; fail2ban</title>
		<link>http://www.geeforce.net/2010/09/centralized-security-with-iptables-fail2ban/</link>
		<comments>http://www.geeforce.net/2010/09/centralized-security-with-iptables-fail2ban/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 22:06:03 +0000</pubDate>
		<dc:creator>aaron_gee</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Latest]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Fail2ban]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Network Security]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://www.geeforce.net/?p=404</guid>
		<description><![CDATA[Background: In today&#8217;s current environment it&#8217;s not unusual to see log files filled with thousands of entries for failed logins.  Botnets, compromised servers, and even foreign governments are directing their energies toward harvesting valid username/passwords for mail servers, SSH access, and web sites with massive dictionary and brute force attacks.  These attacks can come from several [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Background:</strong></p>
<p>In today&#8217;s current environment it&#8217;s not unusual to see log files filled with thousands of entries for failed logins.  <a title="Latest tech news on botenets" href="http://tech.einnews.com/news/botnet" target="_blank">Botnets</a>, compromised servers, and even foreign governments are directing their energies toward harvesting valid username/passwords for mail servers, SSH access, and web sites with massive dictionary and brute force attacks.  These attacks can come from several different sources at once and it&#8217;s not unheard of to see multiple machines co-ordinating a dictionary attack against a target machine.</p>
<p>To provide the reader with an idea of the scale, we have seen server log files for failed SSH logins grow to 27mb in size and accounted for more 40,000 login failures in a single week.  That was for a small mom and pop web site that had no eCommerce, no forum, or any other obvious attractive targets on it.  Clients with larger, more prominent services that have attracted a botnet&#8217;s full attention can see their log files grow into the hundreds of mb in no time. Imagine the number of attacks being directed against banking, social networking, and other high profile entities on the Internet.</p>
<p>There are several strategies for defeating this type of attack, both active and passive.  The most common of the passive counter measures is to employ very strong passwords, or move the attacked service to a different <a title="TCP/IP Ports" href="http://www.pcmag.com/encyclopedia_term/0,2542,t=TCPIP+port&amp;i=52617,00.asp" target="_blank">port</a>.  These methods won&#8217;t work for a lot of businesses for several reasons.  Moving a web or email service to a non standard port increases support costs and often breaks software.  The general public <a title="Poor Passwords" href="http://www.earthlinksecurity.com/articles/password_security/index.html" target="_blank">notoriously picks weak passwords</a>, and even when warned that their passwords are weak, use them anyway. (<a title="How to create a secure password" href="http://www.washingtonpost.com/wp-dyn/articles/A13072-2005Mar30.html" target="_blank">How to create a secure password</a>)</p>
<p>This common problems has led to a couple of active solutions that work by monitoring log files and then executing commands to block a <a title="Definition of a Host" href="http://www.pcmag.com/encyclopedia_term/0,2542,t%3Dhost&amp;i%3D44360,00.asp" target="_blank">host</a> based on behavior extracted from logs.  The most prominent is <a title="Fail2ban Home" href="http://www.fail2ban.org" target="_blank">Fail2ban,</a> an open source package written in <a title="Python Programming Language – Official Website" href="http://www.python.org/" target="_blank">Python</a>, that can utilize several different methods to block the offending host.  The most common methods for blocking hosts in the Linux/BSD world is to use <a title="Iptables Home Page" href="http://www.netfilter.org/" target="_blank">iptables</a> or <a title="ipfw handbook" href="http://www.freebsd.org/doc/handbook/firewalls-ipfw.html" target="_blank">ipfw</a> rules.</p>
<p><strong>The Issues:</strong></p>
<p>Fail2ban works very well for the individual server, but most large internet service deployments are comprised of several servers behind a firewall.  The problem we were faced with was not just the large number of physical machines, but the fact that each host had a number of virtual hosts that needed protection as well.   We wanted to block an attacking machine from all protected servers once it has violated the policy on any one of them.</p>
<p>If we fell back on just installing Fail2ban on each server, then a offending host is only blocked from one server at a time while still having access to the others.  In a large virtual environment where one is trying to keep the VM&#8217;s as free of extraneous software as possible, having iptables installed on each virtual host chews into memory requirements.  Managing the Fail2ban infrastructure across all machines becomes more complex and more costly as the number of machines increases.</p>
<p><strong>The Solution:</strong></p>
<p>In this case we have a Linux based firewall between the Internet and the servers.  Each machine and VM behind the firewall runs Fail2ban, but instead of creating a local rule, each host sends the IP of the bad host to the firewall.  This firewall will be used to block hosts for the entire network.  We accomplish this by using Fail2ban&#8217;s client program and some custom configuration on the protected hosts and firewall.  Below is an outline of how to centralize the blocking of offending host&#8217;s IP address using a Linux firewall, iptables, and Fail2ban.</p>
<p><strong>Setting up the firewall:</strong></p>
<p>Install Fail2ban on the firewall (For RHEL and clones, yum install fail2ban, for Debian apt-get install fail2ban).  Edit the /etc/fail2ban/jail.conf.  Adjust ﻿﻿﻿ignoreip to include IPs that should not be banned for any reason ever, this usually means management and monitoring networks.  Add a new jail as follows;</p>
<blockquote>
<div id="_mcePaste">[default-iptables]</div>
<div id="_mcePaste">enabled  = true</div>
<div id="_mcePaste">filter   = default</div>
<div id="_mcePaste">action   = iptables[name=default, port=ssh, protocol=all]</div>
<div id="_mcePaste">sendmail-whois[name=default, dest=someone@geeforce.net, sender=fail2ban@fw.clientdomain.com]</div>
<div id="_mcePaste">logpath  = /var/log/fail2ban</div>
<div id="_mcePaste">maxretry = 1</div>
</blockquote>
<p>In our case no other jails are relevant on the firewall, so they have all been set to &#8220;enabled = false&#8221;.  Now we edit the defaults action-iptables.conf file found in /etc/fail2ban/action.d</p>
<blockquote><p>[Definition]<br />
actionstart = iptables -N fail2ban-&lt;name&gt;<br />
iptables -A fail2ban-&lt;name&gt; -j RETURN<br />
iptables -I FORWARD -p &lt;protocol&gt; -j fail2ban-&lt;name&gt;<br />
actionstop = iptables -D FORWARD -p &lt;protocol&gt; -j fail2ban-&lt;name&gt;<br />
iptables -F fail2ban-&lt;name&gt;<br />
iptables -X fail2ban-&lt;name&gt;<br />
actioncheck = iptables -n -L FORWARD | grep -q fail2ban-&lt;name&gt;<br />
actionban = iptables -I fail2ban-&lt;name&gt; 1 -s &lt;ip&gt; -j DROP<br />
actionunban = iptables -D fail2ban-&lt;name&gt; -s &lt;ip&gt; -j DROP</p>
<p>[Init]<br />
name = default<br />
port = default<br />
protocol = all</p></blockquote>
<p>Finally we set up a <a title="Instructions on setting up an SSH jail" href="http://olivier.sessink.nl/jailkit/howtos_ssh_only.html" target="_blank">chroot jail</a> for a user on the firewall (Fail2ban) that has <a title="Sudo Home Page" href="http://www.sudo.ws/" target="_blank">sudo</a> permissions to run 2 commands /usr/bin/fail2ban-client and /bin/touch /var/log/fail2ban.  Be sure to touch /var/log/fail2ban and ensure that it is owned by the Fail2ban user.  This is necessary because the Fail2ban client doesn&#8217;t work the way you might think, and the user has to be able to touch that file to update the date/timestamp.  Create a ssh key pair to allow logins from remote hosts.</p>
<p>On the hosts, install Fail2ban and edit the /etc/fail2ban/jail.conf file.  Add the following jail;</p>
<blockquote><p>[ssh-rban]<br />
enabled  = true<br />
filter   = sshd<br />
action   = rban[name=SSH, fwip=IP.OF.FW.HERE]<br />
logpath  = /var/log/secure<br />
maxretry = 2</p></blockquote>
<p>Create the file /etc/fail2ban/action.d/action-rban.conf that looks like the following</p>
<blockquote><p>[Definition]<br />
actionstart =<br />
actionstop =<br />
actioncheck = touch /var/log/fail2ban<br />
actionban = /usr/bin/ssh -v -l fail2ban -tt &lt;fwip&gt; &#8216;sudo /usr/bin/fail2ban-client set default-iptables banip &lt;ip&gt;&#8217; &amp;&amp;<br />
/usr/bin/ssh -v -l fail2ban -tt &lt;fwip&gt; &#8216;/bin/touch /var/log/fail2ban&#8217;;<br />
actionunban =</p></blockquote>
<p>Test ssh connectivity by logging in to with fail2ban user from your host as root (fail2ban usually runs as root).  Once you&#8217;ve succeeded in logging in, start Fail2ban on both machines and test.  This example only checks SSH logs for failed logins.  You can modify this setup as a template for any of the checks available for Fail2ban using the same action.  This includes denial of service attacks, pop3 login failures, web login failures, and more.</p>
<p><strong>Security Considerations</strong></p>
<p>The methodology employed here took into account several different security and management considerations. One of the more common variations of this theme is to allow the remote Fail2ban server to add an iptables rule on the firewall directly. The method was rejected outright because providing the ability for a host to directly manipulate the firewall rules is extremely problematic from a security standpoint.  In the arrangement outlined here, a protected host could only block other hosts using the Fail2ban client.  Even the ability to unban clients is purposely disallowed.  The firewall itself makes the decisions on when to unban an IP.</p>
<p>An attacker that has gained entry to a protected host cannot override the centralize white list, nor does the firewall user allow an attacker to directly manipulate iptables.  The Fail2ban user on the firewall is specifically setup to be highly unprivileged, and limited, especially with a chroot jail in place.  The firewall essentially doesn&#8217;t trust the servers it protects.</p>
<p>This arrangement centralizes the management of all whitelisted IPs.  That makes changes very easy to roll out.  One caveat on the arrangement outline here; this has been specifically setup to block the offending IP from reaching ANY port on ANY machine for the duration of the ban time (defined in /etc/fail2ban/jail.conf).  That was a design choice, but the Fail2ban setup lends itself to banning specific service from offending hosts as opposed to banning all services. A denial of service can result from innocent people tripping the Fail2ban actions.  In this situation, that risk was considered minimal in regards to the amount of protection provided.</p>
<p><strong>Conclusions;</strong></p>
<p>Using Fail2ban to centralize the blocking of hosts has been a success everywhere it&#8217;s been deployed.  In one cluster alone, the typical /var/log/secure files went from being 10-20Mb or more every week, to a mere 200K.  Tens of thousands of password fails have been replaced by as little as 15.  By turning on different filters, one is also able to catch dictionary and brute force attacks against SMTP servers, WordPress sites, and webmail installations and protect them all with the same firewall.  This solution isn&#8217;t limited to the Linux or even Unix world.  With a centralized log server one can use Fail2ban to protect mixed environments, including Windows and Mac servers and centralize administration even more.   Fail2ban and an active centralized response to attacks just scratches the surface of a fully fleshed out security infrastructure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeforce.net/2010/09/centralized-security-with-iptables-fail2ban/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPCop</title>
		<link>http://www.geeforce.net/2010/03/ipcop/</link>
		<comments>http://www.geeforce.net/2010/03/ipcop/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 04:36:01 +0000</pubDate>
		<dc:creator>aaron_gee</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Latest]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Firewall]]></category>
		<category><![CDATA[IPCop]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[Network Security]]></category>
		<category><![CDATA[Squid]]></category>
		<category><![CDATA[Transparent Proxy]]></category>
		<category><![CDATA[Update Accelerator]]></category>
		<category><![CDATA[URL Filter]]></category>

		<guid isPermaLink="false">http://www.geeforce.net/?p=346</guid>
		<description><![CDATA[A surprising number of small businesses have connected their office networks to the Internet with consumer grade NAT routers.  These devices are inexpensive and easy to setup, but they lack features that most businesses should have.  These devices are often left unsecured with default passwords and access levels.  More importantly when something goes wrong they are [...]]]></description>
			<content:encoded><![CDATA[<p>A surprising number of small businesses have connected their office networks to the Internet with consumer grade <a title="Network Address Translation" href="http://en.wikipedia.org/wiki/Network_address_translation" target="_blank">NAT</a> routers.  These devices are inexpensive and easy to setup, but they lack features that most businesses should have.  These devices are often left unsecured with default passwords and access levels.  More importantly when something goes wrong they are useless when it comes to helping the network admin (or consultant) diagnose an issue.  Luckily there are several open source solutions that provide firewall protection and so much more.  One solution that I have found to be useful and extremely flexible is <a title="Official IPCop Page" href="http://www.ipcop.org" target="_blank">IPCop</a>.</p>
<p>IPCop is a Linux NAT firewall distribution that is built on <a title="The Linux From Scratch Home Page" href="http://www.linuxfromscratch.org/" target="_blank">Linux from scratch</a>. It has its own easy to use <a title="IPCop Screen Shots" href="http://sourceforge.net/apps/trac/ipcop/wiki/Screenshots" target="_self">web based interface</a> and most importantly a large and well developed set of add on tools.  The current version is 1.4.21 and a new version should be out this year with even more features.</p>
<p>IPCop was designed to be used on &#8220;older hardware&#8221; or very low powered hardware. There are people running IPCop on original Pentium class machines without issue.  Since you will probably want to take advantage of some of IPCop&#8217;s <a title="IPCop Addons" href="http://sourceforge.net/apps/trac/ipcop/wiki/Addons" target="_blank">add ons</a>, I highly suggest a more modern machine.  In today&#8217;s environment one can build a brand new <a title="Intel's Atom page" href="http://www.intel.com/products/processor/atom/index.htm" target="_blank">Atom based</a> system, or get a whitebox, or even an off lease deal from <a title="Tiger Direct " href="http://www.tigerdirect.com/applications/category/category_slc.asp?Recs=10&amp;Nav=|c:6|lp:200:hp:499.99|&amp;Sort=4" target="_blank">TigerDirect</a> or <a title="New Egg" href="http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&amp;N=2032280010%204019&amp;name=$300%20-%20$400" target="_blank">NewEgg</a> and get a perfect machine to be your office&#8217;s router for $300 USD or less. The old Dell that used to be at the front desk that needs a new hard drive, but is under your desk might be a good candidate too.</p>
<p>A smart setup for a small office involves the base IPCop setup plus the addition of the <a title="URL Filter Addon Web Page" href="http://www.urlfilter.net/" target="_self">url-filter</a> and <a title="Update Accelerator Addon for IPCop" href="http://update-accelerator.advproxy.net/" target="_blank">update accelerator</a>.    The two addons provide great functionality for businesses.  Objectionable or inappropriate content is blocked from all work stations via url-filter, while anti-virus and windows updates will be cached locally with the ﻿﻿update accelerator.  Together with transparent web proxying businesses with limited bandwidth get a bit of a network performance boost with this setup.  It&#8217;s especially effective when large windows updates have been pushed out.  [Take the time to purposely setup one PC to upgrade before the others in the office.  This "preloads" the cache so that no other computer has to go to the internet for OS or AV updates]</p>
<p>There are lots of other addons to choose from and IPCop has some great features built in, including the ability to set up site to site secure VPNs. IPCop provides basic qos settings, traffic graphs, and connection tracking.  Setup can be accomplished painlessly in less than 30 minutes (10 minutes if you&#8217;ve done some planning), has no &#8220;default passwords&#8221;, and I&#8217;ve personally had an IPCop machine with more than a year of uptime (ups mandatory) on  a heavily loaded fiber internet connection.</p>
<p>IPCop plus an old PC or a cheap PC is an excellent, secure, cost effective way to protect a small network.  The capabilities are easily extensible and it&#8217;s powerful enough to give some big name commercial security products a run for their money.  IPCop is highly recommended.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeforce.net/2010/03/ipcop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Highly Available &amp; Scalable MySQL</title>
		<link>http://www.geeforce.net/2010/03/highly-available-scalable-mysql/</link>
		<comments>http://www.geeforce.net/2010/03/highly-available-scalable-mysql/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 19:48:32 +0000</pubDate>
		<dc:creator>aaron_gee</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Latest]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[highly available]]></category>
		<category><![CDATA[Maatkit]]></category>
		<category><![CDATA[MMM]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQL Replication]]></category>
		<category><![CDATA[Percona]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[SQL Clusters]]></category>

		<guid isPermaLink="false">http://www.geeforce.net/?p=292</guid>
		<description><![CDATA[A majority of dynamically created websites on the web today are backended* by MySQL.  Even though NoSQL solutions like project voldemort are all the rage, for a majority of people not doing Facebook type traffic, MySQL is still going to be the backend of choice.  In other words, the reports of MySQL&#8217;s death are greatly [...]]]></description>
			<content:encoded><![CDATA[<p>A majority of dynamically created websites on the web today are backended<sup>*</sup> by <a title="The MySQL web site" href="http://www.mysql.com" target="_blank">MySQL</a>.  Even though <a title="Wiki entry for NoSQL" href="http://en.wikipedia.org/wiki/NoSQL">NoSQL </a>solutions like <a title="The Project Voldemort Home Page" href="http://project-voldemort.com/" target="_blank">project voldemort </a>are all the rage, for a majority of people not doing Facebook type traffic, MySQL is still going to be the backend of choice.  In other words, <a title="The High Scalability Blog's post on the end of MySQL &amp; Memcache" href="http://highscalability.com/blog/2010/2/26/mysql-and-memcached-end-of-an-era.html" target="_blank">the reports of MySQL&#8217;s</a> death are greatly exaggerated and that means scaling MySQL is still going to be a talent and skill required for web application architects.</p>
<h3>Which MySQL Cluster?</h3>
<p>Often when you see web based application white boarded the entire DB backend is referred as the &#8220;SQL cluster&#8221;.    When you&#8217;re dealing with MySQL that could mean many things.  There is a high-availability, high-redundancy version of MySQL called &#8220;MySQL Cluster&#8221;.  The non cluster versions of MySQL can replicate data to multiple SQL servers via a master/slave relationship and multiple servers set up in this fashion are often called a MySQL cluster.  <strong>Do not confuse the two! </strong>The official &#8220;MySQL Cluster&#8221; only supports one type of storage engine &#8211; <code>NDBCLUSTER. </code>So if you develop your application to use <code>MyISAM</code> or <code>InnoDB</code> then you have to perform some major rewriting or some  other surgery for your application and data or you&#8217;re going to be out of luck.  For many environments that makes the official &#8220;MySQL Cluster&#8221; a show stopper.  If you&#8217;re not using data from a current  MySQL Cluster, or you haven&#8217;t been coding/creating with the <code>NDBCLUSTER</code> engine and it&#8217;s limitations in mind from the get-go, then using the official MySQL Cluster is a no-go.  This product is a specialized version of MySQL with it&#8217;s own quirks and it&#8217;s use must fit the problem you are trying to solve.   For this exercise in scaling we&#8217;ll use the regular MySQL and not the clustered versions because the databases and application code were all designed around InnoDB.</p>
<h3>Our MySQL Scaling Goals</h3>
<p>Our scaling goals for this project are simple.   In our configuration the application has been well thought out and it expects a read only database for read only queries and a write database for everything else, we want to take advantage of that.  We also know that read traffic is executed seven to ten times more than write traffic from testing.  The first goal is high availability.  We don&#8217;t want to change any web server config files or have our application wait for MySQL to timeout before switching to another SQL server.  Switching from a slow or down server has to happen automatically.  The second goal is higher performance. In our example we have 4 servers available for our backend, plus a monitoring server (build monitoring into your application architecture upfront and save yourself the downtime later).  The final goal is the ability to grow to meet demand.</p>
<p><strong>A quick note about our goals:</strong> If you divorce your application from the database architecture you won&#8217;t be able to have an application that scales or performs very well.  In this article we&#8217;re looking at a pure backend solution, but what that architecture looks like was dictated by the application itself!  In the real world high performance applications should be able to take advantage of a caching layer provided by something like <a title="MemCache Home Page" href="http://memcached.org/" target="_blank">memcache</a> and code needs to be designed from the get go to look at multiple SQL clusters or to separate read queries from writes etc. In many cases memcache alone could replace or mitigate the need for more SQL servers.  Relying on pure MySQL replication to scale only gets you so far and there is a point of diminishing returns.   <a title="Kellan Elliot-McCrea's Blog" href="http://laughingmeme.org/" target="_blank">Kellan Elliot-McCrea</a> from flickr brings those points home in his article &#8220;<a title="Using and abusing mysql at flickr" href="http://code.flickr.com/blog/tag/using-and-abusing-mysql/" target="_blank">using and abusing mysql</a>&#8220;.</p>
<h3>Getting the right tools</h3>
<p>The very first thing we need to decide up front is, which compiled version of MySQL do we want to use?  Do we want to compile them ourselves? Do we use our vendors binaries or the pre-compiled binaries from MySQL or do we want to look at one of the <a title="Article at LWN on MySQL forks" href="http://lwn.net/Articles/329626/">MySQL project forks</a>?  Here&#8217;s my advice, for most people in small, low transaction environments use what your vendor provides or the official MySQL built binaries. The releases are well supported and updates are rolled out on a regular basis. When you start needing other capabilities or need to squeeze more performance out of your SQL server, then it&#8217;s time to look at the high performance forks.  In our case we&#8217;ve been very happy with the<a title="Percona Labs Page" href="http://www.percona.com/percona-lab.html" target="_blank"> percona MySQL builds</a>, especially the ability to use their <a title="OpenSource version of InnoDB backup with support of Percona extensions" href="http://www.percona.com/percona-lab.html" target="_blank">XtraBackup</a> program.  This makes setting up MySQL slave servers easy and much faster, especially with larger data sets and <code>InnoDB</code> tables. (In actual testing doing a raw mysqldump and setting up a slave server with a 47G data base took almost an hour, using XtraBackup the same function took less than 15 minutes on a rather vanilla server).</p>
<div id="attachment_303" class="wp-caption alignright" style="width: 292px"><a href="http://www.geeforce.net/wp-content/uploads/2010/03/MySQL_in_waterfall_master_slave_relationship.png"><img class="size-medium wp-image-303" title="MySQL_in_waterfall_master_slave_relationship" src="http://www.geeforce.net/wp-content/uploads/2010/03/MySQL_in_waterfall_master_slave_relationship-282x300.png" alt="MySQL Servers in Waterfall Master/Slave setup" width="282" height="300" /></a><p class="wp-caption-text">MySQL Servers in Waterfall Master/Slave setup</p></div>
<p>Get, use, and love <a title="MMM home page" href="http://mysql-mmm.org/start">MMM</a> (Multi Master replication Manager for MySQL).  It is a collection of scripts that performs automated fail over of your MySQL cluster in much the same way as <a title="Ultra Monkey" href="http://www.ultramonkey.org/" target="_blank">UltraMonkey </a>does for other services.  The advantage of MMM is that it is specifically designed for MySQL.  It allows you to define servers by their role (writer or reader).  With MMM only one node is writeable at a time, this prevents data getting out of sync in large waterfall environments. Reader roles can be balanced across several servers.  More importantly MMM will detect if a server&#8217;s replication is running behind and remove it from the being queried, until the servers replication catches up.  In the real world this is a life saver.</p>
<p>Get the <a title="Maatkit home page" href="http://www.maatkit.org/" target="_blank">maatkit tool </a>set and install it on all your MySQL servers.  This toolkit should be de rigeur for any MySQL installation that has replication.  It is a collection of scripts that allows your DBA to more easily manage MySQL.  It has hooks built in for memcache and postgres as well. Like MMM it is a project that grew out of <a title="Google Code" href="http://code.google.com/">google code</a>.</p>
<h3>The Architecture</h3>
<p>We set up the first two MySQL servers in master/master replication mode.  Here&#8217;s the twist, we will probably want to add more master SQL servers to the cluster later on, so plan for it now.  You can add several MySQL servers fully synced in a water fall style configuration. When you create your my.cnf file configure the auto_increment_increment to a value of two times the expected number of master servers.  So if you expect to only ever have five masters in replication, ensure that auto_increment_increment=10.  This allows you to add more servers to the cluster with a minimum of downtime.  Never set auto_increment_offset to zero and no two servers should ever have the same offset (common mistakes).</p>
<p>Our decision here was to have two servers in master/master replication with each master server having it&#8217;s own slave.  With a read load seven times the write load we need to spread those selects across the cluster.   This is where MMM really shines.  The read load is spread out among all of the machines while the write load is quarantined to the master servers alone.  The cluster can handle a huge read load and is orders of magnitude faster under load than a single server, satisfying the performance goal. If a server goes down or starts to fall behind in replication, it&#8217;s removed from the cluster so it has a chance to catch up.  This happens automatically and without intervention, satisfying the high availability part of our goals.</p>
<div id="attachment_308" class="wp-caption alignleft" style="width: 305px"><a href="http://www.geeforce.net/wp-content/uploads/2010/03/Final_MySQL_Architecture.png"><img class="size-medium wp-image-308" title="Final_MySQL_Architecture" src="http://www.geeforce.net/wp-content/uploads/2010/03/Final_MySQL_Architecture-295x300.png" alt="Final MySQL Architecture" width="295" height="300" /></a><p class="wp-caption-text">Final MySQL Architecture</p></div>
<p>We satisfy our scalability goal by planning the architecture to grow upfront.  If we see a spike in read traffic we can add more MySQL slaves on the fly.  If we see the need to spread out write traffic, we can add more master servers.  Proper monitoring and logging provide those statistics.</p>
<p>Since we&#8217;ve planned for more masters up front we don&#8217;t have to restart each server.  The ability to add a master sever on the fly without taking down the entire cluster is what makes MMM and the Percona Xtrabackup tool so critical.  When we run the Xtrabackup tool it provides us the logfile name and position as part of the output!  That means we have all the information required to setup and start a slave, performed in one action.  We use the MMM scripts to take servers in and out of service and also monitor their status.</p>
<h3>Caveats</h3>
<p>The architecture offered here was for a specific problem where we had some good metrics.  If the read vs write traffic was more even we would have set up the servers in a waterfall configuration.   All of the servers were using directly attached storage utilizing SAS drives in RAID 10.  The databases were small enough so directly attached storage provided the best redundancy and performance for the cost.  Once you start talking BIG databases then one needs to look at SAN architectures and ensure those considerations are baked into any design.</p>
<p><em><span>*While backended isn&#8217;t really a word, it perfectly describes what we&#8217;re talking about.  Please feel free to use backended in your next database or application discussion.</span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeforce.net/2010/03/highly-available-scalable-mysql/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Gliffy Cloud Based Visio Replacement</title>
		<link>http://www.geeforce.net/2010/03/gliffy-cloud-based-visio-replacement/</link>
		<comments>http://www.geeforce.net/2010/03/gliffy-cloud-based-visio-replacement/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 15:02:28 +0000</pubDate>
		<dc:creator>aaron_gee</dc:creator>
				<category><![CDATA[Latest]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Cloud Based Software]]></category>
		<category><![CDATA[Gliffy]]></category>
		<category><![CDATA[Network Design]]></category>
		<category><![CDATA[Network Drawing]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Visio]]></category>

		<guid isPermaLink="false">http://www.geeforce.net/?p=265</guid>
		<description><![CDATA[No job is complete until the documentation is done.  That is just as relevant in corporate world as it is in consulting (and often just as ignored by some **ahem**).  The de facto standard for producing network documentation has been Microsoft&#8217;s Visio.  This program is part of Microsoft&#8217;s Office suite and lots of vendors make [...]]]></description>
			<content:encoded><![CDATA[<p>No job is complete until the documentation is done.  That is just as relevant in corporate world as it is in consulting (and often just as ignored by some **ahem**).  The de facto standard for producing network documentation has been Microsoft&#8217;s <a title="Microsoft Office 2007 Visio Page" href="http://office.microsoft.com/en-us/visio/default.aspx?ofcresset=1" target="_blank">Visio</a>.  This program is part of Microsoft&#8217;s Office suite and lots of vendors make network templates for Visio.  Until recently there wasn&#8217;t a good alternative and then came <a title="Gliffy Home Page" href="http://www.gliffy.com/" target="_blank">Gliffy</a>.</p>
<p>Gliffy is a cloud based alternative to Visio. The web based program is easy to use, comes with good templates, and best of all the free version is good enough to get you started.  It&#8217;s user friendly and the <a title="Information on the Gliffy API" href="http://www.gliffy.com/developer/" target="_blank">API is extensible</a> to other web apps.  There are plugins for <a title="Word Press" href="http://wordpress.org/" target="_blank">wordpress</a>, <a title="Gliffy JIRA plugin" href="http://www.gliffy.com/jira-plugin/" target="_blank">jira,</a> and <a title="Confluence home page" href="http://www.atlassian.com/software/confluence/" target="_blank">confluence</a> available now using the Gliffy API. Even though Gliffy considers their application beta software, it&#8217;s better than a lot of companies release products.</p>
<p>I&#8217;ve used Gliffy drawings at GeeForce.net, for clients, and to document my own networks.  It&#8217;s not a total replacement for Visio but for a majority of the documentation that I do Gliffy fits the bill.  Visio offers more templates and when one is planning and laying out a rack environment it&#8217;s almost impossible to beat Visio, especially when the vendors provide Visio templates for their equipment. Other than that niche, Gliffy is replacing Visio for producing network documentation, flowcharts, and basic room layouts (floor plans and data center space planning).</p>
<p>Bottom line, Gliffy is a great program that is easy to use and exports documents in either <a title="Portable Network Graphics Home Page" href="http://www.libpng.org/pub/png/">png</a> format or as a Visio file.  You can use it just as easily for a quick &#8220;back of napkin&#8221; drawing to throw into an email or for a full blown Enterprise wide planning document.  The only thing missing is vendor templates and that is minor, more of a nice to have, not a must have feature.  For five dollars a month you get the pro version and it&#8217;s worth every penny.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeforce.net/2010/03/gliffy-cloud-based-visio-replacement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Scalable E-Mail Architecture</title>
		<link>http://www.geeforce.net/2010/03/e-mail-architecture-2/</link>
		<comments>http://www.geeforce.net/2010/03/e-mail-architecture-2/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 00:31:55 +0000</pubDate>
		<dc:creator>aaron_gee</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Latest]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Qmail]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[single sign in]]></category>
		<category><![CDATA[tiered storage]]></category>

		<guid isPermaLink="false">http://www.geeforce.net/?p=223</guid>
		<description><![CDATA[According to a study done last year by Forrester Research nearly half large enterprise are &#8220;evaluating alternative options for managing and providing email&#8221;.  Why?  It&#8217;s relatively easy to build a highly available, highly redundant email system that can support tens or hundreds of thousands of users easily with free software. The answer to the&#8221;why&#8221; is [...]]]></description>
			<content:encoded><![CDATA[<p>According to <a title="Forrester Study Touted by Google" href="http://www.google.com/a/help/intl/en/admins/pdf/forrester_cloud_email_infrastructure_and_operations_analysis.pdf" target="_blank">a study</a> done last year by Forrester Research nearly half large enterprise are &#8220;evaluating alternative options for managing and providing email&#8221;.  Why?  It&#8217;s relatively easy to build a highly available, highly redundant email system that can support tens or hundreds of thousands of users easily with free software. <a href="http://www.geeforce.net/wp-content/uploads/2010/03/Single_Server_Solution1.png"><img class="alignright size-medium wp-image-250" title="Single_Server_Solution" src="http://www.geeforce.net/wp-content/uploads/2010/03/Single_Server_Solution1-300x219.png" alt="" width="300" height="219" /></a>The answer to the&#8221;why&#8221; is a bit complex and different for every company but the leading cause for email headaches is poor architecture.  Most corporate email systems evolved from a single box.  In a lot of SME&#8217;s there is only &#8220;the mail server&#8221;. That ideal coupled with proprietary software has lead a lot of companies down an unsustainable email path.</p>
<p>A lot of email problems simply go away if the system architecture has been well designed.  The architecture that we lay out here took into consideration ease of email management, high availability, storage growth, data retention, and retrieval.  It is based on open source software, but the ideas and architecture can be applied to proprietary solutions with some modifications.</p>
<p>The analysis of this email problem started by breaking out each action of a typical email transaction (both delivery, management, and retrieval) into very specific tasks and then based on our requirements decide where those tasks belong.  We try to push task intelligence to parts of this clustered design where they make the most sense and provide the most benefit.  The key here was to never create a single point of failure and architect the design so that each task can be scaled seperately from the other tasks.  That way adding another layer of spam protection doesn&#8217;t require a total redesign.</p>
<p>Our solution creates 4 zones;</p>
<ol>
<li>Inbound Zone (SMTP servers facing the Internet)</li>
<li>Storage Zone (Mail delivery and SAN)</li>
<li>Client Zone (Webmail &amp; IMAP servers for client access and outbound SMTP servers)</li>
<li>Business Intelligence Zone (Archival, Tiered Storage Decisions, Company Wide Searches)</li>
</ol>
<h3>Common Data Between Zones</h3>
<p>There are some elements of your email infrastructure that are required to be understood across all zones such as valid usernames, while other information such as password, or mailbox location only needs to be known by some of the zones.  The user information can be stored in a SQL or LDAP server and the information is replicated to each zone.  The data stored in SQL or LDAP can be used for other applications not related to mail such as user authentication, instant messaging, and billing.  In some Enterprises this requires the user SQL/LDAP layer to be pulled out into it&#8217;s own environment in others it requires a hybrid LDAP/SQL solution.  In our sample architecture the system in question relied on <a title="MySQL the worlds most popular open source SQL database" href="http://mysql.com/" target="_blank">MySQL </a>and replication was used on each machine to provide a local SQL store.</p>
<h3><strong>Zone 1</strong> : Inbound</h3>
<p>Inbound mail servers are defined in a domain&#8217;s DNS and it&#8217;s simple to delegate multiple inbound servers.  In the classic single box solution, there is only one inbound server.  The single server has to handle all inbound connections, all filtering, the mail store, and client connections. When the single server is flooded with lots of traffic, that traffic eats up resources and  ruins the end users email experience.  In the properly architected solution the load of incoming traffic is spread out among multiple servers that can be geographically diverse.</p>
<p>The inbound servers are also the first line of defense against unwanted mail.  The ideal is to prevent all suspect mail from ever making it into the mail infrastructure.  Why waste the end user CPU cycles, or mail storage on spam or virus emails?  In this configuration the inbound servers protect the mail store from unnecessary email traffic. After processing the accepted mail the inbound servers hand the email off to the mail store over a private network and deliver messages via QMQP or SMTP, adding another layer of protection as those connections can be throttled by the mail delivery servers to protect the mail store allowing the zone1 servers to act as a buffer during extreme traffic conditions.</p>
<h4><span style="text-decoration: underline;">Zone 1 features:</span></h4>
<ul>
<li>Inbound servers have their own mail queue so that they can store mail if Zone 2 goes offline for any reason</li>
<li>Inbound servers make decisions on accepting connectivity via real time black lists (RBL)</li>
<li>Inbound servers make decisions on accepting mail for users during the SMTP transaction (don&#8217;t accept mail that has to be bounced later)</li>
<li>Inbound servers handle SPAM and Virus tagging before handing messages to Zone 2</li>
<li>Virus &amp; spam analysis can be offloaded to other servers if the load is too high on the inbound servers providing an easy solution for additional capacity by simply adding more machines (virtual or otherwise) to the zone.</li>
</ul>
<h3>Zone 2 Storage</h3>
<p>The mail store consists of 2 parts, the delivery machines and the storage area network (SAN).  The delivery machines receive email from Zone 1 and store in on the SAN, following any user specific delivery rules.  Unlike other systems the mail sorting is done during delivery.  This reduces the number of times a message &#8220;moves&#8221; around on the file system, and requires less handling. Both front ends mounted the same SAN share using a distributed file system (<a title="Wiki entry for GFS (Global File Syestem)" href="http://en.wikipedia.org/wiki/Global_File_System" target="_blank">gfs2</a>).</p>
<p>In our system the delivery machines were also the master SQL servers in master/master replication and master/slave replication to the other zones.  All user updates, adds and deletes are managed via a web interface attached to the SQL servers in zone2.  All of the zone 1 machines were pointed to a single IP, and the two delivery machines run in high availability mode with load balancing.</p>
<h4><span style="text-decoration: underline;">Zone 2 features:</span></h4>
<ul>
<li>Storage growth is handled by the SAN &amp; choice of File system.  Simply add more storage and then <a title="Redhat manual for managing GFS file system" href="http://www.redhat.com/docs/manuals/csgfs/admin-guide/s1-manage-growfs.html" target="_blank">grow the file system</a>.</li>
<li>Tiered Storage can be provided by multiple SANs.  A high performance SAN for recent email and a slower but larger SAN for archival purposes.</li>
<li>Delivery rules are stored and executed during the first delivery.</li>
<li>Delivery can be scaled by adding front ends to either a common distributed backend storage or multiple common backends.</li>
<li>The SAN is fully mirrored.  Should the primary SAN fail the backup SAN comes online automatically.  File system mirroring is handled at the SAN level.</li>
<li>Since each clients mail store location is kept in a SQL server the ability to migrate from one SAN to another can be done &#8220;online&#8221; with no downtime.</li>
</ul>
<h3>
<div id="attachment_258" class="wp-caption alignleft" style="width: 227px"><a href="http://www.geeforce.net/wp-content/uploads/2010/03/Distributed_Architecture1.png"><img class="size-medium wp-image-258" title="Distributed_Architecture" src="http://www.geeforce.net/wp-content/uploads/2010/03/Distributed_Architecture1-217x300.png" alt="Distributed_Architecture" width="217" height="300" /></a><p class="wp-caption-text">Distributed Architecture</p></div>
<p>Zone 3: Clients</h3>
<p>Zone 3 is the end user zone.  This zone takes care of webmail, smtp relaying (outbound), and imap clients (outlook &amp; smart phones).  In our configuration there are two machines that mount the same SAN and run 3 services IMAP, HTTPS, &amp; SMTP.  The 2 servers run in loadbalancing/high availability mode.  In this case the traffic combined with webmail load was light enough to combine all of the client services onto single machine.  Each client service can be easily moved to their own server providing scalability.  This zone deals entirely with internal client requests.  If a client receives, checks, or sends an email, regardless of device (laptop, phone, etc) it goes through this zone.</p>
<h3>Zone 4: Business Intelligence</h3>
<p>This zone mounts the same SAN and handles things like auto archiving, indexing of emails for better IMAP performance and other functions the touch your email but whose primary function ISN&#8217;T email.  Email management tools live in this zone (Web based in this case). The advantage of having a dedicated business intelligence zone is that this provides for application specific functionality and connectivity without adding to the performance requirements of any one specific area of typical email transactions.</p>
<p>Examples of good use zone 4 include document management software that indexes company wide emails.  This types of indexing becomes invaluable when discovery orders are issued or an executive leaves under dubious circumstances.  Custom reporting on email usage and quotas organized across corporate divisions provide reporting that enables IT to make rational choices on where resources will be best spent.  This zone is also where programs designed to automate tired storage and auto archiving decisions need to go.</p>
<p>Having one place to go to write/execute that intelligence provides an enterprise the flexibility that they need when addressing email specific issues AND it does it in a way that minimally impacts email.  A perfect example of what happens when you build that intelligence into the wrong place would be an auto archive program that a certain hypothetical email admin might install for their enterprise.  The auto archiving is too aggressive in it&#8217;s endeavor to archive everything older than (x) days (the default setting), leading to a huge slow down in the enterprise&#8217;s email delivery. The helpdesk phones won&#8217;t stop ringing and one can expect the fainter of heart support staff to be reduced to quivering piles of jello in a cubicle.  In the enterprise clients get cranky when the email doesn&#8217;t work.  When things finally get caught up the legal staff shows up on the admin&#8217;s doorsteps with pitchforks and torches.  Not Good.</p>
<p>Some system architects or vendors want tiered storage or auto archiving to live on the primary mail store, or in storage.  The issue is that neither of those areas has the native intelligence to understand how users use, or are required to access to email better than the user.  It gets hard to tell your SAN which users email folders needs to be faster; For example the CEO that refuses to archive and calls when searches take more than 5 seconds or try to have your mail server define which email documents are connected to a legal case. Business intelligence isn&#8217;t an oxymoron until your SAN decides which email is archived for you.</p>
<p>Design your business intelligence where it belongs, and where you can react quickly without impacting the primary function of your email system, which is to deliver mail.  When you tie it all together you have a low maintenance highly scalable email solution that a Fortune 100 company would be proud of.  All it took was a little bit of up front thought to design the proper architecture.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeforce.net/2010/03/e-mail-architecture-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>CFITS &#8211; Good stuff from Xiotech &amp; Cisco</title>
		<link>http://www.geeforce.net/2010/02/cfits-good-stuff-from-xiotech-cisco/</link>
		<comments>http://www.geeforce.net/2010/02/cfits-good-stuff-from-xiotech-cisco/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 20:24:17 +0000</pubDate>
		<dc:creator>aaron_gee</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Latest]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[CFITS]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[NAS]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[UCS]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[Xiotech]]></category>

		<guid isPermaLink="false">http://www.geeforce.net/?p=165</guid>
		<description><![CDATA[Yesterday I had the pleasure of being one of four speakers at the network storage event sponsored by the CFITS (Central Florida Information Technology Society).  All four presentations have been put together in a single power point that is posted on the CFITS website.  I&#8217;ve included a flash version of just the GeeForce slides here.  [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I had the pleasure of being one of four speakers at the network storage event sponsored by the CFITS <a title=" Central Florida Information Technology Society" href="http://cfits.org/" target="_blank">(Central Florida Information Technology Society</a>).  All four presentations have been put together in <a title="CFITS Combined Network Storage Presentation" href="http://cfits.org/images/presentations/2010.storage/data.storage.02.25.10.pptx" target="_blank">a single power point</a> that is posted on the CFITS website.  I&#8217;ve included a flash version of just the GeeForce slides <a title="CFITS GeeForce Network Storage Presentation" href="http://www.geeforce.net/wp-content/uploads/2010/02/Network_Storage.swf" target="_blank">here</a>.  The great thing about events put on by CFITS is that they attract some really bright people and top tier vendors.  While all of the presentations were good two stuck out in my mind.</p>
<h4><strong>Xiotech gets storage</strong></h4>
<p>I enjoyed the <a title="Xiotech Company Website" href="http://www.xiotech.com/" target="_blank">Xiotech</a> presentation by <a title="Peter Selin's Blog" href="http://peterselin.sys-con.com/">Peter Selin</a> whose presentation followed mine.  His emphasis on true Total Cost of Ownership (TCO) calculations and understanding how the applications use storage dovetailed very nicely with points I had made earlier.  Xiotech&#8217;s presentation went a step further and went into application tuning and how that affects storage performance.  A good part of the presentation was &#8220;SSD  facts or fiction&#8221;.  There was an enlightening graph on  SSD (Solid State Drives) sustained IOPS  vs Time.  This was nothing new for those of us with SSD server experience, but an eye opener for a lot of people in the room.</p>
<p>If you&#8217;re unfamiliar with Xiotech&#8217;s concept, then now might be the time to explain what they do.  Xiotech looks at storage like a &#8220;black box&#8221;.  It doesn&#8217;t matter what&#8217;s in the box &#8211; what matters is the capacity, throughput and reliability of the data storage.  Their solutions utilize Fiber Channel and provide the foundation for a high performance SAN (Storage Area Network).   One of the most unique aspects is that the end user no longer worries about individual drives and data redundancy. Data redundancy  is taken care of by &#8220;the box&#8221;.  To add more capacity, add another box.  This moves intelligence out of controllers and applications into storage where it belongs.  Just like intelligent networks, having the right intelligence in the right place makes a lot of sense.</p>
<p>I haven&#8217;t had a chance to test or use the products but their architecture deserves a very close look when high performance storage is called for.  The company is talking about Fiber Channel over Ethernet in the future and I hope that they also look at Ata Over Ethernet (<a title="Wiki artilce on ATA over Ethernet" href="http://en.wikipedia.org/wiki/ATA_over_Ethernet" target="_blank">AoE</a>) as well.</p>
<h4><strong>Cisco goes after the datacenter</strong></h4>
<p>Cisco&#8217;s presentations always pique my interest.  This is a company that spends a lot of time figuring out how to produce a better mouse trap (or buying the company that has) and it shows.</p>
<p><span style="text-decoration: underline;">Network and Storage</span> Cisco&#8217;s approach is a continuation of the approach that it helped pioneer, network convergence.  Yesterday&#8217;s converging voice, video, and data via IP is passé; Cisco is now converging the SAN/LAN (Local Area Network) networks into a <a title="Cisco Nexus 5000 &amp; Unified Fabric" href="http://www.cisco.com/en/US/products/ps9670/index.html">unified fabric</a>.  With Fiber Channel over Ethernet the same network is used for SAN and LAN connectivity, simplifying cabling and switches.  With Cisco&#8217;s Fiber Channel/Ethernet modules for their Nexus class switches, Cisco is providing a bridge between the current SAN and LAN.  With 10GE (Gigabit Ethernet) networks already here and 40GE just around the corner, the writing is on the wall.  Eventually all LAN &amp; SAN traffic will be carried on the same network.  <a title="Robert Metcalfe the inventor of Ethernet" href="http://en.wikipedia.org/wiki/Robert_Metcalfe">Robert Metcalfe&#8217;s</a> invention lives eternal.</p>
<p><span style="text-decoration: underline;">Servers and Virtualization</span> This part of Cisco&#8217;s offering is where we see radical innovation. Cisco doesn&#8217;t have a history of building servers so their approach is clean sheet  and unique from what I&#8217;ve seen from other vendors.  What Cisco did was look at large virtualized environments holistically not just focusing on server, storage, or network individually.  Cisco has tried to converge and unify many components of a large virtulized environment and build management into the entire environment from the get go.  They call their approach the Unified Computing System or <a title="Cisco's Unified Computing System" href="http://www.cisco.com/en/US/netsol/ns944/index.html">UCS</a>.</p>
<p>The UCS structure combines a unified (or should we say converged?) 10GE network fabric with unique super high memory blade servers<strong> </strong> that can support up to 384 GB DDR3.  The management of the entire structure is built in.  Cisco provides for a virtualized switch within each blade, each virtualized server can be centrally managed in it&#8217;s entirety.  Moving a virtual instance from one blade to another becomes simpler because the network moves with the instance and doesn&#8217;t require reprogramming the switch.  Cisco&#8217;s approach will change the entire management experience for large virtualized environments.</p>
<p>Both presentations have given me a great excuse to deep dive into the vendor&#8217;s technology and applications thereof.  Cisco is showing off their C-Series servers in Orlando on March 9th (<a title="Register for March 9th 2010 Cisco Presentation" href="http://www.cisco.com/go/semreg/csfm_ciscoserver_09mar10/html" target="_blank">register for that even t here</a>) and there is some <a title="Xiotec Bedtime Reading Material" href="http://xiotech.com/resource-center.php">good reading material </a>over a Xiotech.  Keeping up with new technology and it&#8217;s application is one of the things I enjoy most about my job.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeforce.net/2010/02/cfits-good-stuff-from-xiotech-cisco/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JoikuSpot Best Mobile App</title>
		<link>http://www.geeforce.net/2010/02/joikuspot-best-mobile-app/</link>
		<comments>http://www.geeforce.net/2010/02/joikuspot-best-mobile-app/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 23:39:46 +0000</pubDate>
		<dc:creator>aaron_gee</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Latest]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[JoikuSpot]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile Applications]]></category>
		<category><![CDATA[Nokia smartphones]]></category>

		<guid isPermaLink="false">http://aarongee.com/?p=135</guid>
		<description><![CDATA[Who needs MiFi when there is JoikuSpot?  Smarter, cheaper, better.]]></description>
			<content:encoded><![CDATA[<p>One of the great frustrations for road warriors, students, and travelers of all types is the need to get online while on the road without WiFi.  Usually this involves buying a separate USB based HSDPA modem (ie cellular modem), or dongling your smart phone to your laptop. (That&#8217;s if your smart phone and cellular provider allow it).</p>
<p>That was until <a title="Joiku Oy" href="http://www.joikushop.com/" target="_blank">JoikuSpot</a>.</p>
<p><a title="Joiku Oy" href="http://www.joiku.com/" target="_blank">JoikuSpot</a> is available for your Nokia <a title="Symbian Devices" href="http://www.symbian.org/" target="_blank">Symbian</a> or <a title="Nokia Maemo Phones" href="http://maemo.nokia.com/n900/" target="_blank">Linux</a> based smart phones that turns your device into a mini hotspot.  This application is a paradigm changer. There is even a free &#8220;light&#8221; version  that only allows you to only access http/https content with a forced landing page.  That&#8217;s fine for the occasion user but most users will want the full blown version.  Without wires or extra devices you&#8217;re able to tap into your phone&#8217;s connectivity (3G for me) and get online in record time.</p>
<p>Verizon has attempted to solve the same problem with their <a title="Verizon MiFi" href="http://www.verizonwireless.com/b2c/mobilebroadband/?page=products_mifi" target="_blank">MiFi solution</a>, but why do I need to purchase and carry around another device?  With my current service provider (AT&amp;T) I was able to use my cell phone while being online at the same time. With the prices coming down on unlocked E63 and E71 devices and good reviews coming on on the N900, the combination of JoikuSpot and a Nokia phone will be a must have for the hard core road warriors in the know.  If Nokia was smart they would bundle the application with their phones.</p>
<p>JoikuSpot isn&#8217;t just handy &#8211; it&#8217;s the holy grail for staying connected on the go.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeforce.net/2010/02/joikuspot-best-mobile-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Goo now Feng Office &#8211; still great software</title>
		<link>http://www.geeforce.net/2010/02/open-goo-now-feng-office-still-great-software/</link>
		<comments>http://www.geeforce.net/2010/02/open-goo-now-feng-office-still-great-software/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 00:48:58 +0000</pubDate>
		<dc:creator>aaron_gee</dc:creator>
				<category><![CDATA[Latest]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Groupware]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://aarongee.com/?p=73</guid>
		<description><![CDATA[Open Goo was the name of an incredibly good online collaboration software suite. The project was  sponsored by Feng Office.  Now the opengoo project has been re-branded Feng Office but it&#8217;s still the same incredibly easy to setup and use application. Feng has all the applications you&#8217;d expect in an online collaboration suite &#8211; email, [...]]]></description>
			<content:encoded><![CDATA[<p>Open Goo was the name of an incredibly good online collaboration software suite. The project was  sponsored by Feng Office.  Now the opengoo project has been re-branded<a href="http://fengoffice.com/" target="_blank"> Feng Office</a> but it&#8217;s still the same incredibly easy to setup and use application.</p>
<p>Feng has all the applications you&#8217;d expect in an online collaboration suite &#8211; email, notes, contacts, files, calendar, tasks, time tracker and more.  What makes Feng different is the way it goes about collaboration.  It&#8217;s like a groupware crossed with project management plugged into a web 2.0 world.  The product handles multiple work spaces with ease (great for consultants) and it also handles multiple companies all from the same interface.  We use the application here at GeeForce were it is affectionately known as &#8220;The Goo&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geeforce.net/2010/02/open-goo-now-feng-office-still-great-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

