Data Domain: Slik viser du filer på Data Domain-filsystemet, sfs-dump

Summary: Denne artikkelen forklarer hvordan du bruker Data Domain CLI til å dumpe fil- og katalogoppføringer for individuelle MTrees eller for filsystemet (FS) som helhet. Dette gjør det mulig for brukere å finne ut hva som er lagret i Data Domain fra sikkerhetskopieringsprogrammet. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Data Domain er en passiv backend-lagringsenhet. Den lagrer bare hva sikkerhetskopiapplikasjonene forteller den til, og sletter bare data når sikkerhetskopieringsprogrammet forteller det å slette filer. Data Domain oppretter eller sletter aldri filer på egen hånd.

Uansett hvilken protokoll som tas inn, inneholder Data Domain FS bare filer (i kataloger) organisert i MTrees. Alle filene (både for filer i Active og i alle skyenheter) deler samme rot og navneområde; det finnes ett enkelt navneområde, noe som betyr at fil- og katalogoppføringer inkluderer filene i Active- og skyenheter uten forskjell.

Det kan være nyttig å hente en detaljert fildump av følgende årsaker:
  • Sammenligning opp mot en liste over filer som administreres av et sikkerhetskopieringsprogram, for å se etter eventuelle filer som er utestengt fra applikasjonen.
  • Visning av alle filer over en bestemt aldersterskel for å finne ut om sikkerhetskopieringsapplikasjonen håndhever boten for oppbevaring av sikkerhetskopien
På grunn av nylige endringer som er gjort i DDOS, har kommandoene som skal brukes til å samle oppføringer av filer fra Data Domain-systemer, endret seg over tid. Disse er bare tilgjengelige fra DD CLI, og avhengig av versjonen vil de være:
  • For DDOS tidligere enn 7.13.0.0, 7.10.1.15, 7.7.5.25 og 6.2.1.110
se sfs_dump
  • For alle DDOS som er lik eller senere enn 7.13.0.0, 7.10.1.15, 7.7.5.25, 6.2.1.110
filesys sfs-dump

Cause

DDOS-versjonene 7.13.0.0, 7.10.1.15, 7.7.5.25 og 6.2.1.110 og nyere gir ikke lenger tilgang til kommandoen nedenfor i SE-modus:
sfs_dump
SE-modus, som var nødvendig for å få tilgang til denne funksjonaliteten, er avskrevet som forklart i DSA-2023-412: Dell Technologies PowerProtect-sikkerhetsoppdatering for flere sikkerhetssårbarheter

I en mellomperiode vil noe av funksjonaliteten i den gamle sfs_dump kommandoen i SE-modus var ikke tilgjengelig, men ble gjeninnført på et senere tidspunkt. Derfor prøver denne KB å forklare forskjellene og hvordan man skal håndtere kommandoutgang i alle tilfeller.

Resolution

Hvis du vil ha en detaljert liste over filer i et Data Domain fra CLI, og eventuelt prosessen for å få informasjon om filer som er lagret i Data Domain, avhenger DDOS-utgivelsen som kjøres. Når tekstutdatafilen med fildetaljene er samlet, er behandlingen av utdataene til en mer brukbar form alltid den samme, da utdataformatet for alle DDOS-utgivelser er det samme (eller kan konverteres til et vanlig format ved hjelp av et skript).

Felles for alle DDOS-utgivelser er kravet om å logge på Data Domain som administratorbruker, og gjøre det ved hjelp av en SSH-klient som støtter logging av konsollutgangen til en tekstfil på klientsiden (PuTTY fungerer bra for dette). En bruker må konfigurere SSH-klienten slik at den logger utdata til tekstfil på klientdatamaskinen (slik at det ikke er noen grenser i antall linjer logget eller den individuelle linjelengden). SSH-øktloggfilen (og dermed DD-filoppføringer) er ikke skrevet på Data Domain, men på den (vanligvis) stasjonære datamaskinen SSH-tilkoblingen startes fra.

Når du samler inn SSH-øktutdataene, må du sørge for å gi filen et meningsfylt navn (for eksempel å legge til Data Domain-vertsnavnet og MTree-navnet som skal dumpes), og sørge for at det er nok plass til loggfilen, som kan være omtrent 200 MB for systemer med 1 million filer.

Den nøyaktige kommandoen for å kjøre fra DD CLI for å samle oppføringer av filer, avhenger av den brukte DDOS-versjonen, de er oppsummert nedenfor.
 

DDOS-utgivelser før 7.13.0.0, 7.10.1.15, 7.7.5.25 og 6.2.1.110:

Disse utgivelsene støtter fortsatt se sfs_dump kommandoen (og -c mulighet til å sende fildetaljer rett som CSV uten videre behandling), selv om det frarådes å gå til SE-modus av sikkerhetsgrunner, og i stedet oppgradere til den nyeste LTS DDOS-versjonen som er tilgjengelig.

Kontroller at du er logget på datadomenet som administratorbruker, med en SSH-klient konfigurert til å skrive utdata til disk, endre til SE-privilegiemodus, og kjør deretter følgende kommando for hver MTree du vil ha fildetaljene for:
#### To produce the output directly as CSV
# se sfs_dump -c <mtree-path>

#### To produce the output as default format
# se sfs_dump <mtree-path>
Kommando i disse versjonene kan også produsere oppføringen for alle filene i FS samtidig (i stedet for en MTree om gangen). Hvis du vil dumpe filinformasjonsdetaljene for alle filer i FS, lar du MTree-banen være unna:
# se sfs_dump -c
Når du er ferdig, må du stoppe loggingen av SSH-klienten til disken, og sette filene til side for videre behandling.

Format for kommandoutdata er en enkelt linje for hver fil. Hvis du ikke bruker -c Formatet er identisk med det som vises ovenfor for senere utgivelser. I tilfeller der -c ble brukt (for CSV-utdata), er formatet slik (inkludert en overskrift vist som første linje i utdata):
name    mtime   fileid  size    seg_bytes       seg_count       redun_seg_count pre_lc_size     post_lc_size
/data/col1/backup/file       1656995350000000000     78      33554431        33668007        4016    0       33668007        34208564


DDOS-versjonene 7.13.0.0, 7.10.1.15, 7.7.5.25 og 6.2.1.110 eller nyere:

Denne versjonen gir ikke lenger tilgang til sfs_dump fra SE-modus (følgende er ikke tilgjengelig):
se sfs_dump
SE-modus er avskrevet på grunn av sikkerhetsproblemer funnet. Du finner den alternative kommandoen nedenfor. Legg merke til det litt forskjellige kommandonavnet, og at i dette tilfellet går MTree som skal oppføres, etter nøkkelordet "MTree":
# filesys sfs-dump mtree <mtree-path>
For utgivelser i overskriften kan denne sfs-dump-kommandoen sammenlignes med se sfsa_dump:
  • Den nye kommandoen støtter ikke -c alternativ for å dumpe filinformasjon i CSV-format (kolonne)
  • Den nye kommandoen kan bare kjøre en MTree om gangen, det er ingen støtte for å kjøre mot hele FS i en enkelt aktivering
Hvis kunder i disse versjonene skal dumpe alle MTrees-filopplysningene til fil, må de gjenta hele listen over MTrees i Data Domain FS og kjøre kommandoen én gang for hver av dem. En bruker kan få en liste over MTrees i systemet ved å kjøre:
# mtree list
Utdata fra kommandoen nedenfor er identisk med den for tidligere se sfs_dump -kommandoen når den brukes uten -c -alternativet.
filesys sfs-dump
Kontroller at du er logget på Data Domain som administratorbruker, med en SSH-klient konfigurert til å skrive utdata til disk, og kjør deretter følgende kommando for hver MTree du vil ha fildetaljene for:
# filesys sfs-dump mtree <mtree-path>

Hvis du får fildetaljene for mer enn én MTree, velger du alternativet for å gjøre alle dumper til samme utdatafil, eller bytte i SSH-klientkonfigurasjonen til en annen fil før du kjører kommandoen for hver enkelt av MTrees.

Alternativt kan du gjøre samlingen av utdataene på en uovervåket måte, ved å kjøre kommandoen gjennom SSH slik:

#### Releases 7.13.0.0, 7.10.1.15, 7.7.5.25 and 6.2.1.110 onwards only
# ssh sysadmin@DD-HOSTNAME "filesys sfs-dump mtree /data/col1/backup" > sfs-dump-DD-backup.txt

I begge tilfeller har utdatainformasjon en linje for hver fil, med følgende format:

/data/col1/backup/file: mtime: 1580211658000000000 fileid: 175 size: 136794 type: 9 seg_bytes: 138282 seg_count: 18 redun_seg_count: 14 (78%) pre_lc_size: 15045 post_lc_size: 8760 (58%) mode: 02000100644 start_offset: 0 end_offset: 18446744073709551615

DDOS-versjonene 8.1.0.0, 7.13.1.10, 7.10.1.30 og 7.7.5.40 eller nyere:

På grunn av kundenes etterspørsel kan noen av funksjonene i den gamle se sfs_dump kommandoen har blitt introdusert på nytt, og er nå tilgjengelig for filesys sfs-dump kommando, nemlig:
  • Muligheten til å legge til -c alternativ, slik at utdataene skrives ut i en CSV-lignende formatert versjon (felt atskilt med kolonner)
  • Muligheten til å kjøre fildumpinformasjonen for alle filene i FS samtidig
Kommandoen fortsetter å være den samme som for de umiddelbart tidligere versjonene, med de nevnte forbedringene, oppsummert nedenfor:
 
#### File listing for all the files in a given MTree path
# filesys sfs-dump mtree <mtree-path>

#### File listing for all the files in a given MTree path, with CSV-like output
# filesys sfs-dump -c mtree <mtree-path>

#### File listing for all the files in the FS
# filesys sfs-dump

#### File listing for all the files in the FS, with CSV-like output
# filesys sfs-dump -c

Denne kommandoen er fortsatt "skjult", slik at den ikke vises i den interaktive CLI-hjelpen eller i dokumentene.
 

Hvordan behandle sfs_dump eller filesys sfs-dump Data til noe nyttig:

Formatet for de enkelte filene som rapporteres i utdata ved bruk filesys sfs-dump eller sfs_dump uten -c Alternativet kan oppsummeres som følger:
/data/col1/backup/file: mtime: 1580211658000000000 fileid: 175 size: 136794 type: 9 seg_bytes: 138282 seg_count: 18 redun_seg_count: 14 (78%) pre_lc_size: 15045 post_lc_size: 8760 (58%) mode: 02000100644 start_offset: 0 end_offset: 18446744073709551615

Field 01 : filename with full path (/data/col1/backup/file)
Field 03 : file last modification time as UNIX epoch in nanoseconds (nanoseconds since January 1st 1970 at midnight)
Field 05 : file (inode) ID, inode numbers are per MTree (175)
Field 07 : pre-comp size for the file in bytes (136794)
Field 09 : type of file (9)
Field 11 : segment store bytes (this is NOT the file size), please ignore (138282)
Field 13 : segment count, or the number of segments the file consists of (18)
Field 15 : number of file segments which are redundant, or not unique (14)
Field 16 : percentage of non-unique segments to total segments (78%)
Field 18 : combined size of the file's unique segments after deduplication (15045)
Field 20 : combined size of the file's unique segments after deduplication and local compression (8760)
Field 21 : ratio of post-deduplicated + post-compressed unique segments size to post-deduplicated unique segment size (58%), shows how well local compression worked
Field 23 : file mode, please ignore
I eksemplet ovenfor har vi en fil med den opprinnelige størrelsen som 136 794 byte, som etter å ha blitt sendt gjennom Data Domain FS-inntakspipelinen, er beregnet til å bruke 15 045 byte etter deduplisering, og 8760 byte når de unike segmentene for filen komprimeres før de skrives til disken. Derfor:
  • Fildeduplisering (det vi kaller "gcomp", eller global komprimering) er en faktor x9.09 (136 794 til 15 045 byte)
  • Filen lokal komprimering (det vi kaller "lcomp," for lokal komprimering) er en faktor x1.72 (15.045 til 8760 byte)
  • Den estimerte totale filstørrelsesreduksjonen (kjent som "kompresjonsforhold") er en faktor x15,62 (136 794 til 8760 byte)
Vekselvis sfs_dump -c Utgangen er lik, men mer avvisende:
/data/col1/backup/file       1656995350000000000     78      33554431        33668007        4016    0       33668007        34208564

Field 01 : filename with full path (/data/col1/backup/file)
Field 02 : file last modification time as UNIX epoch in nanoseconds (nanoseconds since January 1st 1970 at midnight)
Field 03 : file (inode) ID, inode numbers are per MTree
Field 04 : pre-comp size for the file in bytes (33554431)
Filed 05 : segment store bytes (this is NOT the file size), please ignore (33668007)
Field 06 : segment count, or the number of segments the file consists of (4016)
Field 07 : number of file segments which are redundant, or not unique (0)
Field 08 : combined size of the file's unique segments after deduplication (33668007)
Field 09 : combined size of the file's unique segments after deduplication and local compression (34208564)
For dette eksemplet kan vi gjøre de samme beregningene som for den forrige:
  • Fildeduplisering (det vi kaller "gcomp", eller global komprimering) er en faktor x0,99 (33 554 431 til 33 668 007 byte)
  • Filen lokal komprimering (det vi kaller "lcomp," for lokal komprimering) er en faktor x0.98 (33.668.007 til 34.208.564 byte)
  • Den estimerte totale filstørrelsesreduksjonen (kjent som "komprimeringsforhold") er en faktor på x0,98 (33 554 431 til 34 208 564 byte)
Sammenlignet med filen som vises for nr. -c For eksempel oppnår denne ingen deduplisering (ingen overflødige segmenter) eller lokal komprimering. Dette indikerer at filen er komprimert.
 
Forsiktig: Data i utdatafilene angående annen størrelse enn "pre-comp size for the file in bytes" skal tas som omtrentlig og kan ikke fullt ut stole på. Metadata for filer opprettes på tidspunktet for filinntaket, og selv om det er riktig da, oppdateres det ikke på noe tidspunkt siden, så det blir foreldet over tid. Også at en fil er post_lc_size er en gitt mengde betyr ikke at diskplassen som brukes av denne filen er identisk med dette beløpet, da det er mange kostnader på FS-nivå som ikke vurderes per filnivå. Begrensningene er de samme som for de som allerede er kjent for kommandoen:
mtree show compression
Utnyttelse av informasjonen i utdatafilene ovenfor består av å behandle de numeriske dataene på en måte som passer brukerens mål. Noen eksempler på brukstilfeller kan være:
  • Bestemme gcomp og lcomp for filer som tilsvarer en bestemt bane (hvis en bane kan matches med en bestemt backup-server, klient, policy, jobb, så videre)
  • Beregne hvor mye data (forhåndskomprimering) som er lagret på et gitt sted som er eldre enn en gitt tidsperiode (for å fastslå foreldreløse barn eller feilsøke problemer med sikkerhetskopieringsprogrammer som ikke utløper sikkerhetskopier som forfalt i tide)
  • Enhver annen type stat man kan ha bruk for
Å ha et enkelt sett med instruksjoner, og å kompensere for tapet av sfs_dump -c I nyere utgivelser er anbefalingene våre å konvertere utdatadataene til CSV-formatet ovenfor, og deretter bruke filen i CSV-format for å bli videre behandlet, men avhengig av ferdighetene dine kan du behandle ikke-CSV-utgangen direkte.

Slik konverterer du en fil som ikke er en CSV-fil sfs_dump utgang til en som er identisk med hva sfs_dump -c ville ha skrevet ut, kan du bruke følgende Linux-kommandolinje:
# cat sfs-dump-noCSV.txt | grep ^/ | awk '
BEGIN {print "name\tmtime\tfileid\tsize\tseg_bytes\tseg_count\tredun_seg_count\tpre_lc_size\tpost_lc_size"}
{
    colon_index = index($0, ":")
    filename = substr($0, 1, colon_index - 1)
    gsub(/^[[:space:]]+|[[:space:]]+$/, "", filename)
    n = split(substr($0, colon_index + 1), fields, " ")
    print filename "\t" fields[2] "\t" fields[4] "\t" fields[6] "\t" fields[10] "\t" fields[12] "\t" fields[14] "\t" fields[17] "\t" fields[19]
}' > sfs-dump-CSV.csv
 
Merk: Kommandoen ovenfor ignorerer alt i inndatafilen (sfs-dump-noCSV.txt) som ikke starter med en skråstrek, da bare linjer som starter med "/data" skal inneholde fildetaljer for behandling. Utdatafiler har en første linje som overskrift, og bruker tabulatortegnet (\t) som feltskilletegn.

Alt utover dette punktet leveres til brukerne som de er. Det finnes ingen garantier eller forpliktelser fra Dells side for instruksjonene som deles nedenfor. Å skaffe intelligens fra filoppføringsdetaljer er en brukers oppgave, og hvordan man oppnår det, avhenger helt av verktøysettet som brukes til gruvedrift av data i fildumputgang, målet som skal oppnås og brukerens egen ekspertise i å behandle data fra kommandoutgangen som er beskrevet ovenfor. En bruker kan velge å bruke Linux-kommandolinjebehandling av tekstfiler for å dumpe noen aggregater, andre kan velge å produsere inndata for kartverdier ved hjelp av "gnuplot", mens flertallet av brukerne antas å søke en enklere (men begrenset) tilnærming, for å bygge et regneark fra CSV-filen for analyse.

Dell har gjort sitt ytterste for å sikre at instruksjonene nedenfor er riktige, fungerende og nyttige for brukerne, men vi kan ikke garantere at de fungerer for deg, og vi gir ikke støtte for dem, da de er utenfor støtteperioden.


Importere CSV-formatert sfs_dump utdata i et regneark (eksempel for Excel):

Når CSV-versjonen av fildetaljoppføringen er tilgjengelig, er en måte å få intelligens fra dataene på å laste opp dataene i et regnearkprogramvare. Microsoft Excel brukes som et eksempel, selv om instruksjonene skal være like for annen programvare. Følg de neste trinnene for å få CSV-tekstfilen importert til Excel som CSV:
  1. Åpne Excel og opprett et nytt, tomt regneark
  2. Gå til Data menyen øverst, og klikk deretter på ikonet som heter Fra tekst / CSV
  3. Bruk dialogboksen til å finne fildataene i CSV-format (sfs-dump-CSV.csv som i eksempelkonverteringsskriptet fra et annet format enn CSV-format), merker du det og klikker på Importer
  4. Hvis inndatafilformatet er riktig og Excel kan tegne formatet fra de første 200 linjene (som det skal), bør en dialogboks vise forhåndsvisningen av regnearket som skal genereres. Se gjennom informasjonen for å sikre at den ser bra ut, inkludert at den første linjen registreres som overskrifter
  5. Hvis alt ser bra ut med forhåndsvisningen, klikker du på Last inn-knappen nederst i dialogboksen, og det nye regnearket blir presentert for deg med fin formatering og feltoverskriftene ble til søke- og filteraktiverte.
Dataene i regnearket er allerede nyttige, du kan for eksempel bruke et tallfilter på numeriske felt, for eksempel størrelse (for bare å vise filer over en gitt størrelse), eller bruke et tekstfilternavnefeltet slik at bare filer i Data Domain-fildetaljene som samsvarer med et gitt mønster (bare de som begynner med banen for en bestemt MTree), vises, og gjøre andre avledede beregninger fra disse dataene.

Et riktig importert Excel-regneark skal inneholde data i kolonne A til I. Hvis data bare finnes i kolonne A, men strekker seg over skjermen, lukker du Excel og prøver trinn 1 til 5 på nytt ovenfor.

Legge til ekstra beregnede felt

Regnearket kan utvides med så mange beregnede felt som en bruker krever. Et interessant felt å ha lagt til er den lesbare datoen og klokkeslettet som tilsvarer filenes mtime (siste endringstid, vanligvis tiden den ble skrevet til DD). Det kan også være nyttig å beregne og vise noen komprimeringsverdier per fil, avhengig av hva dataene brukes til. De nye kolonnene fylles automatisk ut ved hjelp av Excel-formler, som beskrevet nedenfor.

Tidsstempelkonvertering:

Slik konverterer du UNIX-lignende tidsstempel til lesbar dato og klokkeslett:
  1. Høyreklikk celle J2, og velg "Formater celler"
  2. I "Category"-listen til venstre velger du "Custom".
  3. Hvis det ikke allerede er der, oppretter du formatet for det lesbare dato/klokkeslett-formatet (eksemplet inkluderer EST-strengen på slutten. Du kan erstatte den med din tekstlige tidssonedefinisjon, eller fjerne "EST" helt hvis du ikke er interessert): åååå-mm-dd hh:mm:ss "EST"
  4. Klikk "Ok" når du er ferdig. Nå har celle J2 et egendefinert format for data.
  5. Legg til følgende formel i celle J2. I formelen erstatter du (-6*3600) med riktig tidssoneforskjell som tilsvarer UTC for den konfigurerte tidssonen i datadomenet på tidspunktet for henting av "sfs-dump"-dataene. For eksempel er østamerikansk tid 6 timer bak UTC om sommeren, derav "-6" her.
Hvis du ikke er interessert i en slik presis tidsjustering, kan du bruke en forkortet form av formelen i stedet. Den enkleste måten å få formelen lagt til og unngå at dato- og klokkeslettformatet blir overskrevet, er å kopiere en av de to versjonene nedenfor, og lime inn i celle J2, når du har skrevet inn "lik" tegn = i cellen for å begynne å redigere cellen:
(((B2/1000000000+(-6*3600))/86400)+25569)
(((B2/1000000000)/86400)+25569)
Merk: Hvis du limer inn tekst i J2 uten først å sette cellen i redigeringsmodus (så å ringe), overskriver du cellens format. Du kan også sette en "=" foran formelen, kopiere hele teksten og høyreklikke celle J2 for å lime inn utvalg, deretter velge Som tekst og klikke OK. Det skal få samme effekt. Hvis dette ble gjort bra, gjør Excel automatisk et par ting:
  • Lim inn formelen i celle J2 og i hver eneste celle i resten av linjene i regnearket 
  • Beregn formelen for hele regnearket, og vis dato- og klokkeslettverdien i det konfigurerte formatet
  • Pen format kolonnen som de eksisterende, og har overskriften konfigurert som en dato med mulighet til å bruke datofiltre, det eneste du trenger å gjøre er å sette et egennavn for kolonnen (dato)

Informasjon om komprimering

Du kan legge til kolonner for komprimeringsinformasjonen per fil ved å gjøre som forklart ovenfor. Denne gangen viser vi formlene inkludert "=", så du må kopiere hele teksten, og Lim inn utvalg som tekst:
  • Kopier følgende formel og Lim inn utvalg som tekst i celle K2, for å opprette en kolonne for deduplisering per fil eller gcomp:
    =IF(H2=0,0,D2/H2)
  • Kopier følgende formel og Lim inn utvalg som tekst i celle L2 for å opprette en kolonne for lokal komprimering per fil, eller lcomp:
    =IF(I2=0,0,H2/I2)
  • Kopier følgende formel og Lim inn utvalg som tekst i celle M2 for å opprette en kolonne for det totale filkomprimeringsforholdet per fil:
    =K2*L2
Gi de nye kolonnene et riktig navn. Hvis du vil at formatet for komprimeringsverdiene skal være et annet (for eksempel for å begrense antall desimaler), gjør du som i eksemplet for dato og klokkeslett, og angir cellenumerisk format på forhånd, før du limer inn formelen.

Husk å holde arbeidet ditt trygt ved å gå til Fil-menyen og gjøre. Lagre som sikker på at typen for den lagrede filen er satt til Excel-arbeidsbok (*.xlsx), slik at formatering og filtrering beholdes.

Når handlingene som er beskrevet er fullført, inneholder regnearket følgende (relevante) kolonner:
  • A inneholder et filnavn
  • B inneholder datostempelet (i UNIX-epoken i nanosekunder) for når filen sist ble skrevet
  • D er den opprinnelige størrelsen på filen
  • H er størrelsen etter global komprimering
  • Jeg er størrelsen etter global og lokal komprimering
  • J inneholder datostempelet for når filen sist ble skrevet, i lesbar form av mennesker
  • K inneholder global komprimering (deduplisering) for filen
  • L inneholder lokal komprimering for filen
  • M inneholder total komprimering for filen
Alle filstørrelser er i byte.
Du kan nå bruke Excel til å filtrere eller sortere etter behov for å rapportere om dataene.
  • For eksempel, for å vise bare filer i MTree /data/col1/backup som er over 30 dager gamle:
  1. Klikk pil ned i Navn-overskriften, velg Tekstfiltre, deretter Begynner med og skriv inn /data/col1/backup/ inn i esken. Den etterfølgende skråstreken er viktig. Klikk på OK
  2. Klikk på pil ned i overskriften Siste skrevne dato, velgDatofiltre og deretter Før. Bruk datovelgeren til høyre i dialogboksen for å velge en dato for 30 dager siden. Klikk på OK.
Statuslinjen nederst viser hvor mange rader som samsvarer med dette valget.

Additional Information

Kommando for å dumpe filplassering (aktiv og skysky)

Det er en måte å dumpe oppføringen av filer med en indikasjon på hvilke som er i Aktiv og hvilken i alle skyenheter, som er:
#### For the DD FS as a whole
# filesys report generate file-location

#### For an individual MTree or subdirectory
# filesys report generate file-location path /data/col1/test

Utdata i begge tilfeller er av følgende type:

-------------------------      ----------------------      ----------------------      ---------------------------
File Name                      Location(Unit Name)         Size                        Placement Time
-------------------------      ----------------------      ----------------------      ---------------------------
/data/col1/test/file1.bin                  Cloud-Unit                  200.00 GiB      Sat Mar  5 13:24:10 2022
/data/col1/test/file2.bin                      Active                   10.00 TiB      Sat May 14 00:48:17 2022
-------------------------      ----------------------      ----------------------      ---------------------------
Kommandoen ovenfor har imidlertid en tendens til å være utilstrekkelig for de fleste hensikter, ettersom størrelsen for eksempel er i enheter som kan leses av mennesker (i stedet for i byte eller MiB eller en angitt multiplikator) og plasseringstiden samsvarer med tiden sikkerhetskopiene ble gjort til Data Domain for filer i Aktive, men den gjør det ikke for filer i nettskyen ("Plasseringstid" for filer i sky er datoen og klokkeslettet da filen ble flyttet til skyenheten).

Vær også oppmerksom på at kommandoen nedenfor (og skriptkonvertering fra ikke-CSV sfs_dump) sender ut data i kolonner som er atskilt med faner. Tabulatortegnene i utdataene må lagres i loggfilen, ellers kan trinnene beskrevet ovenfor for å importere CSV-filen til Excel ikke skille feltene riktig.
sfs_dump -c
Instruksjonene som gis forutsetter en rimelig kunnskap om Excel, men kan oversettes til annen regnearkprogramvare.

Moderne versjoner av Excel tillater mange rader, men husk at hver fil på sfs_dump Utdata som skal behandles er en enkelt linje, så Excel må raskt kunne behandle og oppdatere et regneark med så mange rader som filer i datasettet. Den harde grensen er litt over 1 million rader, men selv ved filantall godt under det, kan Excel ikke være riktig for jobben (for sakte).

Hvis sfs_dump output har for mange filer for din versjon av Excel eller ønsker å behandle data i mindre biter for ytelse, kan du prøve å kjøre prosedyren én gang for hver MTree, slik at du har flere regneark for systemet.

Selv en enkelt MTree sfs_dump Utdataene kan være for store for Excel, i så fall kan du bruke den delte Linux-kommandoen (eller et annet lignende verktøy for å dele en stor tekstfil online sluttgrenser) for å ha flere mindre CSV-filer å behandle en om gangen, for eksempel:
# split  -b <size> <filename> <new filename prefix>  (splits by file size)
# split  -l <size> <filename> <new filename prefix>  (splits by number of lines)
# split  -n <size> <filename> <new filename prefix>  (splits by number of pieces)

For eksempel å dele en inndatatekstfil i biter 200 MiB hver, slik at brikkene heter starter:

"sfs_dump.out.split"

Kjør deretter:

# split -b 200M sfs_dump.out sfs_dump.out.split


Skript som skal brukes "filesys sfs-dump" for hele FS-dumping av fildata

For de få utgivelsene som manglet muligheten til å dumpe fildetaljer i CSV-format, leveres skriptet lenger nede (uten garanti) av Dell for å oppnå et lignende resultat ved å behandle ikke-CSV sfs_dump ytelse.

Siden utgivelsene som ikke støtter CSV-utgang, også er de som ikke tillater å dumpe informasjonen for alle filer i FS som helhet, bruker skriptet SSH for å koble til måldatadomenet for å iterere over listen over MTrees, kjøre fildumpen en MTree om gangen, for å samle filoppføringen for alle MTrees, deretter transformere til et CSV-format som er tilstrekkelig for videre behandling:
#!/bin/bash

#### WARNING
####     This script is provided to you by Dell Technologies with NO GUARANTEE, as best-effort sample code to get a full FS sfs-dump collected
####     for DDOS releases which do not support "se sfs-dump", or as an alternative to it, in releases which support "filesys fs-dump"
####     That this script does not work for you, or if you need help setting it up, extending it, or resolving any issues, is not entitled to support
####     This script is not part of Dell PowerProtect / Data Domain, and hence it is not supported

#### Replace values below to suit your needs
USERNAME="sysadmin"
DD_HOSTNAME="10.60.36.172"
#### NO CHANGES NEEDED BEYOND THIS POINT

clear
echo "Script collects a full FS sfs-dump from \"${DD_HOSTNAME}\", using the command \"filesys sfs-dump\", one MTree at a time"
echo "    * Script has to be configured by settting the \"USERNAME\" and \"DD_HOSTNAME\" variables within the top of the script"
echo "    * Script expects passwordless SSH connection as \"USERNAME\" to the \"DD_HOSTNAME\" configured"
echo "    * To configure passwordless SSH login to a DataDomain, check KB at https://www.dell.com/support/kbdoc/000004033 "
echo "    * Test passwordless login is configured and working prior to going ahead with this script"
echo "    * If passwordless login is not configured, script will ask for the \"${USERNAME}\" password "
echo "          - Once for getting the MTree list"
echo "          - And once for each one of the MTrees in \"${DD_HOSTNAME}\" "
echo
echo -n "Are you sure you want to continue? (y/n) : "
read -n 1 answer
echo
if [ "${answer}" = "y" ]; then
    echo "Going ahead with the script."
    echo
else
    echo "Stopping script now. Re-run when passwordless login to \"${DD_HOSTNAME}\" as \"${USERNAME}\" works. Bye."
    exit 1
fi

echo -n "1/6 : Collecting list of MTrees from DD..."
ssh ${USERNAME}@${DD_HOSTNAME} "mtree list" 2>/dev/null | grep ^/ | awk '{print $(NF-3)}' > mtree-list.txt
echo "Done."

n_mtrees=$( wc -l mtree-list.txt | cut -d" "  -f1 )
echo -n "2/6 : Collecting per-Mtree sfs-dump information for ${n_mtrees} MTrees ..."
for mtree in `cat mtree-list.txt`; do
    name=$(echo $mtree | cut -d/ -f4)
    ssh ${USERNAME}@${DD_HOSTNAME} "filesys sfs-dump mtree ${mtree}" 2>/dev/null | grep ^/ > sfs-dump-${name}.txt
    echo -n "."
done
echo "Done."

echo -n "3/6 : Putting all the files together..."
for file in `ls sfs-dump-*.txt`; do 
    if [ -s "${file}" ]; then cat ${file} >> sfs-dump-noCSV.txt; fi
done
echo "Done."

echo -n "4/6 : Converting sfs-dump output to CSV format..."
cat sfs-dump-noCSV.txt | grep ^/ | grep -v ^$ | awk '
BEGIN {print "name\tmtime\tfileid\tsize\tseg_bytes\tseg_count\tredun_seg_count\tpre_lc_size\tpost_lc_size"}
{
    colon_index = index($0, ":")
    filename = substr($0, 1, colon_index - 1)
    gsub(/^[[:space:]]+|[[:space:]]+$/, "", filename)
    n = split(substr($0, colon_index + 1), fields, " ")
    print filename "\t" fields[2] "\t" fields[4] "\t" fields[6] "\t" fields[10] "\t" fields[12] "\t" fields[14] "\t" fields[17] "\t" fields[19]
}' > sfs-dump-CSV.csv
echo "Done."

echo -n "5/6 : Cleaning up..."
for mtree in `cat mtree-list.txt`; do name=$(echo $mtree | cut -d/ -f4); rm -f sfs-dump-${name}.txt ; done
rm sfs-dump-noCSV.txt
rm mtree-list.txt
echo "Done."


echo -n "6/6 : Summary"
echo
n_files=$( wc -l sfs-dump-CSV.csv | cut -d" "  -f1 )
echo
echo "Collecting whole FS sfs-dump data from ${HOSTNAME} completed"
echo "File includes output for ${n_mtrees} MTrees, with a combined $(( ${n_files} - 1 )) files across Active and Cloud Tiers (if applicable)"
echo "Start of file shown below for your convenience :"
echo "===================="
head -5 sfs-dump-CSV.csv
echo "===================="
echo
echo "Done."

exit 0

Skript for å kombinere utdataene fra ikke-CSV "sfs-dump" og "filesys report generate file-location" i en CSV-fil med all den samme informasjonen som skriptet ovenfor og per filnivå og plasseringstidsinformasjon

Følgende skript leveres som det er (uten garanti) av Dell til brukere for å forhåpentligvis tilføre verdi til utdataene fra sfs_dump og filesys-rapporten genererer filplasseringskommandoer ovenfor. En bruker kan filtrere ut filer basert på nivå (Active eller en av de to konfigurerte Cloud Units) for å få en mer presis innsikt i fildistribusjon per nivå ved å legge til nivåplassering og plasseringstidsinformasjon til hver filoppføring i utdata-CSV-filen.

Skript forventer sfs-dump (ikke sfs_dump -c)-utdata som den første parameteren, og filfilrapporten genererer filplasseringsutdata som den andre. Utdataene skrives til et hardkodet filnavn "sfs-dump-output-tiers.csv", som kan endres i selve skriptet.

Utdataene kan behandles ved hjelp av Excel på samme måte som forklart ovenfor.
#!/bin/bash

#### WARNING
####     This script is provided to you by Dell Technologies with NO GUARANTEE, as best-effort sample code to match the output from commands :
####       * sfs-dump (in non CSV format)
####       * filesys report generate file-location
####     So that a new CSV with the file paths appearing on both is created for all the data in sfs-dump file with the added tier and placement time information from location report
####
####     This script is not part of Dell PowerProtect / Data Domain, and hence it is not supported
####
####     Usage : extend-sfs-dump-with-tier.sh sfs-dump-output.csv file-location-output.log
####     Output : static "sfs-dump-output-tiers.csv" file name (may be changed below)

#### Replace values below to suit your needs
OUTPUT_FILENAME="sfs-dump-output-tiers.csv"
#### NO CHANGES NEEDED BEYOND THIS POINT

clear

if [ ! $# == 2 ]; then
    echo "Combine output from sfs-dump and tier location report into a CSV file with tier and placement time information"
    echo
    echo "Usage : $0 SFS-DUMP-OUTPUT-FILE    REPORT-FILE-LOCATION-FILE"
    echo "NOTE : SFS-DUMP-OUTPUT-FILE has to be in non-CSV format"
    exit 1
fi

INPUT_SFSDUMP="$1"
INPUT_LOCATION="$2"


echo -n "1/6 : Sanity checking input files..."
if [ ! -s "${INPUT_SFSDUMP}" ]; then
    echo "Input file ${INPUT_SFSDUMP} does not exist"
    exit 1
fi
if [ ! -s "${INPUT_LOCATION}" ]; then
    echo "Input file ${INPUT_LOCATION} does not exist"
    exit 1
fi
n_files_sfsdump=`grep ^/ ${INPUT_SFSDUMP} | wc -l`
n_files_location=`grep ^/ ${INPUT_LOCATION} | wc -l`
if [ ${n_files_sfsdump} -eq ${n_files_location} ]; then
    echo -n "both have the same amount of files (${n_files_location}). "
else
    echo -n "sfs-dump has ${n_files_sfsdump} files whereas location report has ${n_files_location} files, this may be normal if the difference is small. "
fi
echo "Done."


echo -n "2/6 : Sanitize \"file-location\" input..."
cat ${INPUT_LOCATION} | awk 'BEGIN {rejected="temp-location-rejected.log"; accepted="temp-location-accepted.log"} { if ( $0 ~ "Missing -unit") { gsub(/Missing -unit/, "Missing-Cloud-Unit", $0); print $0 > rejected } else { if ($0 ~ "^/" ) print $0 > accepted } }'
if [ -s "temp-location-rejected.log" ]; then
    REJECTS_EXIST="yes"
    echo -n "Some files in location report sit in unavailable or deleted cloud units, you may need to re-run this script after fixing the issue and gathering a new location report. "
    cat temp-location-rejected.log temp-location-accepted.log | sed -e 's/\t/:\t/' | sort > temp-location-report-sorted.log
    rm temp-location-rejected.log
else
    cat temp-location-accepted.log | sed -e 's/\t/:\t/' | sort > temp-location-report-sorted.log
    REJECTS_EXIST="no"
fi
rm temp-location-accepted.log
echo "Done."


echo -n "3/6 : Sanitize \"sfs-dump\" input..."
cat ${INPUT_SFSDUMP} | grep ^/ | sort > temp-sfs-dump.log
echo "Done."


echo -n "4/6 : Merging information for sfs-dump and location report..."
join -1 1 -2 1 temp-sfs-dump.log temp-location-report-sorted.log > temp-merged-information.log
rm temp-sfs-dump.log
rm temp-location-report-sorted.log
n_files_combined=`grep ^/ temp-merged-information.log | wc -l`
if [ ${n_files_combined} -eq 0 ]; then
    echo "No files matched from input files. sfs-dump output must NOT be in CSV format. Exiting."
    rm temp-merged-information.log
    exit 1
fi
echo -n "Input files matched on ${n_files_combined} files. "
echo "Done."


echo -n "5/6 : Converting merged sfs-dump / location-report output to CSV format..."
cat temp-merged-information.log | grep ^/ | grep -v ^$ | awk '
BEGIN {print "name\tmtime\tfileid\tsize\tseg_bytes\tseg_count\tredun_seg_count\tpre_lc_size\tpost_lc_size\ttier\tplacement_time"}
{
    colon_index = index($0, ":")
    filename = substr($0, 1, colon_index - 1)
    gsub(/^[[:space:]]+|[[:space:]]+$/, "", filename)
    n = split(substr($0, colon_index + 1), fields, " ")
    print filename "\t" fields[2] "\t" fields[4] "\t" fields[6] "\t" fields[10] "\t" fields[12] "\t" fields[14] "\t" fields[17] "\t" fields[19] "\t" fields[27] \
        "\t" fields[length(fields)-4] " " fields[length(fields)-3] " " fields[length(fields)-2] " " fields[length(fields)-1] " " fields[length(fields)]
}' > ${OUTPUT_FILENAME}
rm temp-merged-information.log
echo "Done."


echo -n "6/6 : Summary"
echo
echo
echo "Merging information from sfs-dump (${INPUT_SFSDUMP}) and location-report ${INPUT_LOCATION} output completed."
echo "Output file (${OUTPUT_FILENAME}) includes information for a total ${n_files_combined} files, out of ${n_files_sfsdump} in input sfs-dump, and ${n_files_location} in input location report."
if [ "${REJECTS_EXIST}" == "yes" ]; then
    echo "Note there are some files in disconnected or deleted cloud units, for which the \"tier\" field has been replaced with \"Missing-Cloud-Unit\"."
fi
echo
echo "Start of file shown below for your convenience :"
echo "===================="
head -5 ${OUTPUT_FILENAME}
echo "===================="
echo
echo "You may follow the instructions in https://www.dell.com/support/kbdoc/000081345 to process this CSV file in an spreadhseet"
echo
echo "Done."

exit 0


For Veritas NetBackup-brukere:

Veritas NetBackup (NBU) er kjent for å lage filer i et Data Domain med kolontegn som en del av filnavnene. Følgende er for eksempel gyldige NBU-filnavnbaner når Data Domain brukes som backend-lagring for NBU:
/data/col1/MTREE_NAME/POLICY-NAME_1400502741_C1_F1:1400502741:VM_PRD-02:4:1::
/data/col1/MTREE_NAME/POLICY-NAME_1400502741_C1_F2:1400502741:VM_PRD-02:4:1::
/data/col1/MTREE_NAME/POLICY-NAME_1400502741_C1_HDR:1400502741:VM_PRD-02:4:1::
Dette utgjør et problem med eksempelskriptene ovenfor, siden kolontegnet brukes som skilletegn for sfs_dump kommandoutdata, og kjøring av skriptene ovenfor vil gi feil resultater.

I slike tilfeller må du redigere skriptet på en måte som nedenfor:
--- iterate-dd-for-fs-sfs-dump.sh       2024-01-23 06:32:16.521409000 -0500
+++ iterate-dd-for-fs-sfs-dump-NBU.sh   2024-02-27 03:26:42.808246000 -0500
@@ -55,11 +55,11 @@
 cat sfs-dump-noCSV.txt | grep ^/ | grep -v ^$ | awk '
 BEGIN {print "name\tmtime\tfileid\tsize\tseg_bytes\tseg_count\tredun_seg_count\tpre_lc_size\tpost_lc_size"}
 {
-    colon_index = index($0, ":")
-    filename = substr($0, 1, colon_index - 1)
+    colon_index = index($0, ":::")
+    filename = substr($0, 1, colon_index + 1)
     gsub(/^[[:space:]]+|[[:space:]]+$/, "", filename)
     n = split(substr($0, colon_index + 1), fields, " ")
-    print filename "\t" fields[2] "\t" fields[4] "\t" fields[6] "\t" fields[10] "\t" fields[12] "\t" fields[14] "\t" fields[17] "\t" fields[19]
+    print filename "\t" fields[3] "\t" fields[5] "\t" fields[7] "\t" fields[11] "\t" fields[13] "\t" fields[15] "\t" fields[18] "\t" fields[20] "\t"
 }' > sfs-dump-CSV.csv
 echo "Done."
Når endringene deles, må skriptet gjentas over alle MTrees i et datadomene for å hente per MTree sfs_dump data, er endringene de samme for det andre skriptet. Men siden det også er tilfelle for selve skriptene, leveres endringene ovenfor av Dell til deg uten noen garanti, i håp om at de er nyttige.

Affected Products

Data Domain

Products

Data Domain
Article Properties
Article Number: 000081345
Article Type: Solution
Last Modified: 27 May 2025
Version:  21
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.