{"id":31333,"date":"2019-10-31T21:40:44","date_gmt":"2019-10-31T18:40:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-2\/"},"modified":"2019-10-31T21:40:44","modified_gmt":"2019-10-31T18:40:44","slug":"virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-2","title":{"rendered":"Virtuaalsed failis\u00fcsteemid Linuxis: miks need on vajalikud ja kuidas need t\u00f6\u00f6tavad? Osa 2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere k\u00f5igile, jagame teiega teise osa publikatsioonist \u201eVirtuaalsed failis\u00fcsteemid Linuxis: miks need on vajalikud ja kuidas need t\u00f6\u00f6tavad?\u201c Esimest osa saab lugeda <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/446614\/\">siin<\/a><\/noindex>. Tuletame meelde, et see publikatsioonide seeria on p\u00fchendatud uue kursuse <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/tjnD\/\">\u201eLinuxi administraator\u201c<\/a><\/noindex>, mis algab juba peagi.<\/p>\n<p><b>Kuidas j\u00e4lgida VFS-i eBPF ja bcc t\u00f6\u00f6riistade abil<\/b><\/p>\n<p>Lihtsaim viis m\u00f5ista, kuidas tuum faile t\u00f6\u00f6tleb <code>sysfs<\/code> \u2013 on vaadata seda praktiliselt, ning k\u00f5ige lihtsam viis ARM64 j\u00e4lgimiseks on kasutada eBPF-d. eBPF (l\u00fchend Berkeley Packet Filter) koosneb virtuaalsest masinast, mis s\u00f5ltub <noindex><a rel=\"nofollow\" href=\"https:\/\/events.linuxfoundation.org\/sites\/events\/files\/slides\/bpf_collabsummit_2015feb20.pdf\">tuumast<\/a><\/noindex>, mida privileegiga kasutajad saavad k\u00e4ivitada (<code>query<\/code>) k\u00e4surealt. Tuuressurged tuuma allikad informeerivad lugejat sellest, mida tuum teha saab; eBPF t\u00f6\u00f6riistade k\u00e4ivitamine koormatud s\u00fcsteemis n\u00e4itab, mida tuum tegelikult teeb. <\/p>\n<p><img decoding=\"async\" alt=\"Virtuaalsed failis\u00fcsteemid Linuxis: miks need on vajalikud ja kuidas need t\u00f6\u00f6tavad? Osa 2\" src=\"\/wp-content\/uploads\/2019\/04\/95443cd3b1562b03eb43bf5fd229c508.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>\u00d5nneks on eBPF-i kasutamise alustamine \u00fcsna lihtne bcc t\u00f6\u00f6riistade abil, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/iovisor\/bcc\">bcc<\/a><\/noindex>, mis on saadaval paketina \u00fcldises jaotuses <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/iovisor\/bcc\/blob\/master\/INSTALL.md\">Linux<\/a><\/noindex> ja on p\u00f5hjalikult dokumenteeritud <noindex><a rel=\"nofollow\" href=\"http:\/\/brendangregg.com\/ebpf.html\">Bernard Gregg<\/a><\/noindex>. T\u00f6\u00f6riistad <code>bcc<\/code> on Python'is kirjutatud skriptid v\u00e4ikeste C-koodi t\u00fckkidega, mis t\u00e4hendab, et iga\u00fcks, kes tunneb m\u00f5lemat keelt, saab neid kergesti muuta. Toodetes <code>bcc\/tools<\/code> on 80 Python skripti, mis t\u00e4hendab, et t\u00f5en\u00e4oliselt suudab arendaja v\u00f5i s\u00fcsteemi administreerija leida midagi sobivat \u00fclesande lahendamiseks. <br \/>\nSelleks, et saada v\u00e4hemalt pinnapealne arusaam, millist t\u00f6\u00f6d VFS k\u00e4imasolevas s\u00fcsteemis teeb, proovige <code>vfscount<\/code> v\u00f5i <code>vfsstat<\/code>. See n\u00e4itab n\u00e4iteks, et k\u00fcmnete kutsungite <code>vfs_open()<\/code> ja \"tema s\u00f5pradega\" toimub s\u00f5na otseses m\u00f5ttes iga sekundi tagant.<\/p>\n<p><img decoding=\"async\" alt=\"Virtuaalsed failis\u00fcsteemid Linuxis: miks need on vajalikud ja kuidas need t\u00f6\u00f6tavad? Osa 2\" src=\"\/wp-content\/uploads\/2019\/04\/3479caa65696a29831f00e48782e48b3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p><code>vfsstat.py<\/code> on Python'i skript, millel on C koodi t\u00fckid, mis lihtsalt loendab VFS-i funktsioonide kutsungeni.<\/p><\/blockquote>\n<p>Toome v\u00e4lja lihtsama n\u00e4ite ja vaatame, mis juhtub, kui \u00fchendame USB-m\u00e4lupulga arvutisse ja s\u00fcsteem tuvastab selle.<\/p>\n<p><img decoding=\"async\" alt=\"Virtuaalsed failis\u00fcsteemid Linuxis: miks need on vajalikud ja kuidas need t\u00f6\u00f6tavad? Osa 2\" src=\"\/wp-content\/uploads\/2019\/04\/5c756fe1b6d4c5906631e5da24b59dca.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>eBPF abil saab vaadata, mis juhtub <code>\/sys<\/code>, kui USB-m\u00e4lupulk on sisse l\u00fclitatud. Siin on toodud lihtne ja keeruline n\u00e4ide.<\/p><\/blockquote>\n<p>\u00dclaltoodud n\u00e4ites <code>bcc<\/code> t\u00f6\u00f6riist <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/iovisor\/bcc\/blob\/master\/tools\/trace_example.txt\">trace.py<\/a><\/noindex> v\u00e4ljastab s\u00f5numi, kui k\u00e4ivitatakse k\u00e4sk <code>sysfs_create_files()<\/code>. N\u00e4eme, et <code>sysfs_create_files()<\/code> on k\u00e4ivitatud <code>kworker<\/code> vooge, mis tekib vastuseks, et m\u00e4lupulk on sisse pandud, kuid milline fail samal ajal loodi? Teine n\u00e4ide n\u00e4itab eBPFi kogu v\u00f5imsust. Siin <code>trace.py<\/code> toodab tuuma tagasiteed (kernel backtrace) (valik -K) ja faili nime, mis loodi <code>sysfs_create_files()<\/code>. \u00dcheainsa avaldusena on see C-kood, mis sisaldab kergesti tuvastatavat formaatrida, mida toetab Python'i skript, mis k\u00e4ivitab LLVM <i>aeg-t\u00e4psustamise kompileerija<\/i>. See rida kompileeritakse ja t\u00e4idetakse virtuaalmasinas tuumas. T\u00e4ielik funktsiooni allkiri <code>sysfs_create_files ()<\/code> peab olema teises komandos domineeritud, et formaatrida saaks viidata \u00fchele parameetrist. Vead selles C-koodis p\u00f5hjustavad tuvastatavaid C-kompilaatori vigu. N\u00e4iteks, kui parameeter -l on vahele j\u00e4etud, n\u00e4ete \"Failed to compile BPF text.\" Arendajad, kes tunnevad C ja Python'it h\u00e4sti, leiavad t\u00f6\u00f6riistad <code>bcc<\/code> lihtsateks laiendamiseks ja muutmiseks.<\/p>\n<p>Kui USB-m\u00e4lupulk on sisse pandud, n\u00e4itab tuuma tagasitee, et PID 7711 on see voog <code>kworker<\/code>, mis l\u00f5i faili <code>\"events\"<\/code> \u00fches <code>sysfs<\/code>. Vastavalt sellele n\u00e4itab k\u00f5ne <code>sysfs_remove_files()<\/code> et seadme eemaldamine viis faili eemaldamiseni <code>events<\/code>, mis j\u00e4rgib \u00fcldist linkide arvestamise kontseptsiooni. Samal ajal, kui vaatate <code>sysfs_create_link()<\/code> , siis EBPF-i abiga USB-m\u00e4luseadmest sisestamisel n\u00e4itab, et on loodud v\u00e4hemalt 48 s\u00fcmboolset linki.<\/p>\n<p>Mis on siis failide events m\u00f5te? Kasutades <noindex><a rel=\"nofollow\" href=\"http:\/\/northstar-www.dartmouth.edu\/doc\/solaris-forte\/manuals\/c\/user_guide\/cscope.html\">cscope<\/a><\/noindex> otsimiseks <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/block\/genhd.c#n665\">__device_add_disk()<\/a><\/noindex>, n\u00e4itab, et see kutsub v\u00e4lja <code>disk_add_events()<\/code>, ja kas <code>\"media_change\"<\/code>, v\u00f5i <code>\"eject_request\"<\/code> v\u00f5ivad olla salvestatud s\u00fcndmuste faili. Siin tuletab tuuma plokkkiht userspace'ile teada 'ketta' olemasolust ja eemaldamisest. Pange t\u00e4hele, kui informatiivne on see uurimismeetod USB-m\u00e4luseadmest sisestamisel v\u00f5rreldes katsetega m\u00f5ista, kuidas k\u00f5ik t\u00f6\u00f6tab, ainult l\u00e4htekoodist.<\/p>\n<p><b>Root failis\u00fcsteemid ainult lugemiseks muudavad sisseehitatud seadmed v\u00f5imalikuks.<\/b><\/p>\n<p>Muidugi, keegi ei l\u00fclita serverit v\u00f5i oma arvutit vooluv\u00f5rgust lahti t\u00f5mmates. Aga miks? K\u00f5ik see on tingitud sellest, et f\u00fc\u00fcsiliste andmesalvestusseadmete failis\u00fcsteemidel v\u00f5ivad olla viivitusega kirjutised ning andmestruktuurid, mis salvestavad nende oleku, ei pruugi salvestustega s\u00fcnkroniseeruda. Kui see juhtub, peavad s\u00fcsteemi omanikud ootama j\u00e4rgmise taask\u00e4ivitamise ajal utiliidi k\u00e4ivitamist. <code>fsck failis\u00fcsteemi taastamine<\/code> ja halvemal juhul, kaotama andmed. <\/p>\n<p>Siiski, me k\u00f5ik teame, et paljud IoT seadmed, samuti ruuterid, termostaadid ja autod t\u00f6\u00f6tavad n\u00fc\u00fcd Linuxi peal. Paljudel neist seadmetest pole praktiliselt kasutajaliidest ja pole mingit viisi, kuidas neid \"puhtalt\" v\u00e4lja l\u00fclitada. Kujutage ette, et autot k\u00e4ivitatakse t\u00fchja akuga, kui toide juhtseadmest <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.automotivelinux.org\/_media\/eg-rhsa\/agl_referencehardwarespec_v0.1.0_20171018.pdf\">Linux<\/a><\/noindex> k\u00f5igub pidevalt \u00fcles-alla. Kuidas on v\u00f5imalik, et s\u00fcsteem bootib ilma pika <code>fsck<\/code>, kui mootor l\u00f5puks t\u00f6\u00f6le hakkab? Vastus on lihtne. Integreeritud seadmed toetuvad juurfailis\u00fcsteemile <noindex><a rel=\"nofollow\" href=\"https:\/\/elinux.org\/images\/1\/1f\/Read-only_rootfs.pdf\">ainult lugemiseks<\/a><\/noindex> (l\u00fchendatult <code>ro-rootfs<\/code> (read-only root fileystem)). <\/p>\n<p><code>ro-rootfs<\/code> pakuvad mitmeid eeliseid, mis on v\u00e4hem ilmsed kui autentsus. \u00dcks eeliseid on see, et pahavara ei saa kirjutada <code>\/usr<\/code> v\u00f5i <code>\/lib<\/code>, kui \u00fckski Linuxi protsess ei saa sinna kirjutada. Teine on see, et ulatuslikult muutumatu failis\u00fcsteem on h\u00e4davajalik kaugete seadmete v\u00e4litugiks, kuna abipersonal kasutab kohalike s\u00fcsteemide osas, mis on nominaalselt identsete s\u00fcsteemide abil. V\u00f5ib-olla on k\u00f5ige olulisem (kuid samas salakaval) eelis see, et ro-rootfs paneb arendajad otsustama, millised s\u00fcsteemi objektid j\u00e4\u00e4vad muutumatuks juba enne s\u00fcsteemi projekteerimise etappi. T\u00f6\u00f6 ro-rootfs-iga v\u00f5ib olla ebamugav ja valus, nagu see sageli on const-muutujatega programmeerimiskeeltes, kuid nende eelised katavad kergesti lisakulud.<\/p>\n<p>Loomine <code>rootfs<\/code> ainult lugemise jaoks vajab see sisseehitatud s\u00fcsteemide arendajatelt t\u00e4iendavaid j\u00f5upingutusi, ja just siin tuleb m\u00e4ngu VFS. Linux n\u00f5uab, et failid <code>\/var<\/code> olid on saadaval, ja paljusid populaarseid rakendusi, mis t\u00f6\u00f6tavad sisseehitatud s\u00fcsteemides, p\u00fc\u00fcavad luua konfiguratsioonifile. <code>dot-failid<\/code> \u00fches <code>$HOME<\/code>. \u00dcks lahendus konfiguratsioonifailide kodukaustas on nende eelneva genereerimise ja kokkupanemise kasutamine. <code>rootfs<\/code>. Selle jaoks <code>\/var<\/code> \u00fcks v\u00f5imalik l\u00e4henemine on monteerida see eraldi kirjutamis\u00f5igustega partitsioonile, samas kui see ise <code>\/<\/code> on montaa\u017e ainult lugemiseks. Teine populaarne alternatiiv on kasutada siduvaid v\u00f5i \u00fclekandeteid (bind or overlay mounts).<\/p>\n<p><b>Siduvad ja \u00fclekandeteed, nende kasutamine konteinerites<\/b> <\/p>\n<p>K\u00e4ivitades k\u00e4su <code>man mount<\/code> on parim viis teada saada sidumistest ja \u00fclekandeteedest, mis v\u00f5imaldavad arendajatel ja s\u00fcsteemiadministraatoritel luua faili s\u00fcsteemi \u00fches teed ja seej\u00e4rel v\u00f5imaldada seda rakendustele teises. Sisseehitatud s\u00fcsteemide jaoks t\u00e4hendab see v\u00f5imalust hoida faile <code>\/var<\/code> flash-m\u00e4lupuldil, mis on ainult lugemiseks, kuid \u00fclekandeteed v\u00f5i siduvad montaa\u017eid teest <code>tmpfs<\/code> \u00fches <code>\/var<\/code> rakenduste \u00fcles laadimisel v\u00f5imaldab see sinna m\u00e4rkmeid (scrawl) salvestada. J\u00e4rgmise sissel\u00fclitamise korral muudatused <code>\/var<\/code> kaovad. \u00dclekatte montaa\u017e loob \u00fchenduse <code>tmpfs<\/code> ja madalamate failis\u00fcsteemidega ning v\u00f5imaldab v\u00e4idetavalt olemasolevate failide muudatusi <code>ro-tootf<\/code> samal ajal kui \u00fchendatavad montaa\u017eid v\u00f5ivad luua uusi t\u00fchje <code>tmpfs<\/code> kaustu n\u00e4htavaks kirjutamiseks <code>ro-rootfs<\/code> teedel. Samal ajal kui <code>overlayfs<\/code> on \u00f5ige (<code>proper<\/code>) failis\u00fcsteemi t\u00fc\u00fcp, on \u00fchendatavad montaa\u017eid teostatud <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/Documentation\/filesystems\/sharedsubtree.txt\">VFS nimes<\/a><\/noindex>.<\/p>\n<p>Pidades silmas \u00fclekate montaa\u017ei ja \u00fchendatava montaa\u017ei kirjelduse j\u00e4rgi, ei \u00fcllata kedagi, et <noindex><a rel=\"nofollow\" href=\"https:\/\/coreos.com\/os\/docs\/latest\/kernel-modules.html\">Linuxi konteinerid<\/a><\/noindex> kasutavad neid aktiivselt. Vaatame, mis juhtub, kui kasutame <noindex><a rel=\"nofollow\" href=\"https:\/\/www.freedesktop.org\/software\/systemd\/man\/systemd-nspawn.html\">systemd-nspawn<\/a><\/noindex> konteineri k\u00e4ivitamiseks kasutades t\u00f6\u00f6riista <code>mountsnoop<\/code> alates <code>bcc<\/code>.<\/p>\n<p>Kutse <code>system-nspawn<\/code> k\u00e4ivitab konteineri t\u00f6\u00f6tamise ajal <code>mountsnoop.py<\/code>.<\/p>\n<p>Vaatame, mis sai:<\/p>\n<p>K\u00e4ivita <code>mountsnoop<\/code> konteineri \u201elaadimise\u201d ajal n\u00e4itab, et konteineri t\u00e4itmisv\u00f5ime s\u00f5ltub tugevalt \u00fchendatavast montaa\u017eist (kuvatakse ainult pika v\u00e4ljundi algus).<\/p>\n<p>Siit <code>systemd-nspawn<\/code> pakub valitud faile <code>procfs<\/code> ja <code>sysfs<\/code> maja konteinerisse nagu teed <code>rootfs<\/code>. Koos <code>MS_BIND<\/code> lipuk, mis seadistab seotud montaa\u017ei, m\u00f5ned teised lipukesed montaa\u017eis\u00fcsteemis m\u00e4\u00e4ravad seose hosti ja konteineri nimede vahel toimuvate muudatustega. N\u00e4iteks v\u00f5ib seotud montaa\u017e kas ignoreerida muudatusi <code>\/proc<\/code> ja <code>\/sys<\/code> konteineris v\u00f5i varjata neid olenevalt kutsest. <\/p>\n<p><b>Kokkuv\u00f5te<\/b><\/p>\n<p>Linuxi siseehituse m\u00f5istmine v\u00f5ib tunduda \u00fcletamatu \u00fclesandena, kuna tuum sisaldab tohutul hulgal koodi, r\u00e4\u00e4kimata Linuxi kasutusrakendustest ja s\u00fcsteemit\u00f5enduse liidestest C keeles, nagu <code>glibc<\/code>. \u00dcks viis edusamme saavutada on lugeda \u00fche tuuma all\u00fcksuse l\u00e4htekoodi, keskendudes s\u00fcsteemit\u00f5enduste ja kasutajaruumi suunatud p\u00e4iste m\u00f5istmisele, samuti p\u00f5hisiseste liideste, n\u00e4iteks tabeli <code>file_operations<\/code>. Failioperatsioonid j\u00e4rgivad p\u00f5him\u00f5tet \"k\u00f5ik on fail\", seega on nende haldamine eriti nauditav. Tuuma l\u00e4htekood C keeles asub \u00fclemises kataloogis <code>fs\/<\/code> esitlevad virtuaalsete failis\u00fcsteemide rakendust, mis on kihi kest, pakkudes laialdast ja suhteliselt lihtsat \u00fchilduvust populaarsete failis\u00fcsteemide ja salvestusseadmete vahel. Lingitud ja ruumide kaudu kohandatud montaa\u017e Linuxi nimede ruumide kaudu on see VFS maagia, mis v\u00f5imaldab luua konteinerite ja ainult lugemiseks m\u00f5eldud juurfailis\u00fcsteeme. Koos l\u00e4htekoodi uurimisega, tuum eBPF ja selle liides <code>bcc<\/code><br \/>\n teevad tuuma uurimise lihtsamaks kui kunagi varem.<\/p>\n<p>S\u00f5brad, andke teada, kas see artikkel oli teid abistav? V\u00f5ib-olla on teil mingeid kommentaare v\u00f5i m\u00e4rkusi? Need, keda huvitab kursus \u201eLinuxi administraator\u201c, on oodatud <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/u5Jw\/\">avatud uste p\u00e4ev<\/a><\/noindex>, mis toimub 18. aprillil.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/446614\/\">Esimene osa.<\/a><\/noindex><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/447748\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u00ab\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 Linux: \u0437\u0430\u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442?\u00bb \u041f\u0435\u0440\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0442\u0443\u0442. \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0435\u0440\u0438\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043f\u0440\u0438\u0443\u0440\u043e\u0447\u0435\u043d\u0430 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043e \u043a\u0443\u0440\u0441\u0443 \u00ab\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 Linux\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u0443\u0436\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0441\u043a\u043e\u0440\u043e. \u041a\u0430\u043a \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0437\u0430 VFS \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 eBPF \u0438 bcc \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23299,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31333","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u00ab\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 Linux: \u0437\u0430\u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442?\u00bb \u041f\u0435\u0440\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0442\u0443\u0442. \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0435\u0440\u0438\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043f\u0440\u0438\u0443\u0440\u043e\u0447\u0435\u043d\u0430 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043e \u043a\u0443\u0440\u0441\u0443 \u00ab\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 Linux\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u0443\u0436\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0441\u043a\u043e\u0440\u043e. \u041a\u0430\u043a \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0437\u0430 VFS \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 eBPF \u0438 bcc \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 Linux: \u0437\u0430\u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442? \u0427\u0430\u0441\u0442\u044c 2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u00ab\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 Linux: \u0437\u0430\u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442?\u00bb \u041f\u0435\u0440\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0442\u0443\u0442. \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0435\u0440\u0438\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043f\u0440\u0438\u0443\u0440\u043e\u0447\u0435\u043d\u0430 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043e \u043a\u0443\u0440\u0441\u0443 \u00ab\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 Linux\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u0443\u0436\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0441\u043a\u043e\u0440\u043e. \u041a\u0430\u043a \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0437\u0430 VFS \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 eBPF \u0438 bcc \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:40:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:40:44+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Virtuaalsed failis\u00fcsteemid Linuxis: miks need on vajalikud ja kuidas need t\u00f6\u00f6tavad? Osa 2 | ProHoster","description":"Tere k\u00f5igile! Jagame teiega teist osa postitusest \u201eVirtuaalsed failis\u00fcsteemid Linuxis: miks need on vajalikud ja kuidas need t\u00f6\u00f6tavad?\u201d Esimese osa leiate siit. Tuletame meelde, et see artiklisari on p\u00fchendatud uue voolu k\u00e4ivitamisele kursusel \u201eLinuxi administraator\u201d, mis algab peagi. Kuidas j\u00e4lgida VFS-i eBPF ja bcc t\u00f6\u00f6riistade abil. Lihtsaim","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 Linux: \u0437\u0430\u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442? \u0427\u0430\u0441\u0442\u044c 2 | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u00ab\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 Linux: \u0437\u0430\u0447\u0435\u043c \u043e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442?\u00bb \u041f\u0435\u0440\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0442\u0443\u0442. \u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0435\u0440\u0438\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043f\u0440\u0438\u0443\u0440\u043e\u0447\u0435\u043d\u0430 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043e \u043a\u0443\u0440\u0441\u0443 \u00ab\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 Linux\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u0443\u0436\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0441\u043a\u043e\u0440\u043e. \u041a\u0430\u043a \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0437\u0430 VFS \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 eBPF \u0438 bcc \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/virtualnye-fajlovye-sistemy-v-linux-zachem-oni-nuzhny-i-kak-oni-rabotayut-chast-2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:40:44+00:00","article:modified_time":"2019-10-31T18:40:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31333","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 05:41:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:18:40","updated":"2026-01-21 05:41:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/31333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=31333"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/31333\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/23299"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=31333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=31333"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=31333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}