Pereiti prie turinio
Pagrindinis » IT ir technologijos » Kaip veikia serverio sistema

Kaip veikia serverio sistema

Kas iš tikrųjų yra serveris ir kodėl jis mums reikalingas

Kai naršote internetą, žiūrite filmą „Netflix” platformoje ar siunčiate nuotrauką draugui, jūsų prašymas keliauja į serverį – galingą kompiuterį, kuris dirba 24 valandas per parą, 7 dienas per savaitę. Serveris iš esmės yra tas pats kompiuteris kaip ir jūsų namų stalinis ar nešiojamasis, tik sukurtas visai kitokiam darbui. Jis neturi gražaus ekrano, pelės ar klaviatūros – jam to nereikia. Serverio paskirtis viena: aptarnauti kitus kompiuterius, tiekti jiems duomenis ir vykdyti užklausas.

Įsivaizduokite biblioteką. Jūs ateinat ir prašote konkretaus žurnalo. Bibliotekininkas eina, suranda jį ir atiduoda jums. Serveris veikia panašiai – jis gauna jūsų užklausą (pavyzdžiui, norite atidaryti „Facebook” puslapį), suranda reikiamus duomenis ir atsiunčia juos į jūsų įrenginį. Skirtumas tas, kad serveris gali aptarnauti tūkstančius ar net milijonus tokių „lankytojų” vienu metu.

Serverio aparatinė įranga – kas viduje

Atidarius serverio korpusą, pamatysite komponentus, kurie atrodo pažįstamai, bet yra gerokai galingesni nei įprastame kompiuteryje. Procesorius čia ne vienas – dažnai serveriai turi du, keturis ar net daugiau procesorių, kurie dirba kartu. Tai kaip turėti ne vieną, o kelis smegenis, kurie vienu metu sprendžia skirtingas problemas.

Operatyvioji atmintis serveriuose matuojama ne gigabaitais, o terabaitais. Jei jūsų namų kompiuteryje yra 16 GB RAM ir jums to pakanka, tai serveris gali turėti 256 GB, 512 GB ar net daugiau. Kodėl tiek daug? Nes serveris vienu metu tvarko šimtus ar tūkstančius užklausų, ir kiekviena iš jų reikalauja atminties.

Kietieji diskai serveriuose taip pat ypatingi. Dažniausiai naudojami SSD diskai, kurie veikia žaibiškai greitai, arba specialūs enterprise klasės HDD diskai, sukurti dirbti be perstojo. Svarbiausia – diskai beveik visada sujungiami į RAID masyvus. Tai reiškia, kad jūsų duomenys saugomi keliuose diskuose vienu metu, todėl jei vienas diskas sugenda, informacija neprapuola.

Operacinė sistema ir programinė įranga

Serveriai dažniausiai dirba su Linux operacine sistema – ji nemokama, stabili ir labai lanksti. Populiariausi pasirinkimai: Ubuntu Server, CentOS, Debian arba Red Hat Enterprise Linux. Windows Server taip pat naudojamas, ypač įmonėse, kurios jau turi Microsoft infrastruktūrą, bet Linux dominuoja dėl savo efektyvumo ir saugumo.

Ant operacinės sistemos veikia įvairios serverio programos. Jei tai žiniatinklio serveris, jame bus įdiegtas Apache arba Nginx – programos, kurios priima jūsų naršyklės užklausas ir grąžina tinklapių turinį. Duomenų bazių serveriuose veikia MySQL, PostgreSQL ar MongoDB – sistemos, kurios saugo ir tvarko informaciją. El. pašto serveriuose dirba Postfix ar Exchange, kurie rūpinasi laiškų siuntimu ir gavimu.

Kiekviena tokia programa turi savo specifinę užduotį, ir jos visos kartu sudaro serverio ekosistemą. Administratorius turi užtikrinti, kad visos šios programos veiktų sklandžiai, būtų atnaujintos ir saugios.

Kaip serveris apdoroja jūsų užklausas

Kai įvedate svetainės adresą naršyklėje ir paspaudžiate „Enter”, prasideda įdomus procesas. Pirma, jūsų kompiuteris per DNS (Domain Name System) sistemą sužino, koks IP adresas priskirtas tam domenui. Tai kaip telefonų knyga – jūs žinote vardą, bet reikia rasti numerį.

Gavęs IP adresą, jūsų kompiuteris užmezga ryšį su serveriu. Jie „pasisveikina” naudodami TCP/IP protokolą – tai tarsi sutaria dėl bendravimo taisyklių. Jūsų naršyklė išsiunčia HTTP arba HTTPS užklausą, kurioje nurodo, ko ji nori (pavyzdžiui, pagrindinio puslapio).

Serveris gauna šią užklausą ir pradeda darbą. Jis patikrina, ar turite teisę matyti prašomą turinį, suranda reikalingus failus, galbūt pasiima duomenis iš duomenų bazės, sugeneruoja HTML kodą ir išsiunčia atgal į jūsų naršyklę. Viskas vyksta per kelias milisekundes – greičiau nei spėjate mirktelėti.

Serverių centrai ir jų infrastruktūra

Didžioji dalis serverių gyvena specialiuose pastatuose, vadinamuose duomenų centrais arba serverinėmis. Tai ne paprasti sandėliai – tai aukštos technologijos kompleksai su griežta temperatūros, drėgmės ir saugumo kontrole. Serveriai išskiria daug šilumos, todėl šaldymas yra kritiškai svarbus. Kai kurie duomenų centrai naudoja pažangias šaldymo sistemas su skysčiu, kiti tiesiog stato juos šaltose šalyse, kad sutaupytų energijos.

Elektros tiekimas turi būti nepertraukiamas. Todėl duomenų centrai turi UPS (Uninterruptible Power Supply) sistemas – didžiulius akumuliatorius, kurie palaiko darbą, jei nutrūksta elektra. Taip pat yra dyzeliniai generatoriai, kurie įsijungia per kelias sekundes ir gali maitinti serverius dienomis ar net savaitėmis.

Interneto ryšys taip pat dubliuojamas. Duomenų centrai turi kelių skirtingų operatorių linijas, kad net jei viena sugenda, kitos toliau veikia. Tai vadinama redundancy – pertekliškumu, kuris užtikrina patikimumą.

Virtualizacija ir debesų technologijos

Šiuolaikiniai serveriai retai dirba tik su viena operacine sistema. Dažniausiai naudojama virtualizacija – technologija, kuri leidžia viename fiziniame serveryje paleisti kelis virtualius serverius. Kiekvienas virtualus serveris veikia tarsi būtų atskiras kompiuteris su savo operacine sistema ir programomis.

Tai daroma naudojant hipervizorių – specialią programą, kuri skirsto fizinio serverio resursus tarp virtualių mašinų. Populiariausi hipervizoriai: VMware ESXi, Microsoft Hyper-V ir KVM Linux sistemose. Virtualizacija leidžia efektyviau išnaudoti serverio galią ir lengviau valdyti infrastruktūrą.

Debesų kompiuterija (cloud computing) yra virtualizacijos evoliucija. Vietoj to, kad turėtumėte savo serverius, jūs nuomojatės resursus iš didžiulių debesų paslaugų teikėjų kaip Amazon Web Services (AWS), Microsoft Azure ar Google Cloud. Jie turi tūkstančius serverių, ir jūs galite bet kada padidinti ar sumažinti reikalingus resursus – mokate tik už tai, ką naudojate.

Saugumas ir apsauga nuo grėsmių

Serveriai yra nuolatinių atakų taikiniai. Kiekvieną dieną į juos bando įsilaužti automatinės programos (botai), ieškančios pažeidžiamumų. Todėl saugumas yra ne pasirinkimas, o būtinybė.

Ugniasienė (firewall) yra pirmoji gynybos linija. Ji filtruoja visą įeinantį ir išeinantį srautą, blokuodama įtartinas užklausas. Serveriai taip pat naudoja IDS/IPS sistemas (Intrusion Detection/Prevention Systems), kurios stebi neįprastą veiklą ir gali automatiškai blokuoti atakas.

Programinė įranga turi būti nuolat atnaujinama. Daugelis įsilaužimų vyksta per senus, nepataisytus pažeidžiamumus. Geras administratorius reguliariai tikrina atnaujinimus ir juos diegia, kai tik jie pasirodo. Slaptažodžiai turi būti stiprūs, o dar geriau – naudoti SSH raktus vietoj slaptažodžių.

Atsarginės kopijos (backup) yra absoliuti būtinybė. Net su visomis apsaugomis gali nutikti nelaimė – diskas gali sugesti, programinė klaida gali ištrinti duomenis, arba ransomware virusas gali užšifruoti viską. Reguliarios atsarginės kopijos, saugomos atskirai nuo pagrindinio serverio, leidžia greitai atkurti veikimą po bet kokios katastrofos.

Monitoringas ir priežiūra – kaip serveriai išlieka gyvi

Serveris negali tiesiog stovėti ir dirbti be priežiūros. Administratoriai naudoja monitoringo sistemas kaip Nagios, Zabbix ar Prometheus, kurios nuolat tikrina serverio būklę. Jos stebi procesoriaus apkrovą, atminties naudojimą, disko vietą, tinklo srautą ir daugybę kitų parametrų.

Kai kažkas eina ne taip – pavyzdžiui, diskas beveik pilnas arba procesorius perkrautas – sistema automatiškai siunčia įspėjimą administratoriui. Tai gali būti el. laiškas, SMS žinutė ar pranešimas specialioje aplikacijoje. Tokiu būdu problemos gali būti išspręstos dar prieš tai, kai jos pradeda trukdyti naudotojams.

Logai – serverio veiklos įrašai – yra neįkainojamas informacijos šaltinis. Kiekviena užklausa, kiekviena klaida, kiekvienas įvykis užrašomas į log failus. Kai kažkas sugenda, administratorius pirmiausiai žiūri į logus, kad suprastų, kas nutiko. Yra specialios programos kaip ELK stack (Elasticsearch, Logstash, Kibana), kurios padeda analizuoti milžiniškas log failų krūvas ir rasti reikalingą informaciją.

Ateitis jau čia – kas laukia serverių pasaulyje

Serverių technologijos nuolat tobulėja. Konteinerizacija su Docker ir Kubernetes keičia tai, kaip mes diegiame programas. Vietoj viso virtualaus serverio, galite paleisti tik konteinerį – lengvą, greitą ir lengvai perkeliamą programos paketą su visomis jos priklausomybėmis.

Edge computing – tai idėja perkelti skaičiavimus arčiau naudotojų, o ne laikyti viską centriniuose duomenų centruose. Tai ypač svarbu IoT (daiktų interneto) įrenginiams ir programoms, kurioms reikia labai mažo atsakymo laiko.

Dirbtinis intelektas ir mašininis mokymasis jau dabar naudojami serverių valdymui. Sistemos gali automatiškai optimizuoti resursų paskirstymą, numatyti gedimus prieš jiems įvykstant ir net automatiškai taisyti kai kurias problemas be žmogaus įsikišimo.

Serveriai tapo neatsiejama mūsų skaitmeninio gyvenimo dalimi. Nors dažniausiai jų nematome ir negalvojame apie juos, būtent serveriai leidžia mums naudotis internetu, bendrauti, dirbti ir linksmintis. Suprasdami, kaip jie veikia, galime geriau įvertinti šių technologijų sudėtingumą ir svarbą. O jei kada nors susimąstysite apie karjerą IT srityje, serverių administravimas siūlo įdomų ir perspektyvų kelią – nes kol egzistuoja internetas, serveriai bus reikalingi.