Kernel und DMA
Der Linux-Kernel und die DMA-Verwaltung der Festplatte
Einleitung
Der DMA (für
Direct
Memory
Access) oder
Ultra DMA ist ein Modus, in dem direkt auf die Festplatte zugegriffen werden kann, um den Prozesser zu entlasten.
Dieser Modus wird oder wird nicht im Linux-Kernel aktiviert und kann eine Auswirkung bei der Benutzung des Ein-/Ausgangsbusses haben.
Ab der Version
2.4.28 des OVH Kernels ist der DMA standardmäßig deaktiviert.
Diese Maßnahme wurde ergriffen, da der DMA-Modus die Lebensdauer der Platte verkürzen kann.
Meistens verschlechtert dies nicht die allgemeine Leistung des Servers, aber in bestimmten Fällen schon (wie z.B. beim automatischen Backup auf der sekundären Festplatte). Es kann also notwendig sein, diese Option zu reaktivieren.
Vorgehensweise
Um den DMA-Modus auf den Festplatten Ihres Servers zu verwalten, benutzen wir das Tool hdparm.
Dieses benutzt einen Parameter des Peripheriegerätes also Ihrer Festplatte (z.B. /dev/hda für die primäre Festplatte in Ihrem Superplan Server)
und mit einer adäquaten Option, die Konfigurationen Ihrer Platte aufzulisten oder zu aktivieren bzw. zu deaktivieren.
Um z.B. die Informationen einer Festplatte zu erhalten :
[root@julien root]# hdparm -i /dev/hda
/dev/hda:
Model=Maxtor 6E040L0, FwRev=NAR61EA0, SerialNo=E1Q6GW7E
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=80293248
IORDY=on/off, tPIO={min:120,w/IORDY:120 (interwiki)}, 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 udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled%
Um den DMA-Modus Ihrer primären Festplatte zu aktivieren :
[root@julien root]# hdparm -d1 /dev/hda
/dev/hda:
setting using_dma to 1 (on)
using_dma = 1 (on)
Um den DMA-Modus Ihrer primären Festplatte zu deaktivieren :
[root@julien root]# hdparm -d0 /dev/hda
/dev/hda:
setting using_dma to 0 (off)
using_dma = 0 (off)
Um den DMA-Modus Ihrer Backup-Festplatte zu aktivieren :
[root@julien root]# hdparm -d1 /dev/hdc
/dev/hdc:
setting using_dma to 1 (on)
using_dma = 1 (on)
Um den DMA-Modus und IO 32 bits auf Ihrer primären Festplatte(( zu aktivieren :
[root@julien root]# hdparm -c1 -d1 /dev/hda
/dev/hda:
setting 32-bit IO_support flag to 1
setting using_dma to 1 (on)
IO_support = 1 (32-bit)
using_dma = 1 (on)
Achtung
Die Aktivierung des ))DMA-Modus ist eine der Ursachen, die das Versagen einer Festplatte beschleunigen kann. Aktivieren Sie diesen Modus nur, wenn es
absolut notwendig ist. Wenn Ihr Server z.B. ein Backup von einer Festplatte auf die andere durchführen soll, könnte der aktivierte DMA-Modus die einzige Möglichkeit sein, dieses "Problem" zu lösen.