Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products

Schemalägga diskunderhåll för tunna diskar om TRIM i Windows är avaktiverat

Summary: I En Windows-miljö där stora datauppsättningar ofta tas bort och återskapas kan tunna diskar drabbas av föregående TRIM- eller UNMAP-aktivitet och TRIM ("fsutil behavior set disabledeletenotify 1") kan behöva avaktiveras. Den här åtgärden kan leda till att frågan om hur du upprätthåller lagringseffektiviteten om TRIM är avstängt. ...

This article applies to   This article does not apply to 

Instructions

Översikt

Om du ofta tar bort och återskapar stora datauppsättningar i en Windows-miljö (till exempel: Säkerhetskopiering till disk) kan en åtgärd som ska tas bort innan den tas bort resultera i ett stort antal UNMAP-kommandon i disksystemet. Om du skriver om samma diskutrymme kan skrivprestandan påverkas eftersom de inkommande skrivningarna väntar på att UNMAPs ska bearbetas. UNMAPs returnerar diskutrymmeselement till diskpoolen på disksystemssidan.

Operativsystemmekanismen som driver denna lagringseffektivitetslogik kallas "TRIM". Om TRIM är aktivt och om du tar bort ett block i filsystemet genererar filsystemet (NTFS) metadata om det frigjorda utrymmet och skickar det nedåt i I/O-stacken. På disknivå i I/O-stacken tas ett beslut om måldisken är ATA-ansluten. I så fall skickas ett ATA TRIM-kommando till det fysiska diskobjektet. Om disken är en SCSI-disk konverteras TRIM till en SCSI UNMAP.

Om du tar bort och skriver om samma dataavsnitt igen är lagringseffektivitetsaspekten för den här mekanismen för återgång till pool begränsad. Under dessa omständigheter kan du antingen ha valt att inaktivera TRIM på NTFS-nivå under varaktigheten för respektive produktionsjobb eller inaktivera TRIM helt och hållet.

Den resulterande frågan är hur du kan försäkra dig om att diskarna fortfarande är utrymmessnåla på lång sikt?
 

Begränsningar

Om du vill aktivera retrim på en enhet kör du vanligtvis defragmenteringskommandot med alternativet /L. När du inaktiverade TRIM med hjälp av "fsutil behavior set disabledeletenotify 1" kan du få ett intryck av att trim eller unmap endast är avaktiverat vid borttagning och att retrim fungerar som förväntat. Så är inte fallet. Retrim-åtgärden i defragmentering är en mekanism som allokerar en tom sparsefil och anropar sedan FSCTL_MOVE_FILE för att flytta data. Mer information finns i Windows Internals 7, del II, artikel 644 ff. Beteendet innebär att man tar bort en borttagning under näthöljet. Om disabledeletenotify är "1" lyckas tyvärr kommandot retrim. Det leder inte till avmappningar.

Det innebär att sekvensen för att återta lagringen måste innehålla ett steg för att aktivera TRIM innan defragmenteringen körs.

Om du har inaktiverat TRIM globalt på systemet aktiverar du den, defragmenterar den och inaktiverar den igen. Inaktiveringsprocessen kan leda till ofullständig körning av retrim-kommandon, även om kommandot har returnerats till kommandotolken. Vid labbtestning av detta i Windows 2019 upptäckte vi att vi var tvungna att vänta i ett par sekunder innan vi ställer in disabledeletenotify till "1" igen. Vi tror att detta är ett resultat av en interaktion mellan defragmenteringskommandot och optimeringstjänsten i bakgrunden.

Om du schemalägger TRIM med hjälp av Enhetsoptimeraren kräver standardmenyn i Utforskaren en schemalagd uppgift som kallas "ScheduledDefrag" (/Microsoft/Windows/defragmentering) i schemaläggaren. Om du ändrar uppgiften upptäcker Drive Optimizer detta faktum och ber om att återställa standardinställningarna innan du kan fortsätta. Om du inaktiverar uppgiften kan du fortfarande köra defragmenteringskommandona manuellt, men du kan inte schemalägga dem.

Den här "ScheduledDefrag"-aktiviteten kallas även Systemunderhåll (Kontrollpanelen\Alla objekt på kontrollpanelen\Säkerhet och underhåll\Automatiskt underhåll).
 

Lösning

Därför rekommenderar vi att du lämnar dessa systemstandardinställningar som de är och istället överväga att skapa en ny uppgift i schemaläggaren så att:

  1. Aktiverar TRIM ("fsutil behavior set disabledeletenotify 0")
  2. Kör defragmentera /l mot alla enheter ("defragmentera /C /L")
  3. Väntar tills kommandona som resulterar har skickats till disksystemet ("timeout /t 60")
  4. Inaktiverar TRIM igen ("fsutil behavior set disabledeletenotify 1")

Timeoutvärdet i steg 3 är en kontroll av labbtest. Vi behövde aldrig längre än 10 sekunder för att defragmentering ska lyckas och tror att de 60 sekunderna är en rimlig utgångspunkt. Om du upptäcker att skillnader mellan de allokerade kapacitetsvärdena på disksystemsidan och det filsystem som rapporteras för den använda kapacitetskonfigurationen försöker du använda ett större värde, till exempel 300 sekunder (5 minuter).
 

XML-aktivitetsmall

I följande tillhandahåller vi en mall som du kan importera till en schemaläggare som du kan använda som bas. Kopiera och klistra in XML-koden nedan i en fil. Placera filen inom räckhåll för det serversystem som du vill konfigurera och använd uppgiftsimportåtgärden för att importera uppgiften. Nedanstående aktivitetsmall kallas DellSanDiskMaintenance. Den kör ovanstående fyra steg varje vecka, en lördag kl. 20:00 (8:00), och placeras i roten på schemaläggaren, till exempel:


  
    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
    
  


 

Affected Products

PowerMax
Article Properties
Article Number: 000215628
Article Type: How To
Last Modified: 09 Aug 2023
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.