[Raid] Raid0 limite asthmatique : Heu, Docteur ?

Questions et astuces concernant l'installation et la configuration d'archlinux
Avatar de l’utilisateur
kozaki
Chu Ko Nu
Messages : 422
Inscription : mer. 13 sept. 2006, 22:49
Localisation : London > . < Paris
Contact :

[Raid] Raid0 limite asthmatique : Heu, Docteur ?

Message par kozaki »

Salut,
Archlinux 64-bit sur un poste de travail avec un AMD 3200+ (un core @2-2.5 GHz), 2 Go de DDR 400. 2 disques Sata Hitachi 80Go 7200 trs/min (en pleine forme selon hdsentinel). Utilisé à longueur de journée (webdev notamment). La conf disques, raid et lvm est en bas sous les stats.
Malgré le Raid0 les disques sont asthmatiques et limitent les perfs du CPU :shock: à la moindre opération qui requiert un peu d'I/O.
Une config en Raid0 et 2 disques Sata aussi que j'avais montée sur un Duron (!) avec Mandriva (!) était 2 fois plus réactive ex : lancement d'openoffice = 5-6 sec ici, contre 3 secondes sur le Duron...
Je pige pas --à moins que les disques ont aspiré tout le tabac de ce bureau, envoyé par le petit ventilo 80mm qui les refroidit (1 x 120mm en extraction de l'autre côté de la tour) :?:

iostat indique une utilation des disques (%util) >100% avec des "Waiting in queue" (w_await - svctm) énormes:

# iostat -dkx
- je suis pas du tout expert en perf mais la dernière colonne me laisse perplexe ! elle montre une utilisation des disques (colonne %util) @ >100% avec des énormes "Waiting in queue" : soit le temps que la requête passe à attendre avant d'être traitée (avg time that each request spent in queue (queutime) = await – svctime).
- les disques ou volumes totalement inactifs (avec tout à 0.00) sont pas affichés pour plus de clarté.

Juste du surf léger et torrent (upload seul)

Code : Tout sélectionner

Linux 3.7.4-1-ck (llewellyn)    23/01/2013      _x86_64_        (1 CPU)

Device:         r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util (Waiting in queue)
sdc               0,83    0,62    92,56     2,48   131,43     0,01    8,71   11,00    5,67   8,57   1,24  (-3ms)
sdb               1,24    1,03    85,95     3,31    78,55     0,01    6,36    6,17    6,60   5,18   1,18 (1ms)
md0               3,72    1,45   178,51     5,79    71,36     0,00    0,00    0,00    0,00   0,00   0,00 
dm-1              0,00    0,21     0,00     0,83     8,00     0,00   13,00    0,00   13,00  13,00   0,27  (0ms)
dm-4              1,03    0,83    19,83     4,96    26,67     0,02    9,56   10,00    9,00   6,67   1,24  (2ms)
dm-7              2,69    0,00   158,68     0,00   118,15     0,02    5,85    5,85    0,00   1,54   0,41
1 minute après le boot (profile-sync-daemon de grayski pas encore terminé avec 150 Mo de profiles Firefox !)

Code : Tout sélectionner

Linux 3.7.4-1-ck (llewellyn)    23/01/2013      _x86_64_        (1 CPU)

Device:         r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda              0,00    0,00     0,00     0,00     0,00     0,00    0,00    0,00    0,00   0,00   0,00
sdc            111,22   12,24   448,98    53,06     8,13     0,48    4,96    4,13   12,50   3,92  48,37  (9ms)
sdb            127,55   18,37   510,20   110,20     8,50     2,51   18,74    3,94  121,50   3,68  53,67  (118ms)
md0            238,78   11,22   959,18    40,82     8,00     0,00    0,00    0,00    0,00   0,00   0,00
dm-1             1,02    0,00     8,16     0,00    16,00     2,28 2590,00   20,00    0,00 130,00  13,27  (0ms)
dm-4             0,00   10,20     0,00    40,82     8,00     0,17   16,40    0,00   16,40   3,70   3,78  (13ms)
dm-5           237,76    0,00   951,02     0,00     8,00     0,93    3,96    3,96    0,00   3,92  93,16  (0ms)
Rsnapshot (rsync) quotidien avec Firefox ouvert et torrent (upload seul)
Sûr cette opé est exigeante en I/O. Mais là c'est un must : le disque IDE (Maxtor) où rsync écrit la sauvegarde est nettement moins occupé que les 2 disques Sata en Raid0. Le système répond heu, après une attente de quelques secondes :lol: sans dec c'pas marrant !

Code : Tout sélectionner

Device:         r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util  (Waiting in queue)
sda             488,58   34,25  3197,46  1877,38    19,41     8,44   16,15    2,31  213,58   1,70  88,65  (212ms)
sdc             177,38    2,54  3293,02   614,80    43,44     7,95   44,35   41,92  214,17   5,57 100,15  (208ms)
sdb             179,07    3,81  3357,29   836,36    45,86    14,98  111,02   97,54  745,17   5,72 104,52  (740ms)
md0             410,15  311,84  6594,50  1246,51    21,72     0,00    0,00    0,00    0,00   0,00   0,00
dm-1            238,69    0,00  4663,85     0,00    39,08    22,54  115,93  115,93    0,00   4,40 104,99  (0ms)
dm-3              1,69  308,25     6,77  1232,98     8,00   120,01  703,06   26,62  706,77   2,11  65,33  (704ms)
dm-4            148,41    3,38  1151,80    13,53    15,35     2,08   15,85    9,15  310,19   6,90 104,80  (303ms)
dm-6              3,81    0,00   142,92     0,00    75,11     0,58  151,67  151,67    0,00  32,78  12,47  (0ms)
dm-7             17,55    0,00   629,18     0,00    71,71     1,55   88,47   88,47    0,00  19,28  33,83  (0ms)
Bien que je vais renouveller cette machine, elle va servir ailleurs et j'aimerai pousser un peu pour piger où j'ai mer** / d'où viendrait la bronchite de cette config Raid0.
Z'auriez des pistes svp ?

Configuration Raid / lvm
Partitionnement et install faits à la mano avec l'excellent installeur de Arch, en août dernier.
- partitionnement stricement identique sur les 2 disques
- Raid0 sur la totalité des 2 disques sauf /boot
- LVM : 1 pv sur le et 8 lv (1 pour chaque partition)

# fdisk -l /dev/sdb

Code : Tout sélectionner

Disque /dev/sdb : 82.3 Go, 82348277760 octets, 160836480 secteurs
Unités = secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x56b13b0a

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdb1   *        2048      206848      102400+  83  Linux
/dev/sdb2          207360   160836479    80314560   fd  RAID Linux autodétecté
# fdisk -l /dev/sdc

Code : Tout sélectionner

Disque /dev/sdc : 82.3 Go, 82348277760 octets, 160836480 secteurs
Unités = secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00000000

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sdc1   *        2048      206848      102400+  83  Linux
/dev/sdc2          207360   160836479    80314560   fd  RAID Linux autodétecté
# mdadm --detail /dev/md0

Code : Tout sélectionner

/dev/md0:
        Version : 1.2
  Creation Time : Wed Aug 10 20:48:47 2011
     Raid Level : raid0
     Array Size : 160627072 (153.19 GiB 164.48 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Wed Aug 10 20:48:47 2011
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

     Chunk Size : 64K

           Name : localhost:0
           UUID : bf6034b3:4e856ec6:d788b34a:57f9e8bd
         Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       18        0      active sync   /dev/sdb2
       1       8       34        1      active sync   /dev/sdc2
# cat /proc/mdstat

Code : Tout sélectionner

Personalities : [raid0] 
md0 : active raid0 sdb2[0] sdc2[1]
      160627072 blocks super 1.2 64k chunks
# cat /etc/mdadm.conf

Code : Tout sélectionner

ARRAY /dev/md/0 metadata=1.2 UUID=bf6034b3:4e856ec6:d788b34a:57f9e8bd name=localhost:0
# pvdisplay

Code : Tout sélectionner

  --- Physical volume ---
  PV Name               /dev/md0
  VG Name               vg0
  PV Size               153,19 GiB / not usable 2,38 MiB
  Allocatable           yes (but full)
  PE Size               4,00 MiB
  Total PE              39215
  Free PE               0
  Allocated PE          39215
  PV UUID               Q40oaJ-A7cZ-j7fv-wOds-Yq5S-gU1L-2Jhg3N
# lvdisplay

Code : Tout sélectionner

  --- Logical volume ---
  LV Path                /dev/vg0/os1
  LV Name                os1
  VG Name                vg0
  LV UUID                qmDVp2-CF4P-7whA-XNvj-aprd-RatB-OZBO4b
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 0
  LV Size                7,81 GiB
  Current LE             2000
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     512
  Block device           254:0
   
  --- Logical volume ---
  LV Path                /dev/vg0/os2
  LV Name                os2
  VG Name                vg0
  LV UUID                CyevZ6-KEkY-LVkL-W3pY-cxDX-Lhpk-16hV4B
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 1
  LV Size                6,84 GiB
  Current LE             1750
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     512
  Block device           254:1
   
  --- Logical volume ---
  LV Path                /dev/vg0/os3
  LV Name                os3
  VG Name                vg0
  LV UUID                g73G8i-Kl7B-P052-J5at-rqux-Eu0g-x6bEJp
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 0
  LV Size                6,84 GiB
  Current LE             1750
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     512
  Block device           254:2
   
  --- Logical volume ---
  LV Path                /dev/vg0/4swap
  LV Name                4swap
  VG Name                vg0
  LV UUID                UAkF4Q-KeK0-k028-edqx-Vjdj-eV4A-1nPwUD
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 2
  LV Size                2,00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     512
  Block device           254:3
   
  --- Logical volume ---
  LV Path                /dev/vg0/5home
  LV Name                5home
  VG Name                vg0
  LV UUID                NcHODQ-k4sH-HqlQ-I5sn-h0la-ygUg-Eh8QJc
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 1
  LV Size                5,86 GiB
  Current LE             1500
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     512
  Block device           254:4
   
  --- Logical volume ---
  LV Path                /dev/vg0/6docs
  LV Name                6docs
  VG Name                vg0
  LV UUID                5ZpNEX-mO3T-mUGy-y3Ga-DYx0-gKrq-xy4Bjg
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 1
  LV Size                14,65 GiB
  Current LE             3750
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     512
  Block device           254:5
   
  --- Logical volume ---
  LV Path                /dev/vg0/7www
  LV Name                7www
  VG Name                vg0
  LV UUID                qizBuI-yFWE-O4dH-r1q0-HJVb-8l1f-ZPs8m5
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 1
  LV Size                4,88 GiB
  Current LE             1250
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     512
  Block device           254:6
   
  --- Logical volume ---
  LV Path                /dev/vg0/8mm
  LV Name                8mm
  VG Name                vg0
  LV UUID                B3Grwo-nk2u-EIZH-rKJ1-dVsl-z8Ul-dr3rPV
  LV Write Access        read/write
  LV Creation host, time , 
  LV Status              available
  # open                 1
  LV Size                104,31 GiB
  Current LE             26703
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     512
  Block device           254:7
Dernière modification par kozaki le jeu. 24 janv. 2013, 13:30, modifié 1 fois.
~ Configs ~ PGP Key: 1C2A554EFF0157D9
« Demande un conseil à ton ennemi et fais le contraire (proverbe juif)
SVP intéressé par tout retour d'exp. sur Arch ARM en général, et sur portable (CrOS) en particulier.
Avatar de l’utilisateur
kozaki
Chu Ko Nu
Messages : 422
Inscription : mer. 13 sept. 2006, 22:49
Localisation : London > . < Paris
Contact :

Re: [Raid] Raid0 limite asthmatique : Heu, Docteur ?

Message par kozaki »

Ça avec un kernel custom : AMD kx-ck BFQ scheduler
Possible aussi que ce scheduler (utilisé lors des gros ralentissements et mesures sur le 1er post) est pas adapté pour le raid0 sur disques durs sata et/ou avec un monocore ancien ? J'ai booté avec le kernel-ARCH "standard" aujourd'hui pour voir.

Je cherche une option pour afficher la moyenne des "CPU Wait on I/O" sur un temps donné : Genre "vmstat -n 1" et les colonnes swap/"si" et "so" (swap in et swap out) et cpu/"wa" (Time spent CPU waiting for I/O), mais sur un temps donné. C'possible ?

Réglages swap
$ grep vm /etc/sysctl.conf

Code : Tout sélectionner

#vm.dirty_ratio=40
vm.swappiness=20
vm.vfs_cache_pressure=50
~ Configs ~ PGP Key: 1C2A554EFF0157D9
« Demande un conseil à ton ennemi et fais le contraire (proverbe juif)
SVP intéressé par tout retour d'exp. sur Arch ARM en général, et sur portable (CrOS) en particulier.
Répondre