Glossário e componentes do Veeam Log Diving

Glossário e componentes do Veeam Log Diving

Nós da Veeam adoramos toras. E como a maioria de nossas soluções são modulares, elas gravam muitos logs. E como o escopo de nossa atividade é garantir a segurança de seus dados (ou seja, um sono reparador), os logs não devem apenas registrar cada espirro, mas também fazê-lo com algum detalhe. Isso é necessário para que, no caso de algo, fique claro como "o que" aconteceu, quem é o culpado e o que precisa ser feito a seguir. É como na ciência forense: você nunca sabe que coisinha vai te ajudar a encontrar o assassino de Laura Palmer.

Portanto, decidi dar uma olhada em uma série de artigos, onde falarei sequencialmente sobre o que escrevemos nos logs, onde os armazenamos, como não enlouquecer com sua estrutura e o que procurar dentro deles.

Por que uma série de artigos e por que não descrever tudo de uma vez?

Simplesmente listar qual log está onde e o que está armazenado nele é uma tarefa bastante desastrosa. E é assustador até pensar em manter essas informações atualizadas. Uma lista simples de todos os tipos possíveis de logs no Veeam Backup & Replication é uma tabela em várias folhas em letras pequenas. Sim, e será relevante apenas no momento da publicação, porque. quando o próximo patch for lançado, novos logs podem aparecer, a lógica das informações armazenadas nos antigos mudará, etc. Portanto, será muito mais lucrativo explicar sua estrutura e a essência das informações neles contidas. Isso permitirá que você navegue melhor pelos lugares do que pelo amontoamento banal de nomes.

Portanto, para não nos precipitarmos no conjunto de folhas de texto, vamos fazer alguns trabalhos preparatórios neste artigo. Portanto, hoje não vamos entrar nos logs em si, mas iremos de longe: vamos compilar um glossário e discutir um pouco a estrutura da Veeam em termos de geração de logs.

Glossário e jargão

Aqui, antes de tudo, vale a pena pedir desculpas aos defensores da pureza da língua russa e às testemunhas do dicionário de Ozhegov. Todos nós amamos muito nossa língua nativa, mas a maldita indústria de TI opera em inglês. Bem, não inventamos isso, mas aconteceu historicamente. Não é minha culpa, ele mesmo veio (c)

Em nosso negócio, o problema dos anglicismos (e jargões) tem especificidades próprias. Quando sob palavras inocentes como "anfitrião" ou "hóspede" o mundo inteiro há muito entende coisas muito específicas, então em ⅙ da terra, a confusão heróica e o cambaleante com a busca em dicionários continuam. E o argumento estritamente obrigatório "Mas no nosso trabalho ...".

Além disso, existe apenas nossa terminologia, que é inerente aos produtos da Veeam, embora algumas palavras e frases tenham ido para as pessoas. Portanto, agora vamos concordar sobre qual termo significa o quê, e no futuro, sob a palavra “convidado”, vou me referir exatamente ao que está escrito neste capítulo, e não ao que você está acostumado no trabalho. E sim, este não é um capricho meu, são termos bem estabelecidos na indústria. Lutar contra eles é um tanto inútil. Embora eu seja sempre a favor de relaxar nos comentários.

Infelizmente, existem muitos termos em nosso trabalho e produtos, então não tentarei listar todos. Apenas as informações mais básicas e necessárias sobre backups e logs para sobrevivência no mar. Para os interessados, também posso sugerir um artigo colegas sobre fitas, onde também forneceu uma lista de termos relacionados a essa parte da funcionalidade.

Anfitrião (Hospedeiro): No mundo da virtualização, esta é uma máquina com hipervisor. Físico, virtual, nuvem - não importa. Se algo estiver executando um hipervisor (ESXi, Hyper-V, KVM etc.), esse “algo” é chamado de host. Seja um cluster com dez racks ou seu laptop com um laboratório para uma máquina virtual e meia - se você lançou um hypervisor, você se tornou um host. Porque o hipervisor hospeda máquinas virtuais. Existe até uma história de que a VMware certa vez quis obter uma associação firme da palavra host com ESXi. Mas ela não o fez.

No mundo moderno, o conceito de “host” praticamente se fundiu com o conceito de “servidor”, o que traz certa confusão na comunicação, principalmente quando se trata de infraestrutura Windows. Portanto, qualquer máquina que hospede algum serviço de nosso interesse pode ser seguramente chamada de host. Por exemplo, nos logs do WinSock tudo é marcado com a palavra host. O clássico "Host não encontrado" é um exemplo disso. Portanto, começamos pelo contexto, mas lembre-se - no mundo da virtualização, um host é o que hospeda os convidados (mais sobre isso nas duas linhas abaixo).

Do jargão local (antes mesmo de siglas, neste caso), lembramos aqui que VMware é VI, vSphere é VC e Hyper-V é HV.

Convidado (convidado): A máquina virtual em execução no host. Não há nada para explicar aqui, tudo é tão lógico e simples. No entanto, muitos arrastam diligentemente aqui alguns outros significados.

Para que? Não sei.
SO convidado, respectivamente, o sistema operacional da máquina convidada. E assim por diante.

Trabalho de backup/replicação (trabalhoA): Jargão Wim puro, denotando algumas das tarefas. Tarefa de backup == Tarefa de backup. Ninguém descobriu como traduzi-lo lindamente para o russo, então todos dizem “JobA”. Com ênfase na última sílaba.

Sim, eles simplesmente pegam e dizem “joba”. E até nas cartas eles escrevem assim, e está tudo bem.
Todos os tipos de trabalhos de backup, tarefas de backup, etc., obrigado, mas não há necessidade. Apenas um trabalho, e você será compreendido. O principal é enfatizar a última sílaba.

Backup (Backup, backup. Para true-oldfags, backup é permitido): Além do óbvio (uma cópia de backup dos dados em algum lugar), também significa o trabalho em si (três linhas acima, se você já esqueceu), como resultado do próprio arquivo de backup. Provavelmente, os senhores falantes nativos de inglês têm preguiça de dizer que executei meu trabalho de backup todas as vezes, então eles apenas dizem que executei meu backup e todos se entendem perfeitamente. Convido você a apoiar esta maravilhosa iniciativa.

Consolidar (Consolidação): Um termo que apareceu no ESXi 5.0 Uma opção no menu de instantâneo que inicia o processo de exclusão dos chamados instantâneos órfãos. Ou seja, instantâneos que estão fisicamente disponíveis, mas saíram da estrutura lógica exibida. Teoricamente, esse processo não deveria afetar os arquivos exibidos no gerenciador de instantâneos, mas tudo pode acontecer. A essência do processo de consolidação é que os dados do instantâneo (disco filho) sejam gravados no disco principal (pai). O processo de combinação de discos é chamado de mesclagem. Se um comando de consolidação foi emitido, o registro do instantâneo pode ser removido do banco de dados antes que o instantâneo seja mesclado e excluído. E se o instantâneo não puder ser excluído por qualquer motivo, esses mesmos instantâneos órfãos aparecerão. Sobre trabalhar com snapshots, a VMware tem bom KB. E também de alguma forma sobre eles escreveu em Habré.

Armazenamento de dados (Stora ou armazenamento):  Um conceito muito amplo, mas no mundo da virtualização, é entendido como um local onde são armazenados os arquivos das máquinas virtuais. Mas de qualquer forma, aqui você precisa entender o contexto com muita clareza e, com a menor dúvida, esclarecer o que exatamente o seu interlocutor tinha em mente. 

Procurador (Procurador): É importante entender imediatamente que o Veeam Proxy não é exatamente igual ao que estamos acostumados na Internet. Nos produtos da Veeam, esse é um tipo de entidade que lida com a transferência de dados de um lugar para outro. Se você não entrar em detalhes, o VBR é um servidor de comando e controle e os proxies são seus burros de carga. Ou seja, um proxy é uma máquina por onde flui o tráfego e na qual são instalados componentes VBR que ajudam a gerenciar esse tráfego. Por exemplo, para transferir dados de um canal para outro, ou simplesmente para prender discos a si mesmo (modo HotAdd).

Repositório (Repositório):  Tecnicamente, isso é apenas uma entrada no banco de dados VBR, indicando o local onde os backups são armazenados e como se conectar a esse local. Na verdade, pode ser apenas uma bola CIFS ou um disco, servidor ou balde separado na nuvem. Novamente, estamos no contexto, mas entendemos que um repositório é apenas um local onde estão seus backups.

 Instantâneo (SnapshOt): Os aficionados da gramática de Oxford preferem dizer quem é instantâneo e quem é instantâneo, mas a maioria analfabeta se beneficia da massa maior. Se alguém não sabe, esta é uma tecnologia que permite restaurar o estado de um disco em um determinado momento. Isso é feito redirecionando temporariamente as operações de E / S para fora do disco principal - então será chamado de instantâneo RoW (Redirect on Write) - ou movendo blocos regraváveis ​​​​do seu disco para outro - isso será chamado CoW (Copy on Write) ) instantâneo. É graças às amplas possibilidades de uso dessas funções que a Veeam pode fazer sua mágica de backup. A rigor, não só eles, mas essa é a matéria dos próximos lançamentos.

Há um caos em torno desse termo na documentação e nos logs do ESXi e, no contexto da menção de instantâneos, você pode encontrar os próprios instantâneos, refazer o log e até mesmo o disco delta. A documentação da Veeam não contém tal rasgo, e um instantâneo é um instantâneo, e um redo log é exatamente um arquivo REDO criado por um disco não persistente independente. Os arquivos REDO são excluídos quando a máquina virtual é desligada, portanto, confundi-los com instantâneos é um caminho para o fracasso.

Sintético (Sintético): Os backups sintéticos são backups incrementais reversos e backups contínuos. Caso você não tenha se deparado com esse termo, é apenas um dos mecanismos usados ​​para construir uma transformação de cadeia de backup. No entanto, nos logs você também pode encontrar o conceito de Transform, que é usado na estrutura de criação de cópias completas de incrementos (completo sintético).

Tarefa (Tarefa): Este é o processo de processamento de cada máquina individual dentro do trabalho. Ou seja: você tem uma tarefa de backup, que inclui três máquinas. Isso significa que cada carro será processado como parte de uma tarefa separada. No total, serão quatro logs: o principal para trabalhos e três para tarefas. No entanto, há uma nuance importante aqui: com o tempo, a palavra "tarefa" tornou-se desnecessariamente ambígua. Quando falamos de logs gerais, queremos dizer que uma tarefa é exatamente uma VM. Mas existem “tarefas” tanto no proxy quanto no repositório. Lá pode significar um disco virtual, uma máquina virtual e todo o trabalho. Ou seja, é importante não perder o contexto.

Serviço Veeam %name%:  Para o benefício de backups bem-sucedidos, vários serviços funcionam ao mesmo tempo, cuja lista pode ser encontrada no equipamento padrão. Seus nomes refletem de forma bastante transparente sua essência, mas entre iguais existe o mais importante - Veeam Backup Service, sem o qual o resto não funcionará.

VSS: Tecnicamente, VSS deve sempre significar Microsoft Volume Shadow Copy Service. Na verdade, ele é usado por muitos como sinônimo de Processamento de imagens com reconhecimento de aplicativos. O que, claro, está categoricamente errado, mas esta é uma história da categoria "Qualquer SUV pode ser chamado de jipe ​​​​e você será compreendido".

Troncos fantásticos e onde vivem

Quero começar este capítulo revelando o grande segredo - que horas são exibidas nos logs?

Lembrar:

  • O ESXi sempre grava logs em UTC+0.
  • O vCenter mantém logs de acordo com o horário de seu fuso horário.
  • A Veeam mantém registros por horário e fuso horário do servidor em que está.
  • E apenas os eventos do Windows no formato EVTX não sofrem vinculação a nada. Quando abertos, o tempo é recalculado para o carro em que foram abertos. A opção mais conveniente, embora haja dificuldades com ela. A única dificuldade tangível é a diferença de localidades. Este é um caminho praticamente garantido para logs ilegíveis. Sim, existem opções de como lidar com isso, mas não vamos discutir o fato de que tudo em TI funciona em inglês e concordamos em sempre definir a localidade em inglês nos servidores. Oh, por favor. 

Agora vamos falar sobre os locais onde vivem as toras e como obtê-las. No caso do VBR, existem duas abordagens. 

A primeira opção é adequada se você não estiver ansioso para procurar arquivos na pilha geral especificamente relacionados ao seu problema. Para fazer isso, temos um assistente separado, para o qual você pode especificar um trabalho específico e um período específico para o qual você precisa de logs. Em seguida, ele mesmo examinará as pastas e colocará tudo o que você precisa em um arquivo. Onde procurá-lo e como trabalhar com ele é descrito em detalhes em este HF.

No entanto, o assistente não coleta os logs de todas as tarefas e, por exemplo, se você precisar estudar os logs da restauração, failover ou failback, seu caminho está na pasta %ProgramData%/Veeam/Backup. Este é o logostore principal do VBR e %ProgramData% é uma pasta oculta e tudo bem. A propósito, o local padrão pode ser reatribuído usando a chave de registro do tipo REG_SZ: LogDirectory na ramificação HKEY_LOCAL_MACHINEOFTWAREVeeamVeeam Backup and Replication.

Em máquinas Linux, os logs do agente trabalhador devem ser procurados em /var/log/VeeamBackup/se estiver usando uma conta root ou sudo. Se você não tiver esses privilégios, procure por logins /tmp/VeeamBackup

Para o agente Veeam para %OS_name%, os logs devem ser pesquisados ​​em %ProgramData%/Veeam/Endpoint (ou %ProgramData%/Veeam/Backup/Endpoint) E /var/log/veeam respectivamente.

Se você estiver usando o Processamento de imagem com reconhecimento de aplicativo (e provavelmente está), a situação se tornará um pouco mais complicada. Você vai precisar dos logs do nosso helper, que ficam armazenados dentro da própria máquina virtual, e dos logs do VSS. Sobre como e onde conseguir essa felicidade, está escrito em detalhes em Este artigo. E claro que existe artigo separado para coletar os logs do sistema necessários. 

Os eventos do Windows são convenientemente coletados de acordo com este HF. Se você estiver usando o Hyper-V, as coisas ficam mais complicadas, pois você também precisará de todos os logs da ramificação Applications and Service Logs > Microsoft > Windows. Embora você sempre possa seguir o caminho mais estúpido e apenas pegar todos os objetos de %SystemRoot%System32winevtLogs.

Se algo quebrar durante a instalação/atualização, tudo o que você precisa pode ser encontrado na pasta %ProgramData%/Veeam/Setup/Temp. Embora eu não esconda o fato de que nos eventos do sistema operacional você pode encontrar informações mais úteis do que nesses logs. O restante do interessante está em %Temp%, mas existem principalmente logs de instalação para software relacionado, como a base, bibliotecas .Net e outras coisas. Observe que o Veeam é instalado a partir do msi e todos os seus componentes também são instalados como pacotes msi separados, mesmo que isso não tenha sido mostrado na GUI. Portanto, se a instalação de um dos componentes falhar, toda a instalação do VBR será interrompida. Portanto, você precisa acessar os logs e ver exatamente o que quebrou e em que ponto.

E, finalmente, um hack de vida: se você receber um erro durante a instalação, não se apresse em clicar em OK. Primeiro pegamos os logs e depois clicamos em OK. Assim você obterá um log que termina no momento do erro, sem lixo no final.

E acontece que você precisa entrar nos logs do vSphere. A ocupação é muito ingrata, mas, arregaçadas as mangas, é preciso fazer outra coisa. Na versão mais simples, precisamos de logs com eventos de máquina virtual vmware.log, que estão localizados ao lado de seu arquivo .vmx. Em um caso mais difícil, abra o Google e pergunte onde estão os logs da versão do seu host, pois a VMware adora mudar esse local de lançamento para lançamento. Por exemplo, artigo para 7.0, mas pelo 5.5. Para logs do vCenter, repita o procedimento pesquisando. Mas, em geral, estaremos interessados ​​nos logs de eventos do host hostd.log, eventos do host gerenciados pelo vCenter vpxa.log, logs do kernel vmkernel.log e logs de autenticação auth.log. Bem, nos casos mais negligenciados, o log SSO, que fica na pasta SSO, pode ser útil.

Pesado? Confuso? Apavorante? Mas isso não é nem metade das informações com as quais nosso suporte trabalha diariamente. Então eles são muito, muito legais.

Componentes da Veeam

E para concluir este artigo introdutório, vamos falar um pouco sobre os componentes do Veeam Backup & Replication. Pois quando você está procurando a causa da dor, seria bom entender como o paciente funciona.

Portanto, como todos provavelmente sabem, o Veeam Backup é um aplicativo baseado em SQL. Ou seja, todas as configurações, todas as informações e, em geral, tudo o que é necessário apenas para o funcionamento normal - tudo isso está em seu banco de dados. Ou melhor, em dois bancos de dados, se estivermos falando de um monte de VBR e EM: VeeamBackup e VeeamBackupReporting, respectivamente. E assim aconteceu: colocamos outro aplicativo - outro banco de dados aparece. Para não armazenar todos os ovos em uma cesta.

Mas para que toda essa economia funcione sem problemas, precisamos de um conjunto de serviços e aplicativos que unam todos os componentes. Apenas como exemplo, é assim que fica em um dos meus laboratórios:

Glossário e componentes do Veeam Log Diving
Atua como regente principal Serviço de Backup Veeam. É ele o responsável pela troca de informações com as bases. Ele também é responsável por iniciar todas as tarefas, orquestrar os recursos alocados e funcionar como uma espécie de centro de comunicações para uma variedade de consoles, agentes e tudo mais. Em uma palavra, definitivamente não há como sem ele, mas isso não significa de forma alguma que ele faça tudo sozinho.

Ajuda-o no cumprimento do seu plano Gerenciador de Backup Veeam. Este não é um serviço, mas uma entidade que lança trabalhos e monitora o processo de sua execução. As mãos de trabalho do serviço de backup, com as quais ele se conecta aos hosts, cria instantâneos, monitora a retenção e assim por diante.

Mas voltando à lista de serviços. Serviço de Corretora Veeam. Apareceu na versão 9.5 (e este não é um minerador criptográfico, como alguns pensavam na época). Coleta informações sobre hosts VMware e mantém sua relevância. Mas não corra imediatamente para escrever comentários raivosos de que estamos espionando você e vazando todos os logins / senhas para o taschmajor. Tudo é um pouco mais simples. Ao executar um backup, a primeira coisa que você precisa fazer é conectar-se ao host e atualizar todos os dados sobre sua estrutura. Esta é uma história bastante lenta e pesada. Lembre-se de quanto tempo leva para você fazer o login pela interface da web e lembre-se de que apenas a camada superior é contada lá. E então você ainda precisa abrir toda a hierarquia no lugar certo, aliás. Em uma palavra, horror. Se você executar uma dúzia de backups, cada trabalho precisará executar este procedimento. Se estamos a falar de grandes infraestruturas, então este processo pode demorar dez minutos ou mais. Portanto, optou-se por alocar um serviço separado para isso, através do qual será possível receber informações sempre atualizadas. Na inicialização, ele verifica e examina toda a infraestrutura adicionada e tenta trabalhar apenas no nível de alterações incrementais. Portanto, mesmo que você execute cem backups ao mesmo tempo, todos eles solicitarão informações de nosso corretor e não atormentarão os hosts com suas solicitações. Se você está preocupado com os recursos, de acordo com nossos cálculos, 5000 máquinas virtuais precisam de apenas cerca de 100 Mb de memória.

a seguir temos Consola Veeam. Ele é Veeam Remote Console, ele é Veeam.Backup.Shell. Esta é a mesma GUI que vemos nas capturas de tela. Tudo é simples e óbvio - o console pode ser iniciado de qualquer lugar, desde que seja Windows e haja conexão com o servidor VBR. A única coisa que pode ser dita é que o processo FLR montará pontos localmente (ou seja, na máquina onde o console está rodando). Bem, diversos Veeam Explorers também serão executados localmente, porque fazem parte do console. Mas já me carregou para a selva ...

Outro serviço interessante é Serviço de dados de catálogo de backup da Veeam. Conhecido como Veeam Guest Catalog Service na lista de serviços. Ele está envolvido na indexação de sistemas de arquivos em máquinas convidadas e preenche a pasta VBRCatalog com esse conhecimento. Ele é usado apenas quando a caixa de seleção de indexação está habilitada. E só faz sentido ativá-lo se você tiver o Enterprise Manager. Portanto, um conselho do fundo do coração: não ative a indexação assim se você não tiver EAT. Economize seus nervos e tempo de suporte.

Também de outros serviços importantes, vale a pena notar Serviço Instalador Veeam, com a ajuda dos quais os componentes necessários são entregues e instalados em proxies, repositórios e outros gateways. Na verdade, ele leva os pacotes .msi necessários para os servidores e os instala. 

Veeam Data Mover - com a ajuda de agentes auxiliares lançados em proxies (e não apenas), ele se dedica ao deslocamento de dados. Por exemplo, ao fazer backup, um agente lerá os arquivos do armazenamento de dados do host e o segundo os gravará cuidadosamente no backup.

Separadamente, gostaria de observar uma coisa importante à qual os clientes costumam reagir - essa é a diferença nas versões de serviços e informações no snap-in Programas e Recursos. Sim, a lista será a mesma, mas as versões podem ser completamente discordantes. Não é muito legal do ponto de vista visual, mas é completamente normal se tudo funcionar de forma estável. Por exemplo, para o serviço Installer, o número da versão está muito atrás dos vizinhos. Terror e pesadelo? Não, porque não é totalmente reinstalado, mas sua DLL é simplesmente atualizada. No patch v9.5 U4, ocorreu um pesadelo de suporte técnico: durante a atualização, todos os serviços receberam novas versões, exceto a mais importante. No patch U4b, o serviço de transporte superou todos os outros em até duas versões (a julgar pelos números). E isso também é normal - um bug sério foi encontrado nele, por isso recebeu uma atualização de bônus em relação ao resto. Então, para resumir: as diferenças de versão PODEM ser um problema, mas se houver uma diferença e tudo estiver funcionando corretamente, provavelmente deveria ser. Mas ninguém o proíbe de esclarecer isso no suporte técnico.

Eram os chamados serviços obrigatórios ou obrigatórios. E há um monte de auxiliares, como Tape Service, Mount Service, vPowerNFS Service e assim por diante.

Para o Hyper-V, em geral, tudo é igual, só que existe um específico Serviço de Integração Hyper-V Veeam Backup e seu próprio driver para trabalhar com CBT.

E no final, vamos falar sobre quem trabalha em máquinas virtuais durante o backup. Para executar scripts pré e pós-congelamento, para criar uma cópia de sombra, coletar metadados, trabalhar com logs de transações SQL, etc. Ajudante convidado da Veeam. E se os sistemas de arquivos forem indexados, Indexador de Convidados Veeam . Esses são serviços temporários implantados durante o backup e removidos após ele.

No caso de máquinas Linux, tudo é muito mais simples devido à presença de um grande número de bibliotecas integradas e às capacidades do próprio sistema. Por exemplo, a indexação é feita por mlocate.

É tudo por agora

Eu não ouso mais te machucar curto Considero encerrada a introdução ao compartimento do motor Veeam. Sim, nem chegamos perto das próprias tocas, mas acredite, para que as informações nelas apresentadas não pareçam um fluxo incoerente de consciência, tal introdução é absolutamente necessária. Pretendo ir aos próprios logs apenas no terceiro artigo, e o plano para o próximo é explicar quem gera os logs, o que exatamente é exibido neles e por que exatamente, e não de outra forma.

Fonte: habr.com

Adicionar um comentário