XFS

Kako defragmentirati datotečni sistem XFS

Kako defragmentirati datotečni sistem XFS
Ko gre za skladiščenje, je razdrobljenost dolgotrajna težava. Pojavi se, ko medij za shranjevanje zaradi dolgotrajne uporabe dobi koščke dodeljenih blokov s prostim prostorom med njimi. To se zgodi, ker različni programi zahtevajo pomnilnik v drugačnem vrstnem redu in nato sprostijo pomnilnik ob različnih časih. Kosi nedodeljenega prostora med podatki zmanjšajo skupni razpoložljivi prostor na disku (učinkovitost shranjevanja) in tudi zmogljivost diska, saj se podatki ne shranjujejo v velikem sosednjem delu, temveč se razširijo po disku.

Ta težava je še posebej očitna pri magnetnih medijih, čeprav trpijo tudi trdi diski. V tem prispevku poskusimo defragmentirati datotečni sistem XFS.

Nastavitev peskovnika

Najprej sem se za eksperimentiranje z datotečnim sistemom XFS odločil, da namesto dela s kritičnimi podatki na disku ustvarim preizkusno ploščo. Ta preizkusna plošča je sestavljena iz VM Ubuntu, na katerega je povezan navidezni disk, ki zagotavlja surovo shrambo. VirtualBox lahko uporabite za ustvarjanje VM in nato ustvarite dodaten disk, ki ga želite pritrditi na VM

Pojdite v nastavitve VM in pod Nastavitve → Shramba V razdelku lahko dodate nov disk v krmilnik SATA, lahko ustvarite nov disk. Kot je prikazano spodaj, vendar poskrbite, da bo vaš VM izklopljen, ko to storite.

Ko je nov disk ustvarjen, vklopite VM in odprite terminal. Ukaz lsblk seznam vseh razpoložljivih blokovnih naprav.

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

Poleg glavne blokovne naprave sda, tam, kjer je nameščen OS, je zdaj nova naprava sdb. Na hitro ustvarimo particijo iz nje in jo formatiramo z datotečnim sistemom XFS.

Odprite ločeni pripomoček kot korenski uporabnik:

$ razdeljeno -optimalno / dev / sdb

Najprej ustvarimo particijsko tabelo z uporabo mklabel, temu sledi izdelava ene particije iz celotnega diska (velikosti 107 GB). Lahko preverite, ali je particija narejena tako, da jo navedete z ukazom za tiskanje:

(ločeno) mklabel gpt
(ločeno) mkpart primarni 0 107
(razdeljen) tisk
(ločeno) nehaj

V redu, zdaj lahko z uporabo lsblk vidimo, da je pod napravo sdb nova blokovna naprava, imenovana sdb1.

Oblikujmo to shrambo kot xfs in jo pritrdimo v imenik / mnt. Ponovno naredite naslednja dejanja kot root:

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

Zadnji ukaz bo natisnil vse nameščene datotečne sisteme in lahko preverite, ali je / dev / sdb1 nameščen na / mnt.

Nato zapišemo kup datotek kot lažne podatke, ki jih bomo tu defragmentirali:

$ dd, če = / dev / urandom od = / mnt / myfile.txt štetje = 1024 bs = 1024

Zgornji ukaz bi napisal datoteko myfile.txt velikosti 1 MB. Ta ukaz lahko samodejno pretvorite v preprosto for zanko z uporabo basha in ustvarite več takih datotek. Če želite, jih razporedite po različnih imenikih. Nekaj ​​jih naključno izbrišite. Vse to naredite znotraj datotečnega sistema xfs (nameščenega na / mnt) in nato preverite, ali je razdrobljenost. Vse to je seveda neobvezno.

Defragmentirajte svoj datotečni sistem

Najprej moramo ugotoviti, kako preveriti količino razdrobljenosti. Na primer, datotečni sistem xfs, ki smo ga prej ustvarili, je bil v vozlišču naprave / dev / sdb. Za preverjanje stopnje razdrobljenosti lahko uporabimo pripomoček xfs_db (pomeni razhroščevanje xfs).

$ xfs_db -c frag -r / dev / sdb1

Oznaka -c zajema različne ukaze, med katerimi je ukaz frag za preverjanje stopnje razdrobljenosti. Oznaka -r se uporablja za zagotovitev, da je operacija v celoti samo za branje.

Če ugotovimo, da je v tem datotečnem sistemu razdrobljenost, na vozlišču naprave zaženemo ukaz xfs_fsr:

$ xfs_fsr / dev / sdb1

Ta zadnji ukaz je vse, kar potrebujete za defragmentiranje vašega datotečnega sistema, lahko ga dodate kot cronjob, ki bo redno nadziral vaš datotečni sistem. Toda to za xfs nima smisla. Dodelitev XFS na podlagi obsega zagotavlja, da je težav, kot je razdrobljenost, čim manj.

Uporabite zadeve

Primeri uporabe, pri katerih morate biti najbolj zaskrbljeni zaradi fragmentacije datotečnega sistema, vključujejo aplikacije, v katere se napiše in prepiše veliko majhnih kosov podatkov. Baza podatkov je klasičen primer tega in zbirke podatkov so znane po tem, da v svojem pomnilniku puščajo veliko "lukenj". Pomnilniški bloki se ne polnijo dosledno, zato je količina razpoložljivega prostora sčasoma manjša in manjša.

Težava nastane ne le v smislu zmanjšane uporabne površine, temveč tudi v smislu zmanjšanega števila IOPS, ki bi lahko škodoval učinkovitosti vaše aplikacije. Imeti skript za nenehno spremljanje stopnje razdrobljenosti je konzervativen način vzdrževanja sistema. Ne želite, da samodejni skript naključno začne defragmentirati vaš datotečni sistem, še posebej, če se uporablja pri največji obremenitvi.

Kako spremeniti levi in ​​desni gumb miške na računalniku z operacijskim sistemom Windows 10
Povsem normalno je, da so vse naprave računalniške miške ergonomsko zasnovane za desničarje. Na voljo pa so miške, ki so posebej zasnovane za levičarj...
Posnemajte klike miške tako, da v Windows 10 lebdite z miško Clickless Mouse
Uporaba miške ali tipkovnice v napačni drži čezmerne uporabe lahko povzroči veliko zdravstvenih težav, vključno s sevom, sindromom karpalnega kanala i...
S temi brezplačnimi orodji dodajte gibe miške v sistem Windows 10
V zadnjih letih so se računalniki in operacijski sistemi močno razvili. Včasih so morali uporabniki uporabljati ukaze za krmarjenje po upraviteljih da...