Parhaat työkalut levyn I/O-suorituskyvyn valvontaan Linuxissa


Lyhyesti: Tässä oppaassa käsitellään parhaita työkaluja levyn I/O-toiminnan (suorituskyvyn) seurantaan ja virheenkorjaukseen Linux-palvelimissa.

Tärkeä suorituskykymittari, jota Linux-palvelimella seurataan, on levyn I/O (syöttö/tulostus) -toiminta, joka voi vaikuttaa merkittävästi useisiin Linux-palvelimen osa-alueisiin, erityisesti nopeuteen, jolla tiedostot tai data tallennetaan tai haetaan levyltä (etenkin tietokantapalvelimilla). Tällä on heijastusvaikutus sovellusten ja palveluiden suorituskykyyn.

1. iostat – Näyttää laitteen tulo- ja lähtötilastot

järjestelmänvalvontaapuohjelmat sysstat-paketissa, joka on laajalti käytetty apuohjelma, joka on suunniteltu raportoimaan CPU-tilastoja ja I/O-tilastoja lohkolaitteiden ja osioiden osalta.

Jos haluat käyttää iostatia Linux-palvelimellasi, sinun on asennettava sysstat-paketti Linux-järjestelmääsi suorittamalla Linux-jakelullesi sopiva komento.

$ sudo apt install sysstat          [On Debian, Ubuntu and Mint]
$ sudo yum install sysstat          [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a app-admin/sysstat  [On Gentoo Linux]
$ sudo apk add sysstat              [On Alpine Linux]
$ sudo pacman -S sysstat            [On Arch Linux]
$ sudo zypper install sysstat       [On OpenSUSE]    

Jos haluat näyttää yksinkertaisen laitteen käyttöraportin, suorita iostat -d-komentorivivaihtoehdolla. Yleensä ensimmäinen raportti sisältää tilastot ajasta järjestelmän käynnistymisestä (boot time) ja jokainen myöhempi raportti koskee aikaa edellisestä raportista.

Käytä -x laajennettua tilastoraporttia varten ja -t-merkkiä ottaaksesi ajan käyttöön kullekin raportille. Lisäksi, jos haluat poistaa raportin tulosteesta laitteet, joissa ei ole toimintaa, lisää lippu -z:

# iostat -d -t 
OR
# iostat -d -x -t 

Jos haluat näyttää tilastot kilotavuina sekunnissa lohkoina sekunnissa, lisää -k-lippu tai käytä lippua -m näyttääksesi tilastot megatavuina sekunnissa.

# iostat -d -k
OR
# iostat -d -m

iostat voi myös näyttää jatkuvia laiteraportteja x sekunnin välein. Esimerkiksi seuraava komento näyttää raportit kahden sekunnin välein:

# iostat -d 2

Edelliseen komentoon liittyen voit näyttää n määrän raportteja x sekunnin välein. Seuraava komento näyttää 10 raporttia kahden sekunnin välein. Vaihtoehtoisesti voit tallentaa raportin tiedostoon myöhempää analysointia varten:

# iostat -d 2 10
OR
# iostat -d 2 10 > disk_io_report.txt &

Lisätietoja raporttisarakkeista on iostatin mansivulla:

# man iostat

2. sar – Näytä Linux-järjestelmän toiminta

sar on toinen hyödyllinen apuohjelma, joka toimitetaan sysstat-paketin mukana ja jonka tarkoituksena on kerätä, raportoida tai tallentaa järjestelmän toimintaa koskevia tietoja. Ennen kuin voit aloittaa sen käytön, sinun on määritettävä se seuraavasti.

Ota ensin käyttöön se keräämään tietoja /etc/default/sysstat-tiedostoon.

# vi /etc/default/sysstat

Etsi seuraava rivi ja muuta arvoksi true kuvan mukaisesti.

ENABLED="true"

Seuraavaksi sinun on pienennettävä sysstat cron -töissä määritettyä tiedonkeruuväliä. Oletuksena se on asetettu 10 minuutin välein, voit laskea sen 2 minuutin välein.

Voit tehdä tämän /etc/cron.d/sysstat-tiedostossa:

# vi /etc/cron.d/sysstat

Tallenna tiedosto ja sulje se.

Lopuksi ota käyttöön ja käynnistä sysstat-palvelu käyttämällä seuraavaa systemctl-komentoa:

# systemctl enable --now sysstat.service
# systemctl enable sysstat.service

Odota seuraavaksi 2 minuuttia aloittaaksesi sar-raporttien katselun. Käytä sar-komentoa ja -b-komentorivivaihtoehtoa I/O- ja siirtonopeustilastojen raportointiin ja -d-komentoa raportoimaan kunkin lohkolaitteen toiminta kuvan mukaisesti.

# sar -d -b

3. iotop – Tarkkaile Linux-levyn I/O-käyttöä

Samanlainen kuin iotop, on yksinkertainen apuohjelma, jonka avulla voit seurata levyn I/O-toimintaa ja käyttöä prosessikohtaisesti.

Voit asentaa sen Linux-palvelimellesi seuraavasti (muista suorittaa Linux-jakelullesi sopiva komento):

$ sudo apt install iotop             [On Debian, Ubuntu and Mint]
$ sudo yum install iotop             [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-processs/iotop  [On Gentoo Linux]
$ sudo apk add iotop                 [On Alpine Linux]
$ sudo pacman -S iotop               [On Arch Linux]
$ sudo zypper install iotop          [On OpenSUSE]    

Voit seurata prosessikohtaista I/O-toimintaa suorittamalla iotopin ilman argumentteja seuraavasti. Oletusarvoisesti iteraatioiden välinen viive on 1 sekunti. Voit muuttaa tätä -d-lipulla.

# iotop
OR
# iotop -d 2

iotop näyttää oletusarvoisesti kaikki prosessin säikeet. Jos haluat muuttaa tätä toimintaa niin, että se näyttää vain prosesseja, käytä komentorivivaihtoehtoa -P.

# iotop -P

Käyttämällä -a-vaihtoehtoa voit myös ohjeistaa sen näyttämään kertyneen I/O:n kaistanleveyden sijaan. Tässä tilassa iotop näyttää I/O-prosessien määrän, joka on suoritettu iotopin käynnistämisen jälkeen.

# iotop -P -a

Siinä kaikki, mitä meillä oli sinulle! Haluaisimme tietää mielipiteesi tästä oppaasta tai yllä olevista työkaluista. Jätä kommentti alla olevan palautelomakkeen kautta.

Voit myös ilmoittaa meille työkaluista, jotka mielestäsi puuttuvat tästä luettelosta, mutta jotka ansaitsevat näkyä täällä.