<?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>Cloudweavers &#187; free software</title>
	<atom:link href="http://www.cloudweavers.org/tag/free-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cloudweavers.org</link>
	<description>Cutting-edge technology consultant</description>
	<lastBuildDate>Tue, 31 Jan 2012 13:56:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>MySQL&#8217;s innodb_file_per_table</title>
		<link>http://www.cloudweavers.org/2010/02/mysqls-innodb_file_per_table/</link>
		<comments>http://www.cloudweavers.org/2010/02/mysqls-innodb_file_per_table/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 00:02:08 +0000</pubDate>
		<dc:creator>pascal.charest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blog.pacharest.com/?p=1395</guid>
		<description><![CDATA[I&#8217;m still alive &#8211; preparing my presentation for ConFoo conference (about massive scalability), writing an article on load balancer in the free software domain, doing a technical review of a book on Nginx (it should be pretty good), and driving my company at crazy speed (some new contracts and operations for existing ones). Ho, and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m still alive &#8211; preparing my presentation for ConFoo conference (about massive scalability), writing an article on load balancer in the free software domain, doing a technical review of a book on Nginx (it should be pretty good), and driving my company at crazy speed (some new contracts and operations for existing ones). Ho, and I&#8217;m preparing a wedding (mine) &#8211; yeah, I&#8217;m alive and living my life at the fullest.</p>
<p>In the midst of all that, I&#8217;ve got a mandate involving MySQL databases and the import of a big chunk of data (about 8gb raw). Yeah, I know, some peoples reading my blog will know whom I speaking of. The data come with the schema, the load data queries and the CSV files. Should be pretty easy, long, but easy. </p>
<p><strong>Got that one wrong. I&#8217;ve been bitten by all the bugs that were on the road</strong>:<br />
 &#8211; MySQL LoadData (from CSV) use the TMPDIR variable (which was on root filesystem) and LoadData generate a temporary queries in that directory. In the present case, the 8GB raw csv represented over 40GB of required tmpdir space.<br />
 &#8211; MySQL Replication doesn&#8217;t live really well with importing large amount of data. The first (failed) import broke all the replication (ring of masters + slaves).<br />
 &#8211; and&#8230; </p>
<p><strong>MySQL&#8217;s innodb log file cannot shrink its size</strong>. That&#8217;s pretty simple as a rule, but it creates lots of problems when you have a failed import due to free space issue. Whatever you do, MySQL will NOT give back this hard drive space unless you dump all and re-import. The current case being a database of over 20GB, it&#8217;s really a no-go (and since you are lacking free space, dump is a no-go).</p>
<p>The important things to take away from that encounter is: always enable innodb_file_per_table on MySQL. The performance overhead will be minimal (very) &#8211; you might even get better performance depending on your file system tolerance for fragmentation &#8211; AND &#8211; you will be able to drop table and regain the disk space&#8230; even if its only for a couple hours. The drop of a 10GB database should always give you some free space ;-). Question is: why haven&#8217;t MySQL put this setting as default ? Its been around for long enough&#8230; is stable and does help the general user (a sysadmin) experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloudweavers.org/2010/02/mysqls-innodb_file_per_table/feed/</wfw:commentRss>
		<slash:comments>227</slash:comments>
		</item>
		<item>
		<title>Cutting-edge of Cloud Computing</title>
		<link>http://www.cloudweavers.org/2009/11/cutting-edge-of-cloud-computing/</link>
		<comments>http://www.cloudweavers.org/2009/11/cutting-edge-of-cloud-computing/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 04:43:04 +0000</pubDate>
		<dc:creator>pascal.charest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[consultant]]></category>
		<category><![CDATA[drbd]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[labsphoenix]]></category>
		<category><![CDATA[Montreal]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[vnodes.net]]></category>
		<category><![CDATA[wackamole]]></category>

		<guid isPermaLink="false">http://blog.pacharest.com/?p=1371</guid>
		<description><![CDATA[Just got off the bus in Montreal, Québec. This is a lightning visit, in 48 hours, I&#8217;ll be back in my office in Ottawa. But, right now, I&#8217;m taking a drink in one of my favorite downtown coffee shop and I&#8217;m planning. The next few hours will see little sleep and lots of action ; [...]]]></description>
			<content:encoded><![CDATA[<p>Just got off the bus in Montreal, Québec. This is a lightning visit, in 48 hours, I&#8217;ll be back in my office in Ottawa. But, right now, I&#8217;m taking a drink in one of my favorite downtown coffee shop and I&#8217;m planning.</p>
<p>The next few hours will see little sleep and lots of action ; More precisely I&#8217;ll be deploying lots of hardware (2 IBM SAN, 2 core servers, 2 switchs, 2 APC, 5 branchs servers &#8211; supporting up to 20 &#8216;leaf&#8217;/virtual servers), and then somes (3 couples of 2 systems in high redundancy (wackamole IP &#8216;fencing&#8217;, shared-storage through DRBD). All that will go in &#8216;my&#8217; new 48U cage @Hypertec (old nortel building) to act as a demo for some clients.  </p>
<p>Once that&#8217;s completed, the true fun start: A very big part of this infrastructure is going to be self-healing, failure resitant and high performance. We are speaking of : </p>
<li>automatic &#038; dynamic launch of new &#8216;branch&#8217; systems (xen dom0), without having to do anything more than to rack them (no OS install needed, can be upgraded by rebooting them), </li>
<li>high redundancy at the leaf level (xen domU, automatic migration toward less used dom0), </li>
<li>failure resistace through bonded interface, multi-path &#038; multi-host fiberchannel SAN &#038; controller&#8230; </li>
<p></p>
<p> This is going to be <strong>solid, scalable, fast</strong> : the holy grail of a lot of service provider that are aiming at automatization of their &#8216;hosting&#8217; business. The result of a lot of planning and testing ; <strong>the cutting-edge of cloud-computing</strong>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloudweavers.org/2009/11/cutting-edge-of-cloud-computing/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Surviving DDOS &#8211; discussion on building resilient networks/data infrastructure.</title>
		<link>http://www.cloudweavers.org/2009/09/surviving-ddos-building-resilient-networks/</link>
		<comments>http://www.cloudweavers.org/2009/09/surviving-ddos-building-resilient-networks/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 15:15:53 +0000</pubDate>
		<dc:creator>pascal.charest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cloudmaster]]></category>
		<category><![CDATA[consultant]]></category>
		<category><![CDATA[ddos]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.pacharest.com/?p=1288</guid>
		<description><![CDATA[Note: This is a selection of very early draft of a document I&#8217;m writing &#8211; As such, those are extract of &#8220;working notes&#8221; and should be considered as beta (not Google definition of beta ; true beta)&#8230; lots will change. [...] Internet being a jungle (or a city, whatever you find most dangerous), your infrastructure [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Note</strong>: This is a selection of very early draft of a document I&#8217;m writing &#8211; As such, those are extract of &#8220;working notes&#8221; and should be considered as beta (not Google definition of beta ; true beta)&#8230; lots will change.</p></blockquote>
<p>
<strong>[...]</strong><br />
Internet being a jungle (or a city, whatever you find most dangerous), your infrastructure will be preyed upon. it can be by customers requiring services (too much of them can create difficult situations) or by malevolent individuals wanting to see your service off Internet.<br />
<strong>[...]</strong><br />
Of the techniques available, dos/ddos might be the worst. Here&#8217;s a quick non technical theory review:<br />
<br />
<strong>DOS: Denial of services</strong><br />
For a single attacker, cutting access to your services can be accomplished by solving this equation:<br />
<em> Attacker resource * resource(attack function) > Defender resource * resource(defense function)</em><br />
The defense against the attack is simply the reverse of the equation. Using decent servers (for processing power) in a decent datacenter (for bandwidth) can help solve this equation to the defender advantage without having to modify services. If it doesn&#8217;t work, modifying the defense function (such as implementing a firewall correlating a source IP and the attacker function) will allow required resources for defense to be minimal and thus <em>win the fight</em>.<br />
<strong>[...]</strong><br />
<br />
<strong>DDOS: Distributed Denial Of Services</strong><br />
The DDOS add the dimension of multiple (in the order of hundreds or thousands) attackers systems. This will bypass of most of the standard defenses &#8220;resource reduction function&#8221; since the resulting traffic will be tangent to a normal usage pattern. Randomly blocking visitor (or user) cannot be accomplished without risking blocking valid one and user pattern analysis is generally resource intensive.<br />
<strong>[...]</strong><br />
<br />
<strong>How to survive DDOS</strong><br />
A lot of services and devices are available to mitigate the attack of a DDOS. Some can be implemented by the end user (server administrator) or by the upstream provider. However, most of them must be deployed as a planned feature, not while the network is under attack.<br />
 * drop spoofed/invalid packets at upstream provider (packets with invalid source IP (see RFC 1918), implement ingress filtering (see RFC 2267)) &#8211; it is also call dark address filtering.<br />
 * prepare rate-limiting function &#8216;per-vhost&#8217; (if service = webpage), or &#8216;per-services&#8217;, and &#8216;per-source&#8217;.<br />
 * implement black hole filtering procedure (an in-line router / packet analyzer able to black hole packet will leave your server doing service computing, not routing).<br />
 * request analysis. <a href="http://www.snort.org/">SNORT</a> is a well know and very good ingress filtering agent that can be used to filter traffic that does not match normal usage pattern.<br />
 * enable syn cookie (valid only against syn flood).<br />
 * always allow establish connections priority over new ones.<br />
 * off load as much as you can (mainly: DNS services in separate network, dropping both is harder).<br />
<br />
And I&#8217;ll allow a bit of additional informations on this last one, because it is often overlooked and can represent your salvation when you are attacked. Either the attacker will use a specific IP, which is easy to mitigate by changing to any other you reserved for that and changing the DNS (5 minutes downtime is nothing in a major DDOS) OR the attacker is resolving your domain name through your DNS. This latest fact is quite important, because it mean the attack can be mitigated by using geo-localisation on your DNS system : different servers will answers requests from different part of the world. <a href="http://www.maxmind.com/">MaxMIND</a> does offer a very up-to-date database of IP/Country and IP/Town ; and using Amazon AWS (cloud computing service by Amazon), new servers can be launched at minutes notice and your DNS (when properly configured) can be modified to provide specific IP &#8220;to-peoples-outside-your-normal-business-area&#8221;.  You don&#8217;t even have to involve your upstream provider and you will be able to offset a very big part of the attack (as long as your normal business area is not russia + china).<br />
<br />
Or, if implementing those recommendation are not a possibility, there is always services/devices available for sales. Be ready to pay a very big price for them.<br />
<strong>[...]</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloudweavers.org/2009/09/surviving-ddos-building-resilient-networks/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
	</channel>
</rss>

