Limiter les accès au disque dur - Installation - Linux et OS Alternatifs
Marsh Posté le 26-05-2003 à 15:28:19
Il existe un patch noyau assez brutal dont j'ai oublier le nom. 
 
 Sur un linux, il y a une sorte de timeout sur les buffers internes de 3 secondes pour synchroniser avec le disques dures. Le patch met ce timeout à l'infini donc l'écriture sur disque ne se fait que lorsque les buffers sont plein (où si qqun fait un fsync à la console). 
 
| Citation :  Je pense à un démon qui ferait du rsync depuis le ramdisk vers une autre machine du réseau à intervalles réguliers ... comment faire ? | 
 
 
Un mini script appélé par cron.
Marsh Posté le 26-05-2003 à 15:46:25
hdparm -SX /dev/hdY 
 
ou X = 1 nombre /12= mins au bout des quelles le DD s'arrete 
Y= a, b, etc
Marsh Posté le 26-05-2003 à 15:50:17
 
 -S     Set the standby (spindown) timeout for  the  drive. 
              This  value  is  used by the drive to determine how 
              long to wait (with no disk activity) before turning 
              off  the  spindle  motor to save power.  Under such 
              circumstances, the drive may take  as  long  as  30 
              seconds  to  respond  to  a subsequent disk access, 
              though most drives are much quicker.  The  encoding 
              of the timeout value is somewhat peculiar.  A value 
              of zero means "off".  Values from 1 to 240  specify 
              multiples of 5 seconds, for timeouts from 5 seconds 
              to 20 minutes.  Values from 241 to 251 specify from 
              1  to  11 units of 30 minutes, for timeouts from 30 
              minutes to 5.5 hours.  A value of 252  signifies  a 
              timeout  of  21  minutes, 253 sets a vendor-defined 
              timeout, and 255 is interpreted as 21 minutes  plus 
              15 seconds. 
  
 
Cela n'est pas tout à fais le même chose. Si les log tourrnent, cela n'aura pas beaucoup d'effet sur le bruit.
Marsh Posté le 26-05-2003 à 16:40:38
ReplyMarsh Posté le 26-05-2003 à 16:48:52
| matthias a écrit :   | 
 
 
Tu fais un mount avec pour type tmpfs, c'est ça un RAM disque....
Marsh Posté le 26-05-2003 à 16:49:42
presque 
 
dans ton /etc/fstab 
 
 
tmpfs   /tmp  tmpfs  noauto,defaults  0  0 
 
par défaut, c'est limité à la moitié de la RAM 
 
vire le noauto si tu veux que ca se monte tout seul
Marsh Posté le 26-05-2003 à 16:52:29
tmpfs	/tmp	tmpfs	defaults,mode=1777 0 0 
 
  
 
 
EDIT: grillé méchament 
Marsh Posté le 26-05-2003 à 16:53:02
ReplyMarsh Posté le 26-05-2003 à 16:55:24
| glacote a écrit :   | 
 
| 911GT3 a écrit : tmpfs	/tmp	tmpfs	defaults,mode=1777 0 0  | 
 
| ++Taz a écrit :   | 
 
Bon les enfants, faudrait vous mettre d'accord   
 
Marsh Posté le 26-05-2003 à 17:01:28
tous les chemins mènent à Rome mais mon chemin est le plus beau  
 
Marsh Posté le 26-05-2003 à 21:58:58
Dans le patch wolk (wolk.sourceforge.net) tu as une option du noyau destinées aux laptops, qui permet de réduire considérablement les acces disques en bufferisant le plus possible en mémoire.
Marsh Posté le 30-05-2003 à 13:57:07
Ah, il y aussi le coup du "noatime": 
http://linuxfr.org/tips/49.html
Marsh Posté le 26-05-2003 à 14:55:48
Voilà, je souhaite limiter au maximum l'accès au disque dur d'une machine
(parce qu'allumée en permanence, elle est bruyante, et parce que ide-smart me
renvoit 7/100 à l'un des tests, donc mon disque va bientôt mourir).
Situation du problème :
- programmes lancés en permanence (apache, sshd, etc.): mis en cache par le kernel
- tâches régulières (find,crontab,etc.): désactivées (!)
- données publiques (/var/www, /home, etc.) : hébergées en NFS sur une autre machine
(et souvent cachée en RAM, par exemple /var/www par apache)
Restent les accès aux logs, lock, temp, etc.: essentiellement de petits fichiers dans /var
fréquemment accédés en écriture.
Ma solution actuelle : créer un ramdisk
(/etc/fstab: none /mnt/ramdisk tmpfs noauto,size=32m) et y mettre /var. Cela implique,
comme la RAM est versatile, de sauvegarder (tar cvfz ...) et de restorer le contenu
avant chaque démontage - montage, le tout avant l'initialisation des autres services qui
ont besoin de /var ...
Quelqu'un a-t-il une meilleure solution ? Je pense à un démon qui ferait du rsync depuis le ramdisk vers une autre machine du réseau à intervalles réguliers ... comment faire ?