Hvis du ofte sletter og oppretter store datasett i et Windows-miljø (for eksempel: Sikkerhetskopiering til disk), en foregående slettingshandling kan føre til et høyt antall UNMAP-kommandoer på arrayet. Hvis du skriver om samme diskplass, kan skriveytelsen bli påvirket fordi innkommende skriveoperasjoner venter på at UNMAP-ene skal behandles, og UNMAPs returnerer diskplasselementer til diskutvalget på arraysiden.
Operativsystemmekanismen som driver denne logikken for lagringseffektivitet, kalles TRIM. Hvis TRIM er aktiv, og hvis du sletter en blokk på filsystemet, genererer filsystemet (NTFS) metadata om det frigjorte området og sender den ned I/O-stabelen. På disknivå i I/O-stabelen blir det tatt en avgjørelse om måldisken er ATA-tilkoblet. I så fall blir en ATA TRIM-kommando sendt til det fysiske diskobjektet. Hvis disken er en SCSI-disk, konverteres TRIM til et SCSI UNMAP.
Hvis du sletter og skriver om den samme datadelen på nytt, er lagringseffektivitetsasspektet til denne retur-til-utvalg-mekanismen begrenset. Under disse forholdene kan du enten ha valgt å deaktivere TRIM på NTFS-nivå i hele perioden for den aktuelle produksjonsjobben, eller deaktivere TRIM helt.
Det resulterende spørsmålet er hvordan du kan forsikre deg om at diskene fortsatt er plasseffektive på lang sikt?
Hvis du vil utløse forsøk på nytt på en enhet, kjører du vanligvis defragmenteringskommandoen med alternativet /L. Når du deaktiverte TRIM ved hjelp av «fsutil behavior set disabledeletenotify 1», kan det hende at trim eller unmap bare er deaktivert på sletting , og at retrim fungerer som forventet. Dette er ikke tilfelle. Retrim-handlingen i defragmentering er en mekanisme som tildeler en tom, sparsom fil og deretter ringer FSCTL_MOVE_FILE for å flytte dataene. Se «Windows Internals 7», «Part II», p. 644 ff for mer informasjon. Den resulterende atferden innebærer en slettingshandling under hetten. Hvis disabledeletenotify dessverre er "1", lykkes retrim-kommandoen fortsatt. Det fører ikke til tilordninger.
Som et resultat må sekvensen for å gjenopprette lagringen inkludere et trinn for å aktivere TRIM før defragmenteringen kjøres.
Hvis du har deaktivert TRIM på systemet globalt, aktiverer det, defragmerer og deretter deaktiverer det på nytt, kan deaktiveringsprosessen foregår med ufullstendig kjøring av retrim-kommando, selv om kommandoen har returnert til ledeteksten. Da vi testet dette på Windows 2019, fant vi ut at vi måtte vente i noen sekunder, før du angir disabledeletenotify til "1" på nytt. Vi mener at dette er et resultat av en samhandling mellom defragmenteringskommandoen og optimizer-tjenesten i bakgrunnen.
Hvis du planlegger TRIM ved hjelp av Drive Optimizer, krever standard Explorer-menyen en planlagt oppgave kalt ScheduledDefrag (PlanlagtDefrag) (/Microsoft/Windows/Defragmentering) i Oppgaveplanlegging. Hvis du endrer oppgaven, oppdager Drive Optimizer dette faktum og ber om å gjenopprette standardinnstillingene før du kan fortsette. Hvis du deaktiverer oppgaven, kan du likevel kjøre defragmenteringskommandoene manuelt, men du kan ikke planlegge dem.
Denne "ScheduledDefrag"-oppgaven kalles også System Maintenance (Kontrollpanel\ Alle kontrollpanelelementer \ Sikkerhet og vedlikehold \ Automatisk vedlikehold).
Vi anbefaler derfor at du lar disse systeminnstillingene stå som de er, og i stedet bør du vurdere å opprette en ny oppgave i oppgaveplanleggeren som:
Verdien for tidsavbrudd i trinn 3 er en oppstilling av laboratorietester. Vi trenger aldri lenger enn ti sekunder for at defragmenteringen skal lykkes, og vi mener at de 60 sekundene er et rimelig utgangspunkt. Hvis du opplever at avvikene mellom de tilordnede kapasitetsverdiene på arraysiden og filsystemet rapporterte at de brukte kapasitetsverdiene ble bygget opp, kan du prøve å bruke en større verdi, for eksempel 300 sekunder (5 minutter).
I det følgende gir vi deg en mal som du kan importere til en oppgaveplanlegger, slik at du kan bruke den som basis. Kopier og lim inn XML-koden nedenfor i en fil. Plasser filen innenfor rekkevidde av serversystemet du vil konfigurere, og bruk handlingen for oppgaveimport for å importere oppgaven. Oppgavemalen nedenfor kalles DellSanDiskMaintenance. Den kjører de fire trinnene ovenfor ukentlig, på en lørdag kl. 20:00 (20:00), og er plassert i roten til planleggeren, for eksempel:
Dell Technologies 2023-07-07T09:21:50.4883878 Dell Technologies This task is an example of how to optimize thin SAN drives, if TRIM is globally disabled on the system. \DellSanDiskMaintenance D:AI(A;;FA;;;BA)(A;;FA;;;SY)(A;;FRFX;;;LS)(A;;FR;;;AU) 2023-07-01T20:00:00 PT2H true 1 S-1-5-18 HighestAvailable IgnoreNew true true true false false false false true true false false false true P1D P4D false false PT4H 7 %windir%\system32\fsutil.exe behavior set disabledeletenotify 0 %windir%\system32\defrag.exe /C /L /U timeout /t 60 %windir%\system32\fsutil.exe behavior set disabledeletenotify 1