
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.
