
Noi di Veeam amiamo i log. E poiché la maggior parte delle nostre soluzioni sono modulari, scrivono molti registri. E poiché lo scopo della nostra attività è garantire la sicurezza dei tuoi dati (ovvero un sonno ristoratore), i registri non dovrebbero solo registrare ogni starnuto, ma anche farlo in dettaglio. Ciò è necessario affinché in caso di qualcosa sia chiaro come è successo questo "cosa", di chi è la colpa e cosa deve essere fatto dopo. È come nella scienza forense: non sai mai quale piccola cosa ti aiuterà a trovare l'assassino di Laura Palmer.
Pertanto, ho deciso di dare uno sguardo a una serie di articoli, in cui parlerò in sequenza di ciò che scriviamo nei registri, dove li archiviamo, come non impazzire con la loro struttura e cosa cercare al loro interno.
Perché una serie di articoli e perché non descrivere tutto in una volta?
Elencare semplicemente quale registro è dove e cosa è memorizzato in esso è un'impresa piuttosto disastrosa. Ed è spaventoso persino pensare di mantenere aggiornate queste informazioni. Un semplice elenco di tutti i possibili tipi di log in Veeam Backup & Replication è una tabella su più fogli in caratteri piccoli. Sì, e sarà rilevante solo al momento della pubblicazione, perché. quando verrà rilasciata la patch successiva, potrebbero apparire nuovi registri, la logica delle informazioni memorizzate in quelli vecchi cambierà, ecc. Pertanto, sarà molto più redditizio spiegare la loro struttura e l'essenza delle informazioni in essi contenute. Questo ti permetterà di navigare meglio nei luoghi rispetto al banale stipare di nomi.
Pertanto, per non precipitarci a capofitto nel pool di fogli di testo, facciamo un lavoro preparatorio in questo articolo. Pertanto, oggi non entreremo nei log stessi, ma andremo da lontano: compileremo un glossario e discuteremo un po 'della struttura Veeam in termini di generazione di log.
Glossario e gergo
Qui, prima di tutto, vale la pena chiedere scusa ai campioni della purezza della lingua russa e ai testimoni del dizionario di Ozhegov. Tutti amiamo moltissimo la nostra lingua madre, ma il dannato settore IT opera in inglese. Bene, non l'abbiamo inventato, ma è successo storicamente. Non è colpa mia, è venuto lui stesso (c)
Nella nostra attività, il problema degli anglicismi (e del gergo) ha le sue specificità. Quando sotto parole innocenti come "ospite" o "ospite" il mondo intero ha capito da tempo cose molto specifiche, allora su ⅙ della terra continua l'eroica confusione e lo sconcerto di frugare nei dizionari. E l'argomento strettamente obbligatorio "Ma al nostro lavoro ...".
Inoltre, c'è puramente la nostra terminologia, che è inerente ai prodotti Veeam, sebbene alcune parole e frasi siano andate alle persone. Pertanto, ora saremo d'accordo su quale termine significhi cosa, e in futuro, sotto la parola "ospite", intendo esattamente ciò che è scritto in questo capitolo, e non ciò a cui sei abituato al lavoro. E sì, questo non è un mio capriccio personale, questi sono termini consolidati nel settore. Combatterli è in qualche modo inutile. Anche se sono sempre favorevole a rilassarsi nei commenti.
Sfortunatamente, ci sono molti termini nel nostro lavoro e nei nostri prodotti, quindi non cercherò di elencarli tutti. Solo le informazioni più basilari e necessarie su backup e registri per la sopravvivenza in mare. Per chi fosse interessato posso anche io colleghi sui nastri, dove ha anche fornito un elenco di termini relativi a quella parte della funzionalità.
Ospite (Ospite): Nel mondo della virtualizzazione, questa è una macchina con un hypervisor. Fisico, virtuale, cloud: non importa. Se qualcosa esegue un hypervisor (ESXi, Hyper-V, KVM ecc.), questo "qualcosa" viene chiamato host. Che si tratti di un cluster con dieci rack o del tuo laptop con un laboratorio per una macchina virtuale e mezza, se hai lanciato un hypervisor, sei diventato un host. Perché l'hypervisor ospita macchine virtuali. C'è persino una storia secondo cui VMware un tempo voleva ottenere una solida associazione della parola host con ESXi. Ma non l'ha fatto.
Nel mondo moderno, il concetto di "host" si è praticamente fuso con il concetto di "server", il che porta una certa confusione nella comunicazione, soprattutto quando si tratta dell'infrastruttura Windows. Quindi qualsiasi macchina che ospita un servizio di nostro interesse può essere tranquillamente chiamata host. Ad esempio, nei log di WinSock tutto è contrassegnato dalla parola host. Il classico "Host non trovato" ne è un esempio. Quindi partiamo dal contesto, ma ricorda: nel mondo della virtualizzazione, un host è ciò che ospita gli ospiti (più su questo in due righe sotto).
Dal gergo locale (anzi sigle, in questo caso), si ricorda qui che VMware è VI, vSphere è VC e Hyper-V è HV.
Ospite (Ospite): La macchina virtuale in esecuzione sull'host. Non c'è niente da spiegare qui, tutto è così logico e semplice. Tuttavia, molti trascinano diligentemente qui alcuni altri significati.
Per quello? Non lo so.
OS guest, rispettivamente, il sistema operativo della macchina guest. E così via.
Processo di backup/replica (processo A): Puro gergo Wim, che denota alcuni dei compiti. Processo di backup == Processo di backup. Nessuno ha capito come tradurlo magnificamente in russo, quindi tutti dicono "JobA". Con enfasi sull'ultima sillaba.
Sì, lo prendono semplicemente e dicono "joba". E anche nelle lettere scrivono così, e va tutto bene.
Tutti i tipi di processi di backup, attività di backup, ecc., grazie, ma non è necessario. Solo un lavoro, e sarai capito. La cosa principale è mettere l'accento sull'ultima sillaba.
Backup (Backup, backup. Per i true-oldfags, il backup è consentito): Oltre all'ovvio (una copia di backup dei dati che si trovano da qualche parte), significa anche il lavoro stesso (tre righe sopra, se l'hai già dimenticato), a seguito del quale appare il file di backup stesso. Probabilmente, i signori madrelingua inglesi sono troppo pigri per dire che ho eseguito il mio lavoro di backup ogni volta, quindi dicono semplicemente che ho eseguito il mio backup e tutti si capiscono perfettamente. Vi invito a sostenere questa splendida iniziativa.
Consolidare (Consolidamento): Un termine apparso in ESXi 5.0 Un'opzione nel menu delle istantanee che avvia il processo di eliminazione delle cosiddette istantanee orfane. Ovvero, istantanee che sono fisicamente disponibili, ma che non rientrano nella struttura logica visualizzata. In teoria, questo processo non dovrebbe influire sui file visualizzati nello snapshot manager, ma può succedere di tutto. L'essenza del processo di consolidamento è che i dati dello snapshot (disco figlio) vengono scritti sul disco principale (padre). Il processo di combinazione dei dischi è chiamato unione. Se è stato immesso un comando di consolidamento, il record dello snapshot può essere rimosso dal database prima che lo snapshot venga unito ed eliminato. E se l'istantanea non può essere eliminata per qualsiasi motivo, vengono visualizzate le stesse istantanee orfane. Per quanto riguarda il lavoro con le istantanee, VMware ha . E anche noi in qualche modo su di loro .
Datastore (Stora o archiviazione): Un concetto molto ampio, ma nel mondo della virtualizzazione è inteso come un luogo in cui vengono archiviati i file della macchina virtuale. Ma in ogni caso, qui devi capire molto chiaramente il contesto e, con il minimo dubbio, chiarire cosa aveva in mente esattamente il tuo interlocutore.
Procuratore (procuratore): È importante capire subito che Veeam Proxy non è esattamente uguale a quello a cui siamo abituati su Internet. All'interno dei prodotti Veeam, questo è un tipo di entità che si occupa del trasferimento dei dati da un luogo all'altro. Se non entri nei dettagli, VBR è un server di comando e controllo e i proxy sono i suoi cavalli di battaglia. Cioè, un proxy è una macchina attraverso la quale scorre il traffico e su cui sono installati i componenti VBR che aiutano a gestire questo traffico. Ad esempio, per trasferire i dati da un canale all'altro o semplicemente per agganciare i dischi a se stesso (modalità HotAdd).
Deposito (deposito): Tecnicamente, questa è solo una voce nel database VBR, che indica il luogo in cui sono archiviati i backup e come connettersi a questo luogo. In effetti, può essere solo una palla CIFS o un disco, un server o un bucket separato nel cloud. Ancora una volta, siamo nel contesto, ma comprendiamo che un repository è solo un luogo in cui si trovano i tuoi backup.
Istantanea (SnapshOt): Gli appassionati di grammatica di Oxford preferiscono dire chi è un'istantanea e chi è un'istantanea, ma la maggioranza analfabeta beneficia della massa più ampia. Se qualcuno non lo sa, questa è una tecnologia che consente di ripristinare lo stato di un disco in un determinato momento. Questo viene fatto reindirizzando temporaneamente le operazioni di I/O lontano dal disco principale - quindi si chiamerà RoW (Redirect on Write) snapshot - o spostando i blocchi riscrivibili dal tuo disco a un altro - questo si chiamerà CoW (Copy on Write) ) istantanea. È grazie alle ampie possibilità di utilizzo di queste funzioni che Veeam può eseguire la sua magia di backup. A rigor di termini, non solo loro, ma questo è il tema delle prossime uscite.
C'è caos intorno a questo termine nella documentazione e nei registri di ESXi e, nel contesto della menzione degli snapshot, è possibile trovare gli snapshot stessi, ripetere il registro e persino il delta disk. La documentazione di Veeam non contiene tale strappo e uno snapshot è uno snapshot e un redo log è esattamente un file REDO creato da un disco indipendente non persistente. I file REDO vengono eliminati quando la macchina virtuale viene spenta, quindi confonderli con le istantanee è un percorso verso il fallimento.
Sintetico (sintetico): I backup sintetici sono backup incrementali inversi e backup forward per sempre. Nel caso in cui non vi siate imbattuti in questo termine, è solo uno dei meccanismi utilizzati per costruire una trasformazione della catena di backup. Tuttavia, nei registri è anche possibile trovare il concetto di trasformazione, che viene utilizzato nell'ambito della creazione di copie complete da incrementi (completo sintetico).
Compito (compito): Questo è il processo di elaborazione di ogni singola macchina all'interno del lavoro. Cioè: hai un processo di backup, che include tre macchine. Ciò significa che ogni auto verrà elaborata come parte di un'attività separata. In totale, ci saranno quattro registri: quello principale per i lavori e tre per le attività. Tuttavia, qui c'è una sfumatura importante: nel tempo la parola "compito" è diventata inutilmente ambigua. Quando parliamo di log generali, intendiamo che un'attività è esattamente una VM. Ma ci sono "attività" sia sul proxy che sul repository. Lì può significare un disco virtuale, una macchina virtuale e l'intero lavoro. Cioè, è importante non perdere il contesto.
Servizio Veeam %name%.: A vantaggio di backup riusciti, diversi servizi funzionano contemporaneamente, un elenco dei quali è disponibile nell'attrezzatura standard. I loro nomi riflettono in modo abbastanza trasparente la loro essenza, ma tra uguali c'è il più importante: Veeam Backup Service, senza il quale il resto non funzionerà.
VSS: Tecnicamente, VSS dovrebbe sempre essere l'acronimo di Microsoft Volume Shadow Copy Service. Infatti, è usato da molti come sinonimo di Application-Aware Image Processing. Il che, ovviamente, è categoricamente sbagliato, ma questa è una storia della categoria "Qualsiasi SUV può essere chiamato jeep e sarai compreso".
Tronchi fantastici e dove vivono
Voglio iniziare questo capitolo rivelando il grande segreto: che ora viene visualizzata nei registri?
Ricorda:
- ESXi scrive sempre i log in UTC+0.
- vCenter conserva i log in base all'ora del proprio fuso orario.
- Veeam conserva i log in base all'ora e al fuso orario del server su cui si trova.
- E solo gli eventi di Windows in formato EVTX non soffrono di associazione a nulla. All'apertura, il tempo viene ricalcolato per l'auto su cui sono stati aperti. L'opzione più conveniente, anche se ci sono difficoltà con essa. L'unica difficoltà tangibile è la differenza nelle impostazioni locali. Questo è un percorso praticamente garantito per i registri illeggibili. Sì, ci sono opzioni su come trattare questo problema, ma non discutiamo del fatto che tutto nell'IT funziona in inglese e accettiamo di impostare sempre la lingua inglese sui server. Oh per favore.
Ora parliamo dei luoghi in cui vivono i tronchi e di come ottenerli. Nel caso di VBR, ci sono due approcci.
La prima opzione è adatta se non sei ansioso di cercare file nell'heap generale specificamente correlati al tuo problema. Per fare ciò, abbiamo una procedura guidata separata, alla quale è possibile specificare un lavoro specifico e un periodo specifico per il quale sono necessari i registri. Quindi esaminerà lui stesso le cartelle e metterà tutto ciò di cui hai bisogno in un archivio. Dove cercarlo e come lavorarci è descritto in dettaglio in .
Tuttavia, la procedura guidata non raccoglie i registri di tutte le attività e, ad esempio, se è necessario studiare i registri del ripristino, del failover o del failback, il percorso si trova nella cartella %ProgramData%/Veeam/Backup. Questo è il logostore principale di VBR e %ProgramData% è una cartella nascosta e va bene. A proposito, la posizione predefinita può essere riassegnata utilizzando la chiave di registro di tipo REG_SZ: LogDirectory nel ramo HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication.
Sulle macchine Linux, i log dell'agente di lavoro devono essere cercati in /var/log/VeeamBackup/se si utilizza un account root o sudo. Se non disponi di tali privilegi, cerca gli accessi /tmp/VeeamBackup.
Per Veeam agent for %OS_name% i log devono essere cercati %ProgramData%/Veeam/Endpoint (o %ProgramData%/Veeam/Backup/Endpoint) E /var/log/veeam rispettivamente.
Se stai utilizzando l'elaborazione delle immagini compatibile con l'applicazione (e molto probabilmente lo stai facendo), la situazione diventa leggermente più complicata. Avrai bisogno dei log del nostro helper, che sono archiviati all'interno della macchina virtuale stessa, e dei log VSS. Su come e dove ottenere questa felicità, è scritto in dettaglio in . E ovviamente c'è per raccogliere i log di sistema necessari.
Gli eventi di Windows vengono opportunamente raccolti in base a . Se utilizzi Hyper-V, le cose si complicano, poiché avrai bisogno anche di tutti i suoi registri dal ramo Applicazioni e servizi > Microsoft > Windows. Anche se puoi sempre andare nel modo più stupido e raccogliere tutti gli oggetti da %SystemRoot%System32winevtLogs.
Se qualcosa si rompe durante l'installazione/l'aggiornamento, tutto ciò di cui hai bisogno si trova nella cartella %ProgramData%/Veeam/Setup/Temp. Anche se non nasconderò il fatto che negli eventi del sistema operativo puoi trovare informazioni più utili che in questi registri. Il resto dell'interessante si trova in %Temp%, ma ci sono principalmente registri di installazione per software correlato, come la base, le librerie .Net e altre cose. Si noti che Veeam è installato da msi e tutti i suoi componenti sono installati anche come pacchetti msi separati, anche se ciò non è stato mostrato nella GUI. Pertanto, se l'installazione di uno dei componenti fallisce, l'intera installazione di VBR verrà interrotta. Pertanto, è necessario entrare nei registri e vedere cosa si è rotto esattamente e in quale momento.
E infine, un trucco per la vita: se ricevi un errore durante l'installazione, non affrettarti a fare clic su OK. Per prima cosa prendiamo i log, quindi facciamo clic su OK. In questo modo otterrai un registro che termina al momento dell'errore, senza spazzatura alla fine.
E succede che devi entrare nei log di vSphere. L'occupazione è molto ingrata, ma, rimboccandosi le maniche, bisogna fare qualcos'altro. Nella versione più semplice, abbiamo bisogno dei log con gli eventi della macchina virtuale vmware.log, che si trovano accanto al suo file .vmx. In un caso più difficile, apri Google e chiedi dove si trovano i log per la tua versione host, poiché VMware ama cambiare questo posto da una versione all'altra. Per esempio, , ma per . Per i log vCenter, ripetere la procedura . Ma in generale, saremo interessati ai log degli eventi host hostd.log, agli eventi host gestiti da vCenter vpxa.log, ai log del kernel vmkernel.log e ai log di autenticazione auth.log. Bene, nei casi più trascurati, il registro SSO, che si trova nella cartella SSO, può tornare utile.
Ingombrante? Confuso? Allarmante? Ma questa non è nemmeno la metà delle informazioni con cui il nostro supporto lavora quotidianamente. Quindi sono davvero, davvero fantastici.
Componenti Veeam
E come conclusione di questo articolo introduttivo, parliamo un po' dei componenti di Veeam Backup & Replication. Perché quando cerchi la causa del dolore, sarebbe bello capire come lavora il paziente.
Quindi, come probabilmente tutti sanno, Veeam Backup è una cosiddetta applicazione basata su SQL. Cioè, tutte le impostazioni, tutte le informazioni e in generale tutto ciò che è necessario solo per il normale funzionamento - tutto questo è nel suo database. O meglio, in due database, se parliamo di un gruppo di VBR ed EM: rispettivamente VeeamBackup e VeeamBackupReporting. E così è successo: inseriamo un'altra applicazione: appare un altro database. Per non conservare tutte le uova in un paniere.
Ma affinché tutta questa economia funzioni senza intoppi, abbiamo bisogno di una serie di servizi e applicazioni che leghino insieme tutti i componenti. A titolo di esempio, ecco come appare in uno dei miei laboratori:

Agisce come direttore principale Servizio di backup Veeam. È lui che è responsabile dello scambio di informazioni con le basi. È anche responsabile dell'avvio di tutte le attività, dell'orchestrazione delle risorse assegnate e del lavoro come una sorta di centro di comunicazione per una varietà di console, agenti e tutto il resto. In una parola, non c'è assolutamente modo senza di lui, ma questo non significa affatto che faccia tutto da solo.
Lo aiuta nella realizzazione del suo piano Gestore di backup Veeam. Questo non è un servizio, ma un'entità che avvia lavori e monitora il processo della loro esecuzione. Le mani che lavorano del servizio di backup, con le quali si connette agli host, crea istantanee, monitora la conservazione e così via.
Ma torniamo all'elenco dei servizi. Servizio broker Veeam. Apparso nella v9.5 (e questo non è un crypto miner, come alcuni pensavano allora). Raccoglie informazioni sugli host VMware e ne mantiene la pertinenza. Ma non correre subito a scrivere commenti arrabbiati che ti stiamo spiando e facendo trapelare tutti gli accessi / password al taschmajor. Tutto è un po 'più semplice. Quando esegui un backup, la prima cosa che devi fare è connetterti all'host e aggiornare tutti i dati sulla sua struttura. Questa è una storia piuttosto lenta e ingombrante. Ricorda solo quanto tempo ci vuole per accedere tramite l'interfaccia web e ricorda che lì viene conteggiato solo il livello superiore. E poi devi ancora aprire l'intera gerarchia nel posto giusto, comunque. In una parola, orrore. Se esegui una dozzina di backup, ogni processo deve eseguire questa procedura. Se parliamo di grandi infrastrutture, questo processo può richiedere dieci minuti o più. Pertanto, si è deciso di destinare a questo un servizio separato, attraverso il quale sarà possibile ricevere informazioni sempre aggiornate. All'avvio, controlla e scansiona tutta l'infrastruttura aggiunta, quindi prova a lavorare solo a livello di modifiche incrementali. Quindi, anche se esegui un centinaio di backup contemporaneamente, tutti richiederanno informazioni al nostro broker e non tormenteranno gli host con le loro richieste. Se sei preoccupato per le risorse, secondo i nostri calcoli, 5000 macchine virtuali richiedono solo circa 100 Mb di memoria.
Poi abbiamo Console Veeam. È Veeam Remote Console, è Veeam.Backup.Shell. Questa è la stessa GUI che vediamo negli screenshot. Tutto è semplice e ovvio: la console può essere avviata da qualsiasi luogo, purché sia \uXNUMXb\uXNUMXbWindows e sia presente una connessione al server VBR. L'unica cosa che si può dire è che il processo FLR monterà i punti localmente (cioè sulla macchina su cui è in esecuzione la console). Bene, Veeam Explorers assortiti funzioneranno anche localmente, perché fanno parte della console. Ma mi ha già portato nelle terre selvagge ...
Un altro servizio interessante è Servizio dati catalogo Veeam Backup. Conosciuto come Veeam Guest Catalog Service nell'elenco dei servizi. È impegnato nell'indicizzazione dei file system sulle macchine guest e riempie la cartella VBRCatalog con questa conoscenza. Viene utilizzato solo dove la casella di controllo dell'indicizzazione è abilitata. E ha senso abilitarlo solo se si dispone di Enterprise Manager. Pertanto, consiglio dal profondo del mio cuore: non attivare l'indicizzazione proprio così se non hai EAT. Risparmia i nervi e il tempo di supporto.
Anche da altri importanti servizi vale la pena notare Servizio di installazione Veeam, con l'aiuto del quale i componenti necessari vengono consegnati e installati su proxy, repository e altri gateway. Infatti, porta i pacchetti .msi necessari sui server e li installa.
Spostamento dati Veeam - con l'ausilio di agenti ausiliari lanciati su proxy (e non solo) è impegnato nello spostamento dei dati. Ad esempio, durante il backup, un agente leggerà i file dall'archivio dati dell'host e il secondo li scriverà attentamente nel backup.
Separatamente, vorrei sottolineare una cosa importante a cui spesso reagiscono i clienti: questa è la differenza nelle versioni dei servizi e delle informazioni nello snap-in Programmi e funzionalità. Sì, l'elenco sarà lo stesso, ma le versioni possono essere completamente discordanti. Non è molto bello dal punto di vista visivo, ma è del tutto normale se tutto funziona stabilmente. Ad esempio, per il servizio Installer, il numero di versione è molto indietro rispetto a quelli vicini. Orrore e incubo? No, perché non è completamente reinstallato, ma la sua DLL è semplicemente aggiornata. Nella patch v9.5 U4 si è verificato un incubo del supporto tecnico: durante l'aggiornamento, tutti i servizi hanno ricevuto nuove versioni, tranne quella più importante. Nella patch U4b, il servizio di trasporto ha superato tutti gli altri di ben due versioni (a giudicare dai numeri). E anche questo è normale: è stato trovato un bug serio, quindi ha ricevuto un aggiornamento bonus rispetto al resto. Quindi, per riassumere: le differenze di versione POTREBBERO essere un problema, ma se c'è una differenza e tutto funziona correttamente, probabilmente dovrebbe esserlo. Ma nessuno ti vieta di chiarirlo nel supporto tecnico.
Questi erano i cosiddetti servizi obbligatori o obbligatori. E ce ne sono un sacco di ausiliari, come Tape Service, Mount Service, vPowerNFS Service e così via.
Per Hyper-V, in generale, tutto è uguale, solo che c'è uno specifico Servizio di integrazione Hyper-V di Veeam Backup e il tuo driver per lavorare con CBT.
E alla fine parliamo di chi lavora sulle macchine virtuali durante il backup. Per eseguire script pre e post-blocco, creare una copia shadow, raccogliere metadati, lavorare con i log delle transazioni SQL, ecc. Assistente ospite Veeam. E se i file system sono indicizzati, Veeam Guest Indicizzatore . Si tratta di servizi temporanei distribuiti per la durata del backup e rimossi dopo di esso.
Nel caso delle macchine Linux, tutto è molto più semplice grazie alla presenza di un gran numero di librerie integrate e alle capacità del sistema stesso. Ad esempio, l'indicizzazione viene eseguita tramite mlocate.
È tutto per ora
Non oso più farti del male breve Considero conclusa l'introduzione al vano motore Veeam. Sì, non ci siamo nemmeno avvicinati alle tane stesse, ma credetemi, affinché le informazioni in esse presentate non sembrino un flusso di coscienza incoerente, una tale introduzione è assolutamente necessaria. Ho intenzione di andare ai log stessi solo nel terzo articolo, e il piano per il prossimo è spiegare chi genera i log, cosa viene visualizzato esattamente in essi e perché esattamente, e non altrimenti.
Fonte: habr.com
