Internes RSync Backup: Apache lahm...

caomhan

New Member
Hallo Leute,

Seitdem ich bei Hetzner bin habe ich das Problem, dass RSnapshot nicht mehr besonders "lagfrei" lief. Während den kurzen, stündlichen Backups (XX:45 Uhr) gab es bei Seitenaufrufen von Webseiten immer sehr große Verzögerungen (teils bis 20 Sekunden Ladezeit). Aber immer nur zwischen XX:45 Uhr und XX:50 Uhr (+ - 2 Minuten) – während eben das stündliche Backup läuft.

Das Problem in dem Maße besteht erst seitdem ich bei Hetzner den EQ4 besitze.
Vorher war dies bei keinem meiner Virtual / Dedizierten Server so (oder es ist mir nur nicht so aufgefallen).

Hetzner sagt es muss am Script liegen. Also habe ich RSnapshot kurzerhand gegen mein eigenes Script mit RSync ausgetauscht.

Das Script macht genau das, was ich auch mit RSnapshot erreiche. Also an sich genau so gut. Jedoch gibt es noch immer ein paar Verzögerungen zu diesen Zeiten (wenn auch nicht mehr ganz so extrem – aber eben deutlich spürbar).

Also habe ich in meinen Scripten noch "nice" und "ionice" zum Einsatz gebracht. Leider bringen diese beiden auch nicht ganz den gewünschten Erfolg. Die Verzögerungen bestehen noch immer.

Auch die Festplatten habe ich vor einiger Zeit mit einem Tool getestet und ausgewertet (kenne den Namen leider nicht mehr, ist schon etwas länger her). Jedoch auch hier: Die Ergebnisse waren alle gut (von beiden Platten).
Hetzner hat mir das ebenfalls anhand der Ergebnisse bestätigt.

Jetzt nervt es mich doch schon wieder ganz schön arg während meinen Entwicklungsphasen von Webseiten auf dem Server.

Vielleicht hat ja von euch noch jemand eine Idee?
Kann gerne weitere Tests durchführen etc. Werde gleich ggf. auch nochmals diesen HDD Check durchführen und noch beifügen.

Zusammengefasst was ich also schon gemacht habe:

- RSnapshot durch eigenes RSync Script ersetzt
- Nice und IONice zum Einsatz gebracht
- HDDs gecheckt, weisen jedoch gute Werte auf

PS: Ansonsten ist der Server nicht sonderlich ausgelastet. Er hat nur so viel zu tun, dass er nicht einschläft :) Also absolut nicht ausgelastet.

Wäre super, wenn jemand noch einen Vorschlag parat hätte.
Vielen Dank an Alle schon mal für's Zuhören :)

Grüße,
caom


Folgend nun noch die Werte diverser Checks (von damals!) aus der E-Mail die an Hetzner ging:

Code:
########################################
######################################## hdparm -tT /dev/sda
########################################

/dev/sda:
 Timing cached reads:   18990 MB in  2.00 seconds = 9505.11 MB/sec
 Timing buffered disk reads: 326 MB in  3.02 seconds = 108.05 MB/sec

########################################
######################################## hdparm -tT /dev/sdb
########################################

/dev/sdb:
 Timing cached reads:   18510 MB in  2.00 seconds = 9264.23 MB/sec
 Timing buffered disk reads: 318 MB in  3.01 seconds = 105.63 MB/sec

########################################
######################################## smartctl -a /dev/sda
########################################

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.12 family
Device Model:     ST3750528AS
Serial Number:    5VP7RQX4
Firmware Version: CC44
User Capacity:    750.156.374.016 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Fri Jul  8 09:14:30 2011 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
     was completed without error.
     Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
     without error or no self-test has ever 
     been run.
Total time to complete Offline 
data collection:    ( 617) seconds.
Offline data collection
capabilities:     (0x7b) SMART execute Offline immediate.
     Auto Offline data collection on/off support.
     Suspend Offline collection upon new
     command.
     Offline surface scan supported.
     Self-test supported.
     Conveyance Self-test supported.
     Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
     power-saving mode.
     Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
     General Purpose Logging supported.
Short self-test routine 
recommended polling time:   (   1) minutes.
Extended self-test routine
recommended polling time:   ( 153) minutes.
Conveyance self-test routine
recommended polling time:   (   2) minutes.
SCT capabilities:         (0x103b) SCT Status supported.
     SCT Error Recovery Control supported.
     SCT Feature Control supported.
     SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED 
WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   106   099   006    Pre-fail  Always       -  
    10990408
  3 Spin_Up_Time            0x0003   098   098   000    Pre-fail  Always       -  
    0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -  
    4
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -  
    0
  7 Seek_Error_Rate         0x000f   078   060   030    Pre-fail  Always       -  
    65205028
  9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -  
    1558
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -  
    0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -  
    4
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -  
    0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -  
    0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -  
    0
188 Command_Timeout         0x0032   100   099   000    Old_age   Always       -  
    31
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -  
    0
190 Airflow_Temperature_Cel 0x0022   062   057   045    Old_age   Always       -  
    38 (Lifetime Min/Max 21/43)
194 Temperature_Celsius     0x0022   038   043   000    Old_age   Always       -  
    38 (0 19 0 0)
195 Hardware_ECC_Recovered  0x001a   045   030   000    Old_age   Always       -  
    10990408
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -  
    0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -  
    0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -  
    0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -  
    85366769976858
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -  
    3286904866
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -  
    1118782073

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

########################################
######################################## smartctl -a /dev/sdb
########################################

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.12 family
Device Model:     ST3750528AS
Serial Number:    5VP7WLX7
Firmware Version: CC44
User Capacity:    750.156.374.016 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Fri Jul  8 09:15:12 2011 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
     was completed without error.
     Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
     without error or no self-test has ever 
     been run.
Total time to complete Offline 
data collection:    ( 600) seconds.
Offline data collection
capabilities:     (0x7b) SMART execute Offline immediate.
     Auto Offline data collection on/off support.
     Suspend Offline collection upon new
     command.
     Offline surface scan supported.
     Self-test supported.
     Conveyance Self-test supported.
     Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
     power-saving mode.
     Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
     General Purpose Logging supported.
Short self-test routine 
recommended polling time:   (   1) minutes.
Extended self-test routine
recommended polling time:   ( 141) minutes.
Conveyance self-test routine
recommended polling time:   (   2) minutes.
SCT capabilities:         (0x103b) SCT Status supported.
     SCT Error Recovery Control supported.
     SCT Feature Control supported.
     SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED 
WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   112   099   006    Pre-fail  Always       -  
    45930722
  3 Spin_Up_Time            0x0003   098   098   000    Pre-fail  Always       -  
    0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -  
    4
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -  
    0
  7 Seek_Error_Rate         0x000f   078   060   030    Pre-fail  Always       -  
    64140591
  9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -  
    1558
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -  
    0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -  
    4
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -  
    0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -  
    0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -  
    0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -  
    0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -  
    0
190 Airflow_Temperature_Cel 0x0022   063   057   045    Old_age   Always       -  
    37 (Lifetime Min/Max 23/43)
194 Temperature_Celsius     0x0022   037   043   000    Old_age   Always       -  
    37 (0 21 0 0)
195 Hardware_ECC_Recovered  0x001a   043   012   000    Old_age   Always       -  
    45930722
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -  
    0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -  
    0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -  
    0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -  
    64308545324571
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -  
    1925161598
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -  
    3188013945

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
 
Last edited by a moderator:
Morgen,

ich habe einen Screenshot von Plesk beigefügt.
Darin genau die Peaks in der Load Grafik zu erkennen (alle XX:45 Uhr).
Der Screenshot ist von den letzten 6 Stunden.

Load zwischen 2 und 3 ist aber noch nicht wirklich auffällig, oder?

Unter folgendem Link findet ihr außerdem noch ein SWF Video von htop während eines Backups (habe eine halbe Minute vorher aufgezeichnet, sodass auch der "Ruhezustand" betrachtet werden kann).
Im Video geht der Load ja sogar über 4.

Top: http://tinyurl.com/3nrx46u
IOStat: http://tinyurl.com/3bjjx27

Grüße und Dank!


Update: Oben habe ich euch noch ein Video von IOStat zur Verfügung gestellt. Das ganze während eines simplen Copy Befehls von ein paar Daten (Mittelgroße Website). Ab ca. 15 sek. beginnt das Kopieren.

Hier noch ein paar Infos zum System:
-----------------
Hetzner EQ4 mit i7-950 (ja, ein 950, kein 920 ;), hatte Glück)

Code:
cat /proc/version
Linux version 2.6.32-5-amd64 (Debian 2.6.32-35) ([email protected]) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Tue Jun 14 09:42:28 UTC 2011

Code:
cat /etc/debian_version
6.0.2


Zur vollständigkeit hier noch mein eigenes "RSnapshot Script". Gleiche Funktion, nur eben direkt mit RSync umgesetzt (wird all XX:45 Uhr aufgerufen):

Code:
#!/bin/sh

# Remove oldest Backup
ionice -c3 nice -n 16 rm -rf /_backup/hourly.11

# Rename Backups
mv /_backup/hourly.10 /_backup/hourly.11
mv /_backup/hourly.9 /_backup/hourly.10
mv /_backup/hourly.8 /_backup/hourly.9
mv /_backup/hourly.7 /_backup/hourly.8
mv /_backup/hourly.6 /_backup/hourly.7
mv /_backup/hourly.5 /_backup/hourly.6
mv /_backup/hourly.4 /_backup/hourly.5
mv /_backup/hourly.3 /_backup/hourly.4
mv /_backup/hourly.2 /_backup/hourly.3
mv /_backup/hourly.1 /_backup/hourly.2
mv /_backup/hourly.0 /_backup/hourly.1

# Copy newest Backup
ionice -c3 nice -n 16 cp -al /_backup/hourly.1 /_backup/hourly.0

# Rsync Backup
ionice -c3 nice -n 16 rsync -a --delete --include-from=/etc/backup_filelist_include / /_backup/hourly.0 

# Timestamp setzen
touch /_backup/hourly.0
 

Attachments

  • load.png
    load.png
    36.2 KB · Views: 124
Last edited by a moderator:
Vielleicht kommen wir andersherum der Sache näher.

Hat denn noch jemand einen EQ4 bei Hetzner?

Derjenige wird ja sehr wahrscheinlich auch Backups erstellen. Ggf. auch mit RSnapshot oder vergleichbar. An sich liegt das Problem ja auch am "Copy" Befehl der das letzte stündliche Backup kopiert, danach läuft nur noch RSync drüber und aktualisiert.

Alternativ: Wie macht ihr eure Backups?

Meine Festplatten sind die folgenden im Software Raid 1:

Barracuda 7200.12 SATA 3Gb/s 750GB Hard Drive
Model No.: ST3750528AS
http://www.seagate.com/ww/v/index.j...a8dce110VgnVCM100000f5ee0a0aRCRD&locale=en-US

UDMA6 ist laut hdparm aktiviert bei beiden Platten.

Hat denn jemand ähnliche Probleme?
Am Sonntag wird ein Hardware Check durchgeführt. Ich gehe jedoch schon fast davon aus, dass dabei nichts herumkommen wird.

Könnte so etwas auch am System selber liegen?
Wenn ja, in wie fern? Ich kann es mir ehrlich gesagt nicht so recht vorstellen.

Ich hoffe ich finde den Übeltäter irgendwann ;(

Viele Grüße und besten Dank,
caom
 
Servus,

ich hatte ähnliche Probleme mal auf einem Server, kein Hetzner, aber ich denke das ist auch egal.... ich habe dem rsync dann ein bwlimit mitgegeben und somit wurde der Server auch während des Backups sauber erreichbar.
IOstats waren ok und alles passte. Evtl wäre das ja mal eine Option.

Gruß Sven
 
Hi,

ja, das habe ich auch schon versucht.

Es liegt aber primär am "copy" Befehl der den Server währenddessen total ausbremst. Der RSync selber ist kum spürbar.

Denkt ihr, es könnte helfen (sofern kein Fehler beim Hardwarecheck morgen früh rum kommt), einen neue, eigenen Kernel zu nutzen? 3.0.3 oder was ist aktuell?

Jetzt nutze ich den via apt-get zu beziehenden Squeeze stable Kernel "kernel-image-2.6.32-5-amd64".

Wobei: Ist das richtig, dass ich auf meinem EQ4 einen amd64 Kernel nutze? Hetzner sagt ja, verbaut ist ja ein Intel i7-950 und nutze natürlich 64 Bit.

Grüße!
 
Back
Top