Atime'i uuendamine mĂ”jutab sĂŒsteemi jĂ”udlust. Mis seal tĂ”eliselt toimub ja mida sellega teha - loe artiklist.

Igal korral, kui uuendan Linuxi oma koduarvutis, pean tegelema kindlate ĂŒlesannetega. Aastate jooksul on sellest saanud harjumus: teen oma failidest varukoopiad, kustutan sĂŒsteemi, installin kĂ”ik nullist, taastan oma failid ja seejĂ€rel installeerin uuesti oma lemmikrakendused. Muudan ka sĂŒsteemi seadeid enda jaoks sobivaks. MĂ”nikord kulub selleks liiga palju aega. Ja hiljuti mĂ”tlesin, kas see peavalu on tĂ”esti vajalik.
atime - ĂŒks kolmest ajatempli tĂŒĂŒpidest failide jaoks Linuxis (lĂ€hiajal rohkem sellest). Konkreetsemalt kĂŒsisin endalt, kas on ikka mĂ”tet atime vĂ€lja lĂŒlitada uuemates Linuxi sĂŒsteemides. Kuna atime uuendatakse iga kord, kui failile ligipÀÀsetakse, mĂ”istsin, et sellel on sĂŒsteemi jĂ”udlusele mĂ€rkimisvÀÀrne mĂ”ju.
Hiljuti uuendasin Fedora 32 peale ja harjumusest hakkasin atime vĂ€lja lĂŒlitama. MĂ”tlesin, kas mul on see tĂ”eliselt vajalik? Otsustasin uurida seda teemat ja siin on, mida leidsin.
Veidi failide ajatemplitest
Et asjast selgust saada, pead astuma sammu tagasi ja meenutama mĂ”ningaid asju Linuxi failisĂŒsteemide kohta ning kuidas tuum mÀÀrab failidele ja kataloogidele ajatempleid. Sa saad nĂ€ha failide ja kataloogide viimase muutmise kuupĂ€eva, kĂ€ivitades kĂ€su ls -l (pikk) vĂ”i lihtsalt vaadates selle teavet failihalduris. Kuid lava taga jĂ€lgib Linuxi tuum mitmeid ajatempleid failide ja kataloogide jaoks:
- Millal fail viimasena muudetud (mtime)
- Millal failile ja selle metaandmetele viimasena muudatused tehti (ctime)
- Millal failile viimati ligi pÀÀseti (atime)
- Saate kasutada kĂ€sku stat, et vaadata faili vĂ”i katalooge andmeid. Siin on fail /etc/fstab ĂŒhelt minu testserverilt:
$ stat fstab
Fail: fstab
Suurus: 261 Blokid: 8 IO plokk: 4096 tavaline fail
Seade: b303h/45827d Inode: 2097285 Lingid: 1
LigipÀÀs: (0664/-rw-rw-r--) Uid: ( 0/ root) Gid: ( 0/ root)
Kontekst: system_u:object_r:etc_t:s0
LigipÀÀs: 2019-04-25 21:10:18.083325111 -0500
Muutmine: 2019-05-16 10:46:47.427686706 -0500
Muutmine: 2019-05-16 10:46:47.434686674 -0500
SĂŒnni: 2019-04-25 21:03:11.840496275 -0500Siit on nĂ€ha, et see fail loodi 25. aprillil 2019, kui ma sĂŒsteemi installisin. Minu fail /etc/fstab muudeti viimati 16. mail 2019 ja kĂ”ik teised atribuudid muudeti umbes samal ajal.
Kui ma kopeerin /etc/fstab uue uude faili, kuupÀevad muutuvad, viidates sellele, et see on uus fail:
$ sudo cp fstab fstab.bak
$ stat fstab.bak
Fail: fstab.bak
Suurus: 261 Blokid: 8 IO blokk: 4096 tavaline fail
Seade: b303h/45827d Inode: 2105664 Lingid: 1
LigipÀÀs: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Kontekst: unconfined_u:object_r:etc_t:s0
LigipÀÀs: 2020-05-12 17:53:58.442659986 -0500
Muuda: 2020-05-12 17:53:58.443659981 -0500
Muuda: 2020-05-12 17:53:58.443659981 -0500
SĂŒnni: 2020-05-12 17:53:58.442659986 -0500Aga kui ma lihtsalt nimetaksin faili ĂŒmber, muutes selle sisu, vĂ€rskendab Linux vaid faili muutmise aega:
$ sudo mv fstab.bak fstab.tmp
$ stat fstab.tmp
Fail: fstab.tmp
Suurus: 261 Blokid: 8 IO blokk: 4096 tavaline fail
Seade: b303h/45827d Inode: 2105664 Lingid: 1
LigipÀÀs: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Kontekst: unconfined_u:object_r:etc_t:s0
LigipÀÀs: 2020-05-12 17:53:58.442659986 -0500
Muuda: 2020-05-12 17:53:58.443659981 -0500
Muuda: 2020-05-12 17:54:24.576508232 -0500
SĂŒnni: 2020-05-12 17:53:58.442659986 -0500Need ajatempli mĂ€rgid on mĂ”nede Unix-programmide jaoks vĂ€ga kasulikud. NĂ€iteks on biff programm, mis teavitab teid uue e-kirja saabumisest. TĂ€na kasutavad seda harva keegi , kuid neil pĂ€evadel, kui postkastid olid kohalikud sĂŒsteemi jaoks, oli biff piisavalt laialdaselt levinud.
Kuidas programm teab, kas teie postkastis on uus kiri? biff vÔrdleb viimase muutmise aega (kui sisendpostifaili uuendati uue e-kirjaga) ja viimase ligipÀÀsu aega (viimane kord, kui lugesite oma e-kirju). Kui muudatus toimus hiljem kui ligipÀÀs, siis biff saab aru, et uus kiri on saabunud ja teatab sellest teile. E-posti klient Mutt töötab ligikaudu samamoodi.
Viimase ligipÀÀsu ajatempli mĂ€rge on samuti kasulik, kui peate koguma failisĂŒsteemi kasutamise statistikat ja seadistama tootlikkust. SĂŒsteemiadministraatorid peavad teadma, millistele objektidele pÀÀsevad juurde, et vastavalt seadistada failisĂŒsteem.
Kuid enamiku tĂ€napĂ€evaste programmide jaoks ei ole see mĂ€rk enam vajalik, seetĂ”ttu on tehtud ettepanek seda mitte kasutada. Aastal 2007 arutas Linus Torvalds ja mĂ”ned teised kernel-arendajad atime kontekstis jĂ”udluse probleemi. Linuxi tuuma arendaja Ingo Molnar tegi atime ja failisĂŒsteemi ext3 kohta jĂ€rgmise mĂ€rkuse:
On veidike kummaline, et iga Linuxi töölaua ja serveri sĂŒsteem kannatab mĂ€rgatava sisend- ja vĂ€ljundvĂ”imekuse languse atime pidevate uuenduste tĂ”ttu, kuigi tegelikke kasutajaid on vaid kaks: tmpwatch [mille saab seadistada kasutama ctime, seega see ei ole suur probleem] ja mĂ”ned varundustööriistad.
Kuid inimesed kasutavad endiselt mÔningaid programme, mis vajavad seda mÀrgistust. Nii et atime'i eemaldamine kahjustab nende toimimist. Linuxi tuumaarendajad ei tohiks kasutaja vabadust piirata.
Salomoni lahendus
Linuxi distributsioonides on palju rakendusi, ja lisaks saavad kasutajad vastavalt oma vajadustele laadida ja installida teisi programme. See on vabalt ja avatud lĂ€htekoodiga operatsioonisĂŒsteemi oluline eelis. Kuid see keerustab teie failisĂŒsteemi jĂ”udluse optimeerimist. Ressursimahukate komponentide eemaldamine vĂ”ib sĂŒsteemi toimimist rikkuda.
Kompromissina on Linuxi tuumaarendajad rakendanud uut valikut relaytime, mis on mĂ”eldud jĂ”udluse ja ĂŒhilduvuse tasakaalu tagamiseks:
atime uuendatakse ainult siis, kui eelmise juurdepÀÀsu aeg on vĂ€iksem kui praegune muudetud vĂ”i staatuse muutmise aeg ... Alates Linux 2.6.30 kasutab kernel vaikimisi seda valikut (kui pole mÀÀratud noatime)... Lisaks, alates Linux 2.6.30 uuendatakse faili viimast juurdepÀÀsu aega alati, kui see on ĂŒle 1 pĂ€eva.
Kaasaegsed Linuxi sĂŒsteemid (alates Linux 2.6.30, mis ilmus 2009. aastal) kasutavad juba relaytime'i, mis peaks andma tĂ”eliselt suure jĂ”udluse tĂ”usu. See tĂ€hendab, et teil ei ole vaja faili seadistada /etc/fstab, ja relaytime'i korral vĂ”ite tugineda vaikeseadmestusele.
SĂŒsteemi jĂ”udluse tĂ”stmine noatime abil
Kuid kui soovite oma sĂŒsteemi seadistada maksimaalse jĂ”udluse saavutamiseks, on atime'i keelamine endiselt vĂ”imalik.
JÔudluse muutus ei pruugi vÀga kiiretel kaasaegsetel ketastel (nagu NVME vÔi Kiire SSD) olla vÀga mÀrgatav, kuid seal on vÀike tÔus.
Kui teate, et te ei kasuta tarkvara, mis nĂ”uab atime'i, saate natuke jĂ”udlust tĂ”sta, lisades noatime valiku faili /etc /fstabPĂ€rast seda ei uuendata atime pidevalt. Kasutage failisĂŒsteemi mount'imisel valikut noatime:
/dev/mapper/fedora_localhost--live-root / ext4 defaults,noatime,x-systemd.device-timeout=0 1 1
UUID=be37c451-915e-4355-95c4-654729cf662a /boot ext4 defaults,noatime 1 2
UUID=C594-12B1 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/fedora_localhost--live-home /home ext4 defaults,noatime,x-systemd.device-timeout=0 1 2
/dev/mapper/fedora_localhost--live-swap none swap defaults,x-systemd.device-timeout=0 0 0Muutused jÔustuvad jÀrgmisel taaskÀivitamisel.
Reklaami Ôigustes
Kas vajate veebisaidi hostimiseks serverit? Meie ettevĂ”te pakub igapĂ€evase vĂ”i ĂŒhekordse maksega, iga server on ĂŒhendatud 500-megabitise Interneti-kanaliga ning on tasuta kaitstud DDoS-rĂŒnnakute eest!
Allikas: habr.com
