{"id":62,"date":"2011-02-11T23:32:00","date_gmt":"2011-02-11T23:32:00","guid":{"rendered":"http:\/\/artigos.marcomapa.com\/?p=62"},"modified":"2011-09-11T19:20:25","modified_gmt":"2011-09-11T19:20:25","slug":"entendendo-uptime-em-servidores","status":"publish","type":"post","link":"https:\/\/marcomapa.com\/artigos\/entendendo-uptime-em-servidores\/","title":{"rendered":"Entendendo Uptime em Servidores"},"content":{"rendered":"<p>Basicamente qualquer PC pode ser usado como um servidor, basta que voc\u00ea instale os softwares apropriados. Para tarefas leves, como compartilhar a conex\u00e3o, at\u00e9 mesmo m\u00e1quinas antigas podem prestar bons servi\u00e7os. Entretanto, quando falamos de servidores de hospedagem e servidores usados em grandes empresas, o cen\u00e1rio \u00e9 um pouco diferente.<\/p>\n<p>Al\u00e9m de rodarem servi\u00e7os e aplicativos muito mais pesados, atendendo a centenas de usu\u00e1rios simult\u00e2neos, estes servidores realizam tarefas essenciais, de forma que qualquer interrup\u00e7\u00e3o em suas atividades pode representar um grande preju\u00edzo, ao contr\u00e1rio de um desktop, onde o usu\u00e1rio pode simplesmente reiniciar depois de uma tela azul, como se nada tivesse acontecido. Um bom servidor deve ser capaz de funcionar por anos a fio, com pouca ou nenhuma manuten\u00e7\u00e3o. Al\u00e9m de ser otimizado para um conjunto espec\u00edfico de tarefas, ele precisa ser muito mais est\u00e1vel e confi\u00e1vel do que um desktop t\u00edpico.<\/p>\n<p>Entra em cena ent\u00e3o a quest\u00e3o da redund\u00e2ncia, baseada na id\u00e9ia de ter componentes \"de reserva\", prontos para assumirem o trabalho caso o primeiro falhe.<\/p>\n<p>Existem fontes redundantes, arrays de discos redundantes e at\u00e9 mesmo servidores redundantes, onde temos dois servidores completos, sincronizados em tempo real, onde o segundo servidor monitora o primeiro e assume suas fun\u00e7\u00f5es em caso de problemas.<\/p>\n<p>As fontes redundantes s\u00e3o chamadas de RPS (Redundant Power Supply) e se baseiam no uso de m\u00f3dulos substitu\u00edveis. Para servidores menores, \u00e9 mais comum o uso de fontes 1\u00d71, onde temos dois m\u00f3dulos independentes e um circuito central, que monitora as tens\u00f5es e ativa o segundo m\u00f3dulo em caso de problemas com o primeiro. Para servidores que precisam de mais do que 350 ou 400 watts de energia, \u00e9 comum o uso de fontes 2\u00d71, onde s\u00e3o usados tr\u00eas m\u00f3dulos, onde dois deles fornecem energia ao servidor (o que permite somar as capacidades) e o terceiro m\u00f3dulo fica de reserva para o caso qualquer um dos dois falhar:<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a href=\"http:\/\/4.bp.blogspot.com\/-dz9n3A__NnQ\/TVXGL22ez-I\/AAAAAAAAAK0\/mBRvpdqZ3CY\/s1600\/cap14-html-m7799aacf.jpg\" imageanchor=\"1\" style=\"margin-left: 1em; margin-right: 1em;\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" h5=\"true\" height=\"196\" src=\"http:\/\/4.bp.blogspot.com\/-dz9n3A__NnQ\/TVXGL22ez-I\/AAAAAAAAAK0\/mBRvpdqZ3CY\/s320\/cap14-html-m7799aacf.jpg\" width=\"320\" \/><\/a><\/div>\n<p>Naturalmente, fontes redundantes s\u00e3o consideravelmente mais caras, n\u00e3o apenas porque os circuitos s\u00e3o todos duplicados, mas tamb\u00e9m por que elas precisam ser muito mais compactas do que uma fonte tradicional, j\u00e1 que temos essencialmente duas ou tr\u00eas fontes no espa\u00e7o de uma. <\/p>\n<p>Na maioria dos casos, os m\u00f3dulos podem ser substitu\u00eddos a quente (hot-swap), sem necessidade de desligar o servidor. Um alarme sonoro ou visual avisa do problema, permitindo que o administrador substitua o m\u00f3dulo defeituoso assim que poss\u00edvel.<\/p>\n<p>No caso dos discos r\u00edgidos, temos os diferentes modos de opera\u00e7\u00e3o do RAID, que permitem adicionar redund\u00e2ncia (sacrificando parte do espa\u00e7o dispon\u00edvel), aumentar o desempenho (fazendo com que o sistema use os HDs simultaneamente, dividindo as opera\u00e7\u00f5es entre eles), ou ambas as coisas combinadas.<\/p>\n<p>Existem tr\u00eas categorias de RAID: RAID via hardware, RAID via software e fake-RAID. A grande diferen\u00e7a entre eles \u00e9 justamente sobre em quem recai o trabalho.<\/p>\n<p>No RAID via hardware \u00e9 utilizada uma controladora dedicada, que realiza todas as fun\u00e7\u00f5es. Este modo \u00e9 o ideal tanto do ponto de vista do desempenho quanto do ponto de vista da compatibilidade e confiabilidade, j\u00e1 que a pr\u00f3pria controladora executa todas as fun\u00e7\u00f5es necess\u00e1rias, de forma independente. A \u00fanica desvantagem \u00e9 o custo, j\u00e1 que uma boa controladora, destinada a uso em servidores, custa a partir de US$ 300.<\/p>\n<p>O RAID via software \u00e9 executado pelo pr\u00f3prio sistema operacional, sem necessidade de nenhum hardware adicional. \u00c9 poss\u00edvel criar arrays RAID via software tanto no Linux quanto no Windows 2000, XP, 2003 Server e Vista, utilizando HDs ligados \u00e0s pr\u00f3prias interfaces SATA da placa-m\u00e3e.<\/p>\n<p>O fake-RAID \u00e9 o modo utilizado pela maioria das controladoras RAID onboard, sobretudo nos micros desktop. Nele \u00e9 utilizada uma combina\u00e7\u00e3o de fun\u00e7\u00f5es adicionais no BIOS da placa e um driver que roda pelo sistema operacional. No final, tudo \u00e9 processado via software, de forma que n\u00e3o existe ganho de desempenho em rela\u00e7\u00e3o a utilizar RAID via software. Apenas a configura\u00e7\u00e3o \u00e9 simplificada.<\/p>\n<p>O procedimento de troca dos HDs defeituosos varia de acordo com os recursos oferecidos pela controladora. Ao utilizar RAID via software ou uma controladora fake-RAID, o processo de substitui\u00e7\u00e3o do HD \u00e9 inteiramente manual. Voc\u00ea precisa desligar o servidor, substituir o HD, ligar novamente o servidor, acessar a interface de gerenciamento e recriar o array, processo no qual a controladora reconstr\u00f3i os dados usando os bits de paridade (no caso do RAID 5) ou copia os dados armazenados no segundo HD (no caso do RAID 1). Ou seja, os dados s\u00e3o preservados, mas \u00e9 necess\u00e1rio desativar o servidor temporariamente, o que resulta em downtime.<\/p>\n<p>Para permitir que o servidor continue funcionando continuamente, \u00e9 necess\u00e1rio usar uma controladora dedicada, que ofere\u00e7a suporte a hot-swap e seja capaz de reconstruir o array automaticamente ap\u00f3s a substitui\u00e7\u00e3o do HD defeituoso (recurso chamado de \"automatic array rebuilding\"), al\u00e9m de um gabinete que ofere\u00e7a baias remov\u00edveis para os HDs. As tr\u00eas coisas somadas permitem que os HDs sejam substitu\u00eddos rapidamente, sem desligar o servidor e sem interrup\u00e7\u00e3o no servi\u00e7o. Outro recurso desejado \u00e9 o \"hot drive sparing\", que permite utilizar um drive extra (hot-spare), usado automaticamente pela controladora em caso de falha de qualquer um dos drives do array, minimizando a possibilidade de perda de dados.<\/p>\n<p>Continuando, em vez de montar um \u00fanico servidor com componentes redundantes, existe tamb\u00e9m a op\u00e7\u00e3o de usar um cluster de alta disponibilidade (chamados de \"high-availability clusters\" ou \"failover clusters\"), onde s\u00e3o usados dois servidores completos, onde a \u00fanica fun\u00e7\u00e3o do segundo servidor \u00e9 assumir a posi\u00e7\u00e3o do primeiro em caso de falhas (modo chamado de ativo\/passivo), diferente de um cluster com balanceamento de carga, onde os servidores dividem as requisi\u00e7\u00f5es (ativo\/ativo).<\/p>\n<p>Existem diversas solu\u00e7\u00f5es para clusters de alta disponibilidade. Entre as solu\u00e7\u00f5es abertas, uma das mais usadas \u00e9 o projeto Linux-HA (High-Availability Linux, dispon\u00edvel no http:\/\/www.linux-ha.org), que desenvolve o heartbeat, um daemon respons\u00e1vel por monitorar o status dos servidores do cluster e permitir que o segundo servidor assuma as fun\u00e7\u00f5es do primeiro em caso de pane.<\/p>\n<p>Como pode ver, adicionar componentes redundantes, sejam fontes, HDs ou servidores adicionais aumentam consideravelmente os custos. A principal quest\u00e3o \u00e9 avaliar se o preju\u00edzo de ter o servidor fora do ar por algumas horas ou dias durante as manuten\u00e7\u00f5es, acidentes e imprevistos em geral \u00e9 maior ou menor do que o investimento necess\u00e1rio.<\/p>\n<p>Um pequeno servidor de rede local, que atende a meia d\u00fazia de usu\u00e1rios em um pequeno escrit\u00f3rio dificilmente precisaria de redund\u00e2ncia, mas um servidor de miss\u00e3o-cr\u00edtica (como no caso de um banco) com certeza precisa. Cada n\u00edvel de redund\u00e2ncia adiciona um certo valor ao custo dos servidores, mas reduz em certa propor\u00e7\u00e3o o tempo de downtime.<\/p>\n<p>A disponibilidade do servidor (o que chamamos de Uptime) \u00e9 genericamente medida em \"noves\". Um nove indica uma disponibilidade de 90%, ou seja, uma situa\u00e7\u00e3o em que o servidor fica fora do ar at\u00e9 10% do tempo (imagine o caso de uma m\u00e1quina inst\u00e1vel, que precisa ser freq\u00fcentemente reiniciada, por exemplo), o que n\u00e3o \u00e9 admiss\u00edvel na maioria das situa\u00e7\u00f5es.<\/p>\n<p>Com dois noves temos um servidor que fica dispon\u00edvel 99%, o que seria uma boa marca para um servidor \"comum\", sem recursos de redund\u00e2ncia. Por outro lado, uma disponibilidade de 99% significa que o servidor pode ficar fora do ar por at\u00e9 7 horas e 18 minutos por m\u00eas (incluindo todas as manuten\u00e7\u00f5es, quedas de energia, opera\u00e7\u00f5es de backup que tornem necess\u00e1rio parar os servi\u00e7os e assim por diante), o que \u00e9 toler\u00e1vel no caso de uma rede local, ou no caso de um servidor que hospeda um site fora da \u00e1rea de com\u00e9rcio eletr\u00f4nico, mas ainda n\u00e3o \u00e9 adequado para opera\u00e7\u00f5es de miss\u00e3o cr\u00edtica.<\/p>\n<p>Para adicionar mais um nove, atingindo 99.9% de disponibilidade (o famoso \"three nines\"), n\u00e3o \u00e9 poss\u00edvel mais contar apenas com a sorte. \u00c9 necess\u00e1rio come\u00e7ar a pensar nos poss\u00edveis pontos de falha e come\u00e7ar a adicionar recursos de redund\u00e2ncia. Entram em cena as fontes redundantes, o uso de uma controladora RAID com suporte a hot-swap, uso de um nobreak com boa autonomia para todo o equipamento de rede, de forma que o servidor continue dispon\u00edvel mesmo durante as quedas de luz, e assim por diante. Afinal, 99.9% de disponibilidade significa que o servidor n\u00e3o fica fora do ar por mais de 43 minutos por m\u00eas.<\/p>\n<p>No caso de servidores de miss\u00e3o cr\u00edtica, qualquer interrup\u00e7\u00e3o no servi\u00e7o pode representar um grande preju\u00edzo, como no caso de institui\u00e7\u00f5es financeiras e grandes sites de com\u00e9rcio eletr\u00f4nico. Passa ent\u00e3o a fazer sentido investir no uso de um cluster de alta disponibilidade e em links redundantes, de forma a tentar atingir 99.99% de disponibilidade. Esta marca \u00e9 dif\u00edcil de atingir, pois significa que o servidor n\u00e3o deve ficar mais do que 4 minutos e meio (em m\u00e9dia) fora do ar por m\u00eas, incluindo a\u00ed tudo o que possa dar errado.<\/p>\n<p>Como sempre, n\u00e3o existe uma f\u00f3rmula m\u00e1gica para calcular o ponto ideal (\u00e9 justamente por isso que existem consultores e analistas), mas \u00e9 sempre prudente ter pelo menos um n\u00edvel m\u00ednimo de redund\u00e2ncia, nem que seja apenas um backup atualizado, que permita restaurar o servidor (usando outra m\u00e1quina) caso alguma trag\u00e9dia aconte\u00e7a.<\/p>\n<p>Pra quem contrata planos de hospedagem, \u00e9 important\u00edssimo saber qual ser\u00e1 o Uptime do servidor que disponibilizar\u00e1 o site e ser\u00e1 o grande respons\u00e1vel pelo seu desempenho, consequentemente pelo seu sucesso.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Basicamente qualquer PC pode ser usado como um servidor, basta que voc\u00ea instale os softwares apropriados. Para tarefas leves, como<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,5],"tags":[],"class_list":["post-62","post","type-post","status-publish","format-standard","hentry","category-hardware","category-web"],"_links":{"self":[{"href":"https:\/\/marcomapa.com\/artigos\/wp-json\/wp\/v2\/posts\/62","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marcomapa.com\/artigos\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marcomapa.com\/artigos\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marcomapa.com\/artigos\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marcomapa.com\/artigos\/wp-json\/wp\/v2\/comments?post=62"}],"version-history":[{"count":1,"href":"https:\/\/marcomapa.com\/artigos\/wp-json\/wp\/v2\/posts\/62\/revisions"}],"predecessor-version":[{"id":111,"href":"https:\/\/marcomapa.com\/artigos\/wp-json\/wp\/v2\/posts\/62\/revisions\/111"}],"wp:attachment":[{"href":"https:\/\/marcomapa.com\/artigos\/wp-json\/wp\/v2\/media?parent=62"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marcomapa.com\/artigos\/wp-json\/wp\/v2\/categories?post=62"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marcomapa.com\/artigos\/wp-json\/wp\/v2\/tags?post=62"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}