[CentOS 3.3] HDD snelheidsproblemen

Pagina: 1
Acties:

  • Xandrios
  • Registratie: Februari 2001
  • Laatst online: 14:12
Hoi :)

Sinds kort heb ik een CentOS (3.3) op een vrij standaard (dedicated) budgetservertje: Athlon 2700+, 512MB ram, 40GB IDE hdd. Op een 10Mbit-gelimiteerde switchpoort.

Het probleem is als volgt: Bij veel dataverkeer vliegt de load omhoog. Als ik tegen de 10Mbit (=1.25MB/sec) aankom, zit de load rond de 3 tot 4. Veel te hoog imho.
Dus ik ben een beetje gaan kijken wat dit kon veroorzaken. Via "top" kwam ik erachter dat op deze momenten de iowait bijna 40-50% was, veel, veel te veel dus.

Een snelheidstestje:
hdparm -t -T /dev/hda

/dev/hda:
Timing buffer-cache reads: 752 MB in 2.00 seconds = 376.00 MB/sec
Timing buffered disk reads: 4 MB in 3.47 seconds = 1.15 MB/sec
Eigenaardig, 1.15MB maar! Das wel heel erg weinig. Dat zou heel goed de hoge load kunnen veroorzaken, niet?

Controle of hij wel op (u)dma draait:
hdparm /dev/hda

/dev/hda:
multcount = 16 (on)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 4865/255/63, sectors = 78165360, start = 0
Nee. Maar waarom zegt deze dan van wel?
hdparm -i /dev/hda

/dev/hda:

Model=ST340014A, FwRev=3.06, SerialNo=xxxxxxxx
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:

* signifies the current active mode
Wat moet ik nu geloven? dma actief, of juist niet? :o

Hier viel me echter ook nog iets anders vreemds op, namelijk deze regel:
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
Vooral het "10Mbs" verontrust me een beetje. Feit is dat deze server is gehuurt met een 10Mbit verbinding. Maar ik kan me niet voorstellen dat ze dat op dit niveau limiteren?
10Mbit komt echter wel akelig dicht bij de behaalde 1.15MB/sec in de hdd-speedtest :X

Iemand die hier wijs uit kan worden? Ik vind 't wel erg vreemd allemaal 8)7

[ Voor 3% gewijzigd door Xandrios op 02-03-2005 18:22 ]


  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 16:47

BoAC

Memento mori

Welke chipset wordt er gebruikt icm met welke kernel?
Dus wordt de chipset wel ondersteund?

Zo ja, wordt de driver geladen of zit die ingebakken?
Welke info geeft dmesg over je chipset..

* BoAC hoort nu pas van CentOS ;)Een afgeleide van RedHat dus..

  • Xandrios
  • Registratie: Februari 2001
  • Laatst online: 14:12
Eens even zien. De kernel is 2.4.21-27.0.2.EL. De gebruikte chipset weet ik niet; Maar voor het IDE-deel wordt de volgende chip gebruikt: Sis 5513.

Nu kwam ik dit tegen op internet:
2- The IDE subsystem
Important notice: if you use a recent distribution (Mandrake 9.2, ...), or from Linux 2.4.22, you can safely skip this part, as it has been adressed in these versions.

This is the main quirk in the system. SiS 745 chipset is the beginning of a very new line of products for SiS. The southbridge may now be separated from the northbridge. As a consequence, the old detection code of the SiS 5513 driver of the IDE layer of SiS chipsets is now obsolete.
Pay attention, some official kernels advertise having SiS5513 support adapted to SiS745, but as of linux kernel 2.4.21, NONE have !
Only very recent Alan Cox's -ac kernels have correct support for our mainboard.
IF YOU DO NOT USE RECENT -AC KERNEL, OR THE METHOD I WILL DESCRIBE FOR YOU NOW, THERE IS A RISK YOU WILL HAVE DATA LOSS PROBLEMS.
Note: all this is true as of RedHat 9, Mandrake 9.1, and SuSE 8.2 (June 2003). It may change in the future, as this driver will be included in the distros.

So, what to do ?

1. Have a 2.4 linux kernel (everything that i'm telling here is only for 2.4 kernels).
2. You can install your favorite distribution "normally", by passing the option 'ide=nodma' to the kernel at install boot time. Please refer to your distribution's documentation for more info. Install the minimum as the install will be very slow.
3. After installation, boot your brand new linux with that same 'ide=nodma' option.
4. Get the sources of either your distribution's kernel, or, better, the official linux kernel.
5. Get the correct driver. You may find it here as a patch against the official kernel, or in any case you can download here the driver itself.
6. Put the correct driver in your linux kernel source tree under drivers/ide/pci/ , or patch the kernel.
7. Recompile your kernel (Actually do a 'make menuconfig' then 'make dep', then 'make bzImage modules install modules_install').
8. Update your LILO (/etc/lilo.conf) or GRUB (/etc/grub.conf) configuration, depending on which boot loader you use. Of course, you can remove the 'ide=nodma' option.

Now you should have a working kernel, as for the IDE subsystem. To say the truth, you need to have some Linux experience to do this, it's not for the beginner. Hopefully, next versions of major distros will include correct drivers.
Het lijkt er dus op, als ik dit goed begrijp, datdeze kernel problemen heeft met de IDE chip? In dat geval zou een update naar de 2.6 kernel alle problemen verhelpen? :)

dmesg geeft een hoop TCP data overigens, maar niet de verwachte sysinfo :(

  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 16:47

BoAC

Memento mori

Ik weet niet wat voor een update-mogelijkheden CentOS heeft?

Dat zou toch het handigste zijn denk ik ;)

Maar zoals het er nu uit ziet lijkt het er dus op dat jouw chipset niet wordt ondersteund :)
We zijn nu aangeland bij 2.4.28 misschien kun je die gebruiken..

/edit
Waarom perse CentOS die zo'n oude kernel gebruikt voor je redelijk recent systeem?

[ Voor 15% gewijzigd door BoAC op 02-03-2005 19:07 ]


  • Xandrios
  • Registratie: Februari 2001
  • Laatst online: 14:12
hmm, dan zal ik als linux-broekie me toch flink moeten gaan verdiepen in hoe de kernel zonder al te veel problemen te upgraden :o

't is een dedicated server, een machine waar de hoster de hardware en initial install doet. En dit is wat ze standaard op elk systeem insalleren :/ Maargoed, ik heb in ieder geval even daarheen gemailed, want ik vind dit ook niet al te netjes zo.

Maargoed, het was dus niet mijn keuze, helaas.

  • GeeMoney
  • Registratie: April 2002
  • Nu online
Probeer anders eens: hdparm -d1 -c1 -X69 /dev/hd*
(sterretje stelt dus je hard disk nummering voor)
En doe daarna nog eens: hdparm -tT /dev/hd*

[ Voor 19% gewijzigd door GeeMoney op 02-03-2005 21:18 ]


  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 16:47

BoAC

Memento mori

The_Dart schreef op woensdag 02 maart 2005 @ 21:17:
Probeer anders eens: hdparm -d1 -c1 -X69 /dev/hd*
(sterretje stelt dus je hard disk nummering voor)
En doe daarna nog eens: hdparm -tT /dev/hd*
Dat gaat dus niet lukken omdat de chipset niet wordt ondersteunt omdat het een oudere kernel is..

  • Xandrios
  • Registratie: Februari 2001
  • Laatst online: 14:12
Waar staat die -X69 voor?

Dit had ik namelijk al geprobeerd: hdparm -X66 -d1 -m16 -c3 /dev/hda. Die werkte de eerste keer goed, (Snelheid ging omhoog tot 6MB/sec). De keren naarna liet hij het systeem direct vastlopen helaas :X

Op de een of andere manier wil hij niet op DMA, en het lijkt de chipset te zijn :(

[ Voor 51% gewijzigd door Xandrios op 02-03-2005 21:24 ]


  • GeeMoney
  • Registratie: April 2002
  • Nu online
Xandrios schreef op woensdag 02 maart 2005 @ 21:21:
Waar staat die -X69 voor?

Dit had ik namelijk al geprobeerd: hdparm -X66 -d1 -m16 -c3 /dev/hda. Die werkte de eerste keer goed, (Snelheid ging omhoog tot 6MB/sec). De keren naarna liet hij het systeem direct vastlopen helaas :X

Op de een of andere manier wil hij niet op DMA, en het lijkt de chipset te zijn :(
Als die niet ondersteund is kan dat inderdaad nog weleens een probleem worden.
de -X66 optie staat voor Ulta DMA 2;
-X66=UDMA2
-X67=UDMA3
-X68=UDMA4
-X69=UDMA5
Pagina: 1