Komponente Linux servera: praktičan vodič za CPU, RAM i diskove (RAID)

Article Image

Komponente Linux servera: zašto CPU, RAM i skladište zaslužuju poseban pristup

Razumevanje komponenata Linux servera je osnova za stabilan i siguran rad produkcionih sistema. Ovaj vodič objašnjava uloge procesora (CPU), radne memorije (RAM) i skladišta (diskovi/RAID), daje praktične komande za proveru i predlaže ključne metrike i osnovne sigurnosne smernice za brzo dijagnostikovanje i rešavanje problema.

Procesor (CPU): uloga, provera i osnovna optimizacija

CPU izvršava kod i određuje kapacitet za obradu zahteva. Pratite broj jezgara, frekvenciju, load average, CPU utilization i steal time u virtuelnim okruženjima.

Provere i komande

Osnovne komande za brzu dijagnostiku:

sudo lscpu
cat /proc/cpuinfo | grep -E 'model name|cpu cores|siblings'
top
mpstat -P ALL 1 3

lscpu daje statiku, top i mpstat pokazuju trenutne opterećenja i pomažu da identifikujete bottleneck ili zlonameran proces.

Metrike i sigurnosne preporuke

  • Pratiti load average u odnosu na jezgra — load > broj jezgara ukazuje na zagušenje.
  • Paziti na steal time u virtuelizovanim okruženjima — visoki steal znači da host deli resurse.
  • Ograničavati resurse kritičnih servisa pomoću cgroups/systemd (CPUQuota) i kontrolisati privilegije procesa.

RAM i swap: kapacitet, podešavanja i monitoring

RAM utiče na performanse i keširanje; swap služi kao rezervni prostor ali prekomerno swapovanje usporava sistem.

Provere i komande

free -h
cat /proc/meminfo | head -n 10
vmstat 1 5

free brzo daje stanje memorije; vmstat pomaže da detektujete intenzivno swapovanje ili nedostatak memorije.

Preporuke i rešavanje problema

  • Za moderne servere swap od 4–8 GB često je dovoljan; prilagodite prema radnom opterećenju i testirajte restore scenarije.
  • Smanjite swappiness ako želite da sistem više koristi RAM:
    sudo sysctl vm.swappiness=10

    Trajno u /etc/sysctl.conf.

  • Nepromenljive operacije na swap/particijama raditi samo uz backup.

Diskovi i RAID: vrste, provere i osnovne smernice

Diskovi su trajno skladište; RAID daje redundanciju/perfomanse. Znajte da li imate HDD/SSD, particije i softverski (mdadm) ili hardverski RAID.

Komande za proveru stanja diska i RAID-a

lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
sudo fdisk -l
cat /proc/mdstat
sudo mdadm --detail /dev/md0
sudo smartctl -a /dev/sdX

lsblk/fdisk su neinvazivni pregledi; /proc/mdstat i mdadm pokazuju stanje niza; smartctl pruža SMART podatke o zdravlju diska.

  • Pratite IOPS i latenciju (iostat), SMART i redovno testirajte backup pre povraćaja podataka.
  • Imati plan za zamenu diska — testirajte rebuild vremena i pratite degradirane nizove.

Mrežne kartice (NIC): konfiguracija, provere i nadzor

NIC utiče na sve komunikacije; pratite link speed, greške, drops, offload podešavanja i interrupt balans.

Brze komande za dijagnostiku

ip link show
ip -s link show eth0
ethtool eth0
ethtool -S eth0
cat /proc/interrupts | grep eth0

# Test performansi:
# Server: iperf3 -s
# Klijent: iperf3 -c server_ip -P 8

Metrike i preporuke za nadzor

  • Pratiti bandwidth, RX/TX rate i broj drop-ova; alarmovati na nagle promene.
  • Upozorenje pri promeni link speed-a (npr. 10Gbps -> 1Gbps).
  • Ako je bottleneck na IRQ/CPU, razmotrite RSS/RPS ili podešavanje offload-a.

Bezbednosne preporuke i rešavanje problema

  • Onemogućite nepotrebne interfejse i portove; koristite VLAN/ACL za upravljanje.
  • Za bonding koristite odgovarajući mode (active-backup za redundanciju, LACP za agregaciju):
    sudo ip link add bond0 type bond mode active-backup
    sudo ip link set eth0 master bond0
    sudo ip link set eth1 master bond0
    sudo ip link set bond0 up
  • Pri RX/TX errors proverite kabl/port, SFP/CU i MTU/offload podešavanja.

Napajanje i hlađenje: monitoring, provere i hitne procedure

Stabilno napajanje i dobar protok vazduha su ključni za integritet servera; senzori i UPS moraju biti u monitoring sistemu.

Komande i alati

sudo sensors
sudo ipmitool sdr
sudo ipmitool chassis power status
upsc myups@localhost

Metrike i preporuke

  • Pratite CPU temp, inlet temp i RPM ventilatora; alarm pre kritične vrednosti (npr. ~10°C ispod Tj max).
  • Monitorišite PSU redundanciju preko IPMI/SNMP i redovno testirajte UPS.
  • Testirajte failover napajanja i ograničite pristup BMC/IPMI na management VLAN; ažurirajte firmware.

Kernel i systemd: podešavanja, komande za proveru i rešavanje čestih problema

Kernel i systemd utiču na stabilnost i kontrolu resursa; pratite logove i ograničite resurse gde treba.

Brze provere

uname -sr
sudo dmesg | tail -n 50
sudo journalctl -b -p err
systemctl --failed
systemd-analyze blame

Metrike, podešavanja i rešavanje problema

  • Pratiti OOM događaje i koristiti MemoryMax/CPUQuota u systemd jedinicama za kritične servise.
  • Sistemska podešavanja (/etc/sysctl.conf) menjati s oprezom i testirati u staging-u.
  • Pri kernel paniku: omogućiti kdump/serial konzolu i vratiti poslednju dobru kernel verziju ako je potrebno.

SSH: sigurna udaljena administracija

Provere i osnovne komande

Proverite status sa sudo systemctl status sshd, testirajte konfiguraciju sa sshd -T i pregledajte aktivne veze sa ss -tulpn | grep ssh. Generišite jake ključeve (ssh-keygen -t ed25519).

Metrike, bezbednost i rešavanje problema

  • Pratite neuspele prijave u /var/log/auth.log ili journalctl -u sshd; koristite rate-limiting i fail2ban.
  • Onemogućite root login i lozinke u sshd_config; koristite AllowUsers/AllowGroups i centralno upravljanje ključevima.
  • Ako se ne možete povezati: proverite firewall, daemon status, rutu/DNS i testirajte sa netcat/tcpdump.

Firewall: politika najmanjeg privilegija

Osnovne provere i alati

Pregledajte pravila sa sudo nft list ruleset ili sudo iptables -L -n -v; za jednostavna okruženja koristite ufw ili firewalld alate.

Metrike, preporuke i rešavanje problema

  • Default policy na DROP i dozvolite samo neophodne portove; logujte odbijene konekcije radi uvida u skeniranja.
  • Koristite stateful pravila i rate-limit za izloženije servise (SSH); sinhronizujte pravila kroz konfiguracioni menadžment.
  • Pri problemima proverite redosled pravila, NAT i da li su pravila učitana pri boot-u.

Web i DB servisi: performanse, sigurnost i održavanje

Praktične provere i podešavanja

Proverite konfiguraciju web servera (nginx -t / apachectl configtest), pratite worker/connection parametre i keepalive. Za baze optimizujte buffer/innodb veličine i max_connections prema resursima.

Metrike, bezbednost i rešavanje problema

  • Pratite HTTP 5xx/4xx, vreme odgovora, broj konekcija i DB latenciju; aktivirajte slow query log i analizirajte spore upite.
  • Implementirajte TLS sa jakim cipherima; za DB koristite najmanje privilegija, bind na odgovarajuće interfejse i enkripciju replikacije/backup-a.
  • Ako servis pada: proverite error logove, dostupne resurse (CPU/RAM/I/O) i connection pool-ove; skalirajte preko load balancera ili replica-setova.

Backup i monitoring: plan, verifikacija i alarmi

Strategija i osnovni alati

Primena pravila 3-2-1: najmanje tri kopije, dva medija, jedna van lokacije. Automatizujte backup (rsync, borg, restic, pg_dump), šifrujte i verifikujte arhive; redovno testirajte restore.

Metrike, alerting i runbook

  • Monitoring obuhvata dostupnost servisa, sistemske metrike, SMART status, stanje RAID niza, mrežne greške i neuspele backup zadatke.
  • Korišćenje Prometheus + node_exporter i Grafana sa alertima u Alertmanager-u omogućava definiranje pragova i eskalacija.
  • Pripremite kratke, testirane runbook-ove za česte incidente (degradirani RAID, failed backup, nedostupni servisi) i redovno proveravajte integritet backup-a.

Kako nastaviti: praksa, automatizacija i održavanje

Rad na Linux serverima je kontinuirani proces: automatski testovi, monitoring sa jasnim alertima i dostupnim runbook-ovima, redovan ciklus ažuriranja u staging-u pre produkcije, i dokumentacija svih promena održavaju sisteme stabilnim i bezbednim. Investirajte vreme u automatizaciju rutinskih zadataka, redovno testirajte backup i planove failover-a, i učite iz incidenta — svaka greška je prilika da unapredite procese.