
Na Veeam, nós amamos logs. E como a maioria de nossas soluções são modulares, eles gravam muitos logs. E como a esfera de nossa atividade é garantir a segurança de seus dados (ou seja, um sono reparador), os registros não devem apenas registrar cada espirro, mas também fazê-lo com alguns detalhes. Isso é necessário para que se algo acontecer fique claro como esse “o que” aconteceu, quem é o culpado e o que precisa ser feito a seguir. É como a perícia: você nunca sabe o que vai te ajudar a encontrar o assassino de Laura Palmer.
Portanto, decidi visar a uma série de artigos, onde falarei de forma consistente 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?
Apenas listar qual registro 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 registros no Veeam Backup & Replication é uma tabela em várias folhas em letras pequenas. 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 vantajoso explicar sua estrutura e a essência das informações que contêm. Isso permitirá que você navegue melhor no campo do que o amontoamento trivial de nomes.
Portanto, para não nos precipitarmos no turbilhão de folhas de texto, vamos fazer alguns trabalhos preparatórios neste artigo. Portanto, hoje não vamos entrar nos logs em si, mas sim de longe: compilar um glossário e discutir um pouco a estrutura do Veeam em termos de geração de logs.
Glossário e jargão
Aqui, em primeiro lugar, vale a pena pedir desculpas aos campeões da pureza da língua russa e às testemunhas do dicionário Ozhegov. Todos nós realmente amamos nossa língua nativa, mas a maldita indústria de TI trabalha em inglês. Bem, não pensamos nisso, mas aconteceu historicamente. Eu não sou culpado, ele próprio veio (c)
No nosso negócio, o problema dos anglicismos (e jargões) tem suas especificidades. Quando por palavras inocentes como "anfitrião" ou "convidado" o mundo inteiro há muito entendeu coisas completamente concretas, então em ⅙ parte da terra, a confusão heróica e cambaleando ao remexer em dicionários continuam. E o argumento estritamente obrigatório "E aqui no trabalho ...".
Além disso, existe puramente nossa terminologia, que é inerente aos produtos da Veeam, embora algumas palavras e frases tenham ido para as pessoas. Portanto, agora vamos concordar sobre o que o termo significa o que, e no futuro, sob a palavra "convidado", vou significar exatamente o que está escrito neste capítulo, e não o que você está acostumado no trabalho. E sim, este não é meu capricho pessoal, são termos bem estabelecidos na indústria. Lutar contra eles é um tanto inútil. Embora eu sempre seja a favor de cozinhar em kamenty.
Infelizmente, há muitos termos em nosso trabalho e produtos, então não tentarei listá-los todos. Apenas as informações mais básicas sobre backups e logs necessários para a sobrevivência no mar. Para os interessados, posso oferecer também o artigo de um colega sobre fitas, onde ele também deu uma lista de termos relacionados a essa parte da funcionalidade.
Anfitrião: No mundo da virtualização, esta é uma máquina hipervisor. Físico, virtual, nuvem - não importa. Se um hipervisor estiver sendo executado em algo (ESXi, Hyper-V, KVM etc.), esse “algo” é chamado de host. Seja um cluster para dez racks ou seu laptop com um laboratório para uma máquina virtual e meia - se você executa um hipervisor, você se torna um host. Porque o hipervisor hospeda máquinas virtuais. Há até uma lenda de que a VMware desejava certa vez obter uma forte associação da palavra host com ESXi. Mas ela não fez isso.
No mundo moderno, o conceito de "host" praticamente se fundiu com o conceito de "servidor", o que introduz uma certa confusão na comunicação, especialmente quando se trata de infraestrutura Windows. Portanto, qualquer máquina que hospeda algum serviço interessante pode ser chamada de host com segurança. Por exemplo, nos logs do WinSock, a palavra host marca tudo. O clássico "Host não encontrado" é um exemplo disso. Portanto, partimos do contexto, mas lembre-se - no mundo da virtualização, o host é o que hospeda os convidados (mais sobre essas duas linhas abaixo).
Do jargão local (em vez de acrônimos, neste caso), lembro aqui que VMware é VI, vSphere é VC e Hyper-V é HV.
Convidado:Uma máquina virtual em execução em um host. Não há nada para explicar, tudo é tão lógico e simples. No entanto, muitos estão diligentemente arrastando alguns outros significados aqui.
Pelo que? Eu não sei.
O sistema operacional convidado, respectivamente, é o sistema operacional da máquina convidada. Etc.
Trabalho de backup / replicação (JobA): jargão puramente do Wim, denotando algumas das tarefas. Trabalho de backup == Trabalho de backup. Que lindo traduzi-lo para o russo - ninguém o inventou, então todos dizem "trabalho". Com ênfase na última sílaba.
Sim, eles apenas pegam e dizem “trabalho”. E até nas cartas eles escrevem assim, e está tudo bem.
Quaisquer trabalhos de backup, tarefas de backup, etc., obrigado, mas não necessário. Apenas um trabalho e você será compreendido. O principal é colocar ênfase na última sílaba.
Backup (backup, backup. Para hard-oldfags, backup é permitido): Além do óbvio (uma cópia de backup dos dados que estão em algum lugar), também significa o próprio trabalho (três linhas acima, se você já esqueceu), como resultado do qual o mesmo arquivo de backup aparece ... Provavelmente, 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. Proponho apoiar este maravilhoso empreendimento.
Consolidar:Um termo introduzido 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 foram excluídos da estrutura lógica exibida. Em teoria, esse processo não deve afetar os arquivos exibidos no gerenciador de instantâneos, mas tudo pode acontecer. A essência do processo de consolidação é que os dados de um instantâneo (disco filho) são gravados no disco principal (pai). O processo de fusão de discos é denominado fusão. Se um comando de consolidação foi emitido, o registro do instantâneo pode ser excluído do banco de dados antes que o instantâneo seja congelado e excluído. E se o instantâneo não puder ser excluído por algum motivo, esses instantâneos órfãos serão exibidos. A VMware tem um bom KB sobre como trabalhar com instantâneos . E nós, também, de alguma forma sobre elesescreveu em Habré .
Datastore (Stora ou store): Um conceito muito amplo, mas no mundo da virtualização, refere-se ao local onde os arquivos das máquinas virtuais são armazenados. Mas em qualquer caso, aqui você precisa entender muito claramente o contexto e, com a menor dúvida, esclarecer o que exatamente o seu interlocutor tinha em mente.
Proxy:É importante entender imediatamente que o Veeam Proxy não é exatamente a mesma coisa a que estamos acostumados nos campos da Internet. Dentro dos produtos da Veeam, esta é uma entidade que se dedica à transferência de dados de um lugar para outro. Sem entrar em detalhes, o VBR é o servidor de comando e os proxies são seus cavalos de batalha. Ou seja, um proxy é uma máquina pela qual o tráfego flui e na qual os componentes VBR são instalados que ajudam a direcionar esse tráfego. Por exemplo, transfira dados de um canal para outro ou simplesmente anexe discos a você (modo HotAdd).
Repositório: Tecnicamente, este é apenas um registro no banco de dados VBR indicando o local onde os backups estão armazenados e como se conectar a este local. Na verdade, pode ser apenas uma bola CIFS ou um disco, servidor ou balde separado na nuvem. Novamente, estamos dentro do contexto, mas entenda que o repositório é exatamente onde estão seus backups.
Instantâneo:Os amantes da gramática de Oxford preferem dizer quem é instantâneo, quem é instantâneo, entretanto, a maioria dos analfabetos se beneficia da massa maior. Se alguém não sabe, esta é uma tecnologia que permite restaurar o estado de um disco para um determinado momento. Isso é feito redirecionando temporariamente as operações de I / O para longe do disco principal - então será chamado de instantâneo RoW (Redirecionar na gravação) - ou movendo blocos regraváveis do seu disco para outro - isso será chamado de CoW (cópia na gravação) instantâneo. É graças às amplas possibilidades de uso dessas funções que a Veeam pode fazer sua própria mágica de backup. A rigor, não só para eles, mas esse é o negócio dos próximos lançamentos.
Há um caos na documentação e nos logs do ESXi em torno desse termo e, no contexto de mencionar instantâneos, você pode encontrar os próprios instantâneos, redo log e até disco delta. Não há tal irritação na documentação da Veeam, e um instantâneo é um instantâneo e um log de redo é exatamente um arquivo REDO criado por um disco não persistente independente. Arquivos REDO são excluídos quando a máquina virtual é desligada, portanto, confundi-los com instantâneos é um caminho para a falha.
Sintético: os backups sintéticos referem-se a backups incrementais reversos e para frente. Se de repente você não encontrou este termo, então este é apenas um dos mecanismos usados para construir / transformar a cadeia de backup. Porém, nos logs, também é possível encontrar o conceito de Transform, que é usado na criação de cópias completas sintéticas.
Tarefa (tarefa):Este é o processo de processamento de cada máquina individual em um trabalho. Ou seja: você tem um trabalho de backup que inclui três máquinas. Isso significa que cada carro será processado como uma tarefa separada. No total, serão quatro logs: o principal para o trabalho e três para as tarefas. No entanto, há uma nuance importante: com o tempo, a palavra "tarefa" tornou-se desnecessariamente ambígua. Quando falamos sobre logs gerais, queremos dizer que uma tarefa é exatamente uma VM. Mas tanto o proxy quanto o repositório têm suas próprias "tarefas". 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 estão funcionando ao mesmo tempo, uma lista dos quais pode ser encontrada no equipamento padrão. Seus nomes refletem de forma bastante transparente sua essência, mas entre iguais está 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, é 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."
Registros e lugares fantásticos onde moram
Quero começar este capítulo revelando o grande segredo - que horas são exibidas nos logs?
Lembrar:
- ESXi sempre registra em UTC + 0.
- O vCenter mantém logs sobre a hora de seu fuso horário.
- Veeam .
- EVTX . , . , . — . . , , , , IT , . .
Agora vamos falar sobre os locais onde os logs ficam e como obtê-los. No caso do VBR, existem duas abordagens.
A primeira opção é adequada se você não estiver ansioso para pesquisar arquivos em um heap comum relacionados especificamente 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 examinará pessoalmente os pais e colocará tudo o que precisa em um arquivo. Sobre onde procurá-lo e como trabalhar com ele está escrito em detalhes nesta KB .
No entanto, o assistente não coleta logs de todas as tarefas e, por exemplo, se você precisa estudar os logs de um restaurante, failover ou failback, seu caminho está na pasta % ProgramData% / Veeam / Backup... Este é o repositório principal do logotipo VBR, e% ProgramData% é uma pasta oculta e está tudo bem. A propósito, o local padrão pode ser reatribuído usando uma chave de registro como REG_SZ: LogDirectory na ramificação HKEY_LOCAL_MACHINE \ SOFTWARE \ Veeam \ Veeam Backup and Replication \.
Em máquinas Linux, os logs dos agentes de trabalho devem ser procurados em / var / log / VeeamBackup / se uma conta root ou sudo for usada. Se você não tiver esses privilégios, procure os registros em / 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ê usar o Application-Aware Image Processing (e provavelmente você o usa), a situação se torna um pouco mais complicada. Você precisará dos logs do nosso auxiliar, que são armazenados na própria máquina virtual, e dos logs do VSS. Como e onde obter essa felicidade é descrito em detalhes neste artigo . E, claro, há um artigo separado sobre como coletar os logs de sistema necessários.
É conveniente coletar eventos do Windows de acordo com este HF . Se você estiver usando o Hyper-V, as coisas ficarão mais complicadas, pois você também precisará de todos os seus logs da ramificação Aplicativos e Logs de serviço> Microsoft> Windows. Embora você sempre possa seguir o caminho mais duvidoso e apenas pegar todos os objetos de% SystemRoot% \ System32 \ winevt \ Logs.
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 você pode encontrar informações mais úteis em eventos do sistema operacional do que nesses logs. O resto do interessante está em% Temp%, mas há principalmente logs de instalação de software relacionado, como um banco de dados, 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 exibido na GUI. Portanto, se a instalação de um dos componentes falhar, toda a instalação do VBR será interrompida. Portanto, você precisa ir às toras e ver o que exatamente quebrou e em que momento.
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 clique em OK. Então você obtém um log que termina na hora do erro, sem lixo no final.
E acontece que você precisa entrar nos logs do vSphere. É um trabalho muito ingrato, mas, depois de arregaçar as mangas, você precisa fazer outra coisa. Em sua forma mais simples, precisamos dos logs com os eventos da 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 de sua versão do host, já que a VMware adora mudar esse local de lançamento para lançamento. Por exemplo, aqui está um artigo para 7.0 , mas aqui para 5.5 . Para registros do vCenter, repita o procedimento do google... Mas, em geral, estaremos interessados nos logs de eventos do host hostd.log, nos eventos dos hosts controlados pelo vCenter vpxa.log, nos logs do kernel vmkernel.log e nos logs de autenticação auth.log. Bem, nos casos mais avançados, o log de SSO pode ser útil, que está localizado na pasta SSO.
É complicado? Confuso? Assustador? Mas isso não é nem a metade das informações com as quais nosso suporte trabalha no dia a dia. Então eles são realmente muito legais.
Componentes Veeam
E para completar este artigo introdutório, vamos falar um pouco sobre os componentes do Veeam Backup & Replication. Pois ao procurar a causa da dor, seria bom entender como o paciente funciona.
Portanto, como todos provavelmente sabem, o Veeam Backup é um aplicativo denominado 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. Em vez disso, em duas bases, se estamos falando de um pacote de VBR e EM: VeeamBackup e VeeamBackupReporting, respectivamente. E assim aconteceu: colocamos mais um aplicativo - aparece outra base. Para não armazenar todos os ovos em uma corina.
Mas para que toda essa economia funcione sem problemas, precisamos de um conjunto de serviços e aplicativos que conectem todos os componentes. Apenas a título de exemplo, é assim que fica em um dos meus laboratórios:

O Veeam Backup Service é o principal condutor . É ele o responsável pela troca de informações com as bases de dados. Ele também é responsável por iniciar todas as tarefas, orquestra os recursos alocados e funciona como uma espécie de centro de comunicação para uma variedade de consoles, agentes e tudo mais. Em uma palavra, definitivamente não há nada sem ele, mas isso não significa de forma alguma que ele faça tudo sozinho. O Veeam Backup Manager o
ajuda a realizar seus planos . Este não é um serviço, mas uma entidade que lança jobs e monitora o processo de sua execução. As mãos funcionais 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. Veeam Broker Service
... Introduzido na v9.5 (e este não é um cripto mineiro, como alguns pensavam na época). Coleta informações sobre hosts VMware e as mantém atualizadas. Mas não corra imediatamente para escrever comentários irritados de que estamos espionando você e vazando todos os logins / senhas para o tashmayor. Tudo é um pouco mais simples. Ao iniciar 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 lenta e complicada. Lembre-se de quanto tempo você leva para fazer o login por meio da interface da web e lembre-se de que apenas a camada superior é contada lá. E então você ainda precisa abrir toda a hierarquia para o lugar certo, a propósito. Em uma palavra, horror. Se você executar uma dúzia de backups, cada trabalho precisará seguir este procedimento. Se estamos falando de grandes infraestruturas, esse processo pode levar 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, em seguida, tenta trabalhar apenas no nível de mudanças 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 seus pedidos. Se você está preocupado com os recursos, de acordo com nossos cálculos, para 5000 máquinas virtuais, você precisará de apenas cerca de 100 Mb de memória.todos eles solicitarão informações de nosso corretor e não atormentarão os anfitriões com seus pedidos. Se você está preocupado com os recursos, de acordo com nossos cálculos para 5.000 máquinas virtuais, você precisará de apenas cerca de 100 Mb de memória.todos eles solicitarão informações de nosso corretor e não atormentarão os anfitriões com seus pedidos. Se você está preocupado com os recursos, de acordo com nossos cálculos, para 5000 máquinas virtuais, você precisará de apenas cerca de 100 Mb de memória.
O próximo é o Veeam Console . Aka Veeam Remote Console, também conhecido como Veeam.Backup.Shell. Esta é a mesma GUI que vemos nas imagens. Tudo é simples e óbvio - o console pode ser iniciado de qualquer lugar, desde que fosse Windows e houvesse uma conexão com o servidor VBR. A única coisa que podemos dizer é que o processo FLR montará os pontos localmente (ou seja, na máquina onde o console está sendo executado). Bem, os variegados Veeam Explorers também rodarão localmente, porque fazem parte do console. Mas isso já me levou para a selva ...
O próximo serviço interessante é o Veeam Backup Catalog Data Service.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. Usado apenas onde a caixa de seleção de indexação está ativada. E só faz sentido habilitá-lo se você tiver o Enterprise Manager. Portanto, um conselho do fundo do meu coração: não ative a indexação desse jeito se você não tiver um EM. Economize seus nervos e tempo de apoio.
Também de outros serviços importantes, vale destacar o Veeam Installer Service , que é usado para entregar e instalar os componentes necessários em proxies, repositórios e outros gateways. Na verdade, ele leva os pacotes .msi necessários aos servidores e os instala.
Veeam Data Mover- com a ajuda de agentes auxiliares lançados em proxies (e não só), ele está envolvido na transferência de dados. Por exemplo, durante o backup, um agente lerá os arquivos dos datastores do host e o segundo os gravará cuidadosamente no backup.
Separadamente, gostaria de observar uma coisa importante a que os clientes costumam reagir - essa é a diferença entre as versões dos serviços e as informações no snap-in Programas e Recursos. Sim, a lista será a mesma, mas as versões podem ser uma bagunça completa. Isso não é muito legal do ponto de vista visual, mas é completamente normal se tudo estiver estável. Por exemplo, para o serviço Instalador, o número da versão está bem atrás dos vizinhos. Horror e pesadelo? Não, porque não é completamente reinstalado, mas sua DLL é simplesmente atualizada. No patch v9.5 U4, havia 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 ultrapassou todos os outros em até duas versões (a julgar pelos números). E tudo bem também - um bug sério foi encontrado nele, então ele teve uma atualização bônus sobre o resto. Portanto, para resumir:diferenças de versão PODEM ser um problema, mas se houver uma diferença e tudo estiver funcionando corretamente, então provavelmente deveria estar. Mas ninguém te proíbe de esclarecer isso no suporte técnico.
Esses eram os chamados serviços obrigatórios ou obrigatórios. E também há um monte de auxiliares, como Tape Service, Mount Service, vPowerNFS Service e assim por diante.
Para Hyper-V, em geral, tudo é igual, só que existe um Serviço de Integração Veeam Backup Hyper-V específico e seu próprio driver para trabalhar com CBT.
E no final, vamos falar sobre quem trabalha nas máquinas virtuais durante o backup. Veeam Guest Helper é usado para executar scripts pré e pós-congelamento, para criar uma cópia de sombra, coletar metadados, trabalhar com logs de transações SQL e muito mais . E se os sistemas de arquivos forem indexados, Veeam Guest Indexer . Esses são serviços temporários que são implantados durante o backup e excluídos depois dele.
No caso das máquinas Linux, tudo é muito mais simples devido à presença de um grande número de bibliotecas integradas e aos recursos do próprio sistema. Por exemplo, a indexação é feita via mlocate.
É tudo por agora
Não me atrevo a atormentá-lo mais e considero encerrada uma breve introdução ao compartimento do motor Veeam. Sim, ainda não chegamos perto dos próprios registros, mas acreditem, para que a informação neles apresentada não pareça um fluxo incoerente de consciência, tal introdução é absolutamente necessária. Pretendo ir para os logs propriamente ditos 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 desta forma, e não de outra forma.