• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Disk- und Netzwerk-Monitoring

PatrickBaer

Well-Known Member
Themenstarter #1
Guten Morgen,

ich hab hier aus Neugier heraus auf einem gerade freien Server FBSD 7.2 installiert, ein ZFS mit 16T eingehängt, 2Gbit (2x1Gbit bond) Netzwerk und mach gerade ein Backup des Fileservers. Ist aber gääääääääääääääääääääähnend langsam. In 16 Stunden sind es jetzt gerade mal 1,2 T die rüber sind. Auch unter Last nicht ok, schließlich hatte er die ganze Nacht Zeit.

Was lässt sich da empfehlen, um den Flaschenhals zu finden? systat gibt nicht viel her, eine Transferrate von 5MB/s auf den einzelnen Platten (im ZFS) ist nicht gerade das, was ich so erwartet habe! Und wie komm ich an die Netzauslastung?

Ach ja, und falls jemand Tools für diese Aufgaben unter Debilian findet, wäre auch nett, das läuft auf dem Fileserver ;)

Merci
 
#2
systat -if
zpool iostat
gstat
top -m io

Du sagst nicht, womit das Backup gemacht wird. Hast du schonmal Netzdurchsatz mit netblast oder sowas getestet? Wie ist die System load verteilt? etc.

Im Prinzip fehlen saemtliche Angaben ....
 

PatrickBaer

Well-Known Member
Themenstarter #3
Ja wenn Du die wissen willst :)

systat -if:
/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10
Load Average

Interface Traffic Peak Total
lagg0 in 7.083 MB/s 7.083 MB/s 131.883 MB
out 219.369 KB/s 219.369 KB/s 292.630 MB

lo0 in 0.000 KB/s 0.000 KB/s 6.791 KB
out 0.000 KB/s 0.000 KB/s 6.791 KB

em1 in 7.083 MB/s 7.083 MB/s 94.922 MB
out 0.120 KB/s 0.120 KB/s 10.671 MB

em0 in 0.273 KB/s 0.273 KB/s 37.705 MB
out 219.489 KB/s 219.489 KB/s 303.300 MB

zpool iostat:
capacity operations bandwidth
pool used avail read write read write
---------- ----- ----- ----- ----- ----- -----
tank 1.37T 10.9T 1 180 130K 16.1M

gstat -b:
dT: 1.000s w: 1.000s
L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name
0 0 0 0 0.0 0 0 0.0 0.0 fd0
0 0 0 0 0.0 0 0 0.0 0.0 da0
0 0 0 0 0.0 0 0 0.0 0.0 acd0
0 0 0 0 0.0 0 0 0.0 0.0 da0s1
15 13 0 0 0.0 12 1293 360.9 73.2 da1
0 0 0 0 0.0 0 0 0.0 0.0 da0s1a
0 0 0 0 0.0 0 0 0.0 0.0 da0s1b
0 0 0 0 0.0 0 0 0.0 0.0 da0s1c
0 0 0 0 0.0 0 0 0.0 0.0 da0s1d
13 11 1 64 14.3 9 1152 464.6 97.3 da2
8 6 0 0 0.0 5 640 586.9 51.6 da3
0 26 0 0 0.0 25 3077 14.5 3.9 da4
0 27 0 0 0.0 26 2957 17.2 4.6 da5
0 28 0 0 0.0 27 2963 15.5 5.4 da6
0 27 0 0 0.0 26 2585 15.7 6.0 da7

Top:
last pid: 4611; load averages: 0.27, 0.15, 0.13 up 1+01:07:48 09:45:57
25 processes: 1 running, 24 sleeping
CPU: 0.0% user, 0.0% nice, 0.0% system, 0.1% interrupt, 99.9% idle
Mem: 350M Active, 48M Inact, 311M Wired, 520K Cache, 112M Buf, 2545M Free
Swap: 4096M Total, 4096M Free

PID USERNAME VCSW IVCSW READ WRITE FAULT TOTAL PERCENT COMMAND
1613 root 0 0 0 0 0 0 0.00% ssh
1617 root 0 0 0 0 0 0 0.00% rsync
1612 root 0 0 0 0 0 0 0.00% rsync
801 root 0 0 0 0 0 0 0.00% sendmail
4329 pba 1 0 0 0 0 0 0.00% sshd
813 root 0 0 0 0 0 0 0.00% cron
652 root 0 0 0 0 0 0 0.00% syslogd
4337 root 0 0 0 0 0 0 0.00% bash
4325 root 0 0 0 0 0 0 0.00% sshd
807 smmsp 0 0 0 0 0 0 0.00% sendmail
4611 root 1 0 0 0 0 0 0.00% top
4331 pba 0 0 0 0 0 0 0.00% sh
4333 root 0 0 0 0 0 0 0.00% csh
4332 pba 0 0 0 0 0 0 0.00% su
852 root 0 0 0 0 0 0 0.00% getty
856 root 0 0 0 0 0 0 0.00% getty
855 root 0 0 0 0 0 0 0.00% getty
853 root 0 0 0 0 0 0 0.00% getty
858 root 0 0 0 0 0 0 0.00% getty
859 root 0 0 0 0 0 0 0.00% getty
854 root 0 0 0 0 0 0 0.00% getty
857 root 0 0 0 0 0 0 0.00% getty
795 root 0 0 0 0 0 0 0.00% sshd
598 root 0 0 0 0 0 0 0.00% devd
139 root 0 0 0 0 0 0 0.00% adjkerntz

Es ist ein ganz einfach rsync -aru sender empfänger, ansonsten läuft überhaupt nichts.

Täusche ich mich oder ist das zfs einfach grottenlangsam? hab mal ein cp nebenbei laufen lassen, über 2MB pro Platte komme ich nicht (wobei es keine physikalischen PLatten sind sondern Teile von 2 x 6TB Raids.
 

cla

IRC: Qyx
#4
Auch wichtig zu wissen: Wie viele Platten über wie viele separate Controller/Kanäle angeschlossen an welchen Bus. Welcher Typ von Daten (viele kleine oder wenige große), welche Backupsoftware.
Welches Raid-Level?
Was sagt "bonnie++" für die Performance des zpools?
Wieviel RAM hat die Kiste? FBSD 64bit?

Auch evtl. mal FBSD 8.0 RC2 ausprobieren...in RC1 und RC2 sind einige ZFS Änderungen eingeflossen.
 

PatrickBaer

Well-Known Member
Themenstarter #5
3ware 9550 Karte mit 16 Ports und einem Raid5 drauf. Das andere Raid ist ein externes Adaptec mit nem iSCSI. 32bit mit 4G.

Ich werd jetzt mal 8.0 64 bit draufbasteln und sehen was ist. Wie gesagt, wenn der Arecacontroller kommt wird er eh plattgemacht, von daher fummel ich da jetzt ned sooo lange rum. Hätte nur gerne wieder ein funktionierendes Backup. Controller soll am 16. kommen und so wie es jetzt läuft ist der Kontroller vor dem 6 Terra da :)
 

cla

IRC: Qyx
#6
Hm...ich hab auch selbigen 3Ware....allerdings alle Disks als Einzeldisks im Controller konfiguriert und die Raidfunktionalität dann über ZFS realisiert.
Die Performance ist auch noch nicht überragend...was ich aber auf den ZFS Code iin 7.2 schiebe...ich liege jedoch trotzdem zwischen 12-45 MB/s rum bei einem RaidZ2 über 5 Platten.
Wichtig bei den 3Ware Controllern: Schreibcache einschalten (natürlich nur bei vorhandener BBU). Ohne Schreibcache sind die 3Ware wirklich immer SEHR langsam.

Bei einem anderen Server hab ich nen Adaptec SAS/Sata Controller drin und ein RaidZ2 über 6 Platten mit FBSD 8 RC1...das rennt dann echt ganz nett (Transferraten von 200 MB sind da durchaus drin.)
 

PatrickBaer

Well-Known Member
Themenstarter #8
Sodele, gestern abend kam der Fehler noch recht deutlich raus. Eine Platte im Eimer, die andere in den letzten Zügen, es kamen haufenweise recovery-Meldungen

Hab dann das Array gelöscht und ohne die beiden neu angelegt. So sieht die Sache etwas besser aus:

[root@vader /usr/home/pba]# gstat -b
dT: 1.000s w: 1.000s
L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name
1 63 0 0 0.0 61 5800 12.3 9.4 da1
2 80 0 0 0.0 79 5623 17.2 22.8 da2
0 69 0 0 0.0 68 5589 12.2 12.0 da4
0 48 0 0 0.0 47 5771 17.5 12.2 da5
0 55 0 0 0.0 54 6194 18.0 10.2 da6
0 44 0 0 0.0 43 4658 18.1 11.0 da7
1 71 0 0 0.0 70 4725 16.1 22.8 da3


Und das Netz ist auch etwas beschäftigter:

/0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /10
Load Average ||||||

Interface Traffic Peak Total
lagg0 in 33.152 MB/s 36.472 MB/s 3.080 GB
out 1.184 MB/s 1.290 MB/s 1.072 GB

lo0 in 0.000 KB/s 0.000 KB/s 20.651 KB
out 0.000 KB/s 0.000 KB/s 20.651 KB

em1 in 0.996 KB/s 1.136 KB/s 27.153 MB
out 1.184 MB/s 1.290 MB/s 1.080 GB

em0 in 33.151 MB/s 36.472 MB/s 3.054 GB
out 0.120 KB/s 0.120 KB/s 8.006 MB


Was ich aber nicht so ganz kapier:

em0 zeigt 3.054GB incoming. Klingt gut für ein rsync "in den Rechner rein". Aber wieso schreibt er 1.080GB outgoing?

Das Phänomen "Link #2 wird nur bei Überlauf des Link #1 aktiviert habe ich übrigens auf den anderen Rechnern auch, das scheint der Netgear-Switch so zu machen"

Und überhaupt passt mir das alles noch nicht so ganz. Der andere Rechner hat sechs Interfaces, der hier zwei, beide haben ein Raid 5 mit nicht langsamen Controllern drin und er schafft in zehn Stunden trotzdem nur 1.0 TB. 100G pro Stunde ist nicht wirklich das was ich mir so ausgemalt hab!
 

PatrickBaer

Well-Known Member
Themenstarter #9
/dev/disk/by-id/scsi-1AMCC_U1401549CBECE900076E:
Timing cached reads: 4856 MB in 2.00 seconds = 2429.64 MB/sec
Timing buffered disk reads: 162 MB in 3.03 seconds = 53.53 MB/sec

Das ist die Performance auf dem Fileserver, der noch dazu unter Last steht...

Ich hab mal testweise cp über nfs probiert, das dürfte schneller sein oder?
 

PatrickBaer

Well-Known Member
Themenstarter #10
Also auf RC3 läuft bonnie auch nicht gerade riesig:

Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
vader.animoto 6624M 69 99 51786 16 27258 8 187 99 52551 7 106.9 3
Latency 122ms 1798ms 912ms 53980us 162ms 929ms
Version 1.96 ------Sequential Create------ --------Random Create--------
vader.animoto.inter -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
2 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
 

kira12

Well-Known Member
#11
Das Phänomen "Link #2 wird nur bei Überlauf des Link #1 aktiviert habe ich übrigens auf den anderen Rechnern auch, das scheint der Netgear-Switch so zu machen"
Ich kann dir den namen gerade nicht sagen, aber es gibt eine Betriebsart für Bonding die ist (für den Switch) transparent, Ausfallsicher und symetrisch auf alle Ports verteilt :-) Versuche diese mal zu nutzen, auch bei der Gegenstelle.

Gruß ré