Mám následující zařízení s Linux Mint 18.1 na notebookech a GNU / Linux Debian 9 na serveru.

(Všechny jsou 64bitové a mají pracovní plochu Cinnamon.)

Všechna zařízení pohonu jsou formátována souborovým systémem ext4 ; RAID 1 se provádí pomocí mdadm .

  1. Notebook s 1 SSHD (nezaměňovat s HDD).

  2. Notebook se 3 disky: 2 x spotřebitelské pevné disky v RAID 1 a 1 x SSD.

  3. Server s 5 disky: 4 x podnikové pevné disky na dvojnásobku RAID 1 a 1 x SSD.

Mám systém na těchto SSD a nikdy bych nedefragmentoval SSD.

Otázka se týká HHD a SSHD.

Našel jsem starý soubor PDF s několika dalšími funkcemi e4defrag .

  1. Proč musí být souborový systém připojen, podle této chybové zprávy, když se pokoušíte defragmentovat odpojený souborový systém? Chci pochopit, proč to je:

    Filesystem is not mounted 
  2. Chtěl bych implementovat defragmentaci volného místa. AFAIK je nyní předmětem kontroly. Je možné, abych např. zkompilovat e4defrag ze zdroje s těmito možnostmi nebo jakkoli?

    e4defrag -f /deviceOrDirectory 
  3. bych Také bych rád použil relevantní datovou funkci:

    e4defrag -r /deviceOrDirectory 

Mám mnoho relevantních důvodů domnívat se, že fragmentace na těchto strojích zpomaluje rychlost čtení, například:

  1. Převzato ze serveru pomocí pevných disků RAID 1 :

    [2556/30987]/raid1a/bitcoind/blocks/rev00820.dat: 100% extents: 16 -> 1 [ OK ] 
  2. Převzato z notebooku pomocí RAID 1 HDD:

    [29405/50810]/raid1/movies/SGA-HEVC/S04E01 - Adrift.mp4: 100% extents: 31 -> 6 [ OK ] 

Jak vidíte, defragmentace nebyla schopna ani dát soubor 31 bloků na 1 kus. Samozřejmě můžete namítnout, že jde o filmový soubor, takže na tom nezáleží. Je to pravda, ale pouze v tomto případě.

Příkaz, kterým spustím defragmentaci:

  1. Na serveru:

    sudo e4defrag -v /dev/md1 
  2. Na notebooku:

    sudo e4defrag -v /raid1/ 

Ano Nezáleží na tom, zda vyvolám příkaz pomocí názvu zařízení nebo adresáře.

Můžete mi ukázat správný směr?

Komentáře

  • Máte výsledky měření, které ukazují na defragmentaci jako zdroj pomalého přístupu? Pokud ano, jaké? Ve většině případů nemusíte ' provádět manuální defragmentaci na souborových systémech ext4, pokud ' je dostatek volného místa aby jej algoritmus přidělování automaticky defragmentoval během normálního provozu.
  • @dirkt Dosud nebyla provedena žádná měření. ' se nehádám, zda je nebo není efektivní defragmentovat ext4 souborový systém. Otázky jsou jasné: Jak postupovat e4defrag -r a e4defrag -f.

Odpovědět

e4defrag potřebuje připojení systému souborů, protože požádá ovladač systému souborů jádra o provedení defragmentace, ne nedělejte to sám.

Pokud jde o defragmentaci volného místa a defragmentaci příslušných souborů, opravy nebyly nikdy dokončeny; poslední zmínka v příslušném seznamu adres sahá do roku 2014 :

The e4defrag je v e2fsprogs a kód se stále udržuje a vylepšuje. Dmitrij Monakhov přidal zejména mnoho „testů mučení“ a v základním kódu jádra našel řadu rasových podmínek. Nedávno také poslal refaktor kódu kódu jádra, který jej výrazně vylepšil a (zmenšil velikost ext4 o 550 řádků kódu).

Jak již bylo řečeno, pro tuto verzi nebyl žádný skutečný vývoj funkcí. e4defrag za nějakou dobu. Proběhla nějaká diskuse o tom, jaké by mohly být API jádra pro podporu této funkce, ale nikdy neexistoval finální návrh API, natož implementace.

Takže pochybuji, že v současné době stojí za testování něco.

Komentáře

  • Existují nějaké informace o současné nejlepší praxi defragmentace (2020) na ext4 – nebo doporučení nepoužívat žádný existující nástroj kvůli nespolehlivosti? Moje e4defrag --version říká e4defrag 1.45.5 (07-Jan-2020).
  • Situace se příliš nezměnila.Nedlouho poté, co jsem napsal výše uvedenou odpověď, se objevilo vlákno, které obsahuje souhrn relevance e4defrag na čas. Je to stále plně podporovaná část Ext4, ale není použitelná ve všech případech (souborové systémy s bigalloc nelze defragmentovat, žurnálování dat je nekompatibilní s defragmentací a inody DAX a šifrované soubory nelze přesunout).
  • Díky, Stephene. Znamená to, že příkaz je bezpečný v tom smyslu, že bude zachráněn před možnou škodlivou akcí, abych jej mohl použít bez rizika pro svá data? (V zásadě jsem právě odstranil 750000 souborů a přemýšlel jsem, zda může být disk nyní fragmentován (předpokládám, že je) a zda jej vyčistit nebo nechat.)
  • Jako každá operace se souborovým systémem je potenciálně nebezpečná, proto jej používejte pouze v případě, že máte zálohy (nebo jsou data k dispozici). Příkaz je však bezpečný, pokud si jsou jeho vývojáři vědomi; pokud narazí na situace, nemůže to zvládnout, zastaví se bezpečně.
  • Na zdraví. Na disku jsou stále 3 TB dat, žádná záloha. Počká, až budu mít den, kdy se cítím dost odvážný na to, abych to zkusil 🙂

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *