JerônimoJerônimo MedinaMedina MadrugaMadruga

BackupBackup comcom ferramentasferramentas livreslivres

TchelinuxTchelinux 20102010 -- BagéBagé

SumárioSumário

● Apresentação

● Conceitos

● Ferramentas básicas

● Compressão

● Backup em mídias

● RAID e sistemas de arquivo

● Backup no Desktop

● Backup Online

● Clonagem de sistemas

● Sistemas avançado de backup

● Observações finais

● Referências

ApresentaçãoApresentação

● JerônimoJerônimo MedinaMedina MadrugaMadruga ● TécnicoTécnico emem EletrônicaEletrônica pelopelo IFSULIFSUL ● BacharelandoBacharelando emem CiênciaCiência dada ComputaçãoComputação pelapela UFPelUFPel ● TrabalhaTrabalha comcom informáticainformática desdedesde 20032003 – Suporte a usuário – Administração de sistemas – Administração de redes – Gerência de ambientes de educação a distância ● AtualmenteAtualmente técnicotécnico dede laboratóriolaboratório dede informáticainformática dada FURGFURG ● ParticipanteParticipante dede listaslistas dede discussãodiscussão dede softwaresoftware livrelivre comocomo TchelinuxTchelinux ee GUSLPGUSLP desdedesde 20072007 ConceitosConceitos

● BackupBackup ● CópiaCópia dede dadosdados emem umum locallocal diferentediferente dada origemorigem dosdos mesmosmesmos ● Objetivos:Objetivos: – RecuperaçãoRecuperação dede desastredesastre ● Falha no processamento ● Corrupção da base de dados ● Eventos naturais – RecuperaçãoRecuperação dede arquivosarquivos deletadosdeletados ● Usuários mal instruídos ● Invasões e ataques

ConceitosConceitos

● FatoresFatores relevantesrelevantes parapara implementaçãoimplementação

● CapacidadeCapacidade – Pensar no tamanho do armazenamento para o futuro ● VelocidadeVelocidade – Tempo de execução não deve ser grande demais ● CompressãoCompressão – Relação entre tempo de compressão e espaço economizado ● CustoCusto – Solução deve estar dentro do orçamento previsto ● PortabilidadePortabilidade – Capacidade de rodar nos mais diversos sistemas

ConceitosConceitos

● BackupBackup completocompleto ● ConsisteConsiste nana cópiacópia dede todostodos osos dadosdados queque sese querquer preservarpreservar ● GeraGera oo maiormaior volumevolume ee trafegotrafego dede dadosdados ● MaisMais fácilfácil dede implementarimplementar ee restaurarrestaurar ● MaiorMaior resistênciaresistência aa corrupçãocorrupção dede dadosdados

ConceitosConceitos

● BackupBackup diferencialdiferencial ● ComparaCompara asas alteraçõesalterações entreentre osos últimosúltimos backupsbackups ee copiacopia somentesomente osos arquivosarquivos alteradosalterados ● MenorMenor tamanho,tamanho, porémporém maiormaior complexidadecomplexidade

ConceitosConceitos

● BackupBackup IncrementalIncremental ● ComparaCompara osos arquivosarquivos ee copiacopia somentesomente osos modificadosmodificados emem referênciareferência aa umum backupbackup basebase ● MeioMeio termotermo entreentre oo completocompleto ee oo diferencialdiferencial

FerramentasFerramentas básicasbásicas

● CPCP ee MVMV ● DisponíveisDisponíveis emem qualquerqualquer sistemasistema unix-likeunix-like ● ImplementamImplementam asas funcionalidadesfuncionalidades dede copiarcopiar ee movermover arquivosarquivos ● PossibilitaPossibilita backupsbackups simplessimples ● LimitadoLimitado aa dispositivosdispositivos montadosmontados nono sistemasistema

FerramentasFerramentas básicasbásicas

● FTPFTP ● FileFile transfertransfer protocolprotocol ● PermitePermite aa cópiacópia parapara servidoresservidores remotosremotos ● FácilFácil dede implementarimplementar ● PorémPorém comcom poucospoucos recursosrecursos dede segurançasegurança – TransferênciaTransferência plana,plana, dadosdados nãonão sãosão criptografadoscriptografados ● NoNo WindowsWindows umauma opçãoopção parapara usouso éé oo FilezillaFilezilla

FerramentasFerramentas básicasbásicas

● SCPSCP ● SecureSecure CopyCopy ● PossibilitaPossibilita cópiacópia criptografadacriptografada usandousando sshssh atravésatravés dada rederede ● PermitePermite backupbackup emem dispositivosdispositivos remotosremotos ● GaranteGarante aa segurançasegurança dosdos dadosdados enviadosenviados ● DisponívelDisponível nono WindowsWindows atravésatravés dodo WINSCPWINSCP

FerramentasFerramentas básicasbásicas

● RSYNCRSYNC ● ComparaCompara aa origemorigem comcom oo destinodestino ee copiacopia somentesomente blocosblocos dede arquivosarquivos queque apresentaramapresentaram mudançasmudanças ● PermitePermite aa execuçãoexecução dede backupsbackups incrementaisincrementais ● PodePode utilizarutilizar sshssh parapara criptografarcriptografar osos dadosdados ● PodePode utilizarutilizar compressãocompressão nosnos dadosdados aa seremserem enviadosenviados ● DisponívelDisponível nono WindowsWindows atravésatravés dodo CWRSYNCCWRSYNC

FerramentasFerramentas básicasbásicas

● AlgoritmoAlgoritmo dodo RSYNCRSYNC

FerramentasFerramentas básicasbásicas

● CRONCRON ● FerramentaFerramenta dede agendamentoagendamento dede tarefastarefas ● PossibilitaPossibilita criarcriar umauma rotinarotina automatizadaautomatizada dede execuçãoexecução dede scriptsscripts ee programasprogramas dede backupbackup ● AltamenteAltamente flexívelflexível ● PodePode serser replicadareplicada nono WindowsWindows atravésatravés dodo agendadoragendador dede tarefas,tarefas, poremporem semsem tantastantas funcionalidadesfuncionalidades ● PodePode serser utilizadautilizada nono WindowsWindows atravésatravés dodo CYGWINCYGWIN

CompressãoCompressão

● ConsisteConsiste emem reduzirreduzir oo espaçoespaço ocupadoocupado pelospelos arquivosarquivos nono discodisco ● PossibilitaPossibilita oo armazenamentoarmazenamento dede grandesgrandes volumesvolumes dede dadosdados emem capacidadescapacidades menoresmenores ● AumentoAumento oo tempotempo dede processamentoprocessamento parapara criarcriar ouou restaurarrestaurar umum backupbackup ● PodePode amplificaramplificar osos danosdanos causadoscausados porpor corrupçãocorrupção dede dadosdados ● AlgumasAlgumas ferramentasferramentas dede compressãocompressão incluemincluem recursosrecursos dede criptografiacriptografia

CompressãoCompressão

● TARTAR (Tape(Tape Archive)Archive) ● PodePode serser utilizadoutilizado parapara juntarjuntar váriosvários arquivosarquivos emem umum sósó ● TambémTambém podepode serser utilizadoutilizado parapara extrairextrair váriosvários arquivosarquivos dede umum únicoúnico ● NãoNão éé capazcapaz dede realizarrealizar aa compressão,compressão, porémporém podepode trabalhartrabalhar emem conjuntoconjunto comcom ferramentasferramentas queque aa fazemfazem ● ,GZIP, ,BZIP2, LZMA,LZMA, XZXZ

CompressãoCompressão

● UNPUNP ● FerramentaFerramenta queque podepode serser utilizadautilizada parapara descompressãodescompressão dede quasequase todostodos osos formatosformatos ● OutrasOutras ferramentasferramentas ● ,Ark, Arj,Arj, Rar,Rar, Unrar,Unrar, Dar,Dar, Ark,Ark, P7zip,P7zip, XarchiverXarchiver ● ParaPara WindowsWindows ● 7Zip7Zip ee PeaZipPeaZip

BackupBackup emem mídiasmídias

● ReduçãoRedução dosdos custoscustos dede mídiasmídias atualmenteatualmente ● AltosAltos custocusto dede armazenamentoarmazenamento emem unidadesunidades dede discodisco ● GigabyteGigabyte XX RealReal ● MídiasMídias permitempermitem múltiplosmúltiplos backupsbackups ee armazenamentoarmazenamento porpor longoslongos períodosperíodos ● BackupsBackups emem discodisco ee mídiamídia permitepermite umum certacerta redundânciaredundância

BackupBackup emem mídiasmídias

● FitasFitas DATDAT ● DispositivoDispositivo queque permitepermite reescritareescrita ● AltoAlto custocusto dada unidadeunidade dede operaçãooperação ● BaixoBaixo custocusto dasdas fitasfitas ● IndicadoIndicado parapara servidoresservidores ● AcessoAcesso SequencialSequencial ● UtilizaUtiliza oo MTMT parapara rebobinar,rebobinar, apagarapagar ee ejetarejetar aa fitafita ● UtilizaUtiliza oo TARTAR parapara enviarenviar ouou extrairextrair arquivosarquivos

BackupBackup emem mídiasmídias

● CDCD ee DVDDVD ● UmaUma dasdas melhoresmelhores relaçõesrelações CustoCusto XX BeneficioBeneficio ● BaixaBaixa capacidadecapacidade dede armazenamentoarmazenamento ● BaixaBaixa confiabilidadeconfiabilidade ● IndicadoIndicado parapara backupsbackups caseiroscaseiros ouou backupsbackups permanentespermanentes ● PossibilidadePossibilidade dede reescritareescrita casocaso aa mídiamídia sejaseja RWRW ● MKISOFS,MKISOFS, CDRECORD,CDRECORD, GROWISOFS,GROWISOFS, CDRDAO,CDRDAO, DVD+RW-TOOLS,DVD+RW-TOOLS, WODIMWODIM

BackupBackup emem mídiasmídias

● OutrasOutras opçõesopções ● DisquetesDisquetes (opção(opção ultrapassadaultrapassada atualmente)atualmente) ● ZIPZIP DriveDrive ● DiscosDiscos removíveisremovíveis ● MemóriasMemórias FlashFlash

RAIDRAID

● RedundantRedundant ArrayArray ofof InexpensiveInexpensive DisksDisks

● RAIDRAID nãonão fornecefornece emem nenhumanenhuma configuraçãoconfiguração oo backupbackup dosdos dadosdados emem questãoquestão

● RAIDRAID garantegarante redundânciaredundância emem algumasalgumas configuraçõesconfigurações

● RAID 0 – Concatenação ou striping, aumenta velocidade e/ou tamanho ● RAID 1 – Redundância, aumenta confiabilidade do sistema ● Aconselhável:Aconselhável:

● RAID 1, RAID 0+1, RAID 1+0, RAID 100 ● Evitar:Evitar:

● RAID 2, RAID 3, RAID 4, RAID 5, RAID 6

RAIDRAID

RAIDRAID

RAIDRAID

● RAIDRAID viavia SistemaSistema OperacionalOperacional ● MelhorMelhor opçãoopção – RAIDTOOLSRAIDTOOLS ouou MDADMMDADM nono linuxlinux – TambémTambém podepode serser implementadoimplementado pelopelo LVMLVM ● RAIDRAID viavia softwaresoftware (alto(alto índiceíndice dede usouso dodo processador)processador) ● BaixoBaixo desempenhodesempenho ● BoaBoa confiabilidadeconfiabilidade ● FácilFácil manutençãomanutenção

RAIDRAID

● RAIDRAID viavia HardwareHardware

● ImplementadosImplementados atravésatravés dede controladorascontroladoras dede discodisco ee BIOSBIOS ● AltoAlto desempenhodesempenho ● BoaBoa ConfiabilidadeConfiabilidade ● SuporteSuporte emem váriosvários sistemassistemas ● ManutençãoManutenção complicadacomplicada ● FakeFake RAIDRAID – Controladoras de baixo custo – Tem desempenho igual ao de RAID via S.O., porém com a manutenção complicada como RAID via Software – Altamente não aconselhável

SistemasSistemas dede arquivoarquivo

● AlgunsAlguns sistemassistemas dede arquivoarquivo permitempermitem oo usouso dede cópiascópias dosdos dadosdados (snapshots)(snapshots) parapara realizarrealizar backupsbackups

● NILFS2NILFS2 ● BRTFSBRTFS ● ZFSZFS (disponível(disponível nono SolarisSolaris ee FreeBSD)FreeBSD)

● LVMLVM SnapshotSnapshot

● PermitePermite oo usouso dede snapshotssnapshots comcom sistemassistemas dede arquivoarquivo queque nãonão temtem esseesse recursorecurso

BackupBackup nono desktopdesktop

● FocoFoco nana funcionalidadefuncionalidade ee simplicidadesimplicidade ● Rdiff-backupRdiff-backup – CriaçãoCriação dede cópiacópia usandousando asas bibliotecasbibliotecas dodo rsyncrsync – PermitePermite backupbackup incrementalincremental ee temporaltemporal ● LuckyBackupLuckyBackup – PossuiPossui interfaceinterface gráficagráfica – AgendamentoAgendamento dede backupsbackups – UsoUso dodo rsyncrsync parapara realizarrealizar osos backupsbackups

BackupBackup nono desktopdesktop

● FlybackFlyback ● ImplementaçãoImplementação dede TimeTime MachineMachine dada AppleApple nono linuxlinux ● TimeTime VaultVault ● CriaçãoCriação dede snapshotssnapshots dede diretóriosdiretórios ● SbackupSbackup ● AltamenteAltamente personalizávelpersonalizável ● PossibilitaPossibilita incrementaisincrementais ee completoscompletos ● SugereSugere rotinasrotinas dede backupbackup padrãopadrão

BackupBackup OnlineOnline

● ExpansãoExpansão dede serviçosserviços baseadosbaseados emem CloudCloud ComputingComputing ● FocoFoco emem sincronizaçãosincronização dede raquivosraquivos entreentre diversosdiversos dispositivosdispositivos ● PossibilidadePossibilidade dede realizarrealizar backupbackup off-siteoff-site ● DiversosDiversos serviçosserviços comcom suportesuporte aa linuxlinux

BackupBackup OnlineOnline

● ProblemasProblemas ● Privacidade:Privacidade: VerificarVerificar oo contratocontrato dodo serviçoserviço sobresobre acessoacesso aa dadosdados – Sugestão: Enviar somente arquivos criptografados ● Capacidade:Capacidade: VerificarVerificar sese oo serviçoserviço oferecidooferecido ofereceoferece velocidadevelocidade ee capacidadecapacidade necessáriasnecessárias ● ServidoresServidores grátis:grátis: ● DropBoxDropBox ● UbuntuUbuntu OneOne ● SpiderOakSpiderOak

ClonagemClonagem

● PossibilidadePossibilidade dede copiarcopiar oo conteúdoconteúdo completocompleto dede umauma máquinamáquina ● BareBare MetalMetal RecoveryRecovery – RecuperaçãoRecuperação dosdos serviçosserviços emem umauma máquinamáquina diferentediferente – RápidaRápida restauraçãorestauração – HardwaresHardwares diferentesdiferentes ● InstalaçõesInstalações padronizadaspadronizadas – PadronizaçãoPadronização dede programasprogramas ee configuraçõesconfigurações

ClonagemClonagem

● FerramentasFerramentas

● ClonezillaClonezilla – Criação e restauração de partições e disco – Possibilidade de restauração via Multicast ● PingPing (Ping(Ping isis notnot ghost)ghost) – Inclui aplicativos para restaurar e reparar Windows ● LRSLRS (Linbox(Linbox RescueRescue Server)Server) – Centralização de imagens – Gerenciamento de inventário ● FOGFOG (Free,(Free, Open-sourceOpen-source Ghost)Ghost) – Interface de administração WEB

SistemasSistemas avançadosavançados dede backupbackup

● GrandeGrande volumevolume dede dadosdados ● GrandeGrande númeronúmero dede máquinasmáquinas ● NecessidadeNecessidade dede rotinasrotinas dede backupbackup complexascomplexas ● UsoUso dede diversosdiversos tipostipos dede mídiamídia ● CentralizaçãoCentralização dada estratégiaestratégia dede backupbackup ● ServidoresServidores dede backupbackup

SistemasSistemas avançadosavançados dede backupbackup

● AmandaAmanda ● RápidaRápida implementaçãoimplementação ● AjusteAjuste automatizadoautomatizado dodo tipotipo dede backupbackup ● BoaBoa documentaçãodocumentação ● PossibilitaPossibilita backupbackup simultâneosimultâneo emem dispositivosdispositivos diferentesdiferentes ● UsoUso dede formatosformatos abertosabertos (Dump(Dump ee )Tar) possibilitapossibilita recuperaçãorecuperação simplessimples

SistemasSistemas avançadosavançados dede backupbackup

SistemasSistemas avançadosavançados dede backupbackup

● BaculaBacula ● ArquiteturaArquitetura robustarobusta ee complexacomplexa ● ServidoresServidores dede armazenamentoarmazenamento distribuídosdistribuídos ● RotinaRotina dede backupbackup estáticaestática ● FormatoFormato dede backupbackup especificoespecifico dodo programaprograma ● CatalogoCatalogo dede backupbackup ● BackupsBackups emem paraleloparalelo

SistemasSistemas avançadosavançados dede backupbackup

ObservaçõesObservações finaisfinais

● BancosBancos dede dadosdados

● RealizarRealizar oo dumpdump dada basebase dede dadosdados parapara garantirgarantir aa integridadeintegridade dada mesmamesma ● MYSQLDUMPMYSQLDUMP ● PGSQLDUMPPGSQLDUMP ● PlanoPlano dede contingênciacontingência

● NãoNão bastabasta fazerfazer oo backup,backup, temtem queque testartestar (frequentemente)(frequentemente) ● VerificaçãoVerificação dada integridadeintegridade dosdos dadosdados ● CalcularCalcular tempotempo dede recuperaçãorecuperação dosdos sistemassistemas

ObservaçõesObservações finaisfinais

● VirtualizaçãoVirtualização

● PossibilitaPossibilita rodarrodar diversosdiversos SO'sSO's nana mesmamesma máquinamáquina ● FacilitaFacilita oo backupbackup – Uso de snapshots completos da máquina virtual – Cópia dos discos virtuais – Abstração do hardware ● DesempenhoDesempenho podepode serser afetadoafetado ● PrincipaisPrincipais opções:opções: – ZEN – KVM – VirtualBox

ObservaçõesObservações finaisfinais

● RecuperaçãoRecuperação dede dadosdados ● ÚltimaÚltima opçãoopção emem umum planoplano dede recuperaçãorecuperação ● PossibilitarPossibilitar recuperaçãorecuperação dede dadosdados apagadosapagados ouou corrompidoscorrompidos ● OpçõesOpções livres:livres: – PhotoRecPhotoRec – TestDiskTestDisk – ForemostForemost ● ProblemasProblemas físicosfísicos dede armazenamentoarmazenamento devemdevem serser levadoslevados aa empresasempresas especializadasespecializadas

ObservaçõesObservações finaisfinais

● SistemasSistemas dede controlecontrole dede versãoversão ● SistemasSistemas dede backupbackup visandovisando repositóriorepositório dede código-código- fontefonte ● RecuperaçãoRecuperação dede conteúdoconteúdo aa partirpartir dede datas,datas, modificaçõesmodificações ee versõesversões ● SuporteSuporte aa alteraçõesalterações simultâneassimultâneas ee ramificaçõesramificações – CVSCVS – SubversionSubversion – MercurialMercurial – GITGIT

ReferênciasReferências

● http://en.wikipedia.org/wiki/Backup

● http://unixhelp.ed.ac.uk/CGI/man-cgi?cp

● http://unixhelp.ed.ac.uk/CGI/man-cgi?mv

● http://linux.die.net/man/1/scp

● http://linux.die.net/man/1/rsync

● http://en.wikipedia.org/wiki/File_Transfer_Protocol

● http://linux.die.net/man/8/cron

● http://www.devin.com.br/compactacao-e-descompactacao/

● http://www.gnu.org/software/tar/manual/tar.html

● http://www.cyberciti.biz/faq/linux-tape-backup-with-mt-and-tar-command-howto/

● http://luckybackup.sourceforge.net/features.html

● http://code.google.com/p/flyback/

● http://sourceforge.net/projects/sbackup/

ReferênciasReferências

● http://linux-raid.osdl.org/index.php/Linux_Raid

● http://tldp.org/HOWTO/Software-RAID-HOWTO.html

● http://wiki.freebsd.org/ZFS

● http://www.sun.com/software/solaris/zfs.jsp

● http://www.nilfs.org/en/about_nilfs.html

● http://btrfs.wiki.kernel.org/

● https://www.dropbox.com/features

● https://one.ubuntu.com/features/

● https://spideroak.com/whyspideroak

● http://en.wikipedia.org/wiki/Revision_control

● http://foremost.sourceforge.net/

ReferênciasReferências

● http://clonezilla.org/introduction.phphttp://clonezilla.org/introduction.php

● http://ping.windowsdream.com/http://ping.windowsdream.com/

● http://lrs.linbox.org/wiki/WikiStartEnhttp://lrs.linbox.org/wiki/WikiStartEn

● http://www.fogproject.org/http://www.fogproject.org/

● http://wiki.zmanda.com/index.php/FAQhttp://wiki.zmanda.com/index.php/FAQ

● http://www.bacula.org/en/dev-manual/What_is_Bacula.htmlhttp://www.bacula.org/en/dev-manual/What_is_Bacula.html

● http://www.cgsecurity.org/wiki/PhotoRechttp://www.cgsecurity.org/wiki/PhotoRec

● http://www.cgsecurity.org/wiki/TestDiskhttp://www.cgsecurity.org/wiki/TestDisk

● http://rdiff-backup.nongnu.org/http://rdiff-backup.nongnu.org/

● http://tldp.org/HOWTO/LVM-HOWTO/snapshots_backup.htmlhttp://tldp.org/HOWTO/LVM-HOWTO/snapshots_backup.html

ContatoContato

 e-maile-mail  jeronimo.madrugajeronimo.madruga (at)(at) gmail.comgmail.com  TwitterTwitter ● http://twitter.com/jeronimomadrugahttp://twitter.com/jeronimomadruga  BlogBlog ● http://linuxkiddinthemicrosoftworld.blogspot.com/http://linuxkiddinthemicrosoftworld.blogspot.com/  SlidesSlides ● http://www.slideshare.net/jeronimomadruga/http://www.slideshare.net/jeronimomadruga/  SiteSite pessoalpessoal –– emem construçãoconstrução ● http://jeronimomadruga.blogspot.com/http://jeronimomadruga.blogspot.com/