XFS

Kako defragmentirati XFS datotečni sustav

Kako defragmentirati XFS datotečni sustav
Fragmentacija je dugogodišnji problem što se tiče skladištenja. Nastaje kada uslijed dulje uporabe medij za pohranu dobiva komade dodijeljenih blokova sa slobodnim prostorom između njih. To se događa zato što razni programi traže memoriju različitim redoslijedom, a zatim oslobađaju memoriju u različito vrijeme. Imati dijelove neraspoređenog prostora između podataka smanjuje ukupan raspoloživi prostor na disku (učinkovitost pohrane), a također i performanse diska, jer se podaci ne pohranjuju u velikom susjednom komadu već se šire po disku.

Ovaj je problem posebno očit u magnetskim medijima iako i SSD-i pate od njega. Pokušajmo defragmentirati XFS datotečni sustav u ovom postu.

Postavljanje pješčanika

Prvo, da bih eksperimentirao s XFS datotečnim sustavom, odlučio sam stvoriti testbench umjesto rada s kritičnim podacima na disku. Ovaj test test je sastavljen od Ubuntu VM-a na koji je povezan virtualni disk koji pruža neobrađenu pohranu. VirtualBox možete koristiti za stvaranje VM-a, a zatim stvoriti dodatni disk za spajanje na VM

Samo idite na postavke VM-a i ispod Postavke → Pohrana odjeljku možete dodati novi disk na SATA kontroler možete stvoriti novi disk. Kao što je prikazano u nastavku, ali provjerite je li vaš VM isključen kad to učinite.

Jednom kada se stvori novi disk, uključite VM i otvorite terminal. Naredba lsblk navodi sve dostupne blok uređaje.

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

Osim uređaja glavnog bloka sda, tamo gdje je instaliran OS, tu je novi sdb uređaj. Napravimo brzo particiju od nje i formatirajte je s XFS datotečnim sustavom.

Otvorite razdvojeni uslužni program kao root korisnik:

$ podijeljeno -a optimalno / dev / sdb

Stvorimo tablicu particija prvo koristeći mklabel, nakon čega slijedi stvaranje jedne particije od cijelog diska (koja je 107 GB velika). Možete provjeriti je li particija napravljena tako što ćete je navesti pomoću naredbe print:

(razdvojeno) mklabel gpt
(razdvojeno) mkpart primarni 0 107
(razdvojeno) ispis
(rastavljeno) quit

Dobro, sada pomoću lsblk-a možemo vidjeti da se ispod sdb uređaja nalazi novi blok uređaj, nazvan sdb1.

Formatirajmo ovu pohranu kao xfs i montiramo je u / mnt direktorij. Opet učinite sljedeće radnje kao root:

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

Posljednja naredba ispisat će sve montirane datotečne sustave i možete provjeriti je li / dev / sdb1 montiran na / mnt.

Dalje napišemo hrpu datoteka kao lažne podatke koje ćemo ovdje defragmentirati:

$ dd ako = / dev / urandom od = / mnt / myfile.txt broj = 1024 bs = 1024

Gornja naredba bi napisala datoteku myfile.txt veličine 1 MB. Ovu naredbu možete automatizirati u jednostavnu for petlju pomoću basha i generirati više takvih datoteka. Ako želite, proširite ih po raznim direktorijima. Nekoliko ih slučajno izbrišite. Sve to napravite unutar xfs datotečnog sustava (montiran na / mnt), a zatim provjerite fragmentaciju. Sve je to, naravno, neobavezno.

Defragmentirajte svoj datotečni sustav

Prvo što moramo učiniti je shvatiti kako provjeriti količinu fragmentacije. Na primjer, xfs datotečni sustav koji smo ranije stvorili nalazio se na čvoru uređaja / dev / sdb. Možemo upotrijebiti uslužni program xfs_db (kratica za otklanjanje pogrešaka xfs) za provjeru razine fragmentacije.

$ xfs_db -c frag -r / dev / sdb1

Oznaka -c uzima razne naredbe među kojima je i naredba frag za provjeru razine fragmentacije. Oznaka -r koristila se da osigura da je operacija u potpunosti samo za čitanje.

Ako utvrdimo da postoji fragmentacija u ovom datotečnom sustavu, pokrećemo naredbu xfs_fsr na čvoru uređaja:

$ xfs_fsr / dev / sdb1

Ova zadnja naredba je sve što je potrebno za defragmentaciju vašeg datotečnog sustava, možete ga dodati kao cronjob koji će redovito nadzirati vaš datotečni sustav. Ali to učiniti za xfs nema smisla. Dodjela XFS-a temeljena na opsegu osigurava da problemi poput fragmentacije ostanu na minimumu.

Koristite slučajeve

Slučajevi upotrebe u kojima se najviše trebate brinuti zbog fragmentacije datotečnog sustava uključuju aplikacije u kojima se zapisuje i prepisuje puno malih dijelova podataka. Baza podataka je klasičan primjer toga, a baze podataka su poznate po tome što ostavljaju puno, puno rupa u vašem spremištu. Memorijski blokovi se ne popunjavaju kontinuirano, čineći količinu dostupnog prostora s vremenom sve manjom i manjom.

Problem se javlja ne samo u pogledu smanjenog korisnog prostora već i u smislu smanjenog IOPS-a koji bi mogao naštetiti izvedbi vaše aplikacije. Imati skriptu za kontinuirano praćenje razine fragmentacije konzervativan je način održavanja sustava. Ne želite da automatizirana skripta nasumično započinje defragmentirati vaš datotečni sustav, posebno kada se koristi pri vršnom opterećenju.

Srednja tipka miša ne radi u sustavu Windows 10
The srednja tipka miša pomaže vam u pomicanju kroz dugačke web stranice i zaslone s puno podataka. Ako se to zaustavi, na kraju ćete koristiti tipkovn...
Kako promijeniti lijevu i desnu tipku miša na računalu sa sustavom Windows 10
Sasvim je normalno da su svi uređaji računalnog miša ergonomski dizajnirani za dešnjake. Ali postoje dostupni uređaji za miš koji su posebno dizajnira...
Emulirajte klikove mišem lebdeći mišem bez klika u sustavu Windows 10
Korištenje miša ili tipkovnice u pogrešnom držanju pretjerane upotrebe može rezultirati mnogim zdravstvenim problemima, uključujući naprezanje, sindro...