Sie sind auf Seite 1von 57

Universidade Metodista de Piracicaba Faculdade de Cincias Exatas e da Natureza Curso de Cincia da Computao

Comparao no desempenho de um sistema de arquivos em ambientes gerenciados pelo DRBD, RSYNC e PVFS

Douglas Aparecido da Conceio Jr.

Monografia de concluso apresentada Faculdade de Cincias Exatas e da Natureza da Universidade Metodista de Piracicaba como parte dos requisitos para a obteno do ttulo de Bacharel em Cincia da Computao.

Orientador: Prof. Dr. Jos Luis Zem

Piracicaba Julho de 2012

Julho de 2012

Comparao no desempenho de um sistema de arquivos em ambientes gerenciados pelo DRBD, RSYNC e PVFS

Douglas Aparecido da Conceio Jr.

Banca Examinadora

____________________________________

____________________________________

Data de Aprovao:

II

SUMRIO

1. Introduo ........................................................................................................... 1 1.1. Objetivos ....................................................................................................... 1 1.2. Justificativa do tema ...................................................................................... 1 1.3. Organizao .................................................................................................. 1 2. Reviso Bibliogrfica ........................................................................................... 3 2.1. Sistema operacional ...................................................................................... 3 2.1.1. Linux ................................................................................................. 4 2.2. Sistema de arquivos ...................................................................................... 6 2.2.1. Sistema de arquivos local ................................................................. 6 2.2.2. Sistema de arquivos de rede ............................................................ 7 2.2.3. Sistema de arquivos distribudo ........................................................ 8 2.2.4. Sistema de arquivos paralelo............................................................ 9 2.3. Virtualizao................................................................................................ 10 2.3.1. Virtualizao completa .................................................................... 12 2.3.2. Paravirtualizao ............................................................................ 12 2.3.3. Recompilao dinmica .................................................................. 13 2.4. Produtos analisados .................................................................................... 13 2.4.1. DRBD ............................................................................................. 13 2.4.2. RSYNC ........................................................................................... 14 2.4.3. PVFS .............................................................................................. 15 2.5. Ferramentas auxiliares ................................................................................ 16

III

2.5.1. Slax................................................................................................. 16 2.5.2. Debian ............................................................................................ 16 2.5.3. VirtualBox ....................................................................................... 17 2.5.4. Crontab ........................................................................................... 18 3. Desenvolvimento ............................................................................................... 19 3.1. Programas................................................................................................... 19 3.1.1. Programa de escrita ....................................................................... 19 3.1.2. Programa de leitura ........................................................................ 21 3.2. Ambientes de teste ..................................................................................... 23 3.2.1. Ambiente 1...................................................................................... 24 3.2.2. Ambiente 2...................................................................................... 26 3.2.3. Ambiente 3...................................................................................... 29 3.2.4. Ambiente 4...................................................................................... 32 3.3. Testes realizados ........................................................................................ 35 4. Discusso dos resultados.................................................................................. 37 5. Concluso ......................................................................................................... 46 Referncias Bibliogrficas ..................................................................................... 47

IV

LISTA DE FIGURAS

Figura 1. Sistema Operacional ............................................................................... 4 Figura 2. Smbolo do Linux e de algumas distribuies Linux ................................. 5 Figura 3. Estrutura fsica de um sistema de arquivos local ..................................... 7 Figura 4. Estrutura fsica de um sistema de arquivos de rede................................. 7 Figura 5. Estrutura fsica de um sistema de arquivos distribudo ............................ 9 Figura 6. Estrutura fsica de um sistema de arquivos paralelo ................................ 9 Figura 7. Sistema operacional Linux Slax rodando dentro do Windows 7 ............. 10 Figura 8. Hypervisor do tipo I ................................................................................ 11 Figura 9. Hypervisor do tipo II ............................................................................... 11 Figura 10. Ambiente de gerenciamento do VirtualBox .......................................... 17 Figura 11. Script de escrita.................................................................................... 20 Figura 12. Programa de escrita ............................................................................. 21 Figura 13. Script de leitura .................................................................................... 22 Figura 14. Programa de leitura .............................................................................. 22 Figura 15. Ambientes instalados no VirtualBox ..................................................... 24 Figura 16. Arquitetura lgica do Ambiente 1 ......................................................... 25 Figura 17. Arquitetura fsica do Ambiente 1 .......................................................... 25 Figura 18. Mquina virtual do Ambiente 1 executando ......................................... 26 Figura 19. Arquitetura lgica do Ambiente 2 ......................................................... 27 Figura 20. Arquitetura fsica do Ambiente 2 .......................................................... 27

Figura 21. Mquina virtual 1 (drbd_node01) executando ...................................... 28 Figura 22. Mquina virtual 2 (drbd_node02) executando ...................................... 28 Figura 23. Script Sincronizar.sh ............................................................................ 29 Figura 24. Sincronizar.sh configurado no crontab ................................................. 29 Figura 25. Arquitetura lgica do Ambiente 3 ......................................................... 30 Figura 26. Arquitetura fsica do Ambiente 3 .......................................................... 30 Figura 27. Mquina virtual 1 (rsync_node01) executando ..................................... 31 Figura 28. Mquina virtual 2 (rsync_node02) executando ..................................... 31 Figura 29. Arquitetura lgica do Ambiente 4 ......................................................... 33 Figura 30. Arquitetura fsica do Ambiente 4 .......................................................... 33 Figura 31. Mquina virtual 1 (pvfs_node01) executando ....................................... 34 Figura 32. Mquina virtual 2 (pvfs_node02) executando ....................................... 34 Figura 33. Mquina virtual 3 (pvfs_node03) executando ....................................... 35 Figura 34. Teste de escrita no Ambiente 1 ............................................................ 36 Figura 35. Teste de leitura no Ambiente 1 ............................................................ 36 Figura 36. Grfico do tempo gasto no teste de escrita no Ambiente 1 .................. 37 Figura 37. Grfico do tempo gasto no teste de leitura no Ambiente 1................... 38 Figura 38. Grfico do tempo gasto no teste de escrita no Ambiente 2 (DRBD) .... 38 Figura 39. Grfico do tempo gasto no teste de leitura no Ambiente 2 (DRBD) ..... 39 Figura 40. Grfico do tempo gasto no teste de escrita no Ambiente 3 (RSYNC) .. 40 Figura 41. Grfico do tempo gasto no teste de leitura no Ambiente 3 (RSYNC) ... 40 Figura 42. Grfico do tempo gasto no teste de escrita no Ambiente 4 (PVFS) ..... 41

VI

Figura 43. Grfico do tempo gasto no teste de leitura no Ambiente 4 (PVFS) ...... 42 Figura 44. Grfico da comparao do desempenho de escrita nos ambientes de teste ...................................................................................................................... 42 Figura 45. Grfico da comparao do desempenho de escrita nos ambientes de teste 1, 2 e 3.......................................................................................................... 43 Figura 46. Grfico da comparao do desempenho de leitura nos ambientes de teste ...................................................................................................................... 44 Figura 47. Grfico da comparao do desempenho de leitura nos ambientes de teste 1, 2 e 3.......................................................................................................... 45

VII

RESUMO

Com o avano dos sistemas operacionais e das redes de computadores, foram surgindo novos temas e conceitos na computao, um desses conceitos o de sincronismo. O sincronismo permite que sejam feitas replicaes de dados entre computadores distintos pela rede, mantendo-os espelhados, desse modo,

aumentando a confiabilidade de computadores que no podem ter os seus dados perdidos. Existem algumas ferramentas que podem ser utilizadas na sincronizao entre computadores distintos, como: os programas DRBD e RSYNC, ambos para o sistema operacional Linux, e o sistema de arquivos PVFS. Esse trabalho tem o intuito de comparar o desempenho de um sistema de arquivos em ambientes gerenciados pelas ferramentas de sincronismo DRBD, RSYNC e PVFS, verificando a interferncia dessas ferramentas no

desempenho do sistema de arquivos.

PALAVRAS-CHAVE: Sincronismo, Sistemas de arquivos, PVFS, DRBD, RSYNC, Desempenho.

1. INTRODUO
Esse captulo est dividido em trs tpicos, no primeiro sero abordados os objetivos do trabalho, no segundo ser apresentada a justificativa do tema, e no terceiro tpico ser apresentada a organizao do trabalho.

1.1. OBJETIVOS Este trabalho tem como objetivo comparar o desempenho de um sistema de arquivos em ambientes gerenciados pelo DRBD, RSYNC e PVFS. Desse modo, ser analisado se o uso desses programas afetam no desempenho do sistema de arquivos, verificando e comparando o desempenho dos ambientes.

1.2. JUSTIFICATIVA DO TEMA Com o crescente uso da informtica e o aumento do trfego das informaes na rede, algumas instituies passaram a utilizar o conceito de sincronizao de dados para evitar a perda de informaes, facilitar o uso de compartilhamento de informaes entre usurios de uma rede ou proporcionar ambientes de alta disponibilidade. Esse trabalho foi desenvolvido com o intuito de proporcionar um estudo comparativo no desempenho de ambientes que utilizam as ferramentas de sincronizao DRBD, RSYNC e PVFS, comparando os ambientes e analisando os seus respectivos desempenhos, desse modo, poder servir de auxlio para aqueles que desejam implementar um ambiente com alguma dessas ferramentas.

1.3. ORGANIZAO Este trabalho est organizado em cinco captulos. No primeiro captulo, Introduo, so apresentados os objetivos do trabalho, a justificativa do tema e a organizao da monografia.

No segundo captulo, Reviso Bibliogrfica, so apresentados os assuntos relacionados ao tema do trabalho. Nas sees desse captulo so apresentados os conceitos de sistemas operacionais, sistemas de arquivos, virtualizao, bem como os produtos analisados e as ferramentas auxiliares. No terceiro captulo, Desenvolvimento, so apresentados os ambientes de teste utilizados na produo do trabalho, os programas responsveis pelos testes e os testes realizados para efeito de concluso do trabalho. O quarto captulo aborda a discusso dos resultados obtidos a partir dos testes realizados nos ambientes propostos no trabalho. O quinto captulo apresenta a concluso obtida a partir da discusso dos resultados.

2. REVISO BIBLIOGRFICA
Nesse captulo sero abordados os conceitos fundamentais para o

entendimento do trabalho. Os conceitos abordados sero sobre sistema operacional, sistema de arquivos, virtualizao, assim como os produtos analisados no trabalho (DRBD, RSYNC e PVFS), e as ferramentas auxiliares utilizadas no desenvolvimento do trabalho (Slax, Debian, VirtualBox e Crontab).

2.1. Sistema Operacional Segundo Tanembaum e Woodhull (2003), o software de computador pode ser dividido em duas partes, os softwares responsveis pelo gerenciamento do computador e os softwares responsveis por executar o que realmente o usurio deseja. O sistema operacional o programa de sistema mais fundamental, pois o responsvel por controlar todos os recursos do computador e por fornecer a base para que os programas aplicativos sejam escritos. Existe uma grande variedade de sistemas operacionais, existem sistemas operacionais para computadores de grande porte, para servidores, para multiprocessadores, para computadores pessoais, para cartes inteligentes, e outros menos conhecidos. Os sistemas operacionais possuem conceitos bsicos fundamentais. Um conceito fundamental para qualquer sistema operacional o de processo, um processo um programa em execuo. Outro conceito bsico fundamental para qualquer sistema operacional o de arquivo, de acordo com Silberschatz, Galvin e Gagne (2000), um arquivo uma coleo de informaes que contm um nome e fica armazenado na memria de massa, o arquivo pode armazenar diversos tipos de informaes e um recurso criado para facilitar o gerenciamento das peculiaridades do sistema operacional.

Tanembaum e Woodhull (2003) enfocam que os sistemas operacionais utilizam um recurso chamado diretrio, esse recurso responsvel por organizar os arquivos, listando-os por nome e incluindo informaes para os arquivos, como o seu tipo, o proprietrio, a hora de criao do arquivo, o seu tamanho, entre outras informaes. O sistema operacional est localizado sobre o hardware do computador e o responsvel por fornecer a estrutura para os programas aplicativos, desse modo, o intermedirio entre hardware e programas aplicativos (Figura 1).

Figura 1 - Sistema Operacional

2.1.1. Linux O Linux um sistema operacional baseado no sistema operacional Unix, de acordo com Alves (2006), o kernel do Linux foi desenvolvido por Linus Torvalds com o apoio de outros programadores. Sua arquitetura pode ser dividida em kernel (ncleo), Shell (casca) e as ferramentas e aplicativos. O kernel o componente do sistema operacional responsvel por prover a abstrao entre o hardware e o software, gerenciando o hardware e possibilitando que os programas usem os recursos do computador.

O Shell (casca) um programa que possibilita a interao entre o usurio do computador e o sistema operacional atravs de comandos, um Shell famoso do Linux o Bash. Associando com o Windows, pode-se dizer que o Shell o prompt de comandos. Uma distribuio Linux a juno do kernel com ferramentas de terceiros, essas ferramentas podem ser focadas em um ou mais ramos especficos. O sistema operacional Linux conhecido mundialmente e um software livre baseado na licena GNU/GPL. A licena GNU/GPL diz que todos podem alterar, recompilar e corrigir os erros do sistema, porm, essas alteraes devem ser redistribudas gratuitamente para os usurios do sistema operacional. Existem muitas distribuies Linux, cada uma com suas particularidades especficas, e o usurio pode ainda torn-las mais especficas, pois o Linux um sistema modular e pode ser modificado de acordo com as necessidades pessoais de cada um. Algumas distribuies Linux conhecidas so: Slackware, Debian, Ubuntu, Fedora, Kurumin, CentOS e Slax. Cada distribuio Linux tem um smbolo representativo caracterstico, conforme pode ser visto na Figura 2.

Figura 2 - Smbolo do Linux e de algumas distribuies Linux (DEVELOPERWORKS, 2012)

2.2. Sistema de Arquivos Os dados precisam ser armazenados em uma memria de massa para no serem perdidos aps o desligamento da mquina. Os sistemas de arquivos so responsveis pelo gerenciamento dos dados que so armazenados na memria de massa. Segundo Silberschatz, Galvin e Gagne (2000), o sistema de arquivos o recurso responsvel por fornecer a estrutura para armazenamento e acesso a dados e programas do sistema operacional, composto por uma coleo de arquivos e uma estrutura de diretrios, essa estrutura responsvel pela organizao dos arquivos no sistema. Existem diversos tipos de sistemas de arquivos, cada um com as suas caractersticas, assim, a escolha do sistema de arquivos varia de acordo com a necessidade apresentada.

2.2.1. Sistema de arquivos local O sistema de arquivos local o recurso responsvel pela estrutura de armazenamento e acesso a dados que ocorrem no dispositivo de

armazenamento secundrio da mquina local. o tipo de sistema de arquivos geralmente usado em uma instalao convencional de um sistema operacional, na qual o usurio deseja utilizar o computador de maneira simples e individual sem precisar recorrer a estruturas complexas de armazenamento e acesso a dados. Existem diversas implementaes de sistemas de arquivos local, tanto para sistemas operacionais do tipo Linux quanto para sistemas operacionais do tipo Windows, cada implementao contm as suas prprias caractersticas. Dentre algumas implementaes de sistemas de arquivos do tipo local pode-se citar o NTFS e o FAT32 para Windows, e o EXT3 e o ReiserFS para Linux. A Figura 3 representa a estrutura fsica de um sistema de arquivos local, apresentando um computador e o seu disco local.

Figura 3 - Estrutura fsica de um sistema de arquivos local

2.2.2. Sistema de arquivos de rede O sistema de arquivos de rede permite o compartilhamento de arquivos entre mquinas de uma rede de computadores como se os arquivos compartilhados estivessem no disco rgido local do usurio (Figura 4). O sistema de arquivos de rede um recurso que facilita o desenvolvimento de projetos que so feitos em equipe, pois os usurios podem acessar os arquivos que esto em rede como se estivessem em sua mquina local sem precisar se preocupar com senhas ou comandos especiais. Essa tecnologia foi criada inicialmente pela Sun com o nome de NFS (Network File System) (RED HAT, 2012).

Figura 4 - Estrutura fsica de um sistema de arquivos de rede

2.2.3. Sistema de arquivos distribudo Um sistema de arquivos distribudo um tipo de sistema de arquivos que reside em diversos locais em uma rede, porm, se apresenta para o usurio como um sistema de arquivos tradicional, desse modo, a tcnica de distribuio transparente para o usurio (Figura 5) (CHOW; JOHNSON, 1998 apud GRAEBIN, 2007). Um sistema de arquivos distribudo gerencia um conjunto de dispositivos de armazenamento dispersos fisicamente, sua estrutura de armazenamento total composta por dispositivos remotos. (SILBERSCHATZ; GALVIN; GAGNE, 2000). Segundo Coulouris, Dollimore e Kindberg (2007), os sistemas de arquivos distribudos possibilitam o compartilhamento de informaes em toda uma intranet, pois permitem o armazenamento e acesso de arquivos remotamente como se fossem arquivos locais. O desempenho e a confiabilidade do acesso aos arquivos armazenados no servidor so iguais ou at melhores que os arquivos armazenados de forma local, pois esse tipo de sistema de arquivos foi projetado para as caractersticas das redes locais, portanto, so mais eficientes no armazenamento compartilhado. Os sistemas de arquivos distribudos utilizam trs servios que tornam o ambiente fcil para os usurios, escondendo a complexidade na nomeao global, no acesso aos arquivos que esto dispersos pela rede e na organizao dos arquivos dispersos pela rede, esses trs servios so respectivamente: o servio de nomes, o servio de arquivos e o servio de diretrios (GALLI, 2000 apud GRAEBIN, 2007). Algumas caractersticas devem ser levadas em considerao no

desenvolvimento de sistemas de arquivos distribudos, de acordo com Coulouris, Dollimore e Kindberg (2007), a alterao de um determinado arquivo por um cliente no deve apresentar interferncia nos outros clientes que esto alterando o mesmo arquivo simultaneamente, quando houver escrita em um arquivo os clientes devero ser avisados, desse modo, a incoerncia dos arquivos ser evitada e os dados se mantero sincronizados.

Figura 5 - Estrutura fsica de um sistema de arquivos distribudo

2.2.4. Sistema de arquivos paralelo Os sistemas de arquivos paralelo surgiram com o propsito de suprir a necessidade de desempenho encontrada nos sistemas de arquivos

distribudos, portanto, os sistemas de arquivos paralelo so sistemas de arquivos distribudo com foco em melhor desempenho (CARVALHO, 2003). A Figura 6 apresenta a estrutura fsica de um sistema de arquivos paralelo.

Figura 6 - Estrutura fsica de um sistema de arquivos paralelo

10

O sistema de arquivos paralelo utiliza vrios discos para armazenar os dados, isso reduz o gargalo gerado pelo acesso constante a um nico disco, esse gargalo ocorre pelo fato de a velocidade de acesso aos dados no meio de armazenamento no ter evoludo como a velocidade dos processadores e da transmisso de dados.

2.3. Virtualizao A virtualizao uma tcnica que possibilita que um computador fsico funcione como se fosse vrios computadores, esses vrios computadores so virtualizados por meio de um software, desse modo, emulam computadores fsicos reais, porm, esto instalados em um nico sistema hospedeiro, portanto, possvel que o usurio tenha um sistema operacional instalado em uma mquina real e execute nas virtuais outros sistemas operacionais. Na Figura 7 pode-se observar um sistema operacional sendo emulado em uma mquina virtual gerenciada por um software de virtualizao (hypervisor) que est instalado no sistema operacional hospedeiro.

Figura 7 - Sistema operacional Linux Slax rodando dentro do Windows 7

11

Segundo Manara (2007), a virtualizao surgiu nos anos 60, e tinha como objetivo reduzir os custos com equipamentos e aproveitar melhor a capacidade dos recursos fsicos computacionais, pois os recursos fsicos no eram totalmente aproveitados e ficavam ociosos boa parte do tempo. De acordo com Andrade (2006), para criar uma mquina virtual preciso um software para proporcionar uma camada de virtualizao, esse software chamado de hypervisor. O hypervisor pode ser de dois tipos: o primeiro tipo executado diretamente no hardware da mquina (Figura 8) e o segundo tipo executado sobre um sistema operacional hospedeiro que est instalado no hardware do computador (Figura 9).

Figura 8 - Hypervisor do tipo I.

Figura 9 - Hypervisor do tipo II.

12

A virtualizao apresenta diversas vantagens, como: diminuir o nmero de equipamentos e aproveitar melhor o espao fsico, facilitar o gerenciamento dos computadores, diminuir os gastos com equipamentos e pessoas, possibilitar um ambiente de teste sem que esse precise ser o sistema operacional real ou possibilitar um ambiente de teste sem que seja preciso ter muitos recursos computacionais para operacionais. A virtualizao tambm apresenta desvantagens, pode-se citar como desvantagem a perda de desempenho das aplicaes e o grande consumo de processamento e memria das mquinas virtuais (MANARA 2007). Existem trs formas de virtualizao: a virtualizao completa, a instalao dos vrios sistemas

paravirtualizao e a recompilao dinmica (ANDRADE, 2006).

2.3.1. Virtualizao Completa Segundo Andrade (2006), a virtualizao completa uma tcnica que permite a virtualizao de um sistema operacional sem que ele precise ser modificado, pois esse tipo de virtualizao emula o hardware completo da mquina. Nesse tipo de virtualizao o desempenho da mquina virtual pode ser penalizado, pois j que o hardware virtualizado, a VMM quem deve interpretar as instrues. A arquitetura x86 no foi projetada para ser virtualizada, pois essa arquitetura foi implementada a partir de arquiteturas anteriores.

2.3.2. Paravirtualizao A paravirtualizao uma tcnica alternativa que busca contornar os problemas de desempenho da virtualizao completa. Na paravirtualizao o sistema operacional virtualizado deve chamar a mquina virtual sempre que for preciso executar uma instruo mais complexa, isso implica em ter que modificar o sistema virtualizado trocando as suas instrues diretas por chamadas a mquina virtual (CARISSIMI, 2009).

13

Na tcnica de paravirtualizao o sistema operacional que ser virtualizado sofre alteraes no kernel para que a sua interao com o programa de virtualizao seja mais eficiente, desse modo, o sistema operacional virtualizado perde em portabilidade j que o seu kernel foi modificado (LAUREANO, 2006). Antigamente os processadores no suportavam a virtualizao nativa, assim, a paravirtualizao facilitava o desenvolvimento de mquinas virtuais, porm, agora que os processadores suportam a virtualizao nativa o principal objetivo da paravirtualizao melhorar o desempenho do sistema virtualizado.

2.3.3. Recompilao dinmica A recompilao dinmica ou traduo dinmica, uma tcnica que compila o cdigo do sistema operacional virtualizado enquanto ele est sendo executado, pois o cdigo gerado pode ser mais eficiente do que o cdigo nativo do sistema operacional no cenrio virtualizado, desse modo, o sistema virtualizado pode ser melhorado com base no cdigo gerado pela tcnica de recompilao dinmica (LAUREANO, 2006).

2.4. Produtos analisados Nessa seo sero apresentados os produtos analisados nesse trabalho, esses produtos foram fundamentais para a implementao do trabalho. Na subseo 2.4.1, ser descrito o programa para sincronismo DRBD. A subseo 2.4.2, a responsvel pela descrio do programa para sincronismo RSYNC. Por fim, a subseo 2.4.3, descrever o sistema de arquivos paralelo PVFS.

2.4.1. DRBD O DRBD um software que permite fazer replicao de dados pela rede entre dois servidores distintos, desse modo, mantm os dados sincronizados e

14

espelhados entre os dispositivos, esse um recurso usado em servidores que no podem ter os seus dados perdidos (BAIOCCO, 2012) (MELLO, 2012). O DRBD possibilita o aumento da disponibilidade de servios e aplicaes, pois implementa alta disponibilidade no ambiente, desse modo, se um servidor ficar inativo podemos recorrer ao outro servidor que contm os dados replicados (MELLO, 2012). No DRBD as duas mquinas podem acessar a rea sincronizada, porm, enquanto as duas estiverem acessando essa rea o sincronismo no ser efetuado. As mquinas podem ser configuradas como primary e secondary, a primary tem direito de escrever e acessar o dispositivo configurado na sincronizao, a secondary permanece em funcionamento, porm, inacessvel. Essa mudana entre primary e secondary feita atravs de um nico comando. O DRBD funciona manualmente, pois o usurio quem deve controlar as alteraes entre os dispositivos, o DRBD se encarrega apenas na exibio de uma rea comum (sincronizada) entre as mquinas.

2.4.2. RSYNC O RSYNC um programa utilizado em sistemas do tipo UNIX para sincronizar os dados remotamente entre duas mquinas, esse programa funciona de forma inteligente, pois no envia todos os dados de uma mquina para outra. O RSYNC utiliza um protocolo chamado remote-update que transfere somente o que diferente entre os arquivos de ambos os computadores, isso aumenta a velocidade na sincronizao e diminui a quantidade de arquivos transferidos (PAULA, 2012). O RSYNC encontrado em quase todas as distribuies Linux e pode ser utilizado em pelo menos quatro situaes (sincronizao de arquivos entre dois diretrios locais, sincronizao de arquivos de uma mquina local para um servidor remoto, sincronizao de arquivos de um servidor para uma mquina local ou listagem de arquivos de um diretrio em um servidor remoto).

15

O RSYNC no contm nenhuma opo para sincronismo automtico, pois quando o usurio deseja sincronizar os discos ele deve executar um comando manualmente.

2.4.3. PVFS Segundo Carvalho (2003), o PVFS (Parallel Virtual File System) um sistema de arquivos distribudo e paralelo que objetiva melhorar o trfego dos dados pela rede ou pela velocidade de armazenamento fsico. Existem alguns problemas no PVFS referentes segurana no acesso aos dados, pois se os clientes souberem onde os dados se encontram fisicamente podero pedir para os ns de armazenamento e os ns respondero sem a necessidade de validao para a permisso do acesso aos dados solicitados. O PVFS contm alguns componentes. Um dos principais componentes do PVFS o servidor de meta-dados, esse o responsvel por gerenciar as propriedades dos arquivos como o nome, o tipo e a localizao, menos o seu contedo. Outro componente o servidor de dados, esse o responsvel por gerenciar o armazenamento do contedo dos arquivos gravando os dados em um sistema de arquivos local. No PVFS se o servidor de meta-dados ficar indisponvel apenas os arquivos que j estavam abertos continuaro acessveis, os outros arquivos do sistema ficaro inacessveis. O servidor de meta-dados nico (centralizado), desse modo, pode se tornar um gargalo no sistema. O desempenho do PVFS pode variar dependendo do nmero de servidores de dados, da localizao dos dados, do nmero de clientes acessando os dados simultaneamente, da ao realizao (leitura ou escrita) e da capacidade dos dispositivos. recomendado que se use o PVFS apenas em aplicaes que so de uso privado, pois os problemas de segurana e de disponibilidade podem afetar o seu uso em aplicaes comerciais. Existe uma reimplementao do PVFS,

16

essa reimplementao aperfeioa algumas caractersticas do PVFS e adiciona algumas novas caractersticas.

2.5. Ferramentas auxiliares Nessa seo sero apresentadas as ferramentas que auxiliaram a construo desse trabalho. As ferramentas que sero descritas nas prximas subsees serviram de base para que o trabalho pudesse ser concretizado. A subseo 2.5.1, a responsvel pela descrio do sistema operacional Linux Slax. A subseo 2.5.2, descrever o sistema operacional Linux Debian. Na subseo 2.5.3, o programa VirtualBox ser descrito. Por fim, a subseo 2.5.4, descrever o recurso crontab.

2.5.1. Slax A distribuio Linux Slax tem por objetivo ser leve e fcil de portar, conforme destacado na pgina do projeto.
O Slax um sistema operacional Linux moderno, porttil, pequeno e rpido com uma abordagem modular e excelente design. Apesar do seu tamanho reduzido, o Slax proporciona uma vasta coleo de softwares pr-instalados para o uso dirio, incluindo uma interface grfica bem organizada e ferramentas de recuperao teis para administradores de sistema (SLAX, 2012)".

O Slax uma distribuio que pode ser executada diretamente do CD (Live CD) sem a necessidade de ser instalada no disco rgido.

2.5.2 Debian O Debian GNU/Linux, ou simplesmente Debian, um sistema operacional do tipo Linux.

17

O Debian conta com mais de 29000 pacotes de software, todos esses softwares so livres. O Debian pode ser executado na maioria dos computadores pessoais, pois a maioria dos dispositivos comuns so suportados por esse sistema operacional (DEBIAN, 2012).

2.5.3. VirtualBox O VirtualBox um software emulador que cria mquinas virtuais que rodam sobre um software gerenciador (Tipo 2), conforme pode ser visto na Figura 10. uma ferramenta bastante conhecida e utilizada no mercado de virtualizao. As ferramentas do VirtualBox so semelhantes s ferramentas de outro software para criao de mquinas virtuais chamado VMware. Segundo Miranda (2010), o VirtualBox foi desenvolvido inicialmente pela empresa alem Innotek. Posteriormente, a Sun adquiriu a Innotek, e em 2010 a Oracle adquiriu a Sun, desse modo, o VirtualBox passou a ser chamado de Oracle VM VirtualBox. O VirtualBox pode ser instalado em sistemas operacionais Windows, MAC OS, Solaris e Linux, e como sistema operacional virtualizado aceita o Windows, o Linux, o Solaris, o OpenSolaris, o FreeBSD e o OS2.

Figura 10 - Ambiente de gerenciamento do VirtualBox

18

2.5.4. Crontab Segundo Menezes (2012), o crontab um recurso dos sistemas operacionais do tipo Unix. Esse recurso responsvel por agendar tarefas para serem executadas automaticamente, as tarefas agendadas pelo crontab so executadas por um programa chamado cron. O cron um programa dos sistemas operacionais do tipo Unix que executa tarefas agendadas no sistema. Portanto, o crontab o responsvel pelo agendamento, e o cron o responsvel por verificar se existem tarefas agendadas e execut-las. O crontab encontrado por padro na maioria das distribuies Linux e o seu agendamento pode ser configurado de diversas maneiras.

19

3. DESENVOLVIMENTO
Nesse captulo ser abordado o desenvolvimento do trabalho. O subtpico 3.1, ser responsvel por apresentar os programas usados no teste de desempenho dos ambientes. O subtpico 3.2, apresentar os ambientes de teste utilizados no desenvolvimento do trabalho. Por fim, o subtpico 3.3, descrever os testes realizados nos ambientes de teste.

3.1. Programas Nesta seo sero abordados os programas utilizados no teste de desempenho dos ambientes. Foram usados dois programas, um programa para fazer a escrita e outro para fazer a leitura nos ambientes, esses programas eram executados atravs de dois scripts. A subseo 3.1.1, descreve o programa usado para escrita e o script responsvel pela execuo do programa. A subseo 3.1.2, descreve o programa usado para leitura e o script responsvel pela execuo desse programa.

3.1.1 Programa de escrita O programa de escrita foi o responsvel pelo teste de escrita nos ambientes. Esse programa foi executado indiretamente por um script. O script est programado para executar em um lao com 10 iteraes (10 vezes), e em cada iterao passa um parmetro para o programa de escrita, esse parmetro o responsvel por fornecer a quantidade de lotes que devem ser executados pelo programa. O nmero de lotes para cada execuo do script : 100, 200, 300, 400, 500, 1000, 1500, 2000, 2500 e 3000. O programa de escrita executado indiretamente pelo script, e o nmero de lotes passado por parmetro o responsvel pela quantidade de vezes que o programa executar o lao mais interno. O lao mais interno o responsvel por indicar quantas vezes ser escrito no disco na execuo de cada lote.

20

Para escrever no disco existe uma varivel com um contedo definido, esse contedo escrito em um arquivo de texto criado na execuo do lao de escrita. Existem duas variveis responsveis por armazenar o inicio e o final da execuo do programa. Foi usada uma funo denominada difftime responsvel por computar a diferena dos tempos de inicio e final da execuo. As Figuras 11 e 12 apresentam respectivamente os cdigos do script e do programa de escrita.

Figura 11 - Script de escrita

21

Figura 12 - Programa de escrita

3.1.2 Programa de leitura O programa de leitura e o script para executar o programa so semelhantes aos usados no teste de escrita. As nicas diferenas dos programas e dos scripts de leitura e de escrita, so: a linha em que o programa de escrita solicita que seja escrito no arquivo foi substituda por uma linha que solicita que sejam lidos os dados do arquivo. No script de leitura a palavra escrita substituda pela palavra leitura. As Figuras 13 e 14 apresentam respectivamente os cdigos do script e do programa de leitura.

22

Figura 13 - Script de leitura

Figura 14 - Programa de leitura

23

3.2. Ambientes de teste Nesta seo sero apresentadas as descries dos ambientes usados no teste. Na subseo 3.1.1, descrito o ambiente 1 que no utilizou nenhum programa para sincronismo. Na subseo 3.1.2, descrito o ambiente 2, esse utilizou o programa DRBD para sincronismo. A subseo 3.1.3 descreve o ambiente 3, esse utilizou o programa RSYNC para sincronismo. Por fim, a subseo 3.1.4 descreve o ambiente 4, esse utilizou o sistema de arquivos PVFS para manter o sincronismo entre as mquinas. Todas as mquinas foram configuradas com dois discos do tipo IDE com o sistema de arquivos EXT3, esses discos foram denominados hda1 e hdb1, o hda1 foi usado para a instalao do sistema operacional e o hdb1 foi usado exclusivamente para o teste de leitura e escrita. Todos os discos hdb1 (discos de teste) tinham espao de armazenamento de 4GB. As outras configuraes feitas diretamente no VirtualBox para as mquinas virtuais foram idnticas, todas as mquinas foram configuradas com 256 MB de memria RAM, dispositivos de udio, USB e portas seriais desabilitados, memria de vdeo de 4 MB, e tipo de sistema Linux 2.6. mquina anfitri onde foram implementados os ambientes de teste tinha a seguinte configurao: Sistema operacional Windows 7 verso Ultimate de 64 bits, processador Intel Core i5 de 2.4 GHz, disco de armazenamento de 640 GB e 6 GB de memria RAM do tipo DDR3. A Figura 15 apresenta as mquinas virtuais utilizadas em cada ambiente instaladas no software de virtualizao VirtualBox, prontas para serem executadas.

24

Figura 15 - Ambientes instalados no VirtualBox

3.2.1. Ambiente 1 O Ambiente 1 foi o mais simples de implementar, pois esse ambiente utilizou apenas uma mquina virtual, desse modo, no foi utilizado nenhum mecanismo para sincronismo de discos. O disco hda1 dessa mquina tinha capacidade de armazenamento de 2GB, nesse disco foi instalado o sistema operacional Linux Slax com a verso do kernel 2.6.24.5. Nesse ambiente os programas de leitura e de escrita foram utilizados no disco de armazenamento criado para teste, o hdb1. Os valores resultantes do teste desse ambiente serviram de ponto inicial para comparao com os outros ambientes. A Figura 16 apresenta o esquema lgico desse cenrio, a Figura 17 apresenta o esquema fsico desse cenrio, e a Figura 18 apresenta esse cenrio sendo executado atravs de sua mquina virtual.

25

Figura 16 - Arquitetura lgica do Ambiente 1

Figura 17 - Arquitetura fsica do Ambiente 1

26

Figura 18 - Mquina virtual do Ambiente 1 executando

Na Figura 18, pode-se observar os dois discos hda1 e hdb1 sendo exibidos, isso mostra que os dois discos descritos anteriormente esto funcionando.

3.2.2. Ambiente 2 O ambiente 2 utilizou duas mquinas virtuais, denominadas drbd_node01 e drbd_node02, e o programa DRBD para sincronizar o disco de teste das duas mquinas. O disco hda1 tinha capacidade de armazenamento de 2GB e continha o sistema operacional Linux Debian com a verso de kernel 2.6.32. A mquina virtual 1 foi configurada como primary, portanto, essa mquina era a responsvel pela escrita dos dados no disco de teste. A mquina virtual 2 estava configurada como secondary, desse modo, permaneceu em

sincronismo com a mquina 1, porm, em estado inacessvel (O DRBD no sincroniza enquanto existir acesso paralelo). Nesse ambiente o script de leitura e escrita foi usado no disco de teste (hdb1) da mquina virtual drbd_node01. A Figura 19 apresenta o esquema lgico desse cenrio, a Figura 20 apresenta o esquema fsico desse cenrio, e as Figuras 21 e 22 apresentam a execuo do cenrio por meio de suas mquinas virtuais (drbd_node01 e drbd_node02).

27

Figura 19 - Arquitetura lgica do Ambiente 2

Figura 20 - Arquitetura fsica do Ambiente 2

Na figura abaixo (Figura 21), pode-se observar a mquina virtual drbd_node01 sendo executada e utilizando o DRBD como primary, criando um diretrio de teste para que o drbd_node02 visualize e apague, desse modo, mostrando o funcionamento do DRBD. No final do exemplo o drbd_node01 recebe o comando para passar a executar como secondary.

28

Figura 21 - Mquina virtual 1 (drbd_node01) executando

Na Figura 22, pode-se observar a mquina virtual drbd_node02 sendo executada, utilizando o DRBD como secondary e passando para primary. O diretrio criado pelo drbd_node01 apagado, e por fim criado um novo diretrio atravs do drbd_node02. Esse exemplo mostra que o DRBD est funcionando corretamente.

Figura 22 - Mquina virtual 2 (drbd_node02) executando

29

3.2.3. Ambiente 3 O ambiente 3 utilizou duas mquinas virtuais, denominadas por rsync_node01 e rsync_node02, e o programa RSYNC para sincronizar o disco de teste das duas mquinas. O disco hda1 tinha capacidade de armazenamento de 2GB e continha o sistema operacional Linux Slax com a verso de kernel 2.6.24.5. Nesse ambiente foi utilizado um script denominado Sincronizar.sh para efetuar o sincronismo automaticamente entre os dois ns, j que o RSYNC faz o sincronismo de forma manual atravs de um comando. O Sincronizar.sh um script que contm o comando manual de sincronizao do RSYNC (Figura 23), portanto, o responsvel pelo sincronismo do Ambiente 3 (RSYNC). O Sincronizar.sh est localizado no rsync_node01, nos diretrios /usr e /bin, respectivamente. Esse script foi configurado no crontab para executar a todo momento (Figura 24). O Sincronizar.sh faz o sincronismo de um diretrio que foi criado nos discos hdb1 das duas mquinas virtuais, esse diretrio recebeu o nome de comum. O sincronismo feito do disco de teste (hdb1) da mquina virtual 1 (rsync_node01) para a mquina virtual 2 (rsync_node02), desse modo, os dados da mquina 1 so os que prevalecem.

Figura 23 - Script Sincronizar.sh

Figura 24 - Sincronizar.sh configurado no crontab

30

Nesse ambiente o script de leitura e escrita foi executado no disco de teste (hdb1) da mquina virtual rsync_node01. A Figura 25 apresenta o esquema lgico desse cenrio, a Figura 26 apresenta o esquema fsico desse cenrio, e as Figuras 27 e 28 apresentam a execuo do cenrio por meio de suas mquinas virtuais (rsync_node01 e

rsync_node02).

Figura 25 - Arquitetura lgica do Ambiente 3

Figura 26 - Arquitetura fsica do Ambiente 3

31

Na Figura 27, pode-se observar a mquina virtual rsync_node01 sendo executada, criando um diretrio de teste denominado node01 e apagando-o, e depois criando outro diretrio denominado sincronizando_os_nodes. Esse exemplo ser usado para visualizar o sincronismo gerenciado pelo RSYNC nesse ambiente.

Figura 27 - Mquina virtual 1 (rsync_node01) executando

Na Figura 28, pode-se observar a mquina virtual rsync_node02 sendo executada e listando o contedo do diretrio sincronizado pelo RSYNC duas vezes. Na primeira listagem o diretrio sincronizado apresentou o primeiro contedo criado pelo rsync_node01 anteriormente, que foi o diretrio denominado node01. Na segunda listagem o diretrio sincronizado apresentou o segundo contedo criado pelo rsync_node01 que foi o diretrio

sincronizando_os_nodes. Esse exemplo de teste mostra que o Ambiente 3 (RSYNC) est funcionando corretamente.

Figura 28 - Mquina virtual 2 (rsync_node02) executando

32

3.2.4. Ambiente 4 O Ambiente 4 utilizou trs mquinas virtuais para realizao dos testes, as mquinas foram chamadas de pvfs_node01, pvfs_node02 e pvfs_node03, e so respectivamente um servidor de meta-dados e dois servidores. Esse ambiente usou o sistema de arquivos PVFS para sincronizar os discos. Os discos hda1 tinham 2 GB de capacidade de armazenamento e continham o sistema operacional Linux Slax com a verso de kernel 2.6.24.5. Nesse ambiente os discos de teste das mquinas virtuais funcionaram como se existisse apenas um disco, pois o PVFS foi configurado nesse disco e se encarregou em fazer a transparncia no acesso aos dados, desse modo, ocorreu o sincronismo entre os discos de teste. Se a mquina virtual 1 ficasse inacessvel, o PVFS deixaria de funcionar, pois a mquina virtual 1 estava configurada como servidor de meta-dados. O script de leitura e escrita foi executado no disco hdb1 da mquina virtual 1 (pvfs_node01). A Figura 29 apresenta o esquema lgico desse cenrio, a Figura 30 apresenta o esquema fsico desse cenrio, e as Figuras 31, 32 e 33 apresentam a execuo do cenrio por meio de suas mquinas virtuais

(pvfs_node01,pvfs_node02 e pvfs_node03).

33

Figura 29 - Arquitetura lgica do ambiente 4

Figura 30 - Arquitetura fsica do Ambiente 4

34

Na Figura 31, pode-se observar a mquina virtual pvfs_node01 sendo executada, listando o contedo do diretrio sincronizado pelo PVFS cinco vezes, desse modo, mostrando o que est sendo criado e apagado nas mquinas virtuais pvfs_node02 e pvfs_node03. possvel observar que o contedo das listagens so diferentes, pois so determinados conforme os outros ns do PVFS.

Figura 31 - Mquina virtual 1 (pvfs_node01) executando

Na Figura 32, pode-se observar a mquina virtual pvfs_node02 sendo executada, criando diretrios e removendo um diretrio j criado pela mquina virtual pvfs_node03. Esse exemplo mostra o funcionamento desse ambiente.

Figura 32 - Mquina virtual 2 (pvfs_node02) executando

35

Na Figura 33, pode-se observar a mquina virtual pvfs_node03 sendo executada, criando o diretrio que foi apagado pelo pvfs_node02, como foi mostrado na figura anterior. Essa figura conclui a exemplificao do sincronismo efetuado nesse ambiente.

Figura 33 - Mquina virtual 3 (pvfs_node03) executando

3.3. Testes realizados Os testes de escrita e de leitura foram feitos de forma similar. No ambiente 1, o programa de escrita e o programa de leitura foram executados a partir do disco de teste hdb1. Nos outros ambientes os programas foram executados nas reas gerenciadas pelos programas de sincronismo. O programa de escrita gravava uma sequencia de oitenta caracteres por quinhentas vezes, e o programa de leitura era o responsvel por recuperar esses oitenta caracteres quinhentas vezes. Nos testes de escrita, o programa de escrita era executado 100, 200, 300, 400, 500, 1000, 1500, 2000, 2500 e 3000 vezes (Figura 34). O mesmo nmero de execues foram feitas no teste de leitura pelo programa de leitura (Figura 35).

36

Figura 34 - Teste de escrita no Ambiente 1

Figura 35 - Teste de leitura no Ambiente 1

37

4. DISCUSSO DOS RESULTADOS

Obteve-se os seguintes resultados a partir dos testes realizados nos ambientes. Em relao a escrita, o Ambiente 1 (ambiente sem sincronismo) teve uma variao entre 1 e 31 segundos, considerando todas as iteraes de lotes. O tempo gasto no teste de escrita desse ambiente para cada iterao foi: 1, 2, 2, 4, 4, 9, 13, 19, 25 e 31 segundos, respectivamente para as iteraes de 100, 200, 300, 400, 500, 1000, 1500, 2000, 2500 e 3000 lotes (Figura 36).

Ambiente 1 - Tempo gasto na escrita


35 30 25 Tempo (segundos) 20 15 10 5 0 100 200 300 400 500 1000 1500 2000 2500 3000 Qte de execues 1 2 2 4 4 9 13 19 25 31

Figura 36 - Grfico do tempo gasto no teste de escrita no Ambiente 1

Em relao a leitura, o Ambiente 1 variou entre 0 e 9 segundos considerando todas as iteraes. O tempo gasto no teste de leitura desse ambiente para cada iterao foi: 1, 0, 1, 2, 1, 3, 5, 6, 7 e 9 segundos, para as iteraes de 100, 200, 300, 400, 500, 1000, 1500, 2000, 2500 e 3000 lotes, respectivamente (Figura 37).

38

Ambiente 1 - Tempo gasto na leitura


10 7 6 Tempo (segundos) 5 3 2 1 0 100 0 200 300 400 500 1000 1500 2000 2500 3000 1 1 5 9

Qte de execues

Figura 37 - Grfico do tempo gasto no teste de leitura no Ambiente 1

Em relao a escrita, o Ambiente 2 (ambiente com o programa DRBD) variou de 1 a 27 segundos considerando todas as iteraes de lotes. O tempo gasto no teste de escrita desse ambiente para cada iterao foi: 1, 2, 3, 3, 4, 9, 14, 17, 21 e 27 segundos, respectivamente para as iteraes de 100, 200, 300, 400, 500, 1000, 1500, 2000, 2500 e 3000 lotes (Figura 38).

Ambiente 2 - Tempo gasto na escrita


30 25 21 20 Tempo (segundos) 15 10 5 0 100 200 300 400 500 1000 1500 2000 2500 3000 Qte de execues 1 2 3 3 4 9 14 17 27

Figura 38 - Grfico do tempo gasto no teste de escrita no Ambiente 2 (DRBD)

39

No Ambiente 2, o teste de leitura variou entre 0 e 7 segundos. As iteraes com 100 e 200 lotes levaram menos de 1 segundo para efetuar a leitura. O tempo gasto no teste de leitura desse ambiente para cada iterao foi: 0, 0, 1, 1, 1, 2, 4, 4, 6 e 7 segundos, respectivamente para as iteraes de 100, 200, 300, 400, 500, 1000, 1500, 2000, 2500 e 3000 lotes (Figura 39).

Ambiente 2 - Tempo gasto na leitura


10 7 6 Tempo (segundos) 5 2 1 0 0 100 0 200 300 400 500 1000 1500 2000 2500 3000 1 1 4 4

Qte de execues

Figura 39 - Grfico do tempo gasto no teste de leitura no Ambiente 2 (DRBD)

No Ambiente 3 (ambiente com o programa RSYNC), o tempo de escrita variou de 1 a 27 segundos. O tempo gasto no teste de escrita desse ambiente para cada iterao foi: 1, 1, 3, 4, 4, 8, 13, 17, 22 e 27 segundos, respectivamente para as iteraes de 100, 200, 300, 400, 500, 1000, 1500, 2000, 2500 e 3000 lotes (Figura 40).

40

Ambiente 3 - Tempo gasto na escrita


30 25 20 Tempo (segundos) 15 10 5 0 100 200 300 400 500 1000 1500 2000 2500 3000 Qte de execues 1 1 3 4 4 8 13 17 22 27

Figura 40 - Grfico do tempo gasto no teste de escrita no Ambiente 3 (RSYNC)

No Ambiente 3, a leitura variou entre 0 e 8 segundos. Da iterao 1 (100 lotes) a iterao 5 (500 lotes) o tempo de leitura oscilou entre 0 e 1 segundo. O tempo gasto no teste de leitura desse ambiente para cada iterao foi: 0, 1, 1, 0, 1, 2, 4, 5, 6 e 8 segundos, respectivamente para as iteraes de 100, 200, 300, 400, 500, 1000, 1500, 2000, 2500 e 3000 lotes (Figura 41).

Ambiente 3 - Tempo gasto na leitura


10 8 6 Tempo (segundos) 5 2 1 0 0 100 200 300 1 0 400 500 1000 1500 2000 2500 3000 1 5 4

Qte de execues

Figura 41 - Grfico do tempo gasto no teste de leitura no Ambiente 3 (RSYNC)

41

No Ambiente 4 (ambiente gerenciado pelo sistema de arquivos PVFS), a leitura variou entre 169 e 5736 segundos. O tempo gasto no teste de leitura desse ambiente para cada iterao foi: 169, 327, 511, 892, 907, 1694, 3127, 3555, 4936 e 5736 segundos, respectivamente para as iteraes de 100, 200, 300, 400, 500, 1000, 1500, 2000, 2500 e 3000 lotes (Figura 42).

Ambiente 4 - Tempo gasto na escrita


6000 5000 4000 3127 Tempo (segundos) 3000 2000 1000 169 0 100 200 300 400 500 1000 1500 2000 2500 3000 Qte de execues 327 511 892 907 1694 3555 4936 5736

Figura 42 - Grfico do tempo gasto no teste de escrita no Ambiente 4 (PVFS)

No Ambiente 4 (ambiente gerenciado pelo sistema de arquivos PVFS), a leitura variou entre 129 e 2843 segundos. O tempo gasto no teste de leitura desse ambiente para cada iterao foi: 129, 264, 373, 444, 557, 1127, 1563, 1992, 2304 e 2843 segundos, respectivamente para as iteraes de 100, 200, 300, 400, 500, 1000, 1500, 2000, 2500 e 3000 lotes (Figura 43).

42

Ambiente 4 - Tempo gasto na leitura


3000 2304 2000 Tempo (segundos) 1000 129 0 100 200 300 400 500 1000 1500 2000 2500 3000 Qte de execues 264 373 444 557 1563 1127 1992 2843

Figura 43 - Grfico do tempo gasto no teste de leitura no Ambiente 4 (PVFS)

Comparando a escrita em todos os ambientes (Figura 44), o Ambiente 4 gerenciado pelo sistema de arquivos PVFS, foi o que apresentou pior desempenho. O tempo de escrita no ocioso do que nos outros ambientes. ambiente com PVFS foi muito mais

Comparao do desempenho de escrita em todos os ambientes


6000 5000 4000 Tempo 3000 (segundos) 2000 1000 0 100 200 300 400 500 1000 1500 2000 2500 3000 Qte de execues Ambiente 1 Ambiente 2 (DRBD) Ambiente 3 (RSYNC) Ambiente 4 (PVFS)

Figura 44 - Grfico da comparao do desempenho de escrita nos ambientes de teste

43

Comparando os ambientes 1, 2 e 3, o desempenho na escrita foi equilibrado, porm, o ambiente 3 (RSYNC) foi o que apresentou melhor desempenho na maioria das execues (Figura 45). Em relao aos Ambientes 2 (DRBD) e 3 (RSYNC), o Ambiente 3 apresentou melhor desempenho 3 vezes se comparado ao Ambiente 2, e o Ambiente 2 apresentou melhor desempenho 2 vezes se comparado ao Ambiente 3, portanto, o Ambiente 3 foi melhor em uma execuo a mais do que o Ambiente 2. Em relao aos Ambientes 1 e 2, o Ambiente 2 apresentou melhor desempenho 4 vezes se comparado ao Ambiente 1, e o Ambiente 1 apresentou melhor desempenho 2 vezes se comparado ao Ambiente 2, portanto, o Ambiente 2 foi melhor em duas execues a mais do que o Ambiente 1.

Comparao do desempenho de escrita nos ambientes 1,2 e 3


35 30 25 Tempo 20 (segundos) 15 10 5 0 100 200 300 400 500 1000 1500 2000 2500 3000 Qte de execues Ambiente 1 Ambiente 2 (DRBD) Ambiente 3 (RSYNC)

Figura 45 - Grfico da comparao do desempenho de escrita nos ambientes de teste 1, 2 e 3

O tempo de leitura tambm foi muito mais alto no ambiente 4 (PVFS), portanto, esse ambiente tambm apresentou pior desempenho nas leituras de dados efetuadas no teste (Figura 46).

44

Comparao do desempenho de leitura em todos os ambientes


3000 2000 1000 0 100 200 300 400 500 1000 1500 2000 2500 3000 Qte de execues Ambiente 1 Ambiente 2 (DRBD) Ambiente 3 (RSYNC) Ambiente 4 (PVFS)

Tempo (segundos)

Figura 46 - Grfico da comparao do desempenho de leitura nos ambientes de teste

Comparando os ambientes 1, 2 e 3, o desempenho na leitura tambm foi equilibrado, porm, o ambiente 2 (DRBD) foi o que apresentou melhor desempenho na maioria das execues (Figura 47). Em relao aos Ambientes 2 e 3, o Ambiente 2 apresentou melhor desempenho 3 vezes se comparado ao Ambiente 3, e o Ambiente 3 apresentou melhor desempenho 1 vez se comparado ao Ambiente 2, portanto, o Ambiente 2 (DRBD) foi melhor em duas execues a mais do que o Ambiente 3 (RSYNC). Em relao aos Ambientes 1 e 3, o Ambiente 1 apresentou melhor desempenho em apenas uma execuo se comparado ao Ambiente 3 (RSYNC), em todas as outras execues, exceto na iterao de 500 lotes, o Ambiente 3 foi melhor do que o Ambiente 1.

45

Comparao do desempenho de leitura nos ambientes 1,2 e 3


10

Tempo (segundos)

0 100 200 300 400 500 1000 1500 2000 2500 3000 Qte de execues Ambiente 1 Ambiente 2 (DRBD) Ambiente 3 (RSYNC)

Figura 47 - Grfico da comparao do desempenho de leitura nos ambientes de teste 1, 2 e 3

As iteraes do teste de leitura foram mais rpidas do que as iteraes do teste de escrita, considerando todos os ambientes e comparando as execues com lotes de tamanho igual.

46

5. CONCLUSO

Analisando os resultados obtidos pode-se chegar as seguintes concluses: os ambientes de teste foram implementados com sucesso, desse modo, foi possvel realizar os testes de desempenho nos ambientes. Os ambientes 1, 2 e 3 apresentaram resultados equilibrados, porm, no teste de escrita, o Ambiente 3 (RSYNC) apresentou melhor desempenho na maioria das execues, e no teste de leitura o Ambiente 2 (DRBD) apresentou melhor desempenho na maioria das execues. O Ambiente 1 no apresentou melhor desempenho do que os ambientes 2 e 3 que estavam sendo gerenciados por ferramentas de sincronismo, porm, o desempenho desses trs ambientes foi equilibrado, portanto, no pode-se afirmar se o uso das ferramentas DRBD e RSYNC afetou no desempenho do sistema de arquivos. O Ambiente 4 gerenciado pelo sistema de arquivos PVFS foi o que apresentou disparadamente o pior desempenho em relao aos outros ambientes, tanto no teste de escrita como no teste de leitura, portanto, pode-se afirmar que a ferramenta PVFS afetou no desempenho do sistema de arquivos. Pode-se citar como trabalho futuro os possveis cenrios para utilizao das solues abordadas (DRBD, RSYNC e PVFS), comparando uma soluo com a outra e avaliando o comportamento dos cenrios diante das solues, desse modo, procurando saber como utilizar as ferramentas de maneira mais especfica e inteligente. Para trabalhos futuros tambm poder ser analisado se existem fatores que podem influenciar no resultado dos testes, determinando quais so esses fatores e quanto eles podem influenciar.

47

REFERNCIAS BIBLIOGRFICAS

ALVES, Moiss Pereira. Linux Modo Texto para Profissionais. Editora Visual Books. Florianpolis, 2006. ANDRADE, M. T. Um estudo comparativo sobre principais tcnicas de virtualizao. Trabalho de graduao em Cincia da Computao. Centro de Informtica, Universidade Federal de Pernambuco. Recife, 2006. BAIOCCO, Douglas. Instalao do DRBD + Heartbeat + Samba. Disponvel em: http://www.hardware.com.br/tutoriais/drbd-heartbeat-samba/. Acessado

em: 18/05/2012. CARISSIMI, Alexandre. Virtualizao: Princpios Bsicos e Aplicaes. Escola Regional de Alto Desempenho. Caxias do Sul, 2009. CARVALHO, Roberto Pires de. Sistemas de Arquivos Paralelos e Distribudos. Instituto de Matemtica e Estatstica, Universidade de So Paulo. So Paulo, 2003. COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas Distribudos: Conceitos e Projeto. Traduo Artmed Editora S.A. 4 edio. Editora Bookman. Porto Alegre, 2007. DEBIAN. Sobre o Debian. Disponvel em: http://www.debian.org/intro/about. Acessado em: 09/06/2012. DEVELOPERWORKS. Linux, Firefox e o sincretismo tecnolgico (parte 1). Disponvel em:

https://www.ibm.com/developerworks/mydeveloperworks/blogs/752a690f-8e934948-b7a3c060117e8665/entry/linux_firefox_e_o_sincretismo_tecnologico_(parte_1)?lang =en. Acessado em: 29/05/2012 GRAEBIN, Lucas. Estudo comparativo de sistemas de arquivos

distribudos. Centro Universitrio Feevale. Novo Hamburgo, 2007.

48

LAUREANO,

Marcos.

Mquinas

Virtuais

Emuladores:

Conceitos,

Tcnicas e Aplicaes. Editora Novatec. So Paulo, 2006. MANARA, Rosana. Virtualizao de sistemas com VMWARE. Faculdade de Jaguarina. Jaguarina, 2007. MELLO, Leonardo Rodrigues de. Instalao, configurao, utilizao e testes do DRBD 0.7. Disponvel em:

http://www.vivaolinux.com.br/artigo/Instalacao-configuracao-utilizacao-e-testesdo-DRBD-0.7. Acessado em: 18/05/2012. MENEZES, Diogo. Agendando tarefas com o crontab. Disponvel em: http://www.vivaolinux.com.br/artigo/Agendando-tarefas-com-o-crontab. Acessado em: 08/06/2012. MIRANDA, Vitor de Deus. Anlise comparativa entre as ferramentas VirtualBox, VMware Workstation e QEMU em um ambiente Linux. Monograa de Ps-Graduao Lato Sensu apresentada ao Departamento de Cincia da Computao para obteno do ttulo de Especialista em Administrao em Redes Linux". Lavras, 2010. PAULA, Fbio Berbert de. Transferindo arquivos com o RSYNC. Disponvel em: http://www.vivaolinux.com.br/artigo/Transferindo-arquivos-com-o-

rsync?pagina=1. Acessado em: 20/05/2012. RED HAT. Red Hat Enterprise Linux 3: Guia de Administrao do Sistema. Disponvel em: http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/ch-nfs.html.

Acessado em: 17/05/2012. SILBERSCHATZ, Abraham; GALVIN, Peter; GAGNE, Greg. Sistemas

Operacionais : Conceitos e Aplicaes. Traduo Adriana Rieche. 1 edio. Editora Campus. Rio de Janeiro, 2000. SILVA, Roberto Rodrigues da. Linux - Sistema de arquivos. Disponvel em: http://www.vivaolinux.com.br/artigo/Linux-Sistema-de-arquivos. Acessado em: 14/05/2012.

49

SLAX. Slax - O seu sistema operativo de bolso. Disponvel em: www.slax.org. Acessado em: 08/06/2012. TANEMBAUM, Andrew S; WOODHULL, Albert S. Sistemas Operacionais. Traduo Edson Furmankiewicz. 2 edio. Editora Bookman. Porto Alegre, 2003.

Das könnte Ihnen auch gefallen