Erinevus lehekülje "Vahendid kettatestiks" redaktsioonide vahel
(→Bonnie) |
(→Bonnie) |
||
65. rida: | 65. rida: | ||
Failisüsteemi ja plokkseadme testiks sobib öelda nt | Failisüsteemi ja plokkseadme testiks sobib öelda nt | ||
− | $ bonnie -s 1g -d /srv/gfs2/bonnie1 -u priit -q > /tmp/gfs2-iscsi-1g-1.log | + | $ bonnie -s 1g -d /srv/gfs2/bonnie1 -u priit -n 128:8192:1024 -q > /tmp/gfs2-iscsi-1g-1.log |
kus | kus | ||
73. rida: | 73. rida: | ||
* -u - millise kasutajana testitakse, sama kasutaja omanduses peab olema kataloog | * -u - millise kasutajana testitakse, sama kasutaja omanduses peab olema kataloog | ||
* -q - esitada väljund mitte terminalil lugemist hõlbustavate kommentaaridega, vaid arvestusega, et seda teisendatakse bon_csv2html utiliidiga html kujule | * -q - esitada väljund mitte terminalil lugemist hõlbustavate kommentaaridega, vaid arvestusega, et seda teisendatakse bon_csv2html utiliidiga html kujule | ||
+ | * -n - failide tekistamise/kustutamise testi tehakse 128*1024 failiga, mille suurused on vahemikus 1kB - 8kB | ||
====Bonnie väljundi HTML kujule teisendamine==== | ====Bonnie väljundi HTML kujule teisendamine==== |
Redaktsioon: 29. mai 2011, kell 22:09
Toores. Ehk seda pala võib täiendada.
Sisukord
dd programmi kasutamine
Alustuseks kõige lihtsam lugemise ja kirjutuskiiruse testimise utiliit
# dd if=/dev/sdb of=/dev/sdb bs=1M skip=102400 seek=524288 count=1024
kus
- if ja of näitavad, et kopeeritakse samalt plokkseadmelt samale plokkseadmele
- bs - lugemisel ja kirjutamisel kasutatakse 1 megabait suurusi tükke
- skip - lugemist alustatakse 102400'se 1M bait kauguselt plokkseadme algusest
- seek - kirutama hakatatase 524288 1M bait kaugusel plokkseadme algusest
- count - loetakse ja kirjutatakse 1024 1M bait suurusi tükke
Loeme kettaseadmelt /dev/sda ühe Gb jagu infot
# dd if=/dev/sda of=/dev/null bs=1024k count=1024 1000+0 records in 1000+0 records out 1048576000 bytes (1.0 GB) copied, 17.0656 s, 61.4 MB/s
dd käsku võib peal juurutada ntx nii:
kirjutamine, ketta algusse ja lõppu
dd bs=1024K count=1024 if=/dev/zero of=/dev/hdc dd bs=1024K count=1024 if=/dev/zero of=/dev/hdc seek=75000
lugemine, ketta algusest ja lõpust
dd bs=1024K count=1024 if=/dev/hdc of=/dev/null dd bs=1024K count=1024 if=/dev/hdc of=/dev/null skip=75000
Kui blocksize suurus anda rohkem kui operatsioonisüsteemil on kasutada mälu, õigemini vaba mälu, siis ta hakkab tõenäoliselt swappima ja tulemus moondub või ei tööta üldse. Selles osas tasub jälgida vmstat väljundit.
Linux hdparm
# hdparm -tT /dev/sda /dev/sda: Timing cached reads: 8688 MB in 2.00 seconds = 4349.14 MB/sec Timing buffered disk reads: 174 MB in 3.00 seconds = 57.91 MB/sec
Bonnie
Bonnie abil on mõeldud teha kahte tüüpi kettaseadet ja failisüsteemi iseloomustavaid teste, vt /usr/share/doc/bonnie++/readme.html
- IO läbilase - emuleerib nt andmebaaside käitumist, mis seisneb suhteliselt suurte failide kirjutamises ja lugemises
- failide tekitamine/kustutamine - emuleerib nt Squid programmi käitumist, mis seisneb paljude pisikeste failide tekitamises ja kustutamises
Kirjutus ja lugemistestid
# /usr/local/bin/bonnie File './Bonnie.81484', size: 104857600 Writing with putc()...done Rewriting...done Writing intelligently...done Reading with getc()...done Reading intelligently...done Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done... -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 163734 81.9 280862 22.1 384488 57.6 127538 97.3 2539304 98.2 214041.1 253.4
Failisüsteemi ja plokkseadme testiks sobib öelda nt
$ bonnie -s 1g -d /srv/gfs2/bonnie1 -u priit -n 128:8192:1024 -q > /tmp/gfs2-iscsi-1g-1.log
kus
- -s - testis kasutatav andmemaht, peab olema vähemalt kaks korda enam kui arvuti RAM
- -d - millist kataloogi kasutatakse testil, peab asuna huvipakkuval plokkseadmel
- -u - millise kasutajana testitakse, sama kasutaja omanduses peab olema kataloog
- -q - esitada väljund mitte terminalil lugemist hõlbustavate kommentaaridega, vaid arvestusega, et seda teisendatakse bon_csv2html utiliidiga html kujule
- -n - failide tekistamise/kustutamise testi tehakse 128*1024 failiga, mille suurused on vahemikus 1kB - 8kB
Bonnie väljundi HTML kujule teisendamine
$ bon_csv2html < /tmp/gfs2-iscsi-1g-1.log > /tmp/gfs2-iscsi-1g-1.html
Kui test võtab aega vähem kui 500ms, siis tulemus esitatakse + märkidena.
Raidist ja selle töökiirusest
raid1 on mirror, ehk paarisarv kettaid on pandud üksteist mirrordama
raid0 on stripe ehk siis hulk kettaid on järjestikku ühendatud üheks kettaks, failisüsteem on venitatud üle kõigi ketaste, plussiks on, et see virtuaalne suur ketas töötab kõigi lisatud ketaste kiiruse summana (tegelikult natuke vähem sest kaod on) miinuseks on see, et kui 1 ketas rikneb läheb kogu failisüsteem päästmatult puruks. Kiiremaks muutub raid0 andmed on jaotatud mööda mitut ketast, arvuti lugeda ühe fali blokke korraga nii ühelt kui teiselt kettalt liites nii erinevate ketaste kiirused. Kirjutades kettale jagatakse aga juba automaatselt baidid laiali.
raid10 on kombineeritud 1 ja 0, võetud näiteks neli ketast...jagatud kaheks paariks, need omavahel mirrordatud ja saadud kaks virtuaalset ketast omakord ühendatud kokku stripeks. tulemuseks üks virtuaalne seade mis esiteks on kiire ja teiseks võib sealt korraga 2 ketast hapneda
raid5 on ka veel olemas
Ketaste raidi lisamiseks on olemas kaks võimalust nn softwareline raid ja tarkvaraline. Esimesel juhul teeb töö ära tarkvara teisel juhul eraldi arvutisse pistetud kaart enda kiipidega.
Ei maksa täielikult tõepähe võtta, aga umbkaudu sellised katsetulemused Sulgudes toodud ketaste arv
- RAID10(4) on kiiruse poolest sama mis RAID0(2).
- RAID0 iga lisandunud ketas annab kiirust juurde 0,9 - 0,7
- RAID1(2) on ~5% aeglasem ühest kettast
- RAID5(5) lugemine on kiire, umbes nagu RAID0(4), kuid kirjutamine aeglane, midagi nagu RAID1(2)
Ketaste kloonimine
Kui kettad mida kloonitakse on ühe suurusega siis kõige lihtsam on võtta kaks ketast ja panna need ühe füüsilise arvuti külge ning anda seejärel käsklus
# dd if=/dev/ketas1 of=/dev/ketas2
Kui aga seda mingil põhjusel teha ei saa ning on vaja kloonida üle võrgu, võib talileda järgnevalt
Esiteks oleks vaja mõlemad arvutid mida soovime kloonida bootida üles mingi unixilaadse opsüsteemiga. Sobib hästi mõni Linuxi livecd näiteks sysrescsd http://www.sysresccd.org/Screenshots
1. arvutis, kus ketas mida soovime kloonida ümber, anname käsud
nc -l -p 3000 | dd of=/de/sda
2. arvutis milles tühi ketas
dd if=/dev/sda | nc 192.168.1.5 3000
Installitud peab eelnevalt olema netcat