XFS

Ako defragmentovať systém súborov XFS

Ako defragmentovať systém súborov XFS
Fragmentácia je dlhodobý problém, pokiaľ ide o ukladanie. Vzniká, keď z dôvodu dlhodobého používania úložné médium dostane kúsky pridelených blokov a medzi nimi bude voľné miesto. Stáva sa to preto, lebo rôzne programy požadujú pamäť v inom poradí a potom pamäť uvoľňujú v rôznych časoch. Mať bloky neprideleného priestoru medzi dátami znižuje celkové dostupné miesto na disku (efektivita úložiska) a tiež výkon disku, pretože dáta sa neukladajú do veľkého súvislého bloku, ale šíria sa po disku.

Tento problém je zreteľný najmä u magnetických médií, aj keď ním trpia aj disky SSD. Skúsme v tomto príspevku defragmentovať súborový systém XFS.

Nastavenie karantény

Najskôr som sa experimentoval so súborovým systémom XFS a namiesto práce s kritickými údajmi na disku som sa rozhodol vytvoriť testovací stôl. Tento testovací stôl je tvorený virtuálnym počítačom Ubuntu, ku ktorému je pripojený virtuálny disk poskytujúci nespracované úložisko. Môžete použiť VirtualBox na vytvorenie VM a potom vytvoriť ďalší disk na pripojenie k VM

Stačí prejsť do nastavení vášho VM a pod Nastavenia → Úložisko v časti môžete pridať nový disk do radiča SATA môžete vytvoriť nový disk. Ako je uvedené nižšie, ale uistite sa, že je váš VM vypnutý.

Po vytvorení nového disku zapnite VM a otvorte terminál. Príkaz lsblk zoznam všetkých dostupných blokovacích zariadení.

$ lsblk
sda 8: 0 0 60G 0 disk
├─sda1 8: 1 0 1M 0 diel
└─sda2 8: 2 0 60G 0 diel /
sdb 8:16 0 100G 0 disk
sr0 11: 0 1 1024M 0 rom

Okrem zariadenia hlavného bloku sda, kde je nainštalovaný OS, je tu nové zariadenie sdb. Poďme z neho rýchlo vytvoriť oddiel a naformátovať ho pomocou súborového systému XFS.

Otvorte rozdelený nástroj ako užívateľ root:

$ parted -a optimálne / dev / sdb

Vytvorme najskôr tabuľku oddielov pomocou programu mklabel, potom nasleduje vytvorenie jedného oddielu z celého disku (ktorý má veľkosť 107 GB). Vytvorenie oddielu môžete skontrolovať uvedením zoznamu pomocou príkazu tlač:

(rozdelené) mklabel gpt
(rozdelené) mkpart primárne 0 107
(rozdelená) tlač
(rozdelený) ukončiť

Dobre, teraz pomocou lsblk vidíme, že pod zariadením sdb je nové blokové zariadenie s názvom sdb1.

Naformátujeme toto úložisko ako xfs a pripojíme ho do adresára / mnt. Opäť urobte tieto akcie ako root:

$ mkfs.xfs / dev / sdb1
$ mount / dev / sdb1 / mnt
$ df -h

Posledný príkaz vytlačí všetky pripojené súborové systémy a môžete skontrolovať, či je / dev / sdb1 pripojený na / mnt.

Ďalej tu napíšeme veľa súborov ako fiktívne údaje na defragmentáciu:

$ dd if = / dev / urandom of = / mnt / myfile.počet txt = 1024 bs = 1024

Vyššie uvedený príkaz by zapísal súbor myfile.Txt o veľkosti 1 MB. Tento príkaz môžete automatizovať na cyklus jednoduchého for pomocou bash a vygenerovať viac takýchto súborov. Ak chcete, rozložte ich do rôznych adresárov. Náhodne niektoré z nich vymažte. Toto všetko urobte vo vnútri súborového systému xfs (pripojeného na / mnt) a potom skontrolujte fragmentáciu. To všetko je samozrejme voliteľné.

Defragmentujte svoj súborový systém

Prvá vec, ktorú musíme urobiť, je prísť na to, ako skontrolovať mieru fragmentácie. Napríklad súborový systém xfs, ktorý sme vytvorili skôr, bol na uzle zariadenia / dev / sdb. Na kontrolu úrovne fragmentácie môžeme použiť obslužný program xfs_db (znamená ladenie xfs).

$ xfs_db -c frag -r / dev / sdb1

Príznak -c berie rôzne príkazy, medzi ktorými je príkaz frag na kontrolu úrovne fragmentácie. Príznak -r slúži na zabezpečenie toho, že operácia je úplne iba na čítanie.

Ak zistíme, že v tomto súborovom systéme existuje fragmentácia, spustíme príkaz xfs_fsr na uzle zariadenia:

$ xfs_fsr / dev / sdb1

Tento posledný príkaz slúži na defragmentáciu vášho súborového systému. Môžete ho pridať ako príkaz cronjob, ktorý bude pravidelne monitorovať váš súborový systém. Robiť to pre xfs však nemá zmysel. Alokácia XFS na základe rozsahu zaisťuje, že problémy ako fragmentácia zostanú na minime.

Prípady použitia

Prípady použitia, pri ktorých sa musíte najviac starať o fragmentáciu súborového systému, zahŕňajú aplikácie, kde sa zapisuje a prepisuje veľa malých častí údajov. Klasickým príkladom je databáza. Databázy sú známe tým, že vo vašom úložisku nechávajú veľa a veľa „dier“. Pamäťové bloky nie sú súvisle zaplnené, čím sa časom zmenšuje a zmenšuje množstvo dostupného priestoru.

Problém nastáva nielen z hľadiska zníženého využiteľného priestoru, ale aj z hľadiska zníženého počtu IOPS, čo by mohlo poškodiť výkon vašej aplikácie. Mať skript na nepretržité sledovanie úrovne fragmentácie je konzervatívny spôsob údržby systému. Nechcete, aby automatický skript náhodne začal defragmentovať váš súborový systém, najmä ak sa používa pri špičkovej záťaži.

Hry Ako používať AutoKey na automatizáciu hier pre Linux
Ako používať AutoKey na automatizáciu hier pre Linux
AutoKey je obslužný program na automatizáciu stolných počítačov pre systémy Linux a X11, programovaný v programoch Python 3, GTK a Qt. Pomocou jeho fu...
Hry Ako zobraziť počítadlo FPS v hrách Linux
Ako zobraziť počítadlo FPS v hrách Linux
Hranie na systéme Linux získalo veľký tlak, keď spoločnosť Valve v roku 2012 oznámila podporu systému Linux pre klienta Steam a ich hry. Od tej doby s...
Hry Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Úvod do hry Civilization 6 predstavuje moderné poňatie klasického konceptu predstaveného v sérii hier Age of Empires. Myšlienka bola dosť jednoduchá; ...