O que pode retardar um RAID 5 com taxa de recuperação de 3 discos para velocidades sub-MB?

0

Eu tenho um RAID 5 em 3 discos alinhados em 4K (2x WD2001FFSX e 1x WD20EFRX). Um dos discos falhou e eu o substituí por outro WD2001FFSX.

Depois de particioná-lo da mesma maneira que o outro (1 partição obtendo todo o espaço, alinhado em 2048 setores), eu adiciono ao raid.

Mas veja você mesmo:

mick@baloo2:~$ cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sde1[0] sdb1[3] sdd1[1]
      3906763776 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [>....................]  recovery =  0.2% (5345880/1953381888) finish=81762.7min speed=396K/sec

unused devices: <none>
mick@baloo2:~$

A essa velocidade, isso levará cerca de dois meses para ser concluído!

Existe alguém aqui capaz de apontar o que está errado na minha configuração?

Aqui estão algumas informações úteis:

mick@baloo2:~$ sudo mdadm -E /dev/sdb1
/dev/sdb1:
      Magic : a92b4efc
    Version : 1.2
    Feature Map : 0x2
     Array UUID : 6d208e00:02a3bdac:793d2f47:81af4052
       Name : akela:0
  Creation Time : Sat Apr 16 23:48:38 2016
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 3906764976 (1862.89 GiB 2000.26 GB)
     Array Size : 3906763776 (3725.78 GiB 4000.53 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
Recovery Offset : 2505736 sectors
      State : clean
    Device UUID : 840de8ae:f4721e56:71cac3dc:7f9aae2f

    Update Time : Sun May 29 15:31:02 2016
       Checksum : edfdcb1f - correct
     Events : 90414

     Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAA ('A' == active, '.' == missing)
mick@baloo2:~$ 
mick@baloo2:~$ 
mick@baloo2:~$ 
mick@baloo2:~$
mick@baloo2:~$ sudo mdadm -E /dev/sdd1
/dev/sdd1:
      Magic : a92b4efc
    Version : 1.2
    Feature Map : 0x0
     Array UUID : 6d208e00:02a3bdac:793d2f47:81af4052
       Name : akela:0
  Creation Time : Sat Apr 16 23:48:38 2016
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 3906764976 (1862.89 GiB 2000.26 GB)
     Array Size : 3906763776 (3725.78 GiB 4000.53 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
      State : clean
    Device UUID : 226eefd7:6da9b123:4240d44b:df2c9dd1

    Update Time : Sun May 29 15:31:02 2016
       Checksum : f5712e5b - correct
     Events : 90414

     Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AAA ('A' == active, '.' == missing)
mick@baloo2:~$ 
mick@baloo2:~$ 
mick@baloo2:~$ 
mick@baloo2:~$ sudo mdadm -E /dev/sde1
/dev/sde1:
      Magic : a92b4efc
    Version : 1.2
    Feature Map : 0x0
     Array UUID : 6d208e00:02a3bdac:793d2f47:81af4052
       Name : akela:0
  Creation Time : Sat Apr 16 23:48:38 2016
     Raid Level : raid5
   Raid Devices : 3

 Avail Dev Size : 3906764976 (1862.89 GiB 2000.26 GB)
     Array Size : 3906763776 (3725.78 GiB 4000.53 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
      State : clean
    Device UUID : 1e381c08:c0a750d5:f85a153b:71d8df29

    Update Time : Sun May 29 15:31:02 2016
       Checksum : 1ec0bcf1 - correct
     Events : 90414

     Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AAA ('A' == active, '.' == missing)
mick@baloo2:~$

"fdisk -l" me dê o seguinte:

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
81 heads, 63 sectors/track, 765633 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xc97c3544

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  3907029167  1953513560   fd  Linux raid autodetect

Disk /dev/sdd: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048  3907029167  1953513560   fd  Linux raid autodetect

Disk /dev/sde: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1            2048  3907029167  1953513560   fd  Linux raid autodetect
    
por Mick_FR59 29.05.2016 / 19:04

1 resposta

0

O que está errado é que você não reservou muita largura de banda de E / S para a operação de reconstrução. Por padrão, md prefere usar a maior parte da largura de banda de E / S para lidar com solicitações reais, com a reconstrução tendo prioridade muito baixa. Como um efeito colateral, até mesmo a menor E / S para o array degradado enviará a queda de velocidade de reconstrução.

Você pode alterar isso ajustando /proc/sys/dev/raid/speed_limit_min (para alterar as coisas globalmente) ou /sys/block/md0/md/sync_speed_min para alterar as coisas de uma única matriz. Por exemplo:

echo 6000 > / sys / block / md0 / md / sync_speed_min

fornecerá uma velocidade mínima de reconstrução de 6000 kb / s, presumindo que os discos, o controlador, o barramento e o processador possam lidar com eles (eles devem).

    
por 10.08.2016 / 04:45

Tags