디스크 3개가 있는 RAID 5 복구 속도를 MB 미만 속도로 줄일 수 있는 방법은 무엇입니까?

디스크 3개가 있는 RAID 5 복구 속도를 MB 미만 속도로 줄일 수 있는 방법은 무엇입니까?

4K 정렬 디스크 3개(WD2001FFSX 2개 및 WD20EFRX 1개)에 RAID 5가 있습니다. 디스크 중 하나에 오류가 발생하여 다른 WD2001FFSX로 교체했습니다.

다른 파티션과 동일한 방식으로 파티션을 나눈 후(1개의 파티션이 전체 공간을 차지하며 2048 섹터로 정렬됨) RAID에 추가했습니다.

하지만 직접 확인해 보세요.

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:~$

이 속도라면 완성하는데 약 2개월 정도 걸릴 것 같아요!

여기 누구든지 내 구성에 어떤 문제가 있는지 지적할 수 있나요?

다음은 몇 가지 유용한 정보입니다.

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"은 다음을 제공합니다.

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

답변1

문제는 재구축 작업을 위해 많은 I/O 대역폭을 예약하지 않는다는 것입니다. 기본적으로 mdI/O 대역폭의 대부분은 실제 요청을 처리하는 데 사용되는 경향이 있으며 재구성에는 매우 낮은 우선순위가 부여됩니다. 부작용은 성능이 저하된 어레이에 대한 약간의 I/O라도 재구축 속도가 급락한다는 것입니다.

개별 어레이를 조정 /proc/sys/dev/raid/speed_limit_min(전역 변경)하거나 변경하여 이 설정을 변경할 수 있습니다 . /sys/block/md0/md/sync_speed_min예를 들어:

에코 6000 > /sys/block/md0/md/sync_speed_min

디스크, 컨트롤러, 버스 및 프로세서가 이를 처리할 수 있다고 가정할 때 최소 6000kb/s의 재구축 속도를 제공합니다.

관련 정보