Académique Documents
Professionnel Documents
Culture Documents
Portugus(Brasil)
Conectese(ouRegistrar)
ItensTcnicos
DownloadseTrials
Comunidade
AprendaLinux,302(AmbientesMistos):Arquivosdebancodedados Trivial
ArquivosdebancodedadosTrivialdoSamba,ecomosolucionarproblemasneles SeanA.Walberg,SeniorNetworkEngineer Resumo:OSambausaarquivosdobancodedadosTrivialparaarmazenardadostemporriosepersistentescomopartedotrabalhodeintegraode compartilhamentodearquivoseimpressoentreoLinuxeoWindows.ComopreparaoparaoexamedecertificaodoLinuxProfessionalInstitute LPI302,saibatudosobreoformatoSambaTrivialDatabase(TDB)queoSambausaparaarmazenarinformaes,comoexaminararquivosTDBecomo fazerobackupdessesarquivos. Data:18/Jul/2011 Nvel:Avanado Tambmdisponvelem:Ingls Atividade:4144visualizaes Comentrios:0(Visualizar|IncluircomentrioConectar) Mdiadeclassificao(9votos) Classificaresteartigo
Sobreestasrie
EstasriedeartigosajudavocasabermaissobreastarefasdeadministraodesistemasLinux.Tambmpossvelusaromaterialdessesartigosparase prepararparaosexamesdecertificaodoLinuxProfessionalInstitutenvel3(LPIC3). ConsulteoroteiroparaoLPIC3nodeveloperWorksparaverumadescriodecadaartigodasrieeumlinkparacadaumdessesartigos.Oroteiroest emandamentoerefleteosobjetivosatuais(novembrode2010)emrelaoaosexamesLPIC3.medidaquecadaartigoconcludo,eleincludono roteiro. Visogeral Nesteartigo,saibamaissobreestesconceitos: BackupdosarquivosSambaTrivialDatabase(TDB) RestauraodosarquivosTDB IdentificaodedanosnosarquivosTDB Edio/listagemdocontedodosarquivosTDB EsteartigoajudaaseprepararparaoObjetivo310.3doTpico310doexamesobreaespecialidadeAmbienteMistodoLPI(302).Oobjetivotempeso1. Prrequisitos Paraaproveitaraomximoosartigosdestasrie,necessrioterumconhecimentoavanadodeLinuxeumsistemaLinuxfuncional,noqualsejapossvel praticaroscomandosmencionadosnesteartigo.Especificamente,esteartigopressupequevoctenhaumconhecimentodetrabalhodasfunesdelinha decomandodoLinuxe,pelomenos,umentendimentogeraldopropsitodoSamba,conformeoexplicadoem"LearnLinux,302(Mixedenvironments): Concepts".Paraexecutarasaesdescritasnesteartigo,necessrioterosoftwareSambainstalado.AlgumasaesrequeremumaredeServerMessage Block(SMB)/CommonInternetFileSystem(CIFS)funcionaldisposio. EntendendoosarquivosTDB
SobreoexameelegvelLPI302
OLinuxProfessionalInstituteCertification(LPIC)comomuitasoutrascertificaes,poistambmoferececertificaesemnveisdiferentes,ecadanvel requermaisconhecimentoeexperinciaqueoanterior.OexameLPI302umexameelegvelespecialnoterceironveldahierarquiadoLPIC,erequer umnvelavanadodeconhecimentodeadministraodesistemaLinux. ParaobteracertificaoLPICnvel3(LPIC3),necessriopassarnosdoisprimeirosexamesdoprimeironvel(101e102),nosdoisexamesdosegundo nvel(201e202)enoexameprincipaldoLPIC3(301).Depoisdealcanaressenvel,possvelfazerosexameselegveisespecializados,comooLPI 302. OSambaarmazenamuitasinformaesnotempodeexecuo,desenhaslocaisaumalistadeclientesdosquaiseleestesperandonotcias.Partedesses dadospossuividacurta,epodeserdescartadaquandooSambareiniciado,masalgunssopermanentesenopodemserperdidos.Osdadospodemser grandesdemaisoumuitopoucoacessadosparaseremmantidosnamemria,mas,docontrrio,devempersistirdeumareinicializaoaoutra.Parasuprir essesrequisitos,aequipedoSambacriouobancodedadosTrivial.Efetivamente,umarmazenamentodevaloresdechave,ouseja,osdadosso armazenadoserecuperadospormeiodeumachaveexclusivaenohjunodetabelas,comoocorreemumbancodedadosrelacional.Os
Desenvolvasuaprpriaalimentao
possveldesenvolverumaalimentaoRSS,AtomouHTMLcustomizadoparareceberumanotificaosobreainclusodenovosartigosoua atualizaodocontedo.AcesseasalimentaesRSSdodeveloperWorks.SelecioneLinuxcomozonaeArticlescomotipo,edigiteL i n u x P r o f e s s i o n a lI n s t i t u t e comopalavrachave.Emseguida,escolhaotipopreferencialdealimentao. Sevocestfamiliarizadocombancosdedadosrelacionais,comooIBMDB2,MySQLouPostgreSQL,osarmazenamentosdevaloresdechavelhe pareceroprimitivossecomparadosaeles.Ondeumbancodedadosrelacionalpodeterumatabelacomvriascolunas,umarmazenamentodevaloresda chavetemefetivamenteduascolunas:umacolunachaveeumadevalores.OsbancosdedadosrelacionaisusamLinguagemdeConsultaEstruturada (SQL)paraobterinformaesapartirdediversastabelasecolunas,masosarmazenamentosdevalordachaveestolimitadossoperaesnacoluna chave. Devidosuasimplicidade,osarmazenamentosdevalordachavesoteisparaumconjuntomenordetarefas,maspodemexecutaressastarefasmuito rapidamente.Umarmazenamentodevalordachavebasicamenteumahashtablenodiscoportanto,possvelsuporolocaldeumdadosemter necessidadedeconsultarumndice. OTDB,especificamente,foiescritoparatratardiversosgravadoresedadosbinriossimultneos,comoestruturasinternasdedados.Portanto,aformamais rpidadearmazenarerecuperaressesdadosoformatobinrio.Oarmazenamentobinriosignificaqueoarquivodebancodedadospodesermenor,e quenohnecessidadedeconverterosformatosmedidaqueosdadosentramesaemdobancodedados. ArquivosTDBusadosnoSamba OSambaarmazenaosarquivosTDBemalgunslugaresdiferentes.Aformamaisfcildeencontraressesarquivosexaminarasadades m b db , mostradanaListagem1. Listagem1.Mostrandoasinformaesdaconstruosmbd
#s m b db . . . P a t h s : S B I N D I R :/ u s r / s b i n B I N D I R :/ u s r / b i n S W A T D I R :/ u s r / s h a r e / s w a t C O N F I G F I L E :/ e t c / s a m b a / s m b . c o n f L O G F I L E B A S E :/ v a r / l o g / s a m b a L M H O S T S F I L E :/ e t c / s a m b a / l m h o s t s L I B D I R :/ u s r / l i b M O D U L E S D I R :/ u s r / l i b / s a m b a S H L I B E 1 T :s o L O C K D I R :/ v a r / l i b / s a m b a S T A T E D I R :/ v a r / l i b / s a m b a C A C H E D I R :/ v a r / l i b / s a m b a P I D D I R :/ v a r / r u n S M B _ P A S S W D _ F I L E :/ v a r / l i b / s a m b a / p r i v a t e / s m b p a s s w d P R I V A T E _ D I R :/ v a r / l i b / s a m b a / p r i v a t e
DiversoscaminhosdaListagem1apontamparalocaiscomarquivosTDB.Felizmente,muitossoiguais,oquereduzoslocaisqueaseremexaminados. Porexemplo:L O C K D I R ,S T A T E D I R eC A C H E D I R apontampara/var/lib/sambaeP R I V A T E _ D I R estemumsubdiretriochamadoprivate.possvelacessar essesdiretrioseconsultarosarquivos. OsarquivosTDBpodemserclassificados,deformageral,emdoisgrupos:persistentesetemporrios.ATabela1mostraosnomesefunesdosarquivos persistentes. Tabela1.ArquivosTDBpersistentes Nomedoarquivo Propsito account_policy.tdb Armazenapolticasdeconta,comolimitesdebloqueioecomprimentodesenhas group_mapping.tdb Armazenaarelaoentreosidentificadoresdeusurios(SID)doWindowsNTeosuseridsdoUNIX ntdrivers.tdb Armazenainformaessobredriversdeimpressora ntforms.tdb Armazenainformaessobreosformatosdeumafiladeimpressoporexemplo,tamanhosdepapel ntprinters.tdb Armazenaasinformaessobreasconfiguraesdeinicializaodaimpressora passdb.tdb Usadosomenteemalgunsmodosdeseguranaparaarmazenarcredenciaisdeautenticao registry.tdb UmregistrodeesqueletoquepodeseracessadoporoutrossistemasWindows secrets.tdb Armazenasegredosdelocal,comoachavedemquinadaestaodetrabalho,ecredenciais,comoassenhasdoprotocoloLDAP share_info.tdb Armazenainformaesdalistadecontroledeacesso(ACL)referentesacadacompartilhamentolocal ArmazenainformaesdemapeamentoentreosSIDsdoWindowsNTeosusurioscriadosdinamicamente,casovocestejausando winbindd_idmap.tdb winbind
ApartirdasadadaListagem2,possvelverquehtrschavesnobancodedados.Aprimeirachavetem21bytesdecomprimento(ocomprimentoem bytesmostradoentrecolchetes[( ) ])echamadaG L O B A L S / c _ s e t p r i n t e r seguidaporumNULL,queozeroemASCII.Oscaracteresno imprimveissomostradosemformatohexadecimal,ouseja,umabarrainvertidaseguidapordoiscaractereshexadecimais.Ovalordaprimeirachavetem 4bytesdecomprimentoeformadototalmenteporNULLs. AsduaschavesseguintessochamadasS E C D E S C / t e s t eS E C D E S C / c u p s p d f ,eterminamcomNULL.Osdadosso,emsuatotalidade,binrioseno imprimveisportanto,foramimpressoscomoscaracteresnoimprimveisemformatohexadecimal. FazendobackuperestaurandoarquivosTDB ATabela1mostroudiversosarquivosTDBquepersistiramentreosrebootsecujobackupdeveserfeito.Comoacontececomamaioriadosbancosde dados,nopossvelsimplesmentecopiaroarquivo,poisacpiapodeserdanificada.Odanonobackupacontecequandovoccopiaumarquivodurante agravaodomesmo,fazendocomqueoestadodobackupsejainconsistente.UmadasalternativasfecharodaemondoSambae,emseguida,copiaros arquivos. AformamaisfcildefazerobackupdosarquivosTDBusaroutilitriot d b b a c k u p quevemcomoSamba.EsseutilitriocopiaumarquivoTDB mesmoquandoestocorrendoumagravaonele.Outrorecursooutrodot d b b a c k u p teracapacidadedesecertificardequeumarquivoTDBno estejadanificadoereverterautomaticamenteparaumarquivodebackupemcasodedano.AListagem3mostraumarquivoTDBduranteobackup. Listagem3.FazendoobackupdeumarquivoTDB
[ r o o t @ b o bs a m b a ] #l sla c c o u n t _ p o l i c y . * r w -1r o o tr o o t8 1 9 2A p r 7 2 0 0 8a c c o u n t _ p o l i c y . t d b [ r o o t @ b o bs a m b a ] #t d b b a c k u pa c c o u n t _ p o l i c y . t d b [ r o o t @ b o bs a m b a ] #l sla c c o u n t _ p o l i c y . * r w -1r o o tr o o t 8 1 9 2A p r 7 2 0 0 8a c c o u n t _ p o l i c y . t d b r w -1r o o tr o o t3 6 8 6 4D e c 82 1 : 4 2a c c o u n t _ p o l i c y . t d b . b a k [ r o o t @ b o bs a m b a ] #t d b d u m pa c c o u n t _ p o l i c y . t d b|m d 5 s u m 5 3 e a 6 0 8 f 0 d 9 3 0 6 1 4 8 0 5 4 9 c 5 1 1 7 5 6 b 7 7 8 [ r o o t @ b o bs a m b a ] #t d b d u m pa c c o u n t _ p o l i c y . t d b . b a k|m d 5 s u m 5 3 e a 6 0 8 f 0 d 9 3 0 6 1 4 8 0 5 4 9 c 5 1 1 7 5 6 b 7 7 8 -
OprimeirocomandodaListagem4mostraqueotamanhodoarquivodiminuiuconsideravelmente.Ocomandot d b b a c k u p executadonovamente,mas comosinalizadorv ,queverificaoarquivoTDB.Seoarquivoestiverdanificado,possvelverumresumodoserros,seguidodeumanotaindicando queoarquivofoirestaurado.Comparandootamanhodosarquivoscomocomandol s ,possvelperceberqueobackupfoiusadoparasubstituirobanco dedadosatual. possvelexecutardiversasvezesocomandot d b b a c k u p comsegurana.Aexecuodomesmoemumarquivodebancodedadosvlido,comoo penltimocomandodaListagem4,mostraumacontagemdosregistrosdoarquivo.AsomadoMD5tambmcorrespondeaoquefoivistoantesdodano. Nota:ocomandot d b b a c k u p aceitacuringasportanto,possvelfazerobackupeverificardiversosarquivosaomesmotempo. AlterandoarquivosTDB Outilitriot d b t o o l permitefazeralteraesnosdadosdentrodeumarquivoTDB.Esseutilitriotambminspecionaaschavesindividuaisevalores dentrodoarquivo,emvezdefazerodumpdoarquivointeiroeanalisarasada.
Cuidado
AotrabalharcomoSamba,nohmuitoscasosemquenecessrioalterarosdadosdentrodeumarquivoTDB.Ouoarquivocontmestruturasinternas dedados,ouhferramentasmelhorespararealizaressatarefa.Entretanto,estaseotemcomofinalidadeaanlise,portantoseutestepossuiumalvo legtimo.
Ot d b t o o l podeaceitarcomandosnalinhadecomandos,mastambmpossvelabrirumconsoleinterativo.Pararealizaratarefanalinhadecomando, executeaso p e sd ec o m a n d oe x a m p l e . t d b dotdbtool,emqueexample.tdbonomedoarquivo,commandocomando,easopesdecomando vonofinal.Parausaroshelldotdb,bastaexecutart d b t o o l sozinhooupassaronomedoarquivonalinhadecomando.
Paracriarumbancodedados,executet d b t o o l sozinhoe,emseguida,insirac r e a t et e s t . t d b .Aofazerisso,voccriaumbancodedadosnodisco chamadotest.tdbeoabre,paraquequaisquermudanasquevocfaanestasessoestejamnessearquivo.SevocpossuiumarquivoTDBjexistente, possvelespecificaronomedessearquivonalinhadecomandoouusarocomandoo p e n .Curiosamente,anicaformadecriarumarquivoTDB diretamenteapartirdalinhadecomandoenvolveaespecificaodonomeduasvezes,comot d b t o o lt e s t . t d bc r e a t et e s t . t d b ,queretornaum erro,mascriaumbancodedadoscomxito. Quandovoccriaumbancodedadosouabreumexistente,asseguintesopesficamdisponveis:
d u m p :Mostratudooqueestnobancodedados,comot d b d u m p . k e y s :MostrasomenteaschavesemASCIIou,comocomandoh e x k e y s ,mostraasemformatohexadecimal. e r a s e :Excluitudooqueestnobancodedadossemavisar. i n f o :Mostraumresumodonmerodechavesebytesusadospelobancodedados. c h e c k :Verificaseobancodedadosvlido. s p e e d :Executatestesrelacionadosvelocidadedeleituraegravaodedadosnobancodedados. s h o w k e y :Imprimeovalorarmazenadocomachave. d e l e t e k e y :Excluiachaveeovalor.
n e w v a l u e
s o m e o t h er v a l u e
AsequnciadeeventosnaListagem5: 1. Inserirumachavechamadam y k e y comumvalordem y v a l u e .Essaoperaobemsucedida. 2. Inserirumachavecomomesmonomeanterior,mascomumnovovalor.Essaoperaofalha,poisachavejexiste. 3. Armazenarachaveemvezdeinserila.Essaoperaodcerto,evocrecebeumasadamaisdetalhada. 4. Armazenarumanovachavecomumvalornovo.Essaoperaodcerto,apesardeachavenoexistir. possvelusartransaesnoshelldotdbparapermitiraexecuodeumasriedecomandoseapliclosoucancelloscomoumgrupo.AListagem6 mostraduastransaes. Listagem6.Usandotransaes
t d b >t r a n s a c t i o n _ s t a r t t d b >i n s e r ts o m e k e ys o m e v a l u e t d b >s h o ws o m e k e y k e y7b y t e s s o m e k e y d a t a9b y t e s [ 0 0 0 ]7 36 F6 D6 57 66 16 C7 5 6 5 t d b >t r a n s a c t i o n _ c a n c e l t d b >s h o ws o m e k e y f e t c hf a i l e d t d b >t r a n s a c t i o n _ s t a r t t d b >i n s e r ts o m e k e ys o m e v a l u e t d b >t r a n s a c t i o n _ c o m m i t t d b >s h o ws o m e k e y k e y7b y t e s s o m e k e y d a t a9b y t e s [ 0 0 0 ]7 36 F6 D6 57 66 16 C7 5 6 5
s o m e v a l ue
s o m e v a l ue
Atransaoiniciadacomocomandot r a n s a c t i o n _ s t a r t .Aseguir,umachaveinserida.Seoutroprocessoestivesselendoobancodedados,no veriaessachave,jqueelanopassouporcommit.Oprocessocomatransaoabertavachave.Emseguida,atransaocanceladacom t r a n s a c t i o n _ c a n c e l .Achavenoaparecemais. Emseguida,oprocessoreexecutado,masatransaosofrecommitcomocomandot r a n s a c t i o n _ c o m m i t .Depoisdisso,achavepassaaexistirpara todososleitores. Outrosleitorespodemserbloqueadoscasovocestejaemumatransao,ouseja,ficarointerrompidosatqueatransaosejaconcluda.Portanto,tenha cuidadoaousartransaesembancosdedadosdeproduo!Soumtimorecursodesegurana,maspodemprejudicarodesempenhoseusadosem excesso. AlmdoTDB Ascontasdousuriopodemserarmazenadasemdiversoslugares,dependendodaconfigurao,eduasferramentasfornecemumainterfacedalinhade comandosenquantoseencarregamdacomunicaodebackend.Porexemplo,possvelusarosmesmoscomandosmesmoseosdadosdosusuriosesto armazenadosemLDAP,enoemarquivosTDB. Usandosmbpasswd Outilitrios m b p a s s w d podeincluireexcluircontasdeusuriooudemquina,ealterarsenhas.maisusadopararealizaraltimatarefa,paraalterara senhadousurioatualoupelaraiz,paraalterarasenhadeoutrousurio. Nosartigosposteriores,vocconhecerosdiversosbackendsdesenhasmaisdetalhadamenteentretanto,demodogeral,assenhasdoSambapodemser armazenadasdediversasformasdiferentes,dependendodaversodoSambaedossistemasaosquaisvocestseintegrando.Tantos m b p a s s w d quanto p d b e d i t (descritoaseguir)podemexecutarsuasaescomrelaoaqualquerbackend,inclusivesenoTDB. OsclientesMicrosoftpassamsenhaspelaredecomoumhashespecficoparaaMicrosoft,enocomotextosimplesouhashdesenhadoUNIX.Isso significaquenopossveltomarumhashdesenhadaMicrosoftedeterminarseasenhaigualqueestarmazenadanobancodedadosdesenhasdo UNIX.Portanto,oSambadevemanterumbancodedadosdesenhasseparadoparaoshashesdaMicrosoftissoconhecidocomobackenddesenha. Usandopdbedit
Op d b e d i t gerenciaobancodedadosdeusuriosdoSambaeaspolticasdeconta.capazdefazertudooqueos m b p a s s w d faz,eaindagerencia
ExamPreparationResourcesforRevisedLPICExamsforneceumalistadeoutrosrecursosdetreinamentoparacertificaomantidospeloLPI. NazonaLinuxdodeveloperWorks,vocencontrarmuitosartigosdeinstruesetutoriais,bemcomodownloads,frunsdediscussoemuitos outrosrecursosparadesenvolvedoreseadministradoresLinux. FiquepordentrodoseventostcnicosewebcastsdodeveloperWorkscomfocoemumavariedadedeprodutosdaIBMetpicosdosegmentode mercadodeTI. ParticipedeumbriefingaovivoegratuitododeveloperWorksparaseatualizarrapidamentesobreprodutoseferramentasIBM,bemcomo tendnciasdosegmentodemercadodeTI. AssistademosondemanddodeveloperWorks,queabrangemdesdedemosdeinstalaoeconfiguraodeprodutosparainiciantesat funcionalidadesavanadasparadesenvolvedoresexperientes. SigaodeveloperWorksnoTwitterouinscrevaseparareceberLinuxtweetsnodeveloperWorks. Obterprodutosetecnologias FaaodownloaddoSambaefiquepordentrodasnovidadesmaisrecentessobreosoftware. FaadownloaddocdigodeorigemdoTDBcasoestejainteressadoemusaroTDBnosseusprojetos. VejaasferramentasdegerenciamentodecontasparaoSamba,casoprecisedeumainterfacegrficaoudeumaintegraomelhoradiversos ambientes. AvalieosprodutosIBMdamaneiraqueformelhorparavoc:faadownloaddaversodetestesdeumproduto,avalieumprodutoonline,useo emumambientedenuvemoupassealgumashorasnaSOASandboxaprendendoaimplementarArquiteturaOrientadaaServiosdemodo eficiente. Discutir ParticipedacomunidadedoMydeveloperWorks.EntreemcontatocomoutrosusuriosdodeveloperWorks,enquantoexploraosblogs,fruns, gruposewikisorientadosaodesenvolvedor. Sobreoautor
developerWorks:Registrese
IBMID: PrecisadeumIDIBM? EsqueceuseuIDIBM? Senha: Esqueceusuasenha? Alterarsuasenha Mantenhameconectado. AoclicaremEnviar,vocconcordacomostermosdeusododeveloperWorks.
Enviar
Cancelar
Selecioneseunomedeexibio
AoseconectaraodeveloperWorkspelaprimeiravez,criadoumperfilparavocenecessrioselecionarumnomedeexibio.Onomedeexibio acompanharocontedoquevocpostarnodeveloperWorks. Escolhaumnomedeexibiode331caracteres.SeunomedeexibiodeveserexclusivonacomunidadedodeveloperWorksenodeveseroseu endereodeemailpormotivodeprivacidade. Nomedeexibio: (Devepossuirde3a31caracteres.)
AoclicaremEnviar,vocconcordacomostermosdeusododeveloperWorks.
Enviar
Cancelar
Notificarmequandoumcomentrioforadicionado1000caracteresrestantes
Postar
Humproblemanarecuperaodoscomentrios.Atualizeapginamaistarde.
Imprimirestapgina Compartilheestapgina SigaodeveloperWorks
Feeds