Pokud v prostředí Windows často odstraňujete a vytváříte velké datové sady (například: Zálohování na disk) předchozí akce odstranění může vést k vysokému počtu příkazů UNMAP v poli. Pokud přepíšete stejné místo na disku, může dojít k selhání výkonu zápisu, protože příchozí zápisy počkejí na zpracování balíčků UNMAPs, a tak funkce UNMAPs vrátí prvky místa na disku do fondu disků na straně pole.
Mechanismus operačního systému, který podporuje tuto logiku efektivity úložiště, se nazývá "TRIM". Pokud je aktivní příkaz TRIM a pokud v souborovém systému odstraníte blok, systém souborů (NTFS) vygeneruje meta data o uvolněném prostoru a předá je ve stohu I/O. Na úrovni disku ve stohu I/O je rozhodnutí, zda je cílový disk připojen k ata. V takovém případě je na objekt fyzického disku odeslán příkaz ATA TRIM. Pokud je disk disk SCSI, příkaz TRIM se převede na SCSI UNMAP.
Pokud odstraníte a znovu přepíšete stejnou část dat, je omezen aspekt efektivity úložiště tohoto mechanismu vrácení do fondu. Za těchto okolností jste se mohli po dobu trvání příslušné produkční úlohy buď rozhodnout zakázat příkaz TRIM na úrovni NTFS, nebo úplně zakázat příkaz TRIM.
Výsledkem je, jak můžete zaručit, že jsou disky dlouhodobě stále úsporné?
Pokud chcete v zařízení spustit opakování pokusů, obvykle spustíte příkaz defragmentace s možností /L. Pokud příkaz TRIM zakážete pomocí příkazu "fsutil behavior set disabledeletenotify 1", může se zobrazit zobrazení, že příkaz trim nebo unmap je deaktivován pouze při odstranění a že opakování funguje podle očekávání. V takovém případě tomu tak není. Akce opětovného pokusu o defragmentaci je mechanismus, který přiděluje prázdný řídký soubor a poté volání FSCTL_MOVE_FILE k přesunu dat. Další podrobnosti naleznete v části "Windows Internals 7", "Část II" na straně 644 ff. Výsledné chování vyjadřuje akci odstranění pod krytem. Pokud je však možnost disabledeletenotify "1", příkaz k opakovanému pokusu stále uspěje. Nevede k unmaps.
V důsledku toho musí sekvence opětovného získání úložiště zahrnovat krok k aktivaci funkce TRIM před spuštěním defragmentace.
Pokud jste v systému globálně zakázali příkaz TRIM, aktivujte jej, defragmentujte a znovu jej deaktivujte, proces deaktivace může vykazovat neúplný pokus o spuštění příkazu, i když se příkaz vrátil do příkazového řádku. Při laboratorním testování tohoto testu v systému Windows 2019 jsme zjistili, že před opětovným nastavením příkazu disabledeletenotify na hodnotu "1" bylo nutné počkat několik sekund. Věříme, že se jedná o výsledek interakce mezi příkazem defragmentace a službou optimizer na pozadí.
Pokud naplánujete příkaz TRIM pomocí nástroje Drive Optimizer, vyžaduje výchozí nabídka Průzkumníka v Plánovači úloh naplánovanou úlohu s názvem "ScheduledDefrag" (/Microsoft/Windows/Defrag). Pokud úlohu změníte, aplikace Drive Optimizer tuto skutečnost rozpozná a před pokračováním požádá o obnovení výchozích nastavení. Pokud úlohu zakážete, můžete příkazy defragmentace stále spouštět ručně, ale nemůžete je naplánovat.
Tato úloha "ScheduledDefrag" se také nazývá Údržba systému (Ovládací panely\Všechny položky Ovládacích panelů\Zabezpečení a údržba\Automatická údržba).
V důsledku toho doporučujeme ponechat tato výchozí nastavení systému tak, jak jsou, a namísto toho zvážit vytvoření nové úlohy v plánovači úloh, které:
Hodnota časového limitu v kroku 3 představuje poměr laboratorních testů. K úspěchu defragmentace nikdy nepotřebujeme déle než 10 sekund a věříme, že 60 sekund je přiměřeným počátečním bodem. Pokud zjistíte, že mezi hodnotami přidělené kapacity na straně pole a systémem souborů se nahlásily nahromaděné hodnoty využité kapacity, zkuste použít větší hodnotu, např. 300 sekund (5 minut).
V následujícím příkladu vám poskytneme šablonu pro import do plánovače úloh, abyste jej mohli používat podle potřeby. Zkopírujte a vložte kód xml níže do souboru a umístěte soubor do dosahu serverového systému, který chcete konfigurovat, a pomocí akce importu úlohy úlohu importujte. Níže uvedená šablona úlohy se nazývá DellSanDiskCrypttenance. Spouští se výše uvedené čtyři kroky týdně, v sobotě v 20:00 (8:00) a nachází se v kořenovém adresáři plánovače, například:
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