Detaljan tehnički vodič za identifikaciju i dijagnostiku komponenata Linux servera

Article Image

Osnovni pristup identifikaciji i dijagnostici komponenata Linux servera

Ovaj članak daje pregled kako sistematski identifikovati, dijagnostikovati i otkloniti probleme sa hardverskim i softverskim komponentama Linux servera: CPU, memorija, diskovi/RAID, NIC, kontroleri, napajanje/termalni sistemi, kernel i kritični servisi. Cilj su praktični koraci, komande i preporuke za bezbednu proveru, testiranje i verifikaciju nakon intervencije.

Pregled metodologije: kako se sistematski radi dijagnostika

Dijagnostika se odvija kroz prikupljanje baseline metrike, izolaciju problema na hardver ili softver, ciljane testove i verifikaciju nakon popravke. Pre započinjanja obavezni su backup i, po potrebi, maintenance window.

  • Korak 1: Sakupiti inventar i trenutne metrike (CPU, RAM, I/O, mreža).
  • Korak 2: Proveriti kernel/logove (dmesg, journalctl).
  • Korak 3: Izvesti ciljane testove (smartctl, mdadm, ethtool, iostat, perf, iperf3).
  • Korak 4: Analizirati i planirati zamenu ili reset servisa.
  • Korak 5: Verifikacija i monitoring nakon popravke.

Priprema: alati, dozvole i bezbednosne mere

Većina komandi zahteva root/sudo. Instalirajte osnovne alate pre testiranja — primeri za uobičajene distribucije i kratak opis alata.

Instalacija preporučenih alata

Primer za Debian/Ubuntu i RHEL/CentOS (skraćeno):

# Debian/Ubuntu
sudo apt update
sudo apt install -y smartmontools mdadm ethtool sysstat iperf3 perf lm-sensors memtester

# RHEL/CentOS
sudo yum install -y smartmontools mdadm ethtool sysstat iperf3 perf lm_sensors memtester

Smartctl proverava SMART, mdadm radi sa soft-RAID, ethtool ispituje NIC, sysstat meri I/O, perf radi profilisanje, iperf3 testira mrežu, lm-sensors i edac-utils prate temperature i ECC.

Osnovne informacije i baseline komande

Pre bilo kakvih promena zabeležite osnovno stanje i logove.

sudo uname -a
sudo lscpu
sudo free -h
sudo lsblk -f

sudo dmesg --ctime | tail -n 50
sudo journalctl -xe --since "1 hour ago"

dmesg je koristan za hardverske greške; journalctl daje kontekst servisa i sistema.

U nastavku su skraćene, praktične metode za proveru i stres testiranje CPU-a, memorije, diska, mreže i ostalih komponenti.

Provera i stres testiranje CPU-a — komande, analiza i bezbedna procedura

Cilj: potvrditi ispravnost CPU-a, otkriti termalne probleme, preopterećenja i razlikovati hardverske greške od softverskih. Postupak: baseline, pregled logova, kontrolisani stress test i monitoring.

# Alati (primer)
sudo apt install -y stress-ng sysstat perf mcelog

Kraci set koraka:

  • Snimite baseline: lscpu, mpstat -P ALL, top i perf stat za kratko merenje.
  • Proverite kernel/MCE: dmesg | grep -i -E “mce|machine check|CPU” i /var/log/mcelog.
  • Kontrolisani stress: sudo stress-ng –cpu 0 –timeout 10m –metrics-brief; pratite mpstat, sensors i dmesg.

Ako se pojave MCE, konstantno throttling ili visoke temperature, planirajte shutdown i fizičku proveru: montaža hladnjaka, termalna pasta, napajanje. Profilisanje procesa radite sa top -H, perf top i perf record ako je potrebno.

Testiranje memorije i bezbedna zamena RAM modula — dijagnostika, alati i verifikacija

Memorijski kvarovi se manifestuju kao kernel oops, korumpirani podaci ili OOM. Proverite ECC/EDAC greške, pokrenite memtester i, za potpuni test, memtest86+ iz boot menija.

# Alati (primer)
sudo apt install -y memtester memtest86+ edac-utils
  • Pregled: free -h, vmstat, dmesg | grep -i -E “EDAC|ECC|memory|bad memory”.
  • Memtester bez reboot-a: sudo memtester 4G 5; za kompletan test koristite memtest86+ iz BIOS/boot menija (2–4 prolaza).
  • Bezbjedna zamena: planirajte downtime, isključite sistem, koristite antistatik, zabeležite pozicije DIMM-ova, testirajte pojedinačno nakon zamene.

Verifikacija: pratite dmesg/journalctl, ponovite memtester, proverite edac-util i pokrenite aplikacioni stres 24–72h pre povratka u produkciju.

Diskovi i RAID — dijagnostika, popravka i verifikacija

Za diskove koristite smartctl -a /dev/sdX i smartctl -t long za dugotrajni test. Pregledajte logove za I/O greške koje često ukazuju na kablove, portove ili kontroler.

Soft-RAID: pratite cat /proc/mdstat i mdadm –detail /dev/mdX. Proces zamene failed diska: mdadm –manage –fail, –remove i –add; pratite rebuild preko /proc/mdstat.

  • Pre zamene: snapshot/backup i zaustaviti intenzivne servise.
  • Hot-swap: pratite LED/BIOS i vendor uputstva; cold-swap zahteva maintenance window.
  • Nakon zamene: SMART long test, fsck za fajlsistem ili LVM provere (pvscan/pvs/vgs/lvs).

Mrežne kartice (NIC) i mrežna dijagnostika

Osnovne provere: ip link show, ethtool ethX za link, speed i duplex; ethtool -S ethX za statistiku grešaka; dmesg/journalctl za drajver/firmware upozorenja.

Perf test: iperf3 (server i klijent). Ako sumnjate u offload, isključite privremeno ethtool -K ethX gro off tx off rx off i ponovo testirajte. Za zamenu NIC-a proverite drajvere/firmware i izvršite 24–72h monitoring error counter-a i throughput-a.

Kontroleri, HBAs i RAID hardvera

Identifikujte kontrolere sa lspci i vendor alatima; proverite firmware i kontroler logove. Za SAS/SATA HBA pratite PHY greške; za hardware RAID koristite vendor CLI za stanje i rebuild.

  • Sačuvajte konfiguraciju kontrolera i mapping diskova pre zamene.
  • Planirajte downtime ako nema hot-standby; koristite vendor alate za migraciju ili mapiranje.
  • Posle zamene: ažurirajte firmware i proverite da su svi diskovi ispravno prepoznati bez degradacije.

Napajanje (PSU) i termalni sistemi — pregled i bezbedna zamena

Proverite IPMI/logove za voltage/power-good i AC fail; pratite temperature sa lm-sensors ili IPMI senzorima. Ako vidite visoke temperature ili throttling, proverite protok vazduha, filtere i rad ventilatora.

  • Za redundantne PSU prvo isključite jedan i pratite stabilnost pre uklanjanja drugog.
  • Za većinu intervencija isključite AC; hot-swap PSU sledite proizvođačeve smernice.
  • Za zamenu hladnjaka: isključite sistem, očistite stare ostatke termalne paste i nanesite novu prema preporukama; pratite temperature posle ponovnog podizanja.

Kernel, drajveri i kritični servisi — monitoring i oporavak

Pratite dmesg –ctime i journalctl za kerneloops, OOM i panike. Koristite lsmod/modinfo za problematične module. Restart servisa preko systemctl i praćenje sa journalctl -u –follow. Ako je potrebno rollback kernela, osigurajte dostupnost prethodnog kursa za brzi povratak i dokumentujte mitigacije.

Testiranje i verifikacija nakon popravke

Nakon svake zamene pokrenite ciljane testove: SMART long za diskove, mdadm rebuild monitoring, memtester/memtest86+ za memoriju, stress-ng/perf za CPU i iperf3 za mrežu. Intenzivan monitoring 24–72h (iostat, sar, mpstat, dmesg, journalctl) potvrđuje stabilnost.

  • Pratite I/O latencije i throughput (iostat, sar).
  • Proverite error count (smartctl, ethtool -S, edac-util).
  • Izvedite aplikacione smoke testove i DB health checks pre vraćanja u produkciju.

Backup, monitoring i alarmiranje — preporuke

Uvek imati testirane backup kopije i višeslojnu zaštitu: snapshots, replikaciju, vansite kopije. Redovno testirajte restore procedure.

Monitoring treba da pokriva hardver (SMART, EDAC, IPMI), performanse (CPU, mem, I/O, net) i servise (process health, response checks). Definišite pragove i eskalacione politike i testirajte notifikacione puteve.

Checklista / Runbook za operativnu upotrebu

  • Pre intervencije: potvrditi backup, odobrenje maintenance window-a, kontakt osobe i rezervni deo.
  • Dokumentovati baseline: lscpu, free -h, lsblk -f, cat /proc/mdstat, ip link show, dmesg.
  • Izvesti ciljane testove pre zamene: smartctl short, memtester, iperf3, iostat/sar.
  • Bezbedna zamena: antistatik, fotografisanje konekcija, praćenje oznaka diskova/DIMM-ova, postupak hot/cold swap-a.
  • Posle zamene: SMART long test, mdadm rebuild i provera stanja, memtest86+ boot ako je menjana memorija.
  • Verifikacija: 24–72h monitoring, aplikacioni smoke testovi, obaveštavanje stakeholders i zatvaranje tiketa sa izveštajem.
  • Post-mortem: zabeležiti uzrok, korake popravke, izmene u runbook-u i preporuke za prevenciju.

Završne smernice za operativnu praksu

Doslednost u prikupljanju baseline podataka, dokumentacija svakog koraka i disciplinoirano testiranje pre i posle intervencije čine razliku između privremenog rešenja i trajne stabilnosti. Investirajte vreme u automatizaciju provere stanja, redovan testing restore procedura i obuku tima za hitne situacije. Nakon svake intervencije ažurirajte inventar i runbook kako bi naredna intervencija bila brža i bezbednija.