XFS

Kā defragmentēt XFS failu sistēmu

Kā defragmentēt XFS failu sistēmu
Sadrumstalotība ir ilgstoša problēma, kad runa ir par glabāšanu. Tas rodas, ja ilgstošas ​​lietošanas dēļ datu nesēji saņem sadalīto bloku gabalus, starp kuriem ir brīva vieta. Tas notiek tāpēc, ka dažādas programmas pieprasa atmiņu citā secībā un pēc tam atmiņu atbrīvo dažādos laikos. Ja starp datiem nav piešķirti nepiešķirtas vietas gabali, tiek samazināta kopējā pieejamā vieta diskā (krātuves efektivitāte) un arī diska veiktspēja, jo dati netiek glabāti lielā blakus esošā gabalā, bet izplatīti pa disku.

Šī problēma ir īpaši redzama magnētiskajos nesējos, lai arī SSD no tā cieš. Mēģināsim defragmentēt XFS failu sistēmu šajā ierakstā.

Smilškastes iestatīšana

Pirmkārt, lai eksperimentētu ar XFS failu sistēmu, es nolēmu izveidot testbench, nevis strādāt ar kritiskiem datiem diskā. Šis testēšanas stends sastāv no Ubuntu VM, kuram ir pievienots virtuālais disks, nodrošinot neapstrādātu krātuvi. Varat izmantot VirtualBox, lai izveidotu VM un pēc tam izveidotu papildu disku, kuru pievienot VM

Vienkārši dodieties uz sava VM iestatījumiem un zem Iestatījumi → Krātuve sadaļā jūs varat pievienot jaunu disku SATA kontrolierim, varat izveidot jaunu disku. Kā parādīts zemāk, taču, veicot to, pārliecinieties, vai jūsu VM ir izslēgts.

Kad jaunais disks ir izveidots, ieslēdziet VM un atveriet termināli. Komanda lsblk uzskaita visas pieejamās bloķēšanas ierīces.

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

Neatkarīgi no galvenā bloka ierīces sda, tur, kur ir instalēta OS, tagad ir jauna SDB ierīce. Ātri izveidosim no tā nodalījumu un formatēsim to ar XFS failu sistēmu.

Atveriet dalītu utilītu kā root lietotāju:

$ šķīrās - optimāls / dev / sdb

Vispirms izveidosim nodalījumu tabulu, izmantojot mklabel, pēc tam izveidojot vienu nodalījumu no visa diska (kura izmērs ir 107 GB). Pārliecinieties, vai nodalījums ir izveidots, uzskaitot to, izmantojot komandu print:

(šķīrās) mklabel gpt
(šķīries) mkpart primārais 0107
(šķīrās) druka
(šķīrās) atmest

Labi, tagad mēs varam redzēt, izmantojot lsblk, ka zem sdb ierīces ir jauna bloķēšanas ierīce ar nosaukumu sdb1.

Formatēsim šo krātuvi kā xfs un pievienosim to direktorijā / mnt. Atkal veiciet šādas darbības kā saknes:

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

Pēdējā komanda izdrukās visas pievienotās failu sistēmas, un jūs varat pārbaudīt, vai / dev / sdb1 ir uzstādīts uz / mnt.

Tālāk mēs uzrakstām virkni failu kā fiktīvus datus, lai šeit defragmentētu:

$ dd, ja = / dev / urandom no = / mnt / myfile.txt skaits = 1024 bs = 1024

Iepriekš minētā komanda uzrakstīs failu myfile.txt no 1 MB. Jūs varat automatizēt šo komandu vienkāršā ciklā, izmantojot bash, un ģenerēt vairāk šādu failu. Ja vēlaties, izklājiet tos dažādos direktorijos. Nejauši izdzēsiet dažus no tiem. Dariet to visu faila sistēmā xfs (uzstādīts pie / mnt) un pēc tam pārbaudiet sadrumstalotību. Tas viss, protams, nav obligāts.

Defragmentējiet failu sistēmu

Pirmais, kas mums jādara, ir izdomāt, kā pārbaudīt sadrumstalotību. Piemēram, iepriekš izveidotā xfs failu sistēma bija ierīces mezglā / dev / sdb. Lai pārbaudītu sadrumstalotību, mēs varam izmantot utilītu xfs_db (apzīmē xfs atkļūdošanu).

$ xfs_db -c frag -r / dev / sdb1

Karodziņā -c tiek izmantotas dažādas komandas, starp kurām ir frag komanda, lai pārbaudītu sadrumstalotības līmeni. Karodziņš -r tiek izmantots, lai pārliecinātos, ka darbība ir tikai lasāma.

Ja konstatējam, ka šajā failu sistēmā ir sadrumstalotība, ierīces mezglā palaižam komandu xfs_fsr:

$ xfs_fsr / dev / sdb1

Šī ir pēdējā komanda, lai defragmentētu jūsu failu sistēmu. Jūs varat to pievienot kā cronjob, kas regulāri uzraudzīs jūsu failu sistēmu. Bet darīt to xfs dēļ ir maz jēgas. XFS sadalījums pēc apjoma nodrošina, ka tādas problēmas kā sadrumstalotība ir minimālas.

Lietot lietas

Lietošanas gadījumi, kad visvairāk jāuztraucas par failu sistēmas sadrumstalotību, ietver lietojumprogrammas, kurās tiek rakstīts un pārrakstīts daudz mazu datu gabalu. Datu bāze ir klasisks piemērs, un datubāzes ir pazīstamas ar to, ka atstāj daudz un daudz “bedrīšu” jūsu krātuvē. Atmiņas bloki nav piepildīti blakus, padarot pieejamo vietu daudzumu laika gaitā arvien mazāku.

Problēma rodas ne tikai attiecībā uz samazinātu izmantojamo vietu, bet arī par samazinātu IOPS, kas varētu kaitēt jūsu lietojumprogrammas veiktspējai. Skripta lietošana, lai nepārtraukti uzraudzītu sadrumstalotības līmeni, ir konservatīvs sistēmas uzturēšanas veids. Jūs nevēlaties, lai automatizēts skripts nejauši sāktu defragmentēt jūsu failu sistēmu, it īpaši, ja to izmanto maksimālās slodzes laikā.

10 labākās spēles, kuras spēlēt Ubuntu
Windows platforma ir bijusi viena no dominējošajām spēļu platformām, jo ​​mūsdienās tiek attīstīts milzīgs spēļu skaits, lai atbalstītu Windows. Vai k...
5 labākās arkādes spēles Linux
Mūsdienās datori ir nopietnas mašīnas, kuras izmanto spēlēšanai. Ja jūs nevarat iegūt jauno augsto rezultātu, jūs zināt, ko es domāju. Šajā ierakstā j...
Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...