Score:2

อาร์เรย์ RAID แจ้งว่า "ข้อผิดพลาดสื่อกลางที่สำคัญ" แต่ smartctl แจ้งว่าดิสก์มีความสมบูรณ์ - จะทำอย่างไรต่อไป

ธง in

ฉันมีอาร์เรย์ RAID-1 ของ SSD (Samsung 970 EVO Plus) และแสดงข้อผิดพลาดใน /var/log/syslog, แต่ สมาร์ทคอนโทรล รายงานว่าไดรฟ์มีสุขภาพดี ฉันทำการวินิจฉัยหลายอย่างแล้ว (ด้านล่าง) และฉันสงสัยว่ามีอะไรอีกบ้างที่ฉันสามารถทำได้ มีปัญหาเกิดขึ้นหรือไม่ และถ้าใช่ แนวทางปฏิบัติที่ดีที่สุดคืออะไร? (บน Kubuntu 18.04.6 LTS.)

นี่คืออาร์เรย์:

$ cat /proc/mdstat
md1 : ใช้งานการจู่โจม 1 nvme0n1p3[0] nvme1n1p3[2]
      1919724608 บล็อกซุปเปอร์ 1.2 [2/2] [UU]
      บิตแมป: 5/15 หน้า [20KB], ก้อน 65536KB

ดูเหมือนว่ามีสุขภาพดีตาม คุณนาย:

$ sudo mdadm --detail /dev/md1
/dev/md1:
           เวอร์ชัน : 1.2
     เวลาสร้าง : ส. 29 ก.พ. 12:33:09 น. 2563
        ระดับการจู่โจม : การจู่โจม1
        ขนาดอาร์เรย์ : 1919724608 (1830.79 GiB 1965.80 GB)
     ขนาด Dev ที่ใช้ : 1919724608 (1830.79 GiB 1965.80 GB)
      อุปกรณ์จู่โจม : 2
     อุปกรณ์ทั้งหมด : 2
       การคงอยู่: Superblock นั้นคงอยู่

     บิตแมปเจตนา: ภายใน

       Update Time : ศุกร์ที่ 31 ธ.ค. 14:04:55 น. 2564
             รัฐ : สะอาด 
    อุปกรณ์ที่ใช้งาน : 2
   อุปกรณ์การทำงาน : 2
    อุปกรณ์ที่ล้มเหลว : 0
     อุปกรณ์สำรอง : 0

นโยบายความสอดคล้อง: บิตแมป

              ชื่อ : kubuntu:1
              UUID : 7c84adca:31e96bad:b1be03ae:d7d0349d
            เหตุการณ์ : 41087

    หมายเลขหลักรอง RaidDevice สถานะ
       0 259 3 0 การซิงค์ที่ใช้งานอยู่ /dev/nvme0n1p3
       2 259 7 1 แอคทีฟซิงค์ /dev/nvme1n1p3

อย่างไรก็ตาม ข้อผิดพลาดในการอ่านบางอย่างได้เริ่มปรากฏขึ้นใน /var/log/syslogในสามเท่า:

31 ธันวาคม 12:32:56 เคอร์เนล: [662973.969218] blk_update_request: ข้อผิดพลาดสื่อที่สำคัญ, dev nvme1n1, ภาค 2769948928 op 0x0: (อ่าน) ตั้งค่าสถานะ 0x0 phys_seg 9 prio คลาส 0
31 ธันวาคม 12:32:56 เคอร์เนล: [662973.969222] md/raid1:md1: nvme1n1p3: การจัดกำหนดการเซกเตอร์ใหม่ 2702369024
31 ธันวาคม 12:32:56 เคอร์เนล: [662973.978792] md/raid1:md1: การเปลี่ยนเส้นทางเซกเตอร์ 2702369024 ไปยังมิเรอร์อื่น: nvme0n1p3

31 ธันวาคม 12:43:11 เคอร์เนล: [663588.474940] blk_update_request: ข้อผิดพลาดสื่อที่สำคัญ, dev nvme0n1, ภาค 1815443200 op 0x0: (อ่าน) ตั้งค่าสถานะ 0x0 phys_seg 33 คลาส prio 0
31 ธันวาคม 12:43:11 เคอร์เนล: [663588.474943] md/raid1:md1: nvme0n1p3: การจัดกำหนดการเซกเตอร์ใหม่ 1747863296
31 ธันวาคม 12:43:11 เคอร์เนล: [663588.499466] md/raid1:md1: การเปลี่ยนเส้นทางเซกเตอร์ 1747863296 ไปยังมิเรอร์อื่น: nvme0n1p3

บางครั้งตามด้วย:

เคอร์เนล: [313519.337578] md/raid1:md1: แก้ไขข้อผิดพลาดในการอ่าน (8 ส่วนที่ 1367197592 บน nvme1n1p3)

ฉันวิ่ง สมาร์ทคอนโทรล เพื่อค้นหาปัญหา ระบุว่ามีข้อผิดพลาดเกิดขึ้นในอดีต แต่ก็ยังมีข้อความว่า "ผลการทดสอบการประเมินตนเองด้านสุขภาพโดยรวมของ SMART: ผ่าน."

สำหรับ /dev/nvme0n1:

$ sudo smartctl -a /dev/nvme0n1
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.0-91-generic] (รุ่นในเครื่อง)
ลิขสิทธิ์ (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== จุดเริ่มต้นของส่วนข้อมูล ===
หมายเลขรุ่น: Samsung SSD 970 EVO 2TB
หมายเลขซีเรียล: S464NB0M406242D
เวอร์ชันเฟิร์มแวร์: 2B2QEXE7
รหัสผู้จำหน่าย PCI/ระบบย่อย: 0x144d
ตัวระบุ IEEE OUI: 0x002538
ความจุ NVM ทั้งหมด: 2,000,398,934,016 [2.00 TB]
ความจุ NVM ที่ไม่ได้จัดสรร: 0
รหัสตัวควบคุม: 4
จำนวนเนมสเปซ: 1
เนมสเปซ 1 ขนาด/ความจุ: 2,000,398,934,016 [2.00 TB]
การใช้งานเนมสเปซ 1: 1,017,558,851,584 [1.01 TB]
เนมสเปซ 1 จัดรูปแบบขนาด LBA: 512
เวลาท้องถิ่นคือ: วันศุกร์ที่ 31 ธันวาคม 14:01:33 น. 2021 EST
อัพเดตเฟิร์มแวร์ (0x16): 3 ช่อง ไม่ต้องรีเซ็ต
คำสั่งผู้ดูแลระบบเพิ่มเติม (0x0017): รูปแบบความปลอดภัย Frmw_DL *อื่นๆ*
คำสั่ง NVM ที่เป็นทางเลือก (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat *อื่นๆ*
ขนาดการถ่ายโอนข้อมูลสูงสุด: 512 หน้า
คำเตือน อุณหภูมิ เกณฑ์: 82 องศาเซลเซียส
คอมพ์ที่สำคัญ อุณหภูมิ เกณฑ์: 82 องศาเซลเซียส

สถานะพลังงานที่รองรับ
St Op Max Active ไม่ได้ใช้งาน RL RT WL WT Ent_Lat Ex_Lat
 0 + 6.20W - - 0 0 0 0 0 0
 1 + 4.30W - - 1 1 1 1 0 0
 2 + 2.10W - - 2 2 2 2 0 0
 3 - 0.0400 วัตต์ - - 3 3 3 3 210 1200
 4 - 0.0050W - - 4 4 4 4 2000 8000

ขนาด LBA ที่รองรับ (NSID 0x1)
รหัส Fmt Data Metadt Rel_Perf
 0 + 512 0 0

=== จุดเริ่มต้นของส่วนข้อมูลอัจฉริยะ ===
ผลการทดสอบการประเมินตนเองด้านสุขภาพโดยรวมของ SMART: ผ่าน

ข้อมูลสมาร์ท/สุขภาพ (NVMe Log 0x02, NSID 0x1)
คำเตือนที่สำคัญ: 0x00
อุณหภูมิ: 46 องศาเซลเซียส
มีอะไหล่: 73%
เกณฑ์สำรองที่มีอยู่: 10%
เปอร์เซ็นต์ที่ใช้: 0%
อ่านหน่วยข้อมูล: 232,548,547 [119 TB]
หน่วยข้อมูลที่เขียน: 58,761,625 [30.0 TB]
คำสั่งอ่านโฮสต์: 1,144,416,417
คำสั่งเขียนโฮสต์: 1,551,430,546
เวลาไม่ว่างของคอนโทรลเลอร์: 7,250
รอบกำลัง: 114
ชั่วโมงเปิดเครื่อง: 6,365
การปิดระบบที่ไม่ปลอดภัย: 73
ข้อผิดพลาดความสมบูรณ์ของสื่อและข้อมูล: 694
รายการบันทึกข้อมูลข้อผิดพลาด: 926
คำเตือน เวลาอุณหภูมิ: 0
คอมพ์ที่สำคัญ เวลาอุณหภูมิ: 0
เซ็นเซอร์อุณหภูมิ 1: 46 องศาเซลเซียส
เซ็นเซอร์อุณหภูมิ 2: 50 องศาเซลเซียส

ข้อมูลข้อผิดพลาด (NVMe Log 0x01, สูงสุด 64 รายการ)
จำนวน ErrCount SQId CmdId สถานะ PELoc LBA NSID VS
  0 926 28 0x0370 0xc502 0x000 3738332404 1 -
  1 925 6 0x015b 0xc502 0x000 2503721366 1 -
  2 924 22 0x0000 0xc502 0x000 1963251598 1 -
  3 923 11 0x038a 0xc502 0x000 1862557082 1 -
  4 922 16 0x00d1 0xc502 0x000 1862557082 1 -
  5 921 6 0x0141 0xc502 0x000 1826459600 1 -
  6 920 20 0x03b5 0xc502 0x000 1815443442 1 -
  7 919 8 0x034d 0xc502 0x000 2588273810 1 -
  8 918 11 0x0315 0xc502 0x000 2583041964 1 -
  9 917 9 0x02e3 0xc502 0x000 2583041964 1 -
 10 916 11 0x030e 0xc502 0x000 2583023500 1 -
 11 915 11 0x0308 0xc502 0x000 2583023468 1 -
 12 914 11 0x033a 0xc502 0x000 2583023500 1 -
 13 913 9 0x02ec 0xc502 0x000 2583023468 1 -
 14 912 14 0x03d2 0xc502 0x000 2472005420 1 -
 15 911 23 0x00cd 0xc502 0x000 2444721868 1 -
... (ไม่แสดง 32 รายการ)

/dev/nvme1n1:

$ sudo smartctl -a /dev/nvme1n1
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.0-91-generic] (รุ่นในเครื่อง)
ลิขสิทธิ์ (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== จุดเริ่มต้นของส่วนข้อมูล ===
หมายเลขรุ่น: Samsung SSD 970 EVO 2TB
หมายเลขซีเรียล: S464NB0M403333H
เวอร์ชันเฟิร์มแวร์: 2B2QEXE7
รหัสผู้จำหน่าย PCI/ระบบย่อย: 0x144d
ตัวระบุ IEEE OUI: 0x002538
ความจุ NVM ทั้งหมด: 2,000,398,934,016 [2.00 TB]
ความจุ NVM ที่ไม่ได้จัดสรร: 0
รหัสตัวควบคุม: 4
จำนวนเนมสเปซ: 1
เนมสเปซ 1 ขนาด/ความจุ: 2,000,398,934,016 [2.00 TB]
การใช้งานเนมสเปซ 1: 1,044,938,612,736 [1.04 TB]
เนมสเปซ 1 จัดรูปแบบขนาด LBA: 512
เวลาท้องถิ่นคือ: วันศุกร์ที่ 31 ธันวาคม 14:03:07 น. 2021 EST
อัพเดตเฟิร์มแวร์ (0x16): 3 ช่อง ไม่ต้องรีเซ็ต
คำสั่งผู้ดูแลระบบเพิ่มเติม (0x0017): รูปแบบความปลอดภัย Frmw_DL *อื่นๆ*
คำสั่ง NVM ที่เป็นทางเลือก (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat *อื่นๆ*
ขนาดการถ่ายโอนข้อมูลสูงสุด: 512 หน้า
คำเตือน อุณหภูมิ เกณฑ์: 82 องศาเซลเซียส
คอมพ์ที่สำคัญ อุณหภูมิ เกณฑ์: 82 องศาเซลเซียส

สถานะพลังงานที่รองรับ
St Op Max Active ไม่ได้ใช้งาน RL RT WL WT Ent_Lat Ex_Lat
 0 + 6.20W - - 0 0 0 0 0 0
 1 + 4.30W - - 1 1 1 1 0 0
 2 + 2.10W - - 2 2 2 2 0 0
 3 - 0.0400 วัตต์ - - 3 3 3 3 210 1200
 4 - 0.0050W - - 4 4 4 4 2000 8000

ขนาด LBA ที่รองรับ (NSID 0x1)
รหัส Fmt Data Metadt Rel_Perf
 0 + 512 0 0

=== จุดเริ่มต้นของส่วนข้อมูลอัจฉริยะ ===
ผลการทดสอบการประเมินตนเองด้านสุขภาพโดยรวมของ SMART: ผ่าน

ข้อมูลสมาร์ท/สุขภาพ (NVMe Log 0x02, NSID 0x1)
คำเตือนที่สำคัญ: 0x00
อุณหภูมิ: 45 องศาเซลเซียส
มีอะไหล่: 81%
เกณฑ์สำรองที่มีอยู่: 10%
เปอร์เซ็นต์ที่ใช้: 1%
อ่านหน่วยข้อมูล: 180,057,901 [92.1 TB]
หน่วยข้อมูลที่เขียน: 77,700,415 [39.7 TB]
คำสั่งอ่านโฮสต์: 801,630,346
คำสั่งเขียนโฮสต์: 1,566,190,001
เวลาไม่ว่างของคอนโทรลเลอร์: 6,925
รอบกำลัง: 156
ชั่วโมงเปิดเครื่อง: 6,260
การปิดเครื่องที่ไม่ปลอดภัย: 86
ข้อผิดพลาดเกี่ยวกับความสมบูรณ์ของสื่อและข้อมูล: 721
รายการบันทึกข้อมูลข้อผิดพลาด: 1,015
คำเตือน เวลาอุณหภูมิ: 0
คอมพ์ที่สำคัญ เวลาอุณหภูมิ: 0
เซ็นเซอร์อุณหภูมิ 1: 45 องศาเซลเซียส
เซ็นเซอร์อุณหภูมิ 2: 52 องศาเซลเซียส

ข้อมูลข้อผิดพลาด (NVMe Log 0x01, สูงสุด 64 รายการ)
จำนวน ErrCount SQId CmdId สถานะ PELoc LBA NSID VS
  0 1015 22 0x0178 0xc502 0x000 2395920012 1 -
  1 1014 31 0x02d6 0xc502 0x000 2065018576 1 -
  2 1013 10 0x004e 0xc502 0x000 1928508102 1 -
  3 1012 6 0x02aa 0xc502 0x000 2769949126 1 -
  4 1011 27 0x0204 0xc502 0x000 2180665946 1 -
  5 1010 27 0x023b 0xc502 0x000 2180598396 1 -
  6 1009 14 0x00ee 0xc502 0x000 2562333810 1 -
  7 1008 13 0x0075 0xc502 0x000 2423243572 1 -
  8 1007 30 0x03bb 0xc502 0x000 2326927278 1 -
  9 1006 24 0x03e6 0xc502 0x000 1775468746 1 -
 10 1005 16 0x0066 0xc502 0x000 1775468746 1 -
 11 1004 23 0x0148 0xc502 0x000 2813092280 1 -
 12 1003 26 0x02fa 0xc502 0x000 2452856518 1 -
 13 1002 5 0x03b1 0xc502 0x000 2119789206 1 -
 14 1001 27 0x009b 0xc502 0x000 3047371772 1 -
 15 1000 5 0x036c 0xc502 0x000 3047371772 1 -
... (ไม่แสดง 5 รายการ)

ไดรฟ์ทั้งสองไม่สนับสนุนการทดสอบตัวเอง (smartctl -c ไม่แสดงรายการการทดสอบด้วยตนเองใดๆ เลย)

$ sudo smartctl -c /dev/nvme0n1
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.0-91-generic] (รุ่นในเครื่อง)
ลิขสิทธิ์ (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== จุดเริ่มต้นของส่วนข้อมูล ===
อัพเดตเฟิร์มแวร์ (0x16): 3 ช่อง ไม่ต้องรีเซ็ต
คำสั่งผู้ดูแลระบบเพิ่มเติม (0x0017): รูปแบบความปลอดภัย Frmw_DL *อื่นๆ*
คำสั่ง NVM ที่เป็นทางเลือก (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat *อื่นๆ*
ขนาดการถ่ายโอนข้อมูลสูงสุด: 512 หน้า
คำเตือน อุณหภูมิเกณฑ์: 82 องศาเซลเซียส
คอมพ์ที่สำคัญ อุณหภูมิ เกณฑ์: 82 องศาเซลเซียส

สถานะพลังงานที่รองรับ
St Op Max Active ไม่ได้ใช้งาน RL RT WL WT Ent_Lat Ex_Lat
 0 + 6.20W - - 0 0 0 0 0 0
 1 + 4.30W - - 1 1 1 1 0 0
 2 + 2.10W - - 2 2 2 2 0 0
 3 - 0.0400 วัตต์ - - 3 3 3 3 210 1200
 4 - 0.0050W - - 4 4 4 4 2000 8000

ขนาด LBA ที่รองรับ (NSID 0x1)
รหัส Fmt Data Metadt Rel_Perf
 0 + 512 0 0

อัปเดตคำถามของฉัน:

ข้อผิดพลาดบางอย่างดูเหมือนจะเกิดจาก สคริปต์ตรวจสอบ ที่ทำงานเดือนละครั้ง เนื่องจากข้อผิดพลาดเริ่มต้น "ในวันอาทิตย์แรกของแต่ละเดือน เวลา 01:06 น. ในตอนเช้า" "man md" เพิ่ม:

[เปิด] RAID1 เป็นไปได้ที่ปัญหาซอฟต์แวร์จะทำให้รายงานไม่ตรงกัน [ระหว่างดิสก์ทั้งสอง] นี่ไม่ได้หมายความว่าข้อมูลในอาร์เรย์เสียหายเสมอไป อาจเป็นได้ว่าระบบไม่สนใจสิ่งที่เก็บอยู่ในส่วนนั้นของอาร์เรย์ - เป็นพื้นที่ที่ไม่ได้ใช้ สาเหตุที่เป็นไปได้มากที่สุดสำหรับความไม่ตรงกันที่ไม่คาดคิดใน RAID1 หรือ RAID10 เกิดขึ้นหากมีการจัดเก็บพาร์ติชั่น swap หรือไฟล์ swap ไว้ในอาร์เรย์

ฉันควรทำอย่างไรต่อไป? ขอบคุณมาก.

Nmath avatar
ng flag
เชื่อถือรายงานที่เลวร้ายที่สุดเสมอ ตรวจสอบให้แน่ใจว่ามีการสำรองข้อมูลตามลำดับ โปรดจำไว้ว่า [RAID ไม่ใช่การสำรองข้อมูล](https://www.raidisnotabackup.com/) วางแผนการเปลี่ยนไดรฟ์ที่ชำรุดไม่ช้าก็เร็ว
DanB avatar
in flag
ขอบคุณ. จู่ๆ ข้อผิดพลาดก็ปรากฏขึ้นบน *ทั้ง* SSD ในอาร์เรย์? (บางข้อความวางข้อผิดพลาดไว้ที่ `/dev/nvme0n1` และข้อความอื่นวางข้อผิดพลาดไว้ที่ `/dev/nvme1n1`
Nmath avatar
ng flag
หากทำมิเรอร์ อาจเป็นเพราะดิสก์ทั้งสองไม่สอดคล้องกัน
DanB avatar
in flag
พวกเขาสะท้อน มีคำสั่งให้ตรวจสอบหรือแก้ไขสถานการณ์หากดิสก์ไม่สอดคล้องกันหรือไม่? PS: ฉันเพิ่งค้นพบ (โดยการค้นหาบันทึกเก่าที่เก็บถาวร) ว่าข้อผิดพลาดเหล่านี้เกิดขึ้นเป็นเวลาหลายเดือนในทั้งสองไดรฟ์ โดยปกติแล้วจะเกิดขึ้นในเวลาเดียวกันของวัน เมื่อมีการสำรองข้อมูลโดย rsync (ไปยังไดรฟ์อื่น)
Nmath avatar
ng flag
ข้อผิดพลาดที่คุณเห็นกำลังแจ้งให้คุณทราบถึงการแก้ไข นั่นคือความหมายของ "การกำหนดเวลาใหม่" และ "การเปลี่ยนเส้นทาง"
DanB avatar
in flag
ขอบคุณ! คำถามสุดท้าย: หมายความว่าอย่างไรหากข้อผิดพลาด *ไม่ใช่* ตามด้วยข้อความกำหนดเวลา/แก้ไข เช่น ข้อความนี้โดยตัวมันเอง: "เคอร์เนล: [905111.122813] blk_update_request: ข้อผิดพลาดร้ายแรงปานกลาง, dev nvme1n1, เซกเตอร์ 34055424 op 0x0:( อ่าน) ..."?
DanB avatar
in flag
อา เพิ่งค้นพบบางอย่างใน `/usr/share/doc/mdadm/README.checkarray`! "checkarray จะทำการตรวจสอบพาริตี้ในอาร์เรย์ที่ซ้ำซ้อนทั้งหมดของคุณ ตามค่าเริ่มต้น มันถูกกำหนดค่าให้ทำงานในวันอาทิตย์แรกของแต่ละเดือน เวลา 01:06 ในตอนเช้า" วันที่และเวลานั้นตรงกับข้อความแสดงข้อผิดพลาดส่วนใหญ่ในบันทึกของฉันทุกประการ (ไม่ใช่ข้อความแสดงข้อผิดพลาดทั้งหมด)
Nmath avatar
ng flag
ไม่แน่ใจเกี่ยวกับข้อผิดพลาดที่ไม่ได้ตามด้วยการแก้ไข ทำให้ฉันรู้สึกว่าการแก้ไขส่วนใหญ่จะเกิดขึ้นเมื่อระบบกำลังตรวจสอบอยู่

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา