<?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>OFF TOPIC! &#187; High Availability</title>
	<atom:link href="http://www.luizxx.com/archives/category/high-availability/feed" rel="self" type="application/rss+xml" />
	<link>http://www.luizxx.com</link>
	<description>Luizxx Expansion Set</description>
	<lastBuildDate>Fri, 16 Jul 2010 04:13:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Disponibilidade de serviços</title>
		<link>http://www.luizxx.com/archives/172</link>
		<comments>http://www.luizxx.com/archives/172#comments</comments>
		<pubDate>Tue, 02 Sep 2008 13:51:01 +0000</pubDate>
		<dc:creator>Luiz</dc:creator>
				<category><![CDATA[High Availability]]></category>

		<guid isPermaLink="false">http://luizxx.com/?p=172</guid>
		<description><![CDATA[Muitas vezes falamos sobre sistemas de alta disponibilidade e servidores de missão crítica, porem poucas pessoas param para pensar no sentido real de alta disponibilidade e como obter estatísticas e analisar o funcionamento de determinados sistemas que exigem um design de alta disponibilidade. Primeiramente é necessário conhecer a diferença básica entre downtime planejado e downtime [...]]]></description>
			<content:encoded><![CDATA[<p>Muitas vezes falamos sobre sistemas de alta disponibilidade e servidores de missão crítica, porem poucas pessoas param para pensar no sentido real de alta disponibilidade e como obter estatísticas e analisar o funcionamento de determinados sistemas que exigem um design de alta disponibilidade.</p>
<p>Primeiramente é necessário conhecer a diferença básica entre <em>downtime planejado e downtime não-planejado</em>.</p>
<p>Normalmente o downtime planejado acontece ao realizar-mos atualizações críticas de sistema <em>(ie. Kernel)</em> e alguns tipos de manutenção relacionada ao funcionamento base do sistema operacional. Este tipo de downtime deve ser sempre notificado com antecedência aos clientes que dependem do serviço e deve ser feito no menor tempo possível, apesar de não ser uma prática muito correta algumas empresas costumam não contabilizar o downtime planejado em seus relatórios de disponibilidade.</p>
<p>Já o downtime não-planejado normalmente acontece devido a problemas físicos no ambiente computacional, tendo entre suas principais ocorrências problemas elétricos, falhas de hardware, excesso de temperatura no ambiente, problemas de rede / telecomunicações, problemas de segurança, falhas em aplicações e no próprio sistema operacional.</p>
<p>Agora podemos ir ao nosso cálculo de disponibilidade (%), que nada mais é do que a disponibilidade total do serviço dentro do período de um ano, e a partir do valor obtido pode-se ter o nível real de disponibilidade para obtenção de estatísticas e SLA <em>(marketing normalmente adora esses números!)</em>.</p>
<p>Os valores mais comuns de disponibilidade relacionados com downtime são:</p>
<ul>
<li>98%    &#8211; 7.30 dias por ano / 14.4 horas por mês</li>
<li>99%    &#8211; 3.65 dias por ano / 7.2 horas por mês</li>
<li>99,5% &#8211; 1.83 dias por ano / 3.60 horas por mês</li>
<li>99,8% &#8211; 17.52 horas por ano / 86.23 minutos por mês</li>
<li>99.9% &#8211; 8.76 horas por ano / 43.2 minutos por mês</li>
<li>99.95% &#8211; 4.38 horas por ano / 21.56 minutos por mês</li>
<li>99.99% &#8211; 52.6 minutos por ano / 4.32 minutos por mês</li>
<li>99.999% &#8211; 5.26 minutos por ano ou 25.9 segundos por mês</li>
<li>99.9999% &#8211; 31.5 segundos por ano ou 2.59 segundos por mês</li>
</ul>
<p><em>Lembrando sempre que uptime é totalmente diferente de disponibilidade!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizxx.com/archives/172/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MySQL Cluster (Master/Slave)</title>
		<link>http://www.luizxx.com/archives/60</link>
		<comments>http://www.luizxx.com/archives/60#comments</comments>
		<pubDate>Wed, 07 May 2008 22:22:35 +0000</pubDate>
		<dc:creator>Luiz</dc:creator>
				<category><![CDATA[High Availability]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://luizxx.com/archives/60</guid>
		<description><![CDATA[Um dos recursos mais interessantes presente no MySQL é a capacidade de replicação automatizada de bases de dados em servidores distintos de forma simples e rápida. Segue um breve tutorial para configuração de um servidor MySQL com replicação 1:1 (Master/Slave): Primeiramente realize a instalação do MySQL em ambas as máquinas, lembrando que é altamente recomendável [...]]]></description>
			<content:encoded><![CDATA[<p>Um dos recursos mais interessantes presente no MySQL é a capacidade de replicação automatizada de bases de dados em servidores distintos de forma simples e rápida. Segue um breve tutorial para configuração de um servidor MySQL com replicação 1:1 (Master/Slave):</p>
<p>Primeiramente realize a instalação do MySQL em ambas as máquinas, lembrando que é altamente recomendável manter a mesma versão em todos os servidores participantes do cluster, e ative o acesso a conexões TCP (vem como padrão na maior parte das distribuições). Para prosseguir com o exemplo, consideraremos que o servidor master tem o IP 192.168.0.1 com hostname <em>Naru</em> e o slave tem o IP 192.168.0.2 com hostname <em>Motoko</em>.</p>
<p>Adicione os seguintes parâmetros na sessão [mysqld] do/etc/my.cnf no master:</p>
<blockquote><p><em>log-bin=naru-bin</em><br />
<em>log-slave-updates</em><br />
<em>server-id=1</em></p></blockquote>
<p>Agora, adicione os seguintes paramêtros no [mysqld] do /etc/my.cnf no slave:</p>
<blockquote><p><em>relay-log=motoko-relay-bin<br />
master-host=192.168.0.1<br />
master-user=replication<br />
master-password=mypassword<br />
server-id=2</em></p></blockquote>
<p>Inicie o serviço MySQL no servidor master e adicione um usuário com permissão de replication (em nosso caso o usuário é <em>replication </em>e a senha é <em>mypassword</em>), lembrando que esse usuário será utilizado para qualquer conexão entre os servidores :</p>
<blockquote><p><em>GRANT REPLICATION SLAVE ON *.* TO &#8216;replication&#8217;@192.168.0.2 \<br />
IDENTIFIED BY &#8216;mypassword&#8217;;</em></p></blockquote>
<p>Reinicie o serviço MySQL no servidor master para fixar as alterações.</p>
<p>Após realizar as configurações no servidor master, inicie o serviço MySQL no servidor slave e inicie o serviço de replicação com:</p>
<blockquote><p><em>START SLAVE; </em></p></blockquote>
<p>Para verificar o status da replicação, utilize a seguinte sintaxe no servidor slave:</p>
<blockquote><p><em>SHOW SLAVE STATUS\G; </em></p></blockquote>
<p>A linha related_log_files deve indicar o arquivo correspondente, e as linhas Slave_IO_Running e Slave_SQL_Running devem estar setadas para Yes. Desta forma a replicação está sendo feita normalmente.</p>
<p>Lembrando que as bases devem estar em sincronia para o correto funcionamento, desta forma, os dados do servidor slave não podem ser alterados diretamente. Caso tenha algum erro ao iniciar a replicação consulte o log default do MySQL, pois os dados obtidos  são bem completos e de fácil entendimento.</p>
<p>Normalmente o principal problema que acontece em servidores que já estão sendo utilizados em produção é a falta de sincronia entre as bases, que pode ser resolvida fazendo um dump da base master e replicando para a slave sem que haja alteração dos dados durante o processo.</p>
<p>Caso seja necessário realizar a alteração do servidor master enquanto a máquina slave está em produção, pode-se utilizar as seguintes sintaxes:</p>
<blockquote><p><em>SLAVE STOP;<br />
CHANGE MASTER TO master_host=&#8221;&lt;IP do servidor master&gt;&#8221;, \ maste_log_pos=0;<br />
SLAVE START;</em></p></blockquote>
<p><em><em>* Tendo em vista que a nova máquina master já está configurada corretamente.</em></em></p>
<p>A replicação pode ser realizada de várias outras formas, de acordo com as necessidades de cada ambiente, porém este tutorial indica sua utilização mais simples, normalmente utilizado em sistemas de consulta onde a carga é muito alta e deve ser distribuída.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.luizxx.com/archives/60/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>
