Inodid on Unix-laadsete ope­rat­sioo­ni­süs­teemide fai­li­süs­teemide hal­dus­st­ruk­tuur. Selles kon­teks­tis on inodid and­me­peal­kir­jad ino­di­loen­di­tes või muudes sarnastes and­me­ko­gu­mi­tes, mis si­sal­da­vad sal­ves­ta­tud failide me­ta­and­meid. Need me­ta­and­med si­sal­da­vad sellist teavet nagu juur­de­pää­su­õi­gu­sed, sal­ves­tus­asu­koht, rühmad, kasutaja-ID-d või muu­da­tuste tegemise aeg või failile juur­de­pääsu aeg.

Mis on inood?

Inode on lühend sõnast „index node“ (in­deksi­sõlm). Seda ka­su­ta­takse fai­li­hal­duse vahendina, mis on mänginud olulist rolli alates Unixi ope­rat­sioo­ni­süs­teemide ja sellel põ­hi­ne­vate süs­teemide, nagu Linux või macOS, ka­su­tuse­le­võ­tust. Inode’ide peamine ülesanne fai­li­süs­teemi­des on viidata teatud failidele, neid hallata ja leida süsteemis, kasutades selleks uni­kaal­seid ja muu­tu­ma­tuid inode’i numbreid. Inode’id on kind­laks­mää­ra­tud and­me­st­ruk­tuu­rid, mis kir­jel­da­vad ja haldavad konk­reet­seid faile me­ta­and­mete abil. Fai­li­süs­teemi tüüp määrab, milliseid me­ta­and­meid ka­su­ta­takse.

Kuigi inoodid ei sisalda otseselt failinime, si­sal­da­vad need üldjuhul järgmist teavet failide ja fai­lib­lok­kide kohta:

  • Tüüp ja juur­de­pää­su­õi­gu­sed
  • Kõ­va­ket­ta­lin­kide arv
  • Kasutaja ID (UID)
  • Grupi ID (GID) või GUI
  • Faili suurus baitides
  • Viimase muudatuse kuupäev (mtime)
  • Viimase staatuse muutmise kuupäev (ctime)
  • Viimase juur­de­pääsu kuupäev (atime)
  • And­me­plok­kide aadress
  • Kaudse viite ploki aadress
  • Lingide arv
  • Versiooni number

Kuidas inoodid töötavad?

Unix-süsteemid ei halda ket­ta­par­tit­siooni sektoreid klastrite abil, vaid kasutavad selleks and­me­plokke. Erinevalt DOS-süs­teemi­dest, mis kasutavad FAT-tabeleid, ka­su­ta­takse ka­ta­loo­gide andmete hal­da­miseks ja vii­ta­miseks inode’e. Kui andmed sal­ves­ta­takse kõ­va­ket­tale kindlate and­me­plok­ki­dena, võib see kiiresti viia olu­kor­rani, kus fail ületab ploki mahu. Sel juhul otsib süsteem teise vaba ploki, kuhu faili ülejäänud osa sal­ves­tada. Siin tulevadki mängu inode’ed.

Inoodid tagavad, et süsteemi sal­ves­ta­tud andmeid on võimalik leida nii viite- ja ka­ta­loo­gand­mete kui ka inoodide ja unikaalse inoo­di­numbri abil. Suur eelis on siin see, et need ei sõltu failini­mest. Kui faili ko­pee­ri­takse ja ümber ni­me­ta­takse, saab selle ikkagi uuesti leida, kasutades sama inode numbrit kui ori­gi­naal­fai­lil. Nii on see ka kõ­va­ket­ta­lin­kide puhul, mida kasutajad loovad Linuxi käsuga in. Sellisel sisemisel ar­ves­tus­vii­sil on see eelis, et inodid suunavad nii ori­gi­naal­fai­li­dele kui ka va­ru­koo­piatele, ilma et see võtaks rohkem mälu.

Kuna inoodid on süs­tee­miti erinevalt sea­dis­ta­tud, võib fail ületada ole­mas­ole­vate inoodide mahu. Sellisel juhul viitab algne inood teisele inoodile, mida ni­me­ta­takse mõnikord ka kaudseks plokiks ja mis sisaldab ülejäänud me­ta­and­meid.

Note

Kuna inoodide arv määrati kindlaks juba alguses, võib see tea­ta­va­tel juhtudel osutuda eba­pii­sa­vaks suure hulga failide jaoks. Sellisel juhul tuleb fai­li­süs­teemi ümber kor­ral­dada, et suu­ren­dada inoodide arvu.

Millal ka­su­ta­takse inode’e?

Inode’e ka­su­ta­takse fai­li­süs­teemide hal­da­miseks ja struk­tu­ree­ri­miseks ning neid ra­ken­da­takse nii era­vii­si­lis­tes Linuxi süs­teemi­des kui ka hal­la­ta­vate teenuste la­hen­dus­tes. Kasutajad ja et­te­võt­ted, kes otsivad pil­ve­la­hen­dusi Unix-laadsetel ope­rat­sioo­ni­süs­teemi­del töö­ta­va­tele ser­ve­ri­tele, saavad kasutada inode’i and­me­st­ruk­tuure. Nagu enamiku pil­ve­tee­nuste puhul, sõltuvalt ka­su­tusots­tar­best on võimalik valida avalik või erapilv.

Millised fai­li­süs­tee­mid toetavad inode’e?

Kõik Unix-põhised ope­rat­sioo­ni­süs­tee­mid, nagu Linux või macOS, kasutavad inode’e. Sõltuvalt toetatud fai­li­süs­tee­mist võivad inode’ide struktuur ja üles­ehi­tus siiski erineda. Ext2/ext3/ext4-süs­teemi­des ka­su­ta­takse inode’ide nimekirju või tabeleid kir­jel­da­vate andmete päistena. Inode-nimekiri luuakse süsteemi sea­dis­ta­misel ja seda ei saa hiljem muuta. Lisaks sellele võtavad 256-baidised ext4-inodid kõ­va­ket­tal ruumi ja neid ei saa muul viisil kasutada. Selles and­me­süs­tee­mis kirjeldab inode igal juhul süsteemis olevat faili või kataloogi, kasutades neile kuuluvaid me­ta­and­meid.

Lisaks on olemas kee­ru­ka­mad fai­li­süs­tee­mid, nagu xfs või btrfs, kus inoodid luuakse alles siis, kui neid on vaja failide leid­miseks. Sel juhul ei looda inoode si­sal­da­vaid nimekirju ega tabeleid. Veel üks erinevus nende toi­mi­mises seisneb ket­tai­noo­dide ja Linuxi mälu tööt­le­miseks ka­su­ta­ta­vate inoodide (in-core inoodid) vahel.

Ülevaade olu­lis­test inode-käskudest

Kuna fai­li­süs­tee­mist sõltuvalt on ka­su­ta­ta­vate inoodide arv piiratud, peate teadma, kuidas kuvada süsteemis kasutatud inoode või inoodide poolt hõivatud ruumi. See on mõnikord vajalik, kui süsteemis ei ole teiste failide jaoks piisavalt vabu inoode.

Käsk fai­li­süs­tee­mis kasutatud alade ku­va­miseks

Kui soovite näha, milliseid alasid kasutavad fai­li­süs­teemi inoodid, võite kasutada järgmist käsku:

~ find /home /tmp -xdev -printf ´%h \n´ | sort | uniq -c | sort -k 1 -nr | head -n 20
shell

Käsk praeguse inoodide kasutuse ülevaate saamiseks

Süsteemis hetkel kasutusel olevate inoodide vaa­ta­miseks kasuta järgmist käsku:

df -ih
shell

Inode’ide ka­su­ta­mise ülevaate saamiseks, seal­hul­gas selle kohta, millises fai­li­süs­tee­mis need asuvad, inode’ide koguarvu, praeguse kasutuse ja millised inode’id on kasutusel, sisestage järgmine käsk:

df -i
shell

Käsk kindlate inoo­di­numb­rite ku­va­miseks

Faili konk­reetse inoodi numbri ku­va­miseks võid kasutada järgmist käsku:

ls -i
shell

Käsk inoodi kõikide failide ku­va­miseks

Kui soovid teada, mil­lis­tele failidele (sh ori­gi­naa­li­dele, koo­piatele või va­ru­koo­piatele) viitab inood, kasuta järgmist:

-inum
shell

Nõuanded inoodide üle­koor­muse korral

Suur koormus inoo­di­dele ei tähenda alati, et mälu hakkab otsa saama. Mõnikord võib inoodide kasutuse suu­re­ne­mise põhjuseks olla liiga väi­ke­se­ma­hu­li­sed andmed, nagu ajutised TMP-failid, vahemälud või ses­sioo­nid. Probleemi saab ta­va­li­selt lahendada, kus­tu­ta­des au­to­maat­selt kõik failid, mis on vanemad kui 14 päeva. Selleks võid käivitada cron-ülesande järgmise käsuga:

03 *** /usr/bin/find /path/to/files/* -type f – mtime +14 -delete > /dev/null 2>&1
shell

Mis juhtub, kui mul on liiga vähe inode’e?

Kui teie süsteemis pole teiste failide jaoks piisavalt inode’e, võite teatud tin­gi­mus­tel märgata mõnda järg­mis­test näh­tus­test:

  • Ra­ken­dused kukuvad kokku
  • Andmed lähevad kaduma
  • Pla­nee­ri­mata taas­käi­vi­tu­sed
  • Prot­ses­sid kukuvad kokku ega taas­käi­vitu
  • Pla­nee­ri­tud prot­ses­sid ei käivitu au­to­maat­selt

Kui teie inoodide maht on tõe­poo­lest am­men­du­nud, soovitame teil vaba ruumi juurde luua. Teise või­ma­lu­sena võite alustada suh­te­li­selt töö­ma­hu­kat protsessi, mille käigus üm­ber­kor­ral­da­takse fai­li­süs­teem ja suu­ren­da­takse inoodide mak­si­maal­set arvu.

Go to Main Menu