UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO GERENCIAMENTO CENTRALIZADO DE BACKUPS DISTRIBUÍDOS Área de Armazenamento de Dados por Braz Pereira Junior Ademir Goulart, M. Sc. Orientador Itajaí (SC), dezembro de 2010 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO GERENCIAMENTO CENTRALIZADO DE BACKUPS DISTRIBUÍDOS Área de Armazenamento de Dados por Braz Pereira Junior Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Ademir Goulart, M. Sc. Itajaí (SC), dezembro de 2010 AGRADECIMENTOS Agradeço primeiro a Deus por me dar a atitude de ser quem eu sou, e proporcionar o prazer de ter ao meu lado todos aqueles que fizeram e fazem parte da minha vida. Aos meus pais, Braz Pereira e Lourdes Maris Coelho Pereira, que com amor e educação me fizeram a pessoa que sou, me dando os valores a serem seguidos e conquistados. Aos meus irmãos André e Priscila que sempre estiveram comigo em cada passo dado. Ao meu orientador, Ademir Goulart por me incentivar, cobrar, as vezes discordar, mas principalmente ter aceitado o desafio de me instruir no meu TCC. A todos os professores que de alguma forma ajudaram a fazer o aprendizado durante o curso. Aos amigos Daniel, Diogo, Nilson e Udo, que dividiram ao meu lado as dificuldades e alegrias de se fazer um curso de Ciência da Computação. Aos meus desconhecidos amigos Fábio, Morrissey e Renato, que sempre me acompanham. Aos demais familiares (em especial meu primo, Luiz Henrique), que estão sempre dispostos a ajudar no que for preciso. Aos amigos que contribuíram de alguma maneira para a realização deste trabalho, mesmo que a ajuda fosse entender a impossibilidade de ir ―naquela festa‖ para ficar em casa estudando. Por fim, todas as pessoas que de alguma forma contribuíram com idéias, críticas e sugestões. ii SUMÁRIO LISTA DE ABREVIATURAS.................................................................. iv LISTA DE FIGURA ..................................................................................iii LISTA DE TABELAS ............................................................................... iv RESUMO ..................................................................................................... v ABSTRACT ................................................................................................ vi 1 INTRODUÇÃO........................................................................................ 7 1.1 PROBLEMATIZAÇÃO ..................................................................................... 8 1.1.1 Formulação do Problema ................................................................................. 8 1.1.2 Solução Proposta ............................................................................................... 9 1.2 OBJETIVOS ........................................................................................................ 9 1.2.1 Objetivo Geral ................................................................................................... 9 1.2.2 Objetivos Específicos ........................................................................................ 9 1.3 METODOLOGIA.............................................................................................. 10 1.4 ESTRUTURA DO TRABALHO ..................................................................... 10 2 FUNDAMENTAÇÃO TEÓRICA........................................................ 12 2.1 BACKUP .............................................................................................................. 12 2.2 TOPOLOGIAS DE BACKUP ........................................................................... 17 2.2.1 Backup descentralizado ................................................................................... 17 2.2.2 Backup centralizado ......................................................................................... 18 2.3 MÍDIAS DE BACKUP........................................................................................ 19 2.3.1 Tape drives ou fitas magnéticas ...................................................................... 21 2.3.2 Mídias ópticas ................................................................................................... 21 2.3.3 Hard Drives ou discos rígidos ......................................................................... 22 2.4 SOFTWARES DE BACKUP ............................................................................. 22 2.5 ARCSERVE BACKUP ....................................................................................... 24 2.6 FUTURO DO BACKUP ..................................................................................... 26 2.6.1 Backup Virtual ................................................................................................. 27 2.6.2 Backup em Tempo Real ................................................................................... 27 2.6.3 Backup Sintético ............................................................................................... 28 2.6.4 Integração Hardware/Software (Agentes Embarcados) .............................. 29 2.6.5 Backup Appliances ........................................................................................... 29 2.6.6 Disco e Dispositivos de Estado Sólido ............................................................. 30 2.7 FERRAMENTAS DE PROGRAMAÇÃO ....................................................... 31 2.7.1 Sistemas Web .................................................................................................... 31 2.7.2 Programação de Sistemas WEB ..................................................................... 33 2.8 SOLUÇÕES SIMILARES.................................................................................. 35 2.8.1 CMO .................................................................................................................. 36 ii 2.8.2 NetBackup ......................................................................................................... 36 3 PROJETO ............................................................................................. 38 3.1 ANÁLISE DE REQUISITOS ........................................................................... 38 3.1.1 Requisitos Funcionais ..................................................................................... 38 3.1.2 Requisitos Não Funcionais ............................................................................. 39 3.1.3 Regras de Negócio ........................................................................................... 39 3.2 DIAGRAMA DE CASOS DE USO ................................................................. 40 3.2.1 Módulo Administrativo .................................................................................. 40 3.2.2 Módulo Monitoração ...................................................................................... 40 3.2.3 Diagrama de Classes de Domínio / Negócio ................................................. 41 3.3 PROTÓTIPOS DE TELAS .............................................................................. 42 4 DESENVOLVIMENTO........................................................................ 49 4.1 BANCO DE DADOS ........................................................................................... 49 4.2 SISTEMA ............................................................................................................. 49 4.2.1 Relatórios .......................................................................................................... 49 5 CONCLUSÃO ........................................................................................ 53 REFERÊNCIAS BIBLIOGRÁFICAS ................................................... 54 GLOSSÁRIO............................................................................................. 58 A. DESCRIÇÃO DOS CASOS DE USO ................................................ 59 A.1 MÓDULO ADMINISTRATIVO ...................................................................... 59 A.2 MÓDULO MONITORAÇÃO ........................................................................... 63 iii LISTA DE ABREVIATURAS AMI BSD CA CD CDP DVD DPM E/S GPL HD HTML HTTP HP HSM IBM IDC MPL PHP RAID RPO RTO SAN SGBD SQL SSD TCC TI UML WWW Access Markets International Berkeley Standard Distribution Computer Association Inc. Compact Disc Proteção de Dados Contínua Digital Video Disc Data Protection Management Entrada/Saída General Public License Hard Disk Hyper Text Markup Language Hyper Text Transfer Protocol Hewlett-Packard Hierarchical Storage Management International Business Machine International Data Corporation Mozilla Public License Hypertext Preprocessor Redundant Array of Independent Drives Recovery Point Objective Recovery Time Objective Storage Area Network Sistemas Gerenciadores de Banco de Dados Structured Query Language Solid State Disk Trabalho de Conclusão de Curso Tecnologia da Informação Unified Modeling Language World Wide Web iv LISTA DE FIGURA Figura 1. Backup .................................................................................................................................. 7 Figura 2. Backup Full ou Completo ................................................................................................... 14 Figura 3. Backup Incremental ............................................................................................................ 14 Figura 4. Backup Diferencial ............................................................................................................. 14 Figura 5. Backup Descentralizado ..................................................................................................... 18 Figura 6. Backup Centralizado ........................................................................................................... 19 Figura 7. Pirâmide Custo/Benefício ................................................................................................... 20 Figura 8. Log do ARCserve ............................................................................................................... 25 Figura 9. Backup Virtual .................................................................................................................... 27 Figura 10. Backup em Tempo Real .................................................................................................... 28 Figura 11. Backup Aplliance .............................................................................................................. 30 Figura 12. Modelo de Estrutura de Sistemas Web ............................................................................. 31 Figura 13. Exemplo de Código HTML e Apresentação do Documento ............................................ 33 Figura 14. Exemplo de Código e Apresentação em PHP ................................................................... 35 Figura 15. Interface NetBackup ......................................................................................................... 37 Figura 16. Diagrama de Casos de Uso no Módulo Administrativo ................................................... 40 Figura 17. Diagrama de Casos de Uso no Módulo Monitoração. ...................................................... 41 Figura 18. Diagrama de Classes de Domínio ..................................................................................... 42 Figura 19. Tela de Acesso ao Sistema................................................................................................ 43 Figura 20. Tela Inicial do Gerenciador de Backup ............................................................................ 44 Figura 21. Gerenciamento de Unidades ............................................................................................. 44 Figura 22. Farol de Backup ................................................................................................................ 45 Figura 23. Monitoramento de Dispositivos ........................................................................................ 46 Figura 24. Relatório............................................................................................................................ 46 Figura 25. Configurações ................................................................................................................... 47 Figura 26. Gerenciamento de Usuários .............................................................................................. 48 Figura 27. Banco de Dados ................................................................................................................ 49 Figura 28. Relatórios .......................................................................................................................... 50 Figura 29. Gerenciamento de Unidades e Usuários ........................................................................... 51 Figura 30. Farol de Backup ................................................................................................................ 52 Figura 31. Monitoramento de Dispositivos ........................................................................................ 52 iii LISTA DE TABELAS Tabela 1. Custo Relativo Mídias ........................................................................................................ 21 Tabela 2. Softwares de Backup Proprietário ...................................................................................... 23 Tabela 3. Softwares de Backup Livre ................................................................................................ 23 Tabela 4. Comparativo HD X SSD .................................................................................................... 31 iv RESUMO JUNIOR, Braz Pereira. Gerenciamento Centralizado de Backups Distribuídos. Itajaí, 2010. 66 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)–Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2010. Com o crescimento da TI (Tecnologia da Informação) dentro das grandes corporações e a quantidade crescente de dados digitais, cada vez mais há a necessidade de se armazenar dados de forma segura e confiável. As informações gravadas em mídias (HDs, DVDs, Fitas...) são vitais para a saúde da empresa. A segurança desses dados é o passo inicial para se implantar um processo íntegro de armazenagem. Com isso, ao longo do tempo surgiram várias formas de se garantir a proteção dos dados, desde hardwares com redundância de componentes (storage), até configurações de RAIDs em HDs, sendo completado pelo processo de backup. O presente trabalho aborda o conceito de centralização das informações gerenciais do backup, que tem por objetivo o controle dos backups de diversas unidades distribuídas em diferentes cidades e pertencentes a uma mesma empresa. A finalidade é ter a maior quantidade de informações em um só ponto para facilitar a administração e auxiliar nas tomadas de decisões. Após o estudo, é proposto um sistema que atenda o gerenciamento de backups, desenvolvido em plataforma web, com o objetivo de melhorar a administração sobre as informações que estão em forma de cópia de segurança. Palavras-chave: Backup. Gerenciamento Centralizado. Informações. Segurança. v ABSTRACT With the growth of IT (Information Technology) within large corporations and the increasing amount of digital data, increasingly there the need to store data securely and reliably. The information recorded on media (hard drives, DVDs, Tapes ...) are vital to health of the company. The security of this data is the first step to implement a process full of storage. Thus, over time were several ways to ensure protection of data from with hardware component redundancy (Storage), up settings RAID on hard drives, being completed by the backup process. This paper addresses the concept of centralizing the management information backup, which aims to control the backups of multiple servers distributed in different cities and belonging to the same company. The purpose is to have as much information in one spot to ease administration and aid in decision making. After study, we propose a system that meets the management of backups, web platform developed, aiming to improve administration on the information that is in the form of copy security. Keywords: Backup. Centralized Management. Information. Security. vi 1 INTRODUÇÃO O ambiente empresarial está mudando continuamente, tornando-se mais complexo e menos previsível. Está cada vez mais dependente de informação e da infra-estrutura tecnológica que deve permitir o gerenciamento de enormes quantidades de dados. A tecnologia está gerando grandes transformações, que estão ocorrendo a nossa volta de forma ágil e sutil. É uma variação com conseqüências fundamentais para o mundo empresarial, causando preocupação diária aos empresários e executivos das corporações, com o estágio do desenvolvimento tecnológico das empresas e/ou de seus processos internos (CARMO, 2010). Atualmente a gestão estratégica da informação tornou-se uma parte crítica e integrada a qualquer estrutura gerencial de sucesso. Por exigências inerentes aos negócios as mídias de armazenamento das empresas são os itens que devem receber maior proteção e segurança dentro da estrutura de TI. No processo de armazenagem e segurança de dados o backup tem papel fundamental para garantir restauração dos dados perdidos após simples alterações mal feitas ou apagamentos acidentais até desastres com perda de 100% do conteúdo original armazenado. Conforme Reis (2005), backup é uma cópia exata de um programa e/ou arquivo para salvaguardar as informações. Conforme mostrado na Figura 1 onde há um servidor central responsável por fazer o backup das outras máquinas e através de um dispositivo de mídia, fazer a gravação. Figura 1. Backup Fonte: Pinheiro (2005). Nos negócios, nunca se sabe o que poderá ocorrer. Todos estão sujeitos a cortes de energia, incêndios, roubos, inundações e danos acidentais. Se não há um backup de dados vitais, os efeitos poderão ser desastrosos. A recuperação poderá ser muito cara (MICROSOFT, 2010). Nenhum sistema de armazenamento está completo sem uma solução adequada de cópias de segurança. Assegurar a integridade dos dados é um dos maiores desafios da área de Tecnologia da Informação de uma empresa, principalmente porque soluções como espelhamento remoto e cópia de dados não conseguem garantir essa integridade em situações de erros humanos, sabotagens ou mesmo desastres de proporções não previstas (PINHEIRO, 2005). O uso de ferramentas de continuidade dos negócios e recuperação de desastres torna-se cada vez mais fácil e acessível, uma vez que estão sendo integradas em grandes sistemas de TI. A computação em nuvem e a virtualização também corroboram para essa demanda (COMPUTERWORLD, 2010). Diante desse cenário, esse trabalho propõe o desenvolvimento de uma ferramenta de apoio ao gerenciamento de backups distribuídos dentro de uma mesma organização. Essa ferramenta deverá auxiliar no controle centralizado de backups fisicamente distantes e servir como um ponto de apoio ao administrador de rede para tomada de decisões em assuntos relacionados a armazenamento de dados. 1.1 PROBLEMATIZAÇÃO 1.1.1 Formulação do Problema A dependência das empresas com relação aos seus sistemas e dados traz a necessidade eminente de meios para a redundância e cópia de informações. As ações de redundância são úteis em caso de problemas físicos das estruturas que armazenam os dados, mas não suprem todas as necessidades quanto à restauração e segurança das informações. Por exemplo, quando há a interação direta do usuário com os dados e ocorre a deleção dos dados de forma acidental ou então a necessidade de um funcionário de resgatar a versão anterior de um determinado arquivo. Dentre outros vários motivos, estes podem ser citados como situações atendidas pelos backups. O backup é uma cópia de segurança efetuada em uma mídia, normalmente magnética como forma manter uma informação armazenada como ela existe em um determinado tempo. O backup por se tratar de uma quantidade grande de dados deve ser realizado nas mesmas dependências 8 físicas que as unidades de armazenamento, para que haja maior agilidade e velocidade na cópia das informações. Com os backups sendo tratados de forma individualizada em cada ponto em que haja uma storage, as grandes empresas que possuem sistemas descentralizados e espalhados fisicamente precisaram ter tantas unidades de backups como unidades de negócio. Essa situação leva a uma falta de controle centralizado sobre o status de backup em todas as localidades. 1.1.2 Solução Proposta Com base em um cenário de falta de controle centralizado, se faz necessário o desenvolvimento de um sistema que apóie o gerenciamento de backups. O Gerenciamento de Backups Centralizado tem como objetivo fornecer informações detalhadas de várias estruturas de backup dentro de uma empresa, para um só local, mantendo assim uma gerencia centralizada sobre todas as instancias da corporação. Em conseqüência deste maior controle sobre as políticas e resultados do backup este sistema poderá auxiliar as tomadas de decisões técnicas e gerenciais relevantes da TI. O escopo deste trabalho é descrever e implementar uma ferramenta de centralização e controle de dados de backups distribuídos. 1.2 OBJETIVOS 1.2.1 Objetivo Geral Desenvolver um sistema que seja capaz de capturar informações de backups executados através de softwares genéricos na rede e fazer o gerenciamento em um ambiente centralizado, usando como modelo o ARCserve Backup. 1.2.2 Objetivos Específicos Pesquisar e compreender detalhadamente as funções e comandos para captura de dados no software de backup, ARCserve; Estudar as ferramentas e tecnologias computacionais necessárias para a construção do sistema; Definir o escopo do sistema; 9 Modelar o sistema utilizando UML; Implementar o sistema; Testar a implementação do sistema; e Documentar o desenvolvimento e o sistema com os resultados obtidos. 1.3 Metodologia Com vários questionamentos, é possível propor uma ou mais soluções para um referido problema. Métodos científicos são as formas mais seguras inventadas pelo homem para controlar o movimento das coisas que cerceiam um fato e montar formas de compreensão adequadas de fenômenos (BUNGE, 1974). Segue descrita a metodologia seguida para o desenvolvimento deste Trabalho de Conclusão de Curso (TCC): 1- Escolha do tema: Nesta fase foi verificada uma necessidade, com um contexto não explorado, detalhado no início das atividades do trabalho de conclusão de curso e descrito na pré-proposta. 2- Levantamento da bibliografia: Com o tema do trabalho estabelecido, foi efetuado um levantamento sobre os recursos bibliográficos disponíveis para a fundamentação do conteúdo do assunto; 3- Leitura e documentação: Filtragem, escolha e entendimento do material que será utilizado como referência no TCC; 4- Estruturação do conteúdo: As idéias foram moldadas de forma a racionalizar o entendimento do trabalho; 5- Construção do texto: O desenvolvimento do texto foi organizado em capítulos no qual cada um abordará diferentes focos do tema desenvolvido; 6- Desenvolvimento: Fase prática do trabalho, no qual apresenta o resultado da pesquisa de forma visual; e 7- Conclusão: na conclusão sintetizam-se os resultados obtidos durante o TCC. 1.4 Estrutura do trabalho Este trabalho está divido em quatro capítulos. O Capítulo 1 dá ênfase ao estado atual dos modelos de gestão do TCC. Os conceitos básicos, que serão abordados mais profundamente durante 10 o Capítulo 2, são mostrados nesta etapa. A situação problema, solução proposta, objetivos e a metodologia de como foi realizado o trabalho fazem parte dos tópicos inseridos nesse capítulo. O Capítulo 2 será responsável pela fundamentação do Gerenciamento Centralizado de Backups Distribuídos. Os conceitos envolvidos na solução geral do problema e a visão técnicooperacional estão sucintamente explicados. O gerenciamento de backups, ponto focal deste trabalho, é explorado nesse capítulo para que a partir de então o sistema possa ser modelado no próximo capítulo. O Capítulo 3 apresenta os requisitos funcionais e não funcionais do sistema incluindo as suas delimitações de escopo. As tecnologias que envolvem a plataforma web e o banco de dados utilizado também será alvo de estudo neste capítulo. O Capítulo 4 expõe a forma com que foi conduzida a codificação do sistema e seus códigos. A explicação das principais funções do sistema são demonstradas neste capítulo. O Capítulo 5 são apresentados os tópicos referentes ao desenvolvimento do sistema assim como a finalização da implementação. 11 2 FUNDAMENTAÇÃO TEÓRICA Este capítulo aborda os conceitos que envolvem o contexto deste TCC, fazendo fundamentação bibliográfica sobre o tema. Com o conhecimento obtido através deste estudo, será possível a aplicação destes fundamentos no projeto. A Seção 2.1 apresenta uma breve discussão sobre a importância do backup, os riscos que correm um sistema sem backup e o processo para se ter um backup confiável em seus ambientes. A Seção 2.2 aborda as topologias principais de backup, centralizada e descentralizada. A Seção 2.3 apresenta informações sobre os meios de armazenamento de dados dos backups e seus diversos tipos com vantagens e desvantagens de cada uma. A Seção 2.4 apresenta uma visão geral sobre softwares de gerenciamento e execução de backups citando os sistemas mais usados para essa finalidade. A Seção 2.5 aborda em especifico o software ARCserve e suas características para complemento do trabalho. Na Seção 2.6 é discutido o futuro do backup e as tecnologias recém lançadas para esta atividade. A Seção 2.7 informa às ferramentas que serão utilizadas no desenvolvimento do software e as suas funções. Por fim na Seção 2.8 são mostradas ferramentas que tem similaridade com o projeto apresentado neste TCC e suas características. 2.1 Backup Com o elevado nível de dados digitais armazenado nos HDs e storages de grandes corporações que possuem informações relevantes ao negócio, as empresas constataram a necessidade de se ter segurança e controle destes ambientes tecnológicos. O principal benefício que a tecnologia da informação traz para as organizações é a sua capacidade de melhorar a qualidade e a disponibilidade de informações e conhecimentos importantes para a empresa, seus clientes e fornecedores. Os sistemas de informação mais modernos oferecem às empresas oportunidades sem precedentes para a melhoria dos processos internos e dos serviços prestados ao consumidor final. (GUIA RH, 2010) A consultoria IDC distribuiu um estudo revelando que, em 2008, foram criados mais de três hexalhões de bits, ou 478 bilhões de gigabyte. E que esses dados vão adiante. De acordo com o levantamento, até 2012, esta quantidade deverá ser multiplicada por cinco (...). O estudo mostrou que a estimativa inicial de crescimento dos dados digitais da IDC foi superada em mais de 3%. A quantidade de bits gerados no ano passado é equivalente a 4,8 quatrilhões de transações bancárias ou 162 trilhões de fotos digitais ou, ainda, a 30 bilhões de IPod Touches carregados. . (CAVALCANTI, 2009) Diante deste cenário de crescimento de informações digitais, cada vez mais a segurança destes dados se torna alvo de atenção e o backup se torna imprescindível. Conforme Chapa e Little (2003), um backup é uma cópia de um determinado conjunto de dados, idealmente, como ela existe em um ponto no tempo. É fundamental para qualquer arquitetura de proteção de dados. Em um sistema de informação bem definido, os backups são armazenados em uma distância física dos dados operacionais, geralmente em fita ou outra mídia removível, para que eles possam sobreviver a eventos que possam destruir ou danificar dados operacionais. Toda empresa que possua uma integração direta entre negócio e dados digitais deve possuir um sistema de backup minimamente confiável. O backup evitará problemas futuros, conforme a necessidade de cada caso: Requisições do negócio; Proteção a falha de hardware; Recuperação de desastres; Proteção contra falhas de aplicação; Proteção de erro de usuários; Requerimentos legais; e Necessidade de manutenção de versões de documentos. Existem basicamente três tipos de backup que podem ajudar na forma de montar sua estratégia de cópia dos dados segundo Eduardo Pereira (2008): Full ou Completo: Cópia de todos os dados. Sua vantagem é a segurança, pois todas as fitas são um backup completo do seu sistema, a desvantagem é o tempo, que é muito longo [levando em consideração o número de dados que serão copiados]. Conforme Figura 2. 13 Figura 2. Backup Full ou Completo Incremental: Cópia de todos os arquivos que foram alterados desde o backup full ou incremental mais recente. A restauração de dados é mais complexa e demanda tempo, mas o backup tem a vantagem de ser rápido (Figura 3). Figura 3. Backup Incremental Fonte: Adaptado de IBM (2005). Diferencial: Cópia dos dados que foram alterados desde o último backup total. Tem como desvantagem o volume, mas sua restauração é muito rápida. A fita de backup full deve estar em boas condições, caso contrário o backup estará comprometido (Figura 4). Figura 4. Backup Diferencial Fonte: Adaptado de IBM (2005). Para se iniciar uma estratégia de backup devem-se entender as limitações e necessidade do sistema, de acordo com Almeida (1997), nenhuma estratégia de backup atende a todos os sistemas. Uma estratégia que é adequada para sistemas com um usuário pode ser imprópria para sistemas que atendem dez ou mais usuários. Da mesma forma, uma estratégia adequada para um sistema em que 14 os arquivos são modificados freqüentemente não se adéqua a um sistema em que tais alterações são raras. Apenas o administrador pode determinar com precisão a estratégia que melhor se adéqua a cada situação. Uma vez entendida a necessidade do negócio e a importância dos dados para sobrevivência do sistema o administrador deve ter a capacidade de decidir e fazer a gestão das cópias de segurança de seu ambiente. Segundo Almeida (2007) na definição das estratégias de backup deve-se levar em conta os seguintes fatores: Capacidade de recuperação em caso de crash total do sistema. Verificação dos backups periodicamente. O meio de armazenamento pode não ser totalmente confiável. Um conjunto de fitas muito grande é totalmente inútil se os dados neles contidos não puderem ser restaurados. Elaborar uma política de retenção de fitas. Determinar um ciclo para reutilização de fitas. Não se deve, entretanto, reutilizar todas as suas fitas. Ás vezes transcorre meses antes que algum usuário sinta a necessidade de restaurar algum arquivo importante que tenha sido apagado por engano. Devido a isto backups antigos, dentro de certos limites, devem ser mantidos. Um backup efetuado a partir de um sistema de arquivos corrompido pode ser inútil. Antes de efetuar backups é aconselhável verificar a integridade dos sistemas de arquivos. Fazer backups em horários em que o sistema se encontre em estado de mínima (ou nenhuma) atividade. Fazer preferencialmente mais de um, backup antes de efetuar alterações substanciais no sistema. É sempre aconselhável fazer um backup antes de efetuar mudanças de porte no sistema operacional, instalação de correções, mudanças significativas em programas aplicativos, enfim, tudo o que possa representar uma ameaça ao funcionamento normal do sistema. 15 A Symantec Corp.(2010), conduziu uma pesquisa no qual demonstra as ações das empresas em relação ao backup de seus dados. A pesquisa foi divulgada em 16/08/2010 e os principais resultados são descritos a seguir. Descompasso entre objetivo e prática no gerenciamento de informações nas empresas. A maioria das empresas (87%) acredita que uma estratégia adequada para retenção de informações deveria permitir a exclusão de informações desnecessárias. No entanto, menos de metade (46%) tem, de fato, um plano formal de retenção de informações na prática. As empresas estão retendo muita informação. Setenta e cinco por cento dos backups são gerados pela retenção indefinida de dados ou por causa de questões judiciais. As empresas pesquisadas também informaram que 25% dos dados que são gravados em backup são desnecessários para os negócios e não precisariam ser mantidos. As empresas fazem mal uso das práticas de backup, recuperação de dados e arquivamento. Setenta por cento usam o software de backup para preservar dados por questões legais e 25% preservam todo o backup indefinidamente. As empresas entrevistadas afirmaram que 45% do armazenamento em backup são feitos por questões legais. Além disso, as empresas citaram que, em média, 40% das informações mantidas por questões legais não são especificamente relevantes para o processo judicial. Usar recursos de arquivamento e backup juntos dá acesso imediato às informações mais relevantes, permitindo que as empresas retenham volumes menores de dados. Quase metade das empresas pesquisadas usa incorretamente o software de backup e recuperação de dados para arquivamento. Além disso, enquanto 51% proíbem os funcionários de fazer arquivamento em suas próprias máquinas e em unidades compartilhadas, 65% admitem que eles rotineiramente o fazem de qualquer maneira. Diferenças no modo como entrevistados das áreas de TI e jurídica citam os principais problemas gerados pela falta de um plano de retenção de 16 informações. Quarenta e um por cento dos administradores de TI não vêem a necessidade de um plano, 30% disseram que ninguém tem essa responsabilidade e 29% citaram o custo. O departamento jurídico citou como principais problemas o custo (58%), a falta de experiência para desenvolver um plano (48%) e a ausência de um responsável (40%). As consequências dos equívocos no gerenciamento de informações são graves e profundas. Os custos de armazenamento sobem vertiginosamente. A superretenção cria um ambiente em que é 1.500 vezes mais caro analisar do que armazenar os dados. Por isso, as políticas adequadas de exclusão e recursos eficientes de pesquisa são importantes para organizações. 2.2 Topologias de Backup Segundo Guise (2009), ao considerar a topologia de backup, existem duas grandes categorias de ambientes de backup que podem ser concebidos - centralizado e descentralizado. Em geral, um ambiente de backup centralizado implica a utilização de um sólido grupo de trabalho ou de softwares corporativos, ao passo que um ambiente de backup descentralizado pode significar diversas soluções mais simples. 2.2.1 Backup descentralizado Um ambiente é descentralizado, quando cada host copia seus próprios dados em um dispositivo de backup (geralmente fita) que está diretamente ligado a ele (...). Este é um modelo de backup que muitas vezes é mais encontrada nas pequenas e médias organizações com apenas um ou dois servidores podendo posteriormente crescer e chegar de 30 a 50 servidores. (...). Um backup descentralizado pode assemelhar-se a configuração mostrada na Figura 5. Na realidade, backups descentralizados não são apropriados, na maioria das organizações devido a alta carga de trabalho aos administradores do sistema e operadores, e pode resultar em perda de dados devido a uma maior necessidade de intervenção manual nas unidades de fita, configuração e manutenção de sistemas. Eles também podem resultar em unidades significativamente maior de mídia que está sendo exigido. Vantagens de backups descentralizados são o menor tempo de recuperação. Cada um pode (supostamente) ter uma simples configuração (isto é discutível). Desvantagens de backups descentralizados é a necessidade de uma unidade de fita (ou unidades) por localidade, aumentando consideravelmente o preço da solução, e pode resultar em uma situação de custo e benefício baixo 17 (...). O backup descentralizado também pode resultar numa maior quantidade de mídias requeridas. (GUISE, 2009) Figura 5. Backup Descentralizado Fonte: Guise (2009). 2.2.2 Backup centralizado Para Guise (2009) em um ambiente centralizado, múltiplos hosts copiam dados para um único servidor ―mestre‖, ou um único servidor ―mestre‖ e um ou mais servidores ―escravos‖. (Os servidores ―escravos‖ também podem ser referidos por ―nós de armazenamento‖)(...).Um exemplo de ambiente de backup centralizado pode se parecer com a configuração na Figura 6, onde um único servidor é responsável por backups, com uma pequena biblioteca de fitas em anexo. Todos os hosts no ambiente fornecem dados para o servidor de backup, que por sua vez é responsável por escrever e restaurar os dados nas mídias de backup. 18 Figura 6. Backup Centralizado Fonte: Guise (2009). 2.3 Mídias de Backup Os dispositivos de armazenamento secundário ou armazenamento em massa são predominantemente memórias não voláteis, ou seja, que não perdem os dados armazenados mesmo na falta de energia elétrica. Existem diversos tipos de memórias não voláteis, sendo que as mais utilizadas são as memórias magnéticas e as memórias ópticas (FERREIRA, 2003). Segue abaixo na Figura 7 um comparativo entre custo e benefício entre as mídias que são usadas para backups. 19 Figura 7. Pirâmide Custo/Benefício Fonte: HP (2004). Segundo HP (2004), semi-condutores e unidades de disco rígido oferecem praticamente a acessibilidade imediata dos dados, mas há um preço relativamente alto a pagar por cada megabyte de armazenamento. Conseqüentemente, eles são mais adequados para funcionamento on-line de armazenamento de backup. Mídias de armazenamento óptico, tais como unidades de CD e DVD, oferecem a capacidade moderada com acesso razoavelmente fácil à informação. No entanto, o custo por megabyte continua a fazer-lhes uma opção cara para backups diários de alto volume ou arquivamento de dados. Além disso, sua baixa capacidade é ainda uma restrição grave em volume alto, onde backups regulares são necessários. Fitas magnéticas, por outro lado oferecem capacidades de armazenamento de longa duração, ideal para arquivar em médio prazo (de 10 a 15 anos). Um grande volume de dados podem ser armazenados em uma única peça de mídia, tornando mais fácil para restaurar as informações solicitadas. O fato de que a mídia é pequena, removível e facilmente transportável, permite armazenar os dados separadamente do sistema, que oferece proteção contra vírus e inclusive proteção se ocorrer destruição do local. Além disso, a fita ainda oferece o menor custo de 20 armazenamento por megabyte, tornando-se uma opção viável, mesmo para os usuários de backup mais exigentes. A Tabela 1 evidencia a relação custo/capacidade por mídia. Tabela 1. Custo Relativo Mídias Fonte: HP (2004) 2.3.1 Tape drives ou fitas magnéticas As fitas magnéticas são fitas plásticas cobertas do óxido de ferro do registro magnético. Fitas magnéticas compõem-se do meio de armazenamento de informação em uma tira plástica. As fitas magnéticas são usadas para vídeo, armazenamento de áudio e outros formatos ou usadas no armazenamento de dados de objetivo geral em um computador (...) (MEDIA STORAGE DEVICE, 2010). Fitas magnéticas possuem grandes capacidades de armazenamento e baixa velocidade. Ao contrário dos demais dispositivos, que permitem acesso aleatório aos dados, as operações de E/S são realizadas através de acesso seqüencial, e por este motivo são utilizados principalmente para o armazenamento de cópias de segurança de disco rígidos (FERREIRA, 2003). 2.3.2 Mídias ópticas As memórias do tipo óptico utilizam laser para ler e escrever dados e são normalmente mais lentas do que as que utilizam o meio eletromagnético para armazenamento. Os dispositivos de armazenamento ópticos mais comuns são os CD-ROMs e os DVDs [atualmente os Blu-Ray] e são as melhores alternativas em alta capacidade de armazenamento em discos removíveis portáteis de baixo custo (LOBATO, 2000). 21 2.3.3 Hard Drives ou discos rígidos O disco rígido consiste em um ou mais pratos circulares (esses pratos são feitos de um material rígido como o alumínio, o que dá ao disco rígido o seu nome), cada um com uma ou ambas as faces cobertas por uma substancia magnética usada para a gravação de dados. Para cada face, há uma cabeça de leitura e gravação. As cabeças de leitura movem-se radialmente sobre a superfície dos pratos através da ação de um motor pivô (SIERRA, 1990). Conforme Saldanha (2010) as vantagens do uso dos HDs para backup: tem velocidade altíssima comparada às outras opções, são fáceis de instalar e possuem alta durabilidade. As desvantagens são que sofrem com as alterações magnéticas no ambiente, podem apresentar problemas com a flutuação de energia e são mais caros que as alternativas. 2.4 Softwares de Backup Um software de backup é um programa de computador usado para fazer um backup completo de um arquivo, banco de dados, sistema ou servidor. Este software também é utilizado para recuperar os dados ou sistema em caso de perda ou corrupção (SYMATECH, 2010). Mercados diferentes (usuário doméstico, escritórios residenciais, empresas de pequeno porte, empresas) têm necessidades diferentes, há uma solução de backup para atender necessidades de cada uma delas. É importante selecionar o software para backup correto, que atenda as principais necessidades sem sobrecarregá-lo com recursos e opções (PUBLICATIONS LTD., 2010). De acordo com a Symatech (2010), as principais características de um software de backup, que o tornam mais eficientes em fazer o backup de dados são os seguintes: Volumetria: a volumetria facilita a compactação e decomposição dos dados do backup em partes separadas para o armazenamento em pequenas mídias removíveis. Compressão de dados: a compressão de dados reduz o seu tamanho permitindo menor consumo de espaço em disco a um custo menor. Backup remoto: backup remoto envolve o backup de dados para locais geograficamente distantes. A rápida adoção da banda larga, o rápido crescimento dos dados e a sua importância no negócio juntamente com o risco crescente de hackers, 22 vírus, falhas de hardware, tudo isso tem contribuído no aumento do uso do suporte remoto de dados. Acesso aos arquivos em uso: A maioria dos softwares de backup oferece um plugin para o acesso a arquivos exclusivos, fechados ou em uso. Backups incrementais: apenas material novo alterado em comparação com os dados do backup full é realmente copiado para aumentar a agilidade no processo de backup. Horários: as programações são normalmente apoiadas para reduzir a manutenção da ferramenta de backup e aumentar a confiabilidade do processo de backup. Criptografia: a principal função desta característica em software de backup é a prevenção de acesso aos dados em caso de roubo das mídias. Segue abaixo a Tabela 2 que apresenta os principais softwares proprietário de backup utilizado no mercado, com seu fabricante e a compatibilidade junto ao sistema operacional. Tabela 2. Softwares de Backup Proprietário Software Acronis True Image Avamar ARCserve Backup EMC Legato NetWorker IBM Tivoli Storage Manager NTBackup Backup Exec NetBackup Time Machine Data Protector Empresa Acronis EMC Corporation CA, Inc. Windows Sim Sim Sim Mac OS X Não Sim Sim Linux Sim Sim Sim Interface Gráfica Sim Sim Sim EMC Corporation Sim Sim Sim Sim IBM Microsoft Symantec Symantec Apple Inc. HP Sim Sim Sim Sim Não Sim Sim Não Não Não Sim Não Sim Não Sim Sim Não Sim Sim Sim Sim Sim Sim Sim A Tabela 3 apresenta os principais softwares livre, de backup. Tabela 3. Softwares de Backup Livre Software AMANDA Licença BSD Windows Sim 23 Mac OS X Sim Interface Linux Gráfica Sim Não Areca Backup Backup PC Bacula Cobian Backup DAR Dump FlyBack Mondo GPL v2.0 GPL v2.0 GPL v2.0 MPL GNU GPL 3 GNU GPL GPL Sim Sim Sim Sim Sim Não Não Não Sim Sim Sim Não Sim Não Não Não Sim Sim Sim Não Sim Sim Sim Sim Sim Sim Sim Sim Não Não Sim Sim TAR Zmanda Recovery Manager GPL Sim (com Gnuwin 32) Sim Sim Sim (GUI_TAR) GPL Sim Não Sim Não 2.5 ARCserve Backup O ARCserve é um produto que fornece proteção de dados corporativos com segurança por meio de várias plataformas de softwares [dentre elas o ARCserve Backup, responsável pelo gerenciamento do armazenamento e restauração dos dados] e hardwares. Sua tecnologia avançada, — unificada por uma única interface fácil de usar, — permite a proteção de multicamadas orientada por metas e políticas (CA COMPUTER ASSOCIATION, 2010). O ARCserve foi criado pela empresa Cheyenne Software Inc. em 1990, (...). ARCserve foi um software usado para fazer backup de outros softwares e assegurar que os dados no sistema de rede não pudessem ser perdidos. Uma das principais funções do ARCserve era copiar automaticamente todas as informações do sistema para que durante um imprevisto, tais como falhas de energia e mau funcionamento do equipamento, as informações não viessem a ser apagadas (FUNDING UNIVERSE, 2010). Em 1996 a CA adquire a Cheyenne Software Inc., reforçando a sua gama de softwares para armazenamento empresarial, que hoje são vendido através da família de produtos BrightStor. (CA COMPUTER ASSOCIATION, 2010) A CA é a segunda maior vendedora de softwares de recuperação atrás somente da Symantec. O ARCserve possui muitos usuários e parceiros de longa data que desfrutam do jeito próprio de backup e restauração deste software (CHANNEL WEB, 2010). Entre as soluções de backup mais conhecidas, o ARCserve Backup provê o melhor valor para os negócios. Destaca-se o consistente conjunto de novos recursos e funções da solução da CA, afirmando que ele pode ajudar a reduzir custos e aumentar a eficiência da proteção de dados, 24 incluindo o gerenciamento integrado de recursos de armazenamento, a tecnologia de eliminação de dados duplicados (―block level‖) e a sua capacidade de restauração dos dados (...). A robusta capacidade de geração de relatórios da solução ajuda os administradores a obterem valiosas informações sobre a sua infraestrutura de backup, o que lhes confere maior capacidade para localizar e resolver problemas operacionais (TOIGO, 2009 apud DOCUMENT MANAGEMENT, 2010). Para interpretação dos logs de backup o ARCserve Backup possui um detalhamento e uma forma facilitada de apresentação das informações, simplificando o tratamento posterior destes dados. Segue na Figura 8 um exemplo de log do ARCserve. Figura 8. Log do ARCserve CA ARCserve Backup [versão 12.5r] proporciona proteção de dados confiável, de classe empresarial, para uma ampla gama de ambientes operacionais. Ele inclui (ARCserve, 2010): Eliminação integrada de dados duplicados: Proporciona economia imediata em requisitos de espaço de armazenamento. Proteção para servidores virtualizados: Proporciona suporte integrado para plataformas VMware, Hyper-V e Xen. Gerenciamento e administração centralizados: Permite o gerenciamento eficiente de grandes ambientes. 25 Processo eficiente de backup: Utiliza multiplexação e multi-streaming junto com eliminação de dados duplicados. Backups de escritórios remotos com largura de banda de WAN otimizada: Impulsiona seus recursos existentes de backup. Suporte a plataforma de 64 bits: Proporciona os benefícios de desempenho e escalabilidade do hardware de 64 bits. Controle de acesso e auditoria: Integra a autenticação do Windows no gerenciamento de funções. Gerenciamento de chave de encriptação: Proporciona recursos de gerenciamento de senhas para chaves de encriptação. Garantia de mídia: Valida que a mídia de backup seja legível e gravável automaticamente. 2.6 Futuro do Backup A capacidade de armazenamento dobra a cada ano, resultando em mais e mais dados para proteger, a largura de banda da rede está dobrando a cada nove meses, backup via rede continuará a ser plausível em alguns ambientes, mas o montante global de dados a serem protegidos implicará alterações. Armazenamento em rede é cada vez mais comum, junto com mais inteligência para distribuição em toda a SAN. Estes são vistos como facilitadores para algumas das novas tecnologias de backup (...). Diante desse aumento de capacidade dos dispositivos de armazenamento juntamente com a necessidade cada vez mais evidente de se armazenar dados digitais, evidencia-se o surgimento de novas técnicas e recursos para o backup. Seguem abaixo algumas tendências para o futuro do backup e seus processos conforme Chapa e Little (2003): Backup Virtual; Backup em Tempo Real; Backup Sintético; 26 Integração Hardware/Software (Agentes Embarcados); Backup Appliances; e Disco e dispositivos de estado sólido 2.6.1 Backup Virtual Conforme Chapa e Little (2003) o recurso de backup virtual envolve fazer persistentes imagens de dados que estão sendo protegidos e fazer a gestão destas imagens. A imagem congelada pode ser um espelho ou um snapshot. Isto oferece uma maneira de usar o armazenamento em disco para fornecer um desempenho de alta proteção de dados, o que lhe permite abranger diversas tecnologias capazes de fornecer versionadas imagens congeladas de sistemas de arquivos ou volumes (...), conforme mostrado na Figura 9. O espaço em disco é alocado conforme se criam os snapshots, e o espaço em disco é desalocado quando um snapshot torna-se obsoleto. Os snapshots, potencialmente, têm menos sobrecarga de sistema, mas irá usar mais espaço em disco. Figura 9. Backup Virtual Fonte: Chapa e Little (2003) 2.6.2 Backup em Tempo Real Backup em tempo real também é conhecido como Proteção de Dados Continua (CDP). Backups tradicionais só podem restaurar os dados para o ponto no qual o backup foi feito. Com a proteção contínua de dados, não há agendamentos de backup. Quando os dados são gravados no disco, também serão gravados em um segundo local [por exemplo outro disco] (VICEVERSA, 2010). 27 Algumas soluções de hoje ficam na camada de aplicação, acima da cache, e replicam as alterações de forma incremental, ao invés do sistema de arquivos inteiro. Estas soluções de software podem fornecer um maior nível de proteção em caso de uma falha, uma vez que a replicação pode ser tratada antes da informação da fonte real está comprometida (CHAPA; LITTLE, 2003). A Figura 10 é um típico cenário de backup em tempo real. Figura 10. Backup em Tempo Real Fonte: Chapa e Little (2003). 2.6.3 Backup Sintético É um método e sistema para o backup e restauração de dados. Primeiramente, é feito um backup total no sentido de criar um conjunto de dados completo. Em seguida, conjuntos de dados incrementais ou diferenciais podem ser criados por meio de backups incrementais ou diferenciais, respectivamente. Quando um novo conjunto de dados completo torna-se necessário, ao invés de se fazer um backup total, um conjunto de dados completo anterior pode ser combinado aos conjuntos de dados incrementais ou diferenciais subseqüentes no sentido de criar o novo conjunto de dados completo. O novo conjunto de dados completo pode ser criado em outro computador diferente do computador que conecta os dados do conjunto de dados completo anterior. O novo conjunto de dados completo pode ser usado para uma armazenagem de deslocamento ou a fim de rapidamente 28 restaurar dados no caso de uma falha ou corrupção no sistema de arquivos de um computador (PATENTES ONLINE, 2005). 2.6.4 Integração Hardware/Software (Agentes Embarcados) Segundo Chapa e Little (2003) a incorporação de software no hardware, poderia incluir o software de backup, bem como o gerenciamento de armazenamento e o software de gestão da SAN. Poderia envolver também o agente de transporte de backup em um aparelho ou realmente ter algum nível de software embarcado em uma biblioteca de armazenamento (...). Os custos desse tipo de equipamento poderiam disparar por causa da complexidade encontrada na fabricação de tal solução. O usuário final poderá ter a opção de instalar ou fazer upload de um agente de reforço para o software que estará sendo usado (...). A tecnologia incorporada abre a porta para o verdadeiro backup do servidor independente também. O dispositivo não precisará ser mediado por um servidor, a tecnologia incorporada permite que ele vá diretamente para o dispositivo de armazenamento de backup, eliminando o atravessador e aumentando a velocidade de backup eficaz do meio ambiente. 2.6.5 Backup Appliances O gerenciamento de dados está relacionado a três áreas de proteção de dados: arquivo, backup e recuperação de desastre. No passado, as empresas só tinham a opção da aquisição de cada componente separadamente. Ou seja, eles tinham que comprar uma unidade de fita, comprar o software, e colocar o software em um servidor existente, ou comprar uma nova caixa para ser um servidor de backup. Hoje, estas três funções essenciais foram incorporados em um único dispositivo chamado de appliance de "backup". O appliance é projetado para tornar possível o backup,em uma única caixa, que inclui tudo, é tão fácil de usar como "Plug and play". Tradicionais produtos de backup e recuperação geralmente não oferecem recuperação online de dados, tornando o acesso imediato à informação guardada em tempo real impossível. Um dispositivo de backup tudo em um responde a esta necessidade, permitindo as empresas recuperarem os seus backups e as informações arquivadas em minutos. Cópias de backup de dados são armazenadas em uma fita dentro do aparelho, e os dados arquivados podem ser armazenados em local externo, ou mesmo no aparelho. Com a capacidades de recuperação de desastre oferecidos por um appliance backup, é possível manter uma cópia off-site de ambos os backups e arquivos. As empresas que fizeram a transição para um appliance de backup, conseguirão pagar o custo pela economia de tempo que um dispositivo de backup oferece (PEARRING, 2002). 29 Na Figura 11 segue um exmplo de backup appliance no qual a marca do hadware é Dell e que possui software de backup, Backup Exec da Symantec. Figura 11. Backup Aplliance Fonte: DELL (2010). 2.6.6 Disco e Dispositivos de Estado Sólido Conforme citam Chapa e Little (2003) a proliferação baseada em discos e dispositivos estado sólido, dependerá da empresa de armazenamento de backup, como software e de hardware, tendo a capacidade de integrar adequadamente o gerenciamento de armazenamento hierárquico (HSM) recursos para a utilização destes dispositivos. Talvez, o software de backup irá contar com uma afinada solução de hardware que gerencia a migração dos dados para a fita para você sem ter que se preocupar se o aplicativo de backup tenha integração com uma ferramenta de HSM. Tempo de recuperação vai continuar a ser o maior obstáculo para futuro, portanto, dispositivos de disco estado sólido podem ser a resposta. Como se sabe, esses dispositivos não são ilimitados, e é preciso ter as ferramentas para gerenciá-los de forma eficaz e com a intervenção da administração limitada. Segue na Tabela 4 um exemplo um comparativo entre as velocidades de um disco rígido e um SSD. 30 Tabela 4. Comparativo HD X SSD Fonte: Jordão (2009) 2.7 Ferramentas de Programação 2.7.1 Sistemas Web Os sistemas para web compreendem as tecnologias que interpretam e renderizam documentos da WWW (World Wide Web) em informações visuais, seu acesso é facilitado igualmente em qualquer lugar do mundo. A escolha de uma arquitetura orientada a web permite que várias máquinas acessem um ambiente centralizado como mostra a Figura 12: Figura 12. Modelo de Estrutura de Sistemas Web Fonte: Pereira (2007). Nessa estrutura de conexão, o navegador ou browser web, é responsável pela interpretação da linguagem HTML (Hyper Text Markup Language) que envia requisições através de um 31 protocolo de comunicação comum tanto para o lado que faz a requisição dos dados quanto do lado provedor de dados. Esse protocolo é chamado de HTTP (Hyper Text Transfer Protocol). No lado do servidor de dados, está toda a complexidade do sistema em si onde são determinadas as questões como regras de negócio, quesitos de segurança, armazenamento em banco de dados e a programação em si. Uma grande vantagem no uso de sistemas para web é sua fácil portabilidade, podendo migrar de um ambiente para outro sem a necessidade de muitas alterações de configuração. Nas próximas seções serão abordados os conceitos necessários para um sistema web funcionar. Protocolo HTTP O protocolo HTTP é responsável pela distribuição, colaboração e sistemas hipermídia. Esse protocolo funciona através de troca de mensagens no formato de requisição e resposta, onde geralmente o lado cliente conecta e faz uma solicitação ao servidor que responde e desconecta em seguida. Essa característica permite que sistemas de diferentes plataformas possam transferir dados (NETWORK WORKING GROUP, 1999). Para o lado cliente, responsável pela requisição, é possível citar algumas tecnologias que implementam o protocolo HTTP. Os navegadores de acesso a Internet são bons exemplos: Internet Explorer – Microsoft; Firefox – Mozilla; e Chrome – Google. No lado servidor as aplicações citadas como exemplos que respondem as requisições para os clientes são: Apache – Apache Foundation; Internet Information Services – Microsoft; e Internet Application Server – Oracle Este TCC se baseará nos navegadores Internet Explorer para o lado cliente, e na aplicação Apache para o lado servidor. 32 Interpretador HTML O HTML é uma linguagem de representação da informação para todos os computadores que utilizam sistemas web. O objetivo do desenvolvimento em HTML é para que todos os tipos de dispositivos que acessam a Internet possam utilizar as informações provenientes da web indiferentemente da forma de como os itens estão expostos no sistema. Para Alvarez (2010) o HTML é a linguagem usada pelos navegadores para mostrar as páginas web ao usuário permitindo aglutinar textos, imagens e áudio combinando-os de qualquer gosto. Um documento em HTML deve funcionar em qualquer ambiente e plataforma, inclusive atendendo a requisitos de portabilidade e acessibilidade. A Figura 13 apresenta um exemplo de documento HTML. Figura 13. Exemplo de Código HTML e Apresentação do Documento Fonte: Bortoluzzi (2007). 2.7.2 Programação de Sistemas WEB Esta seção relata as ferramentas necessárias para programar sistema para web. As ferramentas abaixo listadas são responsáveis pelo funcionamento do sistema proposto neste TCC. Servidor Apache Para suportar aplicações orientadas para web esse trabalho irá utilizar o servidor Apache. O servidor Apache é bastante utilizado na maioria de projetos e nos testes em ambientes controlados antes de um sistema entrar em produção (THE APACHE FOUNDATION, 2010). 33 Banco de Dados MySQL Um Dado é uma representação limitada da realidade. Um Banco de Dados se caracteriza por ser uma coleção de dados reunidos que provêm dados por meios de consultas através de um SGBD (Sistemas Gerenciadores de Bancos de Dados) (ROSINI; PALMISANO, 2003). Um SGBD trabalha na arquitetura cliente/servidor. Os aplicativos fazem requisições para o SGBD que funciona como uma espécie de servidor de dados gerenciando também o fluxo de dados, questões de segurança e a manutenção. A maioria dos SGBD utiliza a linguagem SQL (Structured Query Language – Linguagem de Consulta Estruturada) (RANGEL, 2004). Os SGBD são fáceis de serem encontrados no mercado, como exemplos é possível citar: Firebird; PostgreSQL; MySQL; Oracle; IBM DB2; e SQL – Server. Sendo o maior Sistema Gerenciador de Banco de Dados do mundo do software livre, o software MySQL ficou popular devido sua distribuição estar presente em Sistemas Operacionais Linux e pode ser uma ferramenta robusta para grandes projetos e suporte a bases de dados cada vez mais complexas (RANGEL, 2004). Esse trabalho irá utilizar o SGBD MySQL. PHP Toda programação possui uma linguagem que é tratada e vira código que os computadores interpretem para executarem suas operações. Os sistemas web também precisam de uma linguagem de programação. Uma linguagem de programação para sistemas web devem ser flexíveis para se interar com a linguagem de comunicação HTML. Uma das linguagens que conseguem trabalhar no mesmo código e em paralelo ao HTML é o PHP (Hypertext Preprocessor), ambos trabalhando delimitados por tags. Na Figura 14 está um exemplo da integração de código HTML com código PHP (DALL’OGLIO, 2007). 34 Figura 14. Exemplo de Código e Apresentação em PHP Fonte: Bortoluzzi (2007). O PHP é uma linguagem que suporta até orientação a objetos e encontra-se na sua versão 5, porém, sua difusão ainda não é abrangente como o JAVA da SUN ou ASP da Microsoft (DALL´OGLIO, 2007). 2.8 Soluções Similares O escopo deste TCC é abordar o Gerenciamento Centralizado de Backups em ambientes que possuam os seus processos de forma independente. A EMC (2009) enfatiza a necessidade de se gerenciar o backup e cita algumas características que o gerenciamento de Backup deve abordar, deixando claro que uma das principais preocupações das empresas de TI é o gerenciamento das operações de backup. Muitas empresas continuam a gerenciar o backup com esforços manuais, planilhas e relatórios personalizados de script. Nos últimos anos, surgiu um novo conjunto de produtos para lidar com essa necessidade específica. O termo DPM (Data Protection Management, gerenciamento da proteção de dados) surgiu para descrever esses novos produtos.(...) Uma solução de DPM permite lidar com muitos dos problemas que surgem do gerenciamento manual do backup, inclusive: • Compreender o que está sendo protegido e a qualidade da proteção; • Quantificar a eficiência do backup; • Medir e alinhar o que é realizável com políticas declaradas de RPO/RTO; e • Prever o uso do backup. 35 O DPM habilita um processo mais eficiente e mais confiável de backup e recuperação para atingir os níveis de serviço necessários para proteger dados críticos do negócio e melhorar a eficiência de TI. Baseado nas informações da EMC, esse TCC contempla as ferramentas dedicadas ao Gerenciamento Centralizado de Backup, assumindo que as informações coletadas são feitas através de script automatizado de cópia de arquivos. Para um completo entendimento das funcionalidades do Gerenciador de Backup foram estudados dois sistemas: CMO e NetBackup, ambos voltados para a gerencia centralizada de backups distribuídos . 2.8.1 CMO O CMO (Central Management Option) segue o que é proposto pela EMC com as premissas de um software de gerenciamento, permitindo o controle de backups e restores de múltiplos servidores em um único console, reduzindo drasticamente o tempo necessário para gerenciar e administrar suas operações de backup. O CMO foi introduzido juntamente com o software do ARCserve a partir da sua versão 12.5r. Este software permite somente a gerencia do backup quando o servidor ―mestre‖ e os servidores ―escravos‖ utilizam o ARCserve como software de backup. O CMO pode ser instalado separadamente do pacote ARCserve Backup, no caso de versões anteriores do produto. 2.8.2 NetBackup O NetBackup é uma ferramenta da empresa Symantec e atualmente se encontra na versão 7, conforme Symantec (2010), o software fornece um console centralizado para monitoração, alertas e gerenciamento integrados para diferentes domínios de backup e archive. Dentro da empresa o software melhora a previsão do consumo de armazenamento do archiving e do backup; análise de riscos, quantifica a exposição e avalia a possibilidade de recuperação de clientes e aplicativos, controla facilmente as taxas de sucesso dos aplicativos de backup em toda a empresa. O NetBackup é compatível com outros softwares como por exemplo o Bacula, sendo possível ser configurado no servidor ―mestre‖ o NetBackup e nos servidores ―escravos‖ o Bacula. Segue na Figura 15 a interface de gerenciamento do NetBackup 7. 36 Figura 15. Interface NetBackup Fonte: Symantec (2010). 37 3 PROJETO Neste capítulo é apresentada a análise de requisitos, os diagramas de casos de uso, diagrama de classes e os protótipos de tela utilizados para a construção da ferramenta de gerenciamento centralizado de backups distribuídos. 3.1 Análise de Requisitos A análise de requisitos foi realizada com o objetivo de identificar o escopo do projeto e definir as funcionalidades do sistema. Na análise, os requisitos funcionais, os não funcionais e as regras de negócio foram elicitadas, documentadas e analisadas. As seções seguintes apresentam o resultado desse trabalho. 3.1.1 Requisitos Funcionais Os requisitos funcionais descrevem o funcionamento do sistema e abrange as tarefas que ele disponibiliza aos usuários. Para melhor entendimento e dimensão da ferramenta, os requisitos funcionais foram divididos em dois módulos: Administrativo e Monitoração. Na etapa de análise os seguintes requisitos funcionais foram identificados: Administrativo RF01: O sistema deve permitir o cadastro, edição e exclusão usuários. RF02: O sistema deve permitir o cadastro, edição e exclusão unidades de negócio. RF03: O sistema deve permitir configurar opções de alertas. Monitoração RF04: O sistema deve apresentar um breve histórico do status dos backups cadastrados. RF05: O sistema deve apresentar o status em tempo real dos equipamentos da unidade de negócio. RF06: O sistema deve permitir a emissão de relatórios de backup por unidade. 38 3.1.2 Requisitos Não Funcionais Os requisitos não funcionais especificam as características do software, neste caso, a linguagem de programação, o banco de dados e a plataforma utilizada. RNF01: O sistema deve ser desenvolvido em plataforma orientada a WEB. RNF02: O sistema deve ser desenvolvido na linguagem PHP. RNF03: O sistema deve utilizar banco de dados MySQL. RNF04: O sistema deve solicitar autenticação de usuário e senha de acesso. 3.1.3 Regras de Negócio As regras de negócio definem as particularidades do funcionamento da ferramenta: RN01: O sistema possui dois perfis de acesso distintos: Administrador e Monitoração. RN02: O perfil administrador deve possuir acesso total ao sistema. RN03: O perfil monitoração não deve ter acesso para fazer alterações no sistema. RN04: O sistema permite extrair relatórios sobre os backups. RN05: O sistema deve avisar quando um equipamento estiver offline ou um backup não ter sido concluído. RN06: O sistema permite o monitoramento em tempo real dos equipamentos de backup. RN07: O sistema armazena o histórico dos backups executados. RN08: O sistema não tem ação direta sobre o procedimento de backup. RN09: O sistema permite o cadastro e edição de novas unidades. RN10: O sistema permite o cadastro e edição de novos usuários. 39 3.2 Diagrama de Casos de Uso O diagrama de caso de uso representa as funcionalidades observáveis do sistema e dos elementos externos a ele. A seguir são apresentados os módulos que compõem o sistema proposto neste projeto, sendo a descrição de cada caso de uso no Apêndice A. 3.2.1 Módulo Administrativo Este módulo permite ao usuário acesso total ao sistema podendo fazer cadastro e edições de itens. A Figura 16 ilustra esse caso de uso. Figura 16. Diagrama de Casos de Uso no Módulo Administrativo 3.2.2 Módulo Monitoração Esse módulo permite o gerenciamento dos backups através do software, mas sem nenhuma permissão de escrita ou alteração para o usuário que pertence a ele. Todas as ações realizadas pela monitoração serão possíveis pelo usuário do módulo administrativo. A Figura 17 ilustra esse módulo e as atividades desenvolvidas. 40 Figura 17. Diagrama de Casos de Uso no Módulo Monitoração. 3.2.3 Diagrama de Classes de Domínio / Negócio A Figura 18 ilustra o diagrama de classes de domínio para o sistema proposto. Essa seção aborda como as principais classes envolvidas se relacionam com outras classes. 41 Figura 18. Diagrama de Classes de Domínio 3.3 Protótipos de Telas As principais telas do sistema estão nesta seção e representam as principais telas da interface do sistema com os usuários segundo os casos de uso e requisitos relatados nas seções anteriores. Como na tela inicial Figura 19, o sistema possui uma tela para login de usuário conforme previsto no RNF04 (UC 02.01). 42 Figura 19. Tela de Acesso ao Sistema Na tela inicial do sistema representada na Figura 20 são apresentados os recursos que os usuários dos grupos, Administrativo e Monitoração possuem visualização. Por essa tela é possível cada usuário acessar qualquer funcionalidade do sistema dentro do seu grupo: Gerenciamento de Unidades, Farol de Backup, Monitoramento de Dispositivos, Relatórios, Configurações e Gerenciamento de Usuários. 43 Figura 20. Tela Inicial do Gerenciador de Backup O Gerenciamento de Unidades (UC 01.02), Figura 21, apresenta a tela em que é feito o cadastro, edição e deleção das localidades e alterações de seus itens. Esse cadastro só é executado por uma pessoa que possua usuário e senha cadastrada no módulo administrativo. Figura 21. Gerenciamento de Unidades 44 Na tela de Farol de Backup, Figura 22, é feita a visualização de um curto histórico de todos os backups cadastrados no sistema (UC 02.04). Esta visualização será possível tanto no modo Administrativo quanto no de Monitoração. Figura 22. Farol de Backup A Figura 23 apresenta o gerenciamento em tempo real dos dispositivos cadastrados (UC 02.03) que estão ativos, estes dispositivos englobam os servidores de backup e as unidades de backup com interface gerenciável. 45 Figura 23. Monitoramento de Dispositivos No menu relatórios é possível efetuar o filtro das informações por unidade de negócio, equipamento de backup e data, para que seja gerado o relatório (UC 02.02) detalhado do backup. Na Figura 24 a tela de relatório é exibida. Figura 24. Relatório 46 A Figura 25 exibe a tela de configurações. Autenticado com usuário no modo Administrativo, é possível fazer ou alterar as configurações de alertas (UC 01.03), para recebimento via e-mail. Figura 25. Configurações Na tela de Gerenciamento de Usuários, é permitido que usuários do grupo administrador cadastrem, editem e deletem (UC 01.01) outros usuários no sistema seja ele administrador ou monitor. Na Figura 26 é exibida a tela de Gerenciamento de Usuários do sistema. 47 Figura 26. Gerenciamento de Usuários 48 4 DESENVOLVIMENTO Nesta etapa do TCC, são confeccionados os principais trechos de código fonte do sistema descrito na etapa de projeto, assim como a elaboração integral do sistema. 4.1 Banco de dados Na criação do banco de dados, vale destacar um ponto, a escolha do MySQL que ocorreu devido a grande interação que há com o PHP. Para a criação e manutenção da base de dados foi utilizado o gerenciado PHPMyAdmin que é uma ferramenta do pacote XAMPP. A utilização desse software de acesso ao banco de dados pode ser visualizada na Figura 27. Todas as tabelas continham colunas identificadas através de prefixo como sugere as boas práticas de programação, essa prática facilitou e agilizou os relacionamentos implementados internamente no sistema. Figura 27. Banco de Dados 4.2 Sistema 4.2.1 Relatórios O acesso do sistema aos dados dos logs é feito através do script PHP que pode ser agendado a execução através do agendador do sistema operacional ou acionado manualmente através da interface do sistema. Na figura 28 é apresenta o trecho do código onde é aberto o arquivo de logs e desmembradas as informações preparando-as para serem inseridas no banco de dados. Nesta função 49 são utilizadas as funções padrões de manuseio de arquivos em PHP (fopen, fread e fclose). Na linha 50 é utilizada a função explode que trata as informações internas do arquivo, conseguindo separar os dados que são úteis ao sistema das informações descartáveis e a partir da linha 55 é feita a validação da linha e colocado na variável para inserção no banco de dados. Figura 28. Relatórios 4.2.2 Gerenciamento de Unidades e Usuários Para que o sistema possa apresentar uma confiabilidade nos dados que são cadastrados pelo operador é necessário que se tenha a validação dos campos. Na figura 29 é apresentado um trecho do código que permite verificar como foi conduzida a validação através da biblioteca JQuery. Na linha 53 é apontado o ID do formulário que será feita a validação, seguindo para a linha 54 onde são informados os campos que serão validados e quais itens de validação são necessários. A partir da linha 101 são descritas as mensagens de validação respectiva de cada item. 50 Figura 29. Gerenciamento de Unidades e Usuários 4.2.3 Farol de Backup Na página de farol de backup é proposta a visualização dos backups realizados nos últimos sete dias, com isso foi necessário a criação de uma função que fizesse a contagem regressiva da data conforme código da linha 77 a 83 da figura 30. A função while tem a função de acessar cada célula da matriz formada entre as unidades e os dias e preencher com os dados consultados no banco de dados. 51 Figura 30. Farol de Backup 4.2.4 Monitoramento de Dispositivos O monitoramento de dispositivos que tem como função validar se um determinado equipamento está ligado ou não, é baseado numa função executada em cima de um Shell conforme figura 31. Figura 31. Monitoramento de Dispositivos 52 5 CONCLUSÃO Este TCC apresentou uma ferramenta para fazer a gerencia e controle centralizado de backups. Por ser um assunto relativamente novo no que tange a importância em que vem sendo tratado atualmente, foram encontradas algumas dificuldades em conseguir uma bibliografia fiel e segura do assunto para se realizar a fundamentação teórica. Para o desenvolvimento da modelagem da ferramenta, algumas informações foram baseadas nas ferramentas existentes no mercado, porém, a maior parte dos softwares analisados não implementam todas as funcionalidades necessárias para um sistema web de monitoramento remoto de dispositivos. Portanto, partiu-se para uma definição de ferramenta baseando-se no conteúdo da revisão bibliográfica e práticas adquiridas. A construção do sistema foi baseada em interface Web, utilizada a linguagem PHP para estruturação do sistema e para o banco de dados foi utilizado MySql além do estudo da estrutura dos logs do ArcServer para que pudesse ser feito o filtro para emissão de relatórios. Durante a implementação deste projeto identificou-se algumas dificuldades, dentre elas a falta de conhecimento prévio da linguagem PHP e a falta de experiência em projetos de programação. Ao final deste trabalho, além de todo o conhecimento adquirido e aprimorado através dos estudos e pesquisas, foi verificado que este sistema é viável e pode contribuir no ambiente tecnológico de uma corporação. Devido a carência de ferramentas nessa área de Sistema de Informação espera-se que este trabalho se torne um produto que possa auxiliar gerentes e administradores no gerenciamento de seus dados e backups. Finalizando este trabalho, fica a possibilidade para a implementação de melhorias e atualização do sistema e suas interfaces, bem como novos filtros para relatórios e novas atividades para integrar suas funções. 53 REFERÊNCIAS BIBLIOGRÁFICAS ALMEIDA, R. Q. Estratégias para backups. 1997. Disponível em: <http://www.dicasl.com.br/dicas-l/19970705.php>. Acesso em: 16 abr. 2010. ALVAREZ, M. A. Introdução ao HTML. Disponível em: <http://www.criarweb.com/artigos/10.php>. Acesso em: 01 maio 2010. ARCSERVE. ARCserve. 2010. Disponível em: <http://arcserve.com/br/products/features.aspx?id=5282>. Acesso em: 24 abr. 2010. BORTOLUZZI, L. Um sistema de apoio ao gerenciamento de incidentes de TI baseado na recomendação ITIL. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) – Universidade do Vale do Itajaí, Centro de Ciências Tecnológicas da Terra e do Mar, Curso de Ciência da Computação, Itajaí, 2007. BUNGE, M. Teoria e realidade. São Paulo: Perspectiva, 1974. CA COMPUTER ASSOCIATION. History. 2010. Disponível em: <http://www.ca.com/us/about/content.aspx?cid=120941>. Acesso em: 24 abr. 2010. CA COMPUTER ASSOCIATION. CA ARCserve Backup. 2010. Disponível em: <http://www.ca.com/br/products/product.aspx?id=4536#overview>. Acesso em: 24 abr. 2010. CARMO, R. M. Gestão da tecnologia da informação. Disponível em: <http://www.guiarh.com.br/p62.htm>. Acesso em: 17 abr. 2010. CAVALCANTI, V. Crise não impede aumento de dados digitais. 2009. Disponível em: <http://www.itweb.com.br/noticias/index.asp?cod=57523>. Acesso em: 24 abr. 2010. CHANNEL WEB. Storage: Top 10 backup and recovery software vendors. 2010. Disponível em: <http://www.crn.com/storage/221900702;jsessionid=TRCVJDCDKRB1HQE1GHOSKH4ATMY3 2JVN?pgno=5>. Acesso em: 24 abr. 2010. CHAPA, D. A.; LITTLE, D. B. Implementing backup and recovery. Indianapolis: Willey Publishing, Inc, 2003. ISBN 0-471-22714-5. COMPUTERWORLD. Recuperação de desastres. 2010. Disponível em: <http://cio.uol.com.br/tecnologia/2010/03/11/recuperacao-de-desastres-setor-vai-crescer-60-4-ate2015/>. Acesso em: 22 maio 2010. DALL'OGLIO, P. PHP: programando com orientação a objetos. São Paulo: Novatec, 2007. DELL. PowerVault DL2100 - CommVault. 2010. Disponível em: <http://www.dell.com/us/en/enterprise/storage/storage-dl2100-commvault/pd.aspx?refid=storagedl2100-commvault&s=biz&cs=555>. Acesso em: 16 maio 2010. 54 EMC. Guia rápido para backup e arquivamento. 2009. Disponível em: <http://brazil.emc.com/collateral/hardware/pocket-guide/h1306-backup-web.pdf>. Acesso em: 01 maio 2010. FERREIRA, E. Análise de confiabilidade de sistemas redundantes de armazenamento em discos magnéticos. 2003. Dissertação (Mestrado em Engenharia da Computação e Sistemas Digitais) – Escola Politécnica da Universidade de São Paulo, São Paulo, 2003. FUNDING UNIVERSE. Cheyenne Software Inc. 2010. Disponível em: <http://www.fundinguniverse.com/company-histories/Cheyenne-Software-Inc-CompanyHistory.html>. Acesso em: 24 abr. 2010. GUIA RH. Gestão da tecnologia da informação. 2010. Disponível em: <http://www.guiarh.com.br/p62.htm>. Acesso em: 10 abr. 2010. GUISE, P. D. Enterprise systems backup and restore: a corporate insurance policy. Nova York: Auerbach Publications, 2009. ISBN 978-1-4200-7639-4. HP. Why back up? .2004. Disponível em : <http://www.centrictechnologies.com/hpbackup.pdf>. Acesso em: 18 abr. 2010. IBM - INTERNATIONAL BUSINESS MACHINE. DB2 Basics: the IBM DB2 universal database for linux, UNIX, and Windows backup utility. 2005. Disponível em: <http://www.ibm.com/developerworks/data/library/techarticle/dm-0501zikopoulos/> Acesso em: 16 abr. 2010. JORDÃO, F. R. Vale a pena trocar um HD por um SSD?.2009. Disponível em: <http://www.baixaki.com.br/info/1951-vale-a-pena-trocar-um-hd-por-um-ssd-.htm>. Acesso em: 16 maio 2010. LOBATO, D. C. Proposta de um ambiente de simulação e aprendizado inteligente para RAID. 2000. Dissertação (Mestrado em Ciências da Computação) – Instituto de Ciências Matemáticas e de Computação ICMC-USP, São Paulo, 2000. MEDIA STORAGE DEVICE. Passeios de fita magnética. 2010. Disponível em: <http://www.mediastoragedevices.com/portuguese/Passeios-de-Fita-magnetica.html>. Acesso em: 18 abr. 2010. MICROSOFT. Aspectos fundamentais da tecnologia. 2010. Disponível em: <http://www.microsoft.com/business/smb/pt-br/issues/technology/basics/networks.mspx>. Acesso em: 05 abr. 2010. NETWORK WORKING GROUP. HTTP - Hypertext Transfer Protocol. 1999. Disponível em <http://www.w3.org/Protocols/>. Acesso em: 01 maio 2010. PATENTES ONLINE. Método e sistema para um backup e restauração sintéticos. 2005. Disponível em: <http://www.patentesonline.com.br/metodo-e-sistema-para-um-backup-erestauracao-sinteticos-23028.html>. Acesso em: 09 maio 2010. 55 PEARRING, J. Backup Appliances - the answer to all-in-one data protection?. 2002. Disponível em: <http://www.enterprisestorageforum.com/management/features/article.php/1367861/BackupAppliances---The-Answer-to-All-in-One-Data-Protection.htm>. Acesso em: 15 maio 2010. PEREIRA, E. Backup: incremental, diferencial ou total?. 2008. Disponível em: <http://www.vivenciaemtecnologia.com/backup>. Acesso em: 10 abr. 2010. PEREIRA, F. L. CPITIL: uma aplicação de apto ao gerenciamento de problemas baseado na recomendação ITIL. Itajaí, 2007. [156]f . Trabalho de Conclusão de Curso (Graduação em Ciencia da Computação) - Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2007. PINHEIRO, J. M. Políticas de backup corporativo. 2005. Disponível em: <http://www.projetoderedes.com.br/artigos/artigo_politicas_de_backup_corporativo.php>. Acesso em: 06 abr. 2010. PUBLICATIONS LTD. Guia de compra de software para backup. 2010. Disponível em: <http://compras.hsw.uol.com.br/software-backup-guia.htm>. Acesso em: 24 abr. 2010. RANGEL, A. MySQL: projeto, modelagem e desenvolvimento de banco de dados. Rio de Janeiro: Altabooks, 2004. REIS, K. C. Mini-Dicionario Técnico de Informática. 2005. Disponível em: <http://www.juliobattisti.com.br/tutoriais/keniareis/dicionarioinfo001.asp>. Acesso em: 10 abr. 2010. ROSINI, A. M.; PALMISANO, A. Administração de sistemas de informação e a gestão do conhecimento. São Paulo: Thomson Learning, 2003. SALDANHA, L. Backup-se quem puder. 2010. Disponível em: <http://www.fhox.com.br/fhoxmais/fhoxmais-lista.php?i=7>. Acesso em: 06 maio 2010. SIERRA, H. M. An introduction to direct access storage devices. Londres: Academic Press Limited, 1990. SYMANTEC. Symantec Netbackup. 2010. Disponível em: http://www.symantec.com/pt/br/business/products/newfeatures.jsp?pcid=pcat_business_cont&pvid =2_1. Acesso em: 27 maio 2010. SYMANTEC. Symantec Netbackup. 2010. Disponível em: http://www.symantec.com/pt/br/about/news/release/article.jsp?prid=20100818_01. Acesso em: 29 outubro 2010. SYMATECH. Free backup software. 2010. http://www.symatech.net/free-backup-software. Acesso em: 24 abr. 2010. THE APACHE FOUNDATION. Introdution of Apache. 2010. Disponível em: <http://www.apache.org/foundation/how-it-works.html>. Acesso em: 1 maio 2010. 56 TOIGO, J. Estudo analisa sistema de backup da CA. 2009. Disponível em: <http://www.docmanagement.com.br/portal/noticia.asp?cod=2610>. Acesso em: 24 abr. 2010. VICEVERSA. Real-Time backup, synchronization and replication. 2010. Disponível em: <http://www.tgrmn.com/web/kb/item82.htm>. Acesso em: 8 maio 2010. 57 GLOSSÁRIO Appliance Equipamento desenvolvido e configurado para executar uma função específica dentro de um sistema. Archiving O ato de manter uma de dados em um dispositivo de armazenamento. Block level Grupo de dados armazenamento. gravados em um dispositivo de Hierarchical Storage Management Técnica na qual migra os dados do disco rígido do servidor para outros tipos de armazenamento, tais como fita magnética. Host Qualquer dispositivo ou computador conectado a uma rede. Recovery Point Objective Ponto no tempo em que um dado deve ser recuperado. Recovery Time Objective Tempo em que o serviço leva para restaurar os dados após um desastre. Snapshot É o armazenamento do estado do sistema em um determinado ponto no tempo. Storage Termo técnico genérico para soluções de armazenamento. While Laço de repetição em uma linguagem de programação. APÊNDICES A. DESCRIÇÃO DOS CASOS DE USO Neste apêndice são apresentadas detalhadamente as descrições dos casos de uso mostrados na seção 3.2. A.1 MÓDULO ADMINISTRATIVO UC 01.01 – Cadastra e Editar Usuário Permite ao usuário administrador cadastrar, editar ou deletar usuários. (Figura 20) Requisito: RF01: O sistema deve permitir o cadastro, edição e exclusão de usuários. Condição: Pré-Condição: Ter usuário do grupo administração cadastrado no sistema. Pós-Condição: Cadastro do usuário atualizado no sistema. Cenários: Cadastro de usuário - Principal 1. O sistema apresenta a tela inicial; 2. O administrador seleciona o botão GERENCIAMENTO DE USUÁRIOS; 3. O administrador seleciona o botão ADICIONAR USUÁRIO; 4. O administrador preenche os dados do novo usuário; 5. O sistema verifica as informações; 6. O sistema exibe a tela de sucesso de cadastro; e 59 7. O sistema armazena as informações no banco de dados. Cadastro Inválido – Exceção Caso algum campo digitado pelo administrador esteja incorreto no passo 4 do cenário Cadastro de usuário: 1. Sistema informa qual o campo que está com a informação incorreta e o motivo. Edição de usuário – Alternativo 1. O sistema apresenta a tela inicial; 2. O administrado seleciona o link EDITAR do item desejado; 3. O sistema apresenta os dados do usuário; 4. O administrador altera os dados; 5. O sistema verifica e valida as informações; e 6. O sistema exibe a tela de sucesso de alteração do cadastro. Edição Inválida – Exceção Caso algum campo digitado pelo administrador esteja incorreto no passo 4 do cenário Edição de usuário: 1. Sistema informa qual o campo que está com a informação incorreta e o motivo. Deleção de usuário – Alternativo 1. O sistema apresenta a tela inicial; 2. O administrado seleciona o link DELETAR do item desejado; e 3. O sistema elimina do banco de dados aquele item. 60 UC 01.02 – Cadastrar e editar unidades de negócio Permite ao usuário administrador cadastrar, editar ou deletar unidades de negócio. (Figura 21) Requisito: RF02: O sistema deve permitir o cadastro, edição e exclusão de unidades de negócio. Condição: Pré-Condição: Estar logado com o usuário do módulo administrativo. Pós-Condição: Cadastro da unidade atualizado no sistema. Cenários: Cadastro de unidade - Principal 1. O sistema apresenta a tela inicial; 2. O administrado seleciona o botão GERENCIAMENTO DE UNIDADES; 3. O administrador seleciona o botão ADICIONAR UNIDADE; 4. O administrador preenche os dados da nova unidade; 5. O sistema verifica e valida as informações; 6. O sistema exibe a tela de sucesso de cadastro; e 7. O sistema armazena as informações no banco de dados. Cadastro Inválido – Exceção Caso algum campo digitado pelo administrador esteja incorreto no passo 4 do cenário Cadastro de unidades: 1. Sistema informa qual o campo que está com a informação incorreta e o motivo. 61 Edição de unidade – Alternativo 1. O sistema apresenta a tela inicial; 2. O administrado seleciona o link EDITAR do item desejado; 3. O sistema apresenta os dados da unidade; 4. O sistema verifica as informações; e 5. O sistema exibe a tela de sucesso de alteração do cadastro. Edição Inválida – Exceção Caso algum campo digitado pelo administrador esteja incorreto no passo 4 do cenário Edição de unidade: 1. Sistema informa qual o campo que está com a informação correta e o motivo. Deleção de unidade – Alternativo 1. O sistema apresenta a tela inicial; 2. O administrado seleciona o link DELETAR do item desejado; e 3. O sistema elimina do banco de dados aquele item. UC 01.03 – Cadastrar opções de aviso Permite ao administrador escolher os dados que serão alarmados e configurar para quais emails o sistema deve enviar os alarmes. Requisito: RF03: O sistema deve permitir configurar opções de alerta. Condição: Pré-Condição: Estar logado com o usuário do módulo administrativo. Pós-Condição: Envio de alerta via e-mail. 62 Cenários: Cadastrar opção de alerta – Principal 1. O sistema apresenta o menu de opções; 2. O usuário seleciona o botão CONFIGURAÇÕES; 3. O sistema apresenta as opções de alarme que possui; 4. O administrador seleciona os usuários que receberão os alertas; e 5. Administrador seleciona o botão APLICAR. A.2 MÓDULO MONITORAÇÃO UC 02.01 – Acessa o sistema Permite a qualquer usuário cadastrado, logar no sistema para acessá-lo. Requisito: RNF04: O sistema deve solicitar autenticação de usuário e senha de acesso Figura 19. Condição: Pré-Condição: Ter um usuário cadastrado no sistema. Pós-Condição: Acesso ao sistema. Cenários: Autenticar no sistema – Principal 1. A página apresenta os campos usuário e senha; 2. O usuário digita o seu usuário e sua senha; e 3. O usuário seleciona o botão OK. 63 Erro ao autenticar no sistema – Exceção Caso o campo para digitação do usuário ou senha estejam incorretos no passo 2 do cenário Autenticar no sistema: 1. O sistema apresenta a mensagem na tela ―Usuário ou senha incorreto, favor verificar‖; e 2. O sistema retorna ao passo 1 do cenário Autenticar no sistema. UC 02.02 – Emite relatórios Permite a todo usuário logado emitir relatórios de qualquer unidade cadastrada no sistema. Requisito: RF07: O sistema deve permitir a emissão de relatórios de backup por unidade. Figura 24. Condição: Pré-Condição: Possuir uma unidade cadastrada no sistema. Pós-Condição: Relatório de backup da unidade selecionada, emitido. Cenários: Emissão de relatório – Principal 1. O sistema apresenta o menu de opções; 2. O usuário seleciona o botão RELATÓRIOS; 3. O sistema apresenta a tela com as opções de filtro; 4. Usuário seleciona unidade e data; 5. Usuário seleciona o botão GERAR RELATÓRIO; 6. O sistema apresentará os dados do relatório na tela; e 64 7. Usuário seleciona o botão IMPRIMIR, para o sistema gerar a impressão do relatório em papel. Emissão de relatório inválida – Exceção Caso o usuário não selecione nenhuma unidade de negócio para geração do relatório a partir do passo 5 do cenário Emissão de relatório: 1. O sistema apresenta uma tela ―Favor validar as opções selecionadas‖; e 2. Sistema volta a tela de emissão de relatórios. UC 02.03 – Consulta status do equipamento Permite a todo usuário logado fazer a consulta em tempo real se a unidade de backup ou o servidor de backup estão ativos. Requisito: RF06: O sistema deverá apresentar o status em tempo real dos equipamentos da unidade de negócio Figura 23. Condição: Pré-Condição: Possuir uma unidade de negócio cadastrada no sistema. Pós-Condição: Visualização do status online/offline dos equipamentos. Cenários: Visualização do status dos equipamentos – Principal 1. O sistema apresenta o menu de opções; 2. O usuário seleciona o botão MONITORAMENTO DE DISPOSITIVOS; e 3. O sistema apresenta todos os servidores e unidades de backup cadastradas e seus status online/offline. 65 UC 02.04 – Consulta farol de backup Permite a todo usuário logado consultar o farol de backup visualizando o status dos backups executados recentemente. Requisito: RF05: O sistema deve apresentar um breve histórico do status dos backups cadastrados Figura 22. Condição: Pré-Condição: Possuir uma unidade cadastrada no sistema. Pós-Condição: Visualização do farol de backup. Cenários: Visualização do farol de backup – Principal 1. O sistema apresenta o menu de opções; 2. O usuário seleciona o botão FAROL DE BACKUP; e 3. O sistema apresenta os dados dos últimos backups executados. 66