"Puffer" (RAM) läuft bei Filecopy über

Kyze

Commander
Registriert
Jan. 2012
Beiträge
2.412
Hallo, ich habe hier ein seltsames Problem mit Großen Filecopys bzw. Images mit Acronis über das Netzwerk.

Es geht um einen Windows Server 2003 (HP ML110, 4GB RAM), ausgestattet mit 4 Festplatten.

2 250GB Festplatten im (onboard-) RAID1 für OS/Anwendungen und 2 2TB Festplatten mit Ordner-Freigaben.

Das Problem tritt auf seit die 2 alten Festplatten (500GB und 1TB) gegen die 2x2TB getauscht wurden.
Alle 4 Platten sind Seagates.

Sobald ein Filecopy über das Netzwerk startet (100mbit) kommt diese Datenrate entsprechend beim Server an und wird auch angezeigt. Ist die zu kopierende Datei nun >3GB, so bricht nach einer Weile die Transferleistung total ein.

Auf dem Server ist dabei zu beobachten:
1. Whärend dem einströmen der Daten über das Netzwerk mit konstant 10mb/s
2. Festplatten I/O ist schwankt zwischen 2-4mb/s
3. Arbeitsspeicher läuft langsam voll
4. Whärend dem Kopiervorgang steigt die CPU-Last für die "Hardware-interrupts" von 0.01 auf 5-10%
5. Arbeitsspeicher-Auslastung geht auf 2.4GB (~2GB hat Windows wahrscheinlich für sich reserviert)
6. Netzwerktransfer bricht auf wenige hundert kb/s ein

Netzwerk ist schnell genug, ein Filecopy auf die C: Platte(n) geht ohne Hindernisse über die Bühne.
Ein interner Kopiervorgang von C: auf eine der großen Platten resultiert in einem Aufhängen des Servers, nach gleichen Schritten wie oben (RAM voll, Kopierleistung bricht ein, nichts reagiert mehr).

Benchmarks (Crystal-Diskmark, Atto) attestieren den Platten durschnittliche Werte.

Gefunden habe ich schon das hier teilweise das deaktivieren des Write-Caches geholfen hat, leider ist der
Reiter bei den Festplatten grau hinterlegt und eine Einstellung nicht möglich.

Irgendetwas ist hier Faul, hat dazu jemand eine Idee?
 
Hoi,

versuch` mal die Daten mit ROBOCOPY zu kopieren, also per Kommandozeile.

z.B. ROBOCOPY.EXE "quelle" "ziel" /E /ZB /COPY:DT /DCOPY:T /r:1 /w:5 /LOG+:"logfile.log" /TEE
 
Hi,

also dein Buffercache (Puffer) kann nicht überlaufen, er kann lediglich voll sein. Sobald dein Betriebssystem z.B. RAM für ein Programm benötigt, wird dieser Puffer direkt geflushed und er steht dem System wieder zur Verfügung. Hier also keine Sorge. Das die RAM Auslastung steigt ist auch erwartungsgemäß - hier kenne ich mich zwar nur im Linux-Kernel aus - allerdings vermute ich auch hier, bedingt durch die Interrupts der Netzwerkkarte (und die damit verknüpften Interrupt-Service-Routines (ISR)), die eingehenden Daten erst in den Kernelspace gepuffert werden, sodass hier tatsächlich aus Sicht des Userser der RAM Verbrauch steigt.

Auch denn dein Disk-Benchmark zeigt, dass deine Platten eine angemessene Leistung liefern, vermute ich das Problem am ehesten beim Wegschreiben der Dateien. Tritt dies Phänomen auch auf, wenn du Daten auf deine Systemplatte schiebst? Sollte es sich bei den 2TB Disks beispielsweise um ein Software-RAID (also ggf. auch ein Mainboard-Fake-RAID) handeln, ist es gut möglich, dass die CPU mit der I/O Leistung von NIC und HDD nicht zurecht kommt. (Würde mich aber schon wundern, wenn ich ehrlich bin.)

Entscheidend kann hier sein, ob du Write-Caches aktiviert hast. Ohne Battery Backup o.Ä. - NICHT empfehlenswert! Wenn diese ausgeschaltet sind, dann dürfen die Caches im Systemkern für die Platten und die Caches der Platten nicht verwendet werden, so bricht die Transferrate EXTREM ein, das wiederum wäre dann Erwartungsgemäß. Prüfe diesen Punkt mal, und teste mal den Transfer auf deine Systemplatte, ob sich dabei irgendwas an dem von dir beschriebenen Verhalten ändert.

Viele Grüße
 
Hallo, danke schonmal für eure Hilfe!

Kopieren mit Robocopy ändert nichts, gleiches Phänomen :(


Beim Schreiben auf die Systemplatten (C:) funktioniert das ganze tadellos.
Alle 4 Platten hängen am Mainboard, der "Raidcontroller" ist Onboard.
Im Post wird der RAID1 angezeigt, die anderen beiden werden wohl als JBOD erkannt.

CPU ist ein Xeon X3210 Quadcore mit 2.13GHz, sollte das ganze doch schaffen.
Die Auslastung steigt whärend dem Kopieren nur marginal, hauptsächlich verursacht durch die Hardware-Interrupts.

Write Cache ist an, Zumindest in den Festplatten-Eigenschaften.
Der Reiter "Richtlininen" ist zwar da, die beiden Optionen allerdings grau hinterlegt, kann hier also nichts verändern (bin als Admin angemeldet).
 
Gibt es nicht die Möglichkeit, die Festplatten von Windows als RAID zu deklarieren? Ich weiß nicht, ob nicht der Onboard-Controller Windows da irgendwie in die Parade fährt. Allerdings ist das rein spekulativ. Also meiner Einschätzung nach passiert bei dir folgendes.

1. Transfer übers Ethernet -> wird vom Betriebssystem in den Memory gepuffert
2. Der Memory kann die eingehenden 100Mbit problemlos puffern (parallel wird (langsam) auf die Disk geschrieben) -> der Puffer läuft voll
3. Da der Puffer voll ist, muss der Transfer über das Netz direkt auf die Platte -> der Transfer wird langsam

Daraus ergibt sich:
a) Das Netzwerk funktioniert einwandfrei
b) Dein Betriebssystem tut seinen Job wie es soll
c) Dein Storage ist irgendwie inkorrekt konfiguriert (denn deine Systempartition ist von diesem Symptom nicht betroffen)

Mein vorgehen wäre:
A) Das JBOD zerlegen -> Die Disk mal als single Volume einbinden und testen.
B) Wenn dieser Test Besserung schafft suchen, ob es dazu was in der Knowledge Base von HP gibt.
C) Das JBOD als Array unter Windows konfigurieren.

Mehr wüsste ich hier allerdings auch nicht.
 
Selbst wenn Tools wie Teracopy das ganze umgehen könnten, wäre dies keine ordentliche Lösung.
Denn Acronis bekommt beim laufenden Image irgendwann ein Timeout, wahrschienlich weil
der Server irgendwann einfach die Daten abweist weil er zu voll wird.

Ich werde nochmal versuchen die beiden Festplatten als jeweils einzelnes Array anzulegen,
dazu sichere ich das ganze erst nochmal, damit mir hier nichts verloren geht.
 
GuaRdiaN schrieb:
Gibt es nicht die Möglichkeit, die Festplatten von Windows als RAID zu deklarieren?
A) Das JBOD zerlegen -> Die Disk mal als single Volume einbinden und testen.
C) Das JBOD als Array unter Windows konfigurieren.

Kyze schrieb:
Ich werde nochmal versuchen die beiden Festplatten als jeweils einzelnes Array anzulegen,
Was soll das alles? das sind doch Einzelplatten (non-RAID, wenn man dem Erstpost Glauben schenkt)
An welchem Controller hängen die denn überhaupt? (Gerätemanager, Ansicht "nach Verbindung")
1. Whärend dem einströmen der Daten über das Netzwerk mit konstant 10mb/s
2. Festplatten I/O ist schwankt zwischen 2-4mb/s
3. Arbeitsspeicher läuft langsam voll
Bei der Verteilung kein Wunder, weil dann ja 6-8MB/s im Speicher gequeued und nicht zeitgerecht abgearbeitet wird.
4. Whärend dem Kopiervorgang steigt die CPU-Last für die "Hardware-interrupts" von 0.01 auf 5-10%
was auf ein Treiberproblem hinweisen könnte...
Welche sind im Einsatz? (Eigenschaften Controller/Treiber)
 
Zuletzt bearbeitet:
So weiter gehts:

Die Platten sind nun als "Single Disk" konfiguriert.

Alle 4 Platten hängen an den onboard-SATA-Anschlüssen, werden damit auch alle vom Raid-Controller verwaltet.

Die Platten hängen laut dem Gerätemanager an dem "Adaptec Serial ATA HostRAID".
Treiber ist der 1.5.17023.0, vom 18.10.2010.

Was noch auffällig ist, im Gerätemanager werdendie Platten als SCSI Disk angezeigt,
scheint vom Controller wohl so an Windows durchgegeben zu werden.

Danek für die bisherige Hilfe!
 
Ist das Problem denn jetzt behoben?

Das sich Deine Aussagen widersprechen, ist Dir schon ausgefallen?
Kyze schrieb:
Alle 4 Platten hängen an den onboard-SATA-Anschlüssen
Dann aber:
Kyze schrieb:
Die Platten hängen laut dem Gerätemanager an dem "Adaptec Serial ATA HostRAID".
Das scheint zu stimmen, denn:
Kyze schrieb:
im Gerätemanager werdendie Platten als SCSI Disk angezeigt
 
Nein Problem besteht leider immernoch.

Ja, das da teilweise was nicht stimmig ist habe ich auch schon gesehen.
Vielleicht drücke ich mir nur unglücklich aus:

Wir haben also 4 SATA Platten in dem HP-Server drinne, 2x 250GB und 2x 2TB.
Alle 4 sind direkt mit dem Mainboard verbunden, wir haben keine zusätzliche Raid-Karte.
Der Raidcontroller ist ein Onboard und wurde erst im Nachhinein im BIOS aktiviert.

Das Raidsystem basiert dabei wohl auf einem Adaptec-Chip.

Woher die Aufzählung als SCSI im Gerätemanager kommt kann ich mir allerdings nicht
logisch herleiten.
 
Wird wohl ein HP Proliant Server sein, hab auf solchen schon onboard-RAID Controller von Adaptec gesehen (wenn mich meine Erinnerung nicht täuscht).
Wie sieht das Maschinchen denn tatsächlich aus? Schon mal nach aktuellerem Treiber gelugt?
Lass mal beim Daten übertragen das Progrämmchen "DPC Latency Checker" laufen, sollte unter 2k3 auch funktionieren.
Wenn sich bei Datenübertragungen schön hohe rote Balken zeigen, bremst ein Treiber das System aus.
Herauszufinden welcher, wäre dann mit einem anderen Tool möglich...
 
Zuletzt bearbeitet:
Ja, es ist ein Proliant ML110 G5.
Treiber für den SATA-Controller sind auf dem aktuellsten von HP angebotenen Stand.

DPC Latency-Checker bleibt durchweg grün, geht nichtmal in den gelben Bereich.

Heute morgen lief chkdsk (aus einem anderen Grund, parameter waren /r und /f) whärend des
laufs ließen sich auf der Platte lese und Schreibraten von bis 200mb/s feststellen.

Netzwerk-kopiervorgänge lassen den RAM weiterhin vollaufen bis zum lockup.
 
Dann solltest Du mal versuchen herauszufinden, was die Schreibvorgänge während des Kopierens so ausbremst. Das sind doch bei einem 100MBit Netzwerk nur gut 10MB/s, die müsste eine HDD doch recht locker wegschreibe, selbst wenn der Virenscanner da noch mal nach dem Rechten sieht.

Hast Du mal mit netstat -e geschaut ob es da Fehler im Netz gibt? Obwohl, dass könnte eigentlich nicht damit zu tun haben.
 
Netzwerkfehler kann ich fast ausschliessen, da es am Switch keine Meldungen gibt über verworfene Pakete oder ähnliches und der Server Daten aus GBit Netzwerk auf die C-Platten mit voller Geschwindigkeit schreiben kann.

Das andere was du erwähnt hattest: wie komme ich denn am besten "hinter" den Kopiervorgang, sodass ich schauen kann wo beim Schreiben der Durchsatz verloren geht ?
So weit "unten" war ich noch nicht unterwegs, irgendwelche Tools die mir dabei helfen können ?

Nochmal danke für deine Hilfe und Geduld :)
 
Sorry, aber da muss ich passen, wenn Windows und Server sind für mich zwei unüberbrückbare Gegensätze und meine Server laufen alle unter Linux / Solaris.
 
Andreas75, brauche ich MS SQL und IIS? Nein! Da gibt es bessere Alternativen und die laufen unter echten Server Betriebssystemen.
 
Okay, schade..

Hat vielleicht sonst noch jemand eine Idee ?
Irgendwie stecke ich damit total in der Sackgasse :(
 
Zurück
Oben