RAID 어레이의 문제를 해결하려면 어떻게합니까?


8

오늘 아침에 RAID 배열을 확인한 결과는 다음과 같습니다.

$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sdc7[0]
      238340224 blocks [2/1] [U_]

md0 : active raid1 sdc6[0]
      244139648 blocks [2/1] [U_]

md127 : active raid1 sdc3[0]
      390628416 blocks [2/1] [U_]

unused devices: <none>
$

내 어레이 중 하나의 디스크가 죽었다는 것을 의미하는 것은 어느 것입니까?

앞으로 올바른 문제 해결을 어떻게합니까? 내 /etc/mdadm/mdadm.conf모습은 :

$ cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md127 UUID=124cd4a5:2965955f:cd707cc0:bc3f8165
ARRAY /dev/md0 UUID=91e560f1:4e51d8eb:cd707cc0:bc3f8165
ARRAY /dev/md1 UUID=0abe503f:401d8d09:cd707cc0:bc3f8165

어떤 물리 드라이브가 고장 나서 교체해야하는지 어떻게 알 수 있습니까?

감사

편집 1

# mdadm --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Tue Sep  1 19:15:33 2009
     Raid Level : raid1
     Array Size : 244139648 (232.83 GiB 250.00 GB)
  Used Dev Size : 244139648 (232.83 GiB 250.00 GB)
   Raid Devices : 2
  Total Devices : 1
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Mon Sep 21 07:11:24 2015
          State : clean, degraded 
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

           UUID : 91e560f1:4e51d8eb:cd707cc0:bc3f8165
         Events : 0.76017

    Number   Major   Minor   RaidDevice State
       0       8       38        0      active sync   /dev/sdc6
       1       0        0        1      removed
root@regDesktopHome:~# 

왜 그렇게 말 Failed Devices : 0할까요?

EDIT2
열기 gparted를, 나는 모두 볼 수 있습니다, /dev/sdb/dev/sdc내 두 된 RAID드라이브. 그러나 mdadm은 /dev.sdb어떤 이유로 제거되었다고 생각합니다 ... 이상합니다. ``/ dev / sdb``에 파티션을 마운트하려고 시도하고 다음을 얻었습니다.

$sudo mount /dev/sdb7 test
[sudo] password for ron: 
mount: unknown filesystem type 'linux_raid_member'

모든 coorect를 보인다. RAID 어레이를 순서대로 되돌리려면 어떻게해야합니까?

편집 3

나는 실행 smartctl -a /dev/sdc하고 smartctl -a /dev/sdb, 또한 한 badblocks /dev/sdcbadblocks /dev/sdb하는 동안은 sdc100 % 깨끗한 보인다 sdb나쁜 블록을 반환

# badblocks /dev/sdb
16130668
16130669
16130670
16130671

내가보고있는 결함의 원인 일 가능성이 있습니까? 이러한 불량 블록을 수리 / 무시하는 방법이 있습니까? 아니면 드라이브를 대신 교체해야합니까?

편집 4

# smartctl --all /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-62-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.12
Device Model:     ST31000528AS
Serial Number:    6VP0308B
LU WWN Device Id: 5 000c50 013d3ae45
Firmware Version: CC34
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Sat Sep 26 11:35:02 2015 PDT

==> WARNING: A firmware update for this drive may be available,
see the following Seagate web pages:
http://knowledge.seagate.com/articles/en_US/FAQ/207931en
http://knowledge.seagate.com/articles/en_US/FAQ/213891en

SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection:                (  600) seconds.
Offline data collection
capabilities:                    (0x7b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 195) minutes.
Conveyance self-test routine
recommended polling time:        (   2) minutes.
SCT capabilities:              (0x103f) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   114   099   006    Pre-fail  Always       -       78420742
  3 Spin_Up_Time            0x0003   095   095   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   099   099   020    Old_age   Always       -       1240
  5 Reallocated_Sector_Ct   0x0033   099   099   036    Pre-fail  Always       -       60
  7 Seek_Error_Rate         0x000f   082   060   030    Pre-fail  Always       -       199357441
  9 Power_On_Hours          0x0032   052   052   000    Old_age   Always       -       42401
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   099   037   020    Old_age   Always       -       1240
183 Runtime_Bad_Block       0x0000   098   098   000    Old_age   Offline      -       2
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   094   094   000    Old_age   Always       -       6
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   050   050   000    Old_age   Always       -       50
190 Airflow_Temperature_Cel 0x0022   062   046   045    Old_age   Always       -       38 (Min/Max 30/38)
194 Temperature_Celsius     0x0022   038   054   000    Old_age   Always       -       38 (0 17 0 0 0)
195 Hardware_ECC_Recovered  0x001a   030   012   000    Old_age   Always       -       78420742
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       1
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       1
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       73332271657814
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       2822963046
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       2361465529

SMART Error Log Version: 1
ATA Error Count: 6 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 6 occurred at disk power-on lifetime: 42372 hours (1765 days + 12 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 d9 44 ec 01  Error: UNC at LBA = 0x01ec44d9 = 32261337

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 d8 44 ec 41 00      09:26:28.967  READ FPDMA QUEUED
  27 00 00 00 00 00 e0 00      09:26:28.941  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 a0 00      09:26:28.940  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 00      09:26:28.928  SET FEATURES [Set transfer mode]
  27 00 00 00 00 00 e0 00      09:26:28.901  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]

Error 5 occurred at disk power-on lifetime: 42372 hours (1765 days + 12 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 d9 44 ec 01  Error: UNC at LBA = 0x01ec44d9 = 32261337

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 d8 44 ec 41 00      09:26:26.095  READ FPDMA QUEUED
  27 00 00 00 00 00 e0 00      09:26:26.069  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 a0 00      09:26:26.068  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 00      09:26:26.055  SET FEATURES [Set transfer mode]
  27 00 00 00 00 00 e0 00      09:26:26.029  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]

Error 4 occurred at disk power-on lifetime: 42372 hours (1765 days + 12 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 d9 44 ec 01  Error: UNC at LBA = 0x01ec44d9 = 32261337

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 d8 44 ec 41 00      09:26:23.222  READ FPDMA QUEUED
  27 00 00 00 00 00 e0 00      09:26:23.195  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 a0 00      09:26:23.194  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 00      09:26:23.182  SET FEATURES [Set transfer mode]
  27 00 00 00 00 00 e0 00      09:26:23.137  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]

Error 3 occurred at disk power-on lifetime: 42372 hours (1765 days + 12 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 d9 44 ec 01  Error: UNC at LBA = 0x01ec44d9 = 32261337

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 d8 44 ec 41 00      09:26:20.351  READ FPDMA QUEUED
  60 00 80 e8 44 ec 41 00      09:26:20.350  READ FPDMA QUEUED
  27 00 00 00 00 00 e0 00      09:26:20.324  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 a0 00      09:26:20.323  IDENTIFY DEVICE
  ef 03 46 00 00 00 a0 00      09:26:20.311  SET FEATURES [Set transfer mode]

Error 2 occurred at disk power-on lifetime: 42372 hours (1765 days + 12 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 d9 44 ec 01  Error: UNC at LBA = 0x01ec44d9 = 32261337

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 80 e8 44 ec 41 00      09:26:17.478  READ FPDMA QUEUED
  60 00 40 a8 44 ec 41 00      09:26:17.478  READ FPDMA QUEUED
  60 00 20 88 44 ec 41 00      09:26:17.476  READ FPDMA QUEUED
  60 00 08 80 44 ec 41 00      09:26:17.453  READ FPDMA QUEUED
  27 00 00 00 00 00 e0 00      09:26:17.427  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

# 

편집 5

나는 플러그를 뽑은 후 /dev/sdb이전 /dev/sdc은 지금 깨달았다 /dev/sdb. smartctl -a /dev/sdb불량 디스크를 분리 한 상태에서 부팅 한 후 일련 번호가 변경 되었음을 확인했습니다 . 운이 나쁘고 드라이브 보증 기간 이 지났 으므로 새 교체 드라이브를 받게됩니다.


참고 : [U_]가 아닌 정상 미러에 대해 [UU]가 표시되어야합니다. 당신이 생각한 것처럼, 그것은 거울 중 하나가 누락되었음을 의미합니다. @Halfgaar의 제안이 가장 좋습니다.
Tim S.

다시 편집 6, mdadm --manage ... --add ...Halfgaar가 제안한 것을 했습니까?
MadHatter

2
Stack Exchange 사이트의 핵심 사항 중 하나는 포럼이 아니며 스레드가 없다는 것입니다. 질문을했는데 답변을 받았습니다. 더 많은 (관련된) 질문이있는 경우 새로운 질문으로 질문하고 해당되는 경우 원본을 참조해야합니다. 그 전에 사이트를 검색 할 수도 있습니다.
user9517

답변:


11

의 출력에서 ​​깨진 드라이브 (F로 표시)가 보이지 않는 방법을 살펴보면 cat /proc/mdstat어레이 성능이 저하 된 이후 서버를 부팅했습니다.

로 정보를 얻을 수 있습니다 mdadm --detail /dev/md0. 다른 드라이브가 들어 있는지 알려줄 것입니다.

편집 내용에 응답하려면

/dev/sdb먼저 분석하겠습니다 . smartctl -a재 할당 된 섹터 수와 오류 로그를 확인하는 데 사용 합니다 (특히). 로 자체 테스트를 수행하십시오 smartctl -t long /dev/sdb. badblocks등 사용

그때:

  • 교체 할 경우 /dev/sdb에서 파티션 테이블을 복사하십시오 /dev/sdc. GPT가 아닌 경우을 사용할 수 있습니다 sfdisk -d /dev/sdc | sfdisk /dev/sdb. 또는 GPT 인 경우 gdisk파티션 테이블을 파일로 저장 한 다음로드 할 수 있습니다. 고급 기능 아래 숨겨져 있습니다.
  • 고려해야 할 일반적인 사항 : (새) 드라이브에 4k 섹터가있는 경우 파티션이 4k 정렬되어 있는지 확인하십시오 .
  • 기존 파일을 다시 추가 /dev/sdb하려는 경우 mdadm --zero-superblock기존의 모든 파티션 에서 실행할 수 있습니다 .
  • 그런 다음 당신이 할 수있는 mdadm --manage /dev/md0 --add /dev/sdb6과에 대해 동일한 md1sdb7

말할 필요도없이, 일부 명령은 드라이브를 섞으면 데이터를 지 웁니다. 그래서, sdc그리고 무엇인지 확인하십시오 sdb...

편집 : 불량 블록 정보 : 소프트웨어 수준 도구에 불량 블록이 표시되면 드라이브가 버스트 된 것입니다. 일반적으로 디스크는 쓰기시 투명하게 재 할당하여 디스크를 숨 깁니다. '하드 드라이브 섹터 재 할당'을위한 Google. 에 대한 smartctl -a재 할당 된 섹터가 출력에 표시되어야합니다 sdb. 예, sdb어레이에서 쫓겨 났으므로 교체해야합니다.

편집 : smartctl -a출력 에 대해 . 여기에는 가장 중요한 두 가지 사항이 있습니다.

  • 재 할당 된 60 개의 섹터를 보여줍니다. 정규화 된 값은 여전히 ​​99이고 36에 도달하면 공식적으로 '나쁜'값이지만 (카운트 다운) 섹터 재 할당을 시작하는 디스크를 신뢰해서는 안됩니다. 따라서이 값이 원래 값으로 바뀌기 시작하면 중요합니다. smartd모니터 하도록 구성 할 수도 있습니다.
  • 오류 로그에는 42372 시간의 항목이 표시됩니다. 매개 변수 9 (귀하의 경우) 때문에 최근에 알 수 있습니다 Power on hours. 잘못된 ATA 명령을 제공하는 것과 같이 SMART 오류 로그 항목을 유발할 수있는 것은 무해하지만이 경우 어레이 성능이 저하되어 관련이있을 수 있습니다.

시스템에 어떤 디스크가 있는지 확인하십시오. 예를 들어, dmesg |grep -i sdb도움이 될 것입니다. 시스템에 디스크가 3 개있을 sdb수 있으며 두 번째 SATA 컨트롤러에있는 디스크 일 것입니다 ( 0 또는 1 기반인지 여부에 따라 이름은 1 또는 2 임).

에서 부팅 할 가능성 sda이 있으므로 sdb위에서 설명한 작업을 교체 하고 수행하면됩니다. 부팅 드라이브가 고장난 경우 다음을 희망합니다.

  • 다른 디스크에도 grub을 설치했습니다.
  • 실제로 다른 디스크에서 부팅 할 수있는 서버가 있어야합니다.

다른 날에는 Dell 서버에서 sdb공란이있을 때 부터 시작하고 싶지 않았습니다 sda. 그것은 약간의 설득력과 즉흥을 필요로했다.

때로는 ata1.01실제 장치 이름 과 같은 이름을 번역해야 합니다. 예를 들어, 디스크가 고장 나면 'ATA 예외에 ata1.01'이라는 커널 오류나 그 영향을주는 단어가 표시됩니다. 이 답변 을 읽으십시오 . (중앙 디스크 로깅 시스템은 커널 오류가 보류중인 디스크 오류를 확실하게 나타 내기 때문에 이러한 오류를 경고하도록 구성했습니다).


또한 추가 EDIT2 지금
stdcerr

1
@cerr 상황을 분석하는 방법을 설명하는 답변을 편집합니다.
Halfgaar

1
@cerr 난 당신이 나쁜 블록의 발견에 댓글을 달았습니다.
Halfgaar

1
@cerr 나는 smartctl출력에 대한 통찰력을주기 위해 편집했다 .
Halfgaar

1
@cerr 그것은 이미 내 대답에 있습니다.--add
Halfgaar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.