ข้อผิดพลาด ZFS ถาวรบ่งบอกอะไร


18

permanent errorsวันนี้มีหลายคนรายงานที่สวนสัตว์ของฉัน

  pool: seagate3tb
 state: ONLINE
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: http://zfsonlinux.org/msg/ZFS-8000-8A
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        seagate3tb  ONLINE       0     0    28
          sda       ONLINE       0     0    56

errors: Permanent errors have been detected in the following files:

        /mnt/seagate3tb/Install.iso
        /mnt/seagate3tb/some-other-file1.txt
        /mnt/seagate3tb/some-other-file2.txt

แก้ไข: ฉันแน่ใจว่าCKSUMค่าเหล่านั้นถูกต้องหรือไม่ ฉันทำข้อมูลซ้ำแล้วซ้ำอีกและอาจทำให้ข้อมูลผิดพลาด พวกเขาอาจเป็น 0 แต่น่าเสียดายที่ฉันไม่สามารถหาคำตอบข้อสรุปในบันทึกย่อของฉันและข้อผิดพลาดได้รับการแก้ไขในขณะนี้ดังนั้นฉันไม่แน่ใจ แต่ทุกอย่างอื่นถูกต้อง / สะท้อนถึงสิ่งที่ zpool รายงาน

/mnt/seagate3tb/Install.iso เป็นไฟล์ตัวอย่างหนึ่งรายงานว่ามีข้อผิดพลาดถาวร

ที่นี่ฉันสับสน หากฉันเปรียบเทียบ "ข้อInstall.isoผิดพลาดถาวร" กับสำเนาสำรองของไฟล์เดียวกันนั้น ๆ ในระบบไฟล์อื่น

shasum "/mnt/seagate3tb/Install.iso"
1ade72fe65902b2a978e5504aaebf9a3a08bc328  /mnt/seagate3tb/Install.iso
shasum "/mnt/backup/Install.iso"
1ade72fe65902b2a978e5504aaebf9a3a08bc328  /mnt/backup/Install.iso
cmp /mnt/seagate3tb/Install.iso /mnt/backup/Install.iso
diff /mnt/seagate3tb/Install.iso /mnt/backup/Install.iso

ไฟล์ดูเหมือนจะเหมือนกัน ยิ่งกว่านั้นไฟล์ทำงานได้อย่างสมบูรณ์แบบ ถ้าฉันใช้มันในแอปพลิเคชันมันจะทำงานเหมือนที่ฉันคาดไว้

ในขณะที่เอกสารของรัฐ :

ข้อผิดพลาดข้อมูลเสียหายมักถึงแก่ชีวิต

fatalแต่ขึ้นอยู่กับการตรวจสอบไฟล์พื้นฐานของฉันฉันไม่แน่ใจว่าผมเข้าใจความหมายของ

สถานะ: อุปกรณ์อย่างน้อยหนึ่งตัวมีข้อผิดพลาดทำให้ข้อมูลเสียหาย แอปพลิเคชันอาจได้รับผลกระทบ

การดำเนินการ: กู้คืนไฟล์ที่เป็นปัญหาหากเป็นไปได้ มิฉะนั้นกู้คืนพูลทั้งหมดจากการสำรองข้อมูล

บางทีฉันอาจจะพลาดบางสิ่งบางอย่าง แต่ไฟล์ดูเหมือนจะดีที่สุดเท่าที่ฉันสามารถบอกได้และไม่ต้องการการฟื้นฟูใด ๆ หรือไม่แสดงความเสียหายใด ๆ แม้จะมีคำแนะนำจาก ZFS

ฉันเห็นบทความอื่นที่มีข้อผิดพลาดเดียวกันแต่ฉันยังไม่พบคำตอบสำหรับคำถามของฉัน

อะไรข้อผิดพลาดถาวรกับแฟ้มคืออะไร? มีปัญหาระดับต่ำกว่าสำหรับไฟล์ที่ไม่ปรากฏให้ฉันเห็นหรือไม่? ถ้าเป็นเช่นนั้นเหตุใดจึงไม่ถูกตรวจพบโดย a shasumว่าเป็นความแตกต่างในไฟล์

จากมุมมองของฆราวาสฉันไม่เห็นอะไรเลยที่บ่งบอกถึงข้อผิดพลาดของไฟล์นี้


คุณมีสแน็ปช็อตหรือไม่
ewwhite

3
จะเพราะไม่มีใครพูดได้ฉันขอต้อนรับคุณสู่ ServerFault ไหม? ดูเหมือนว่าฉันจะเป็นคำถามแรกที่ยอดเยี่ยมและฉันหวังว่ามันจะได้รับคำตอบที่ให้คำแนะนำต่อไป ฉันหวังว่าคุณจะตัดสินใจที่จะติดอยู่กับ SF และมีส่วนร่วมเพิ่มเติม
MadHatter

ขอบคุณ @ MadHatter! ฉันซาบซึ้งในการต้อนรับที่ดีของคุณและแน่นอนว่าฉันจะได้สัมผัสกับ SF ฉันได้เพิ่มไปยังรายการสั้น ๆ ของชุมชน SE
Will Haley

คำตอบ:


22

ถ้อยคำของzpool statusทำให้เข้าใจผิดเล็กน้อย ข้อผิดพลาดถาวร (ในบริบทนี้) บ่งชี้ว่ามีข้อผิดพลาด I / O เกิดขึ้นและถูกบันทึกไว้ในบันทึกข้อผิดพลาด SPA (ตัวจัดกลุ่มการจัดเก็บข้อมูล) สำหรับพูลนั้น นี่ไม่ได้แปลว่ามีความเสียหายของข้อมูลที่ไม่สามารถกู้คืนได้

สิ่งที่คุณควรทำคือรันzpool scrubบนพูล เมื่อการขัดเสร็จสิ้นบันทึกข้อผิดพลาดของ SPA จะหมุนและจะไม่แสดงข้อผิดพลาดจากก่อนการขัดอีกต่อไป หากการตรวจพบการขัดไม่มีข้อผิดพลาดzpool statusจะไม่แสดงข้อผิดพลาด "ถาวร" อีกต่อไป

เกี่ยวกับเอกสารอธิบายว่ามีเพียง "ข้อผิดพลาดร้ายแรง" เท่านั้นที่เข้าสู่ระบบด้วยวิธีนี้ ข้อผิดพลาดที่ร้ายแรงคือข้อผิดพลาด I / O ที่ไม่สามารถแก้ไขได้โดยอัตโนมัติโดย ZFS ดังนั้นจึงถูกเปิดเผยต่อแอปพลิเคชันว่าเป็น I / O ที่ล้มเหลว ในทางตรงกันข้ามหากลองใช้ I / O ทันทีสำเร็จหรือถ้าโลจิคัล I / O เป็นที่พอใจจากอุปกรณ์ที่ซ้ำซ้อนมันจะไม่ถูกพิจารณาว่าเป็นข้อผิดพลาดร้ายแรงและดังนั้นจึงไม่ถูกบันทึกเป็นข้อผิดพลาดของข้อมูลเสียหาย

ข้อผิดพลาดร้ายแรงไม่ได้หมายถึงการสูญเสียข้อมูลถาวรมันก็หมายความว่าในเวลานั้นไม่สามารถแก้ไขได้ก่อนที่มันจะแพร่กระจายไปยังแอปพลิเคชัน ตัวอย่างเช่นสายเคเบิลหลวมหรือตัวควบคุมที่ไม่ดีอาจทำให้เกิดข้อผิดพลาดร้ายแรงชั่วคราวซึ่ง ZFS จะอธิบายว่า "ถาวร" ไม่ว่าจะเป็นปัญหาจริงหรือไม่นั้นขึ้นอยู่กับลักษณะของ I / O และแอปพลิเคชันนั้นสามารถกู้คืนจากข้อผิดพลาด I / O ได้หรือไม่

แก้ไข: เห็นด้วยอย่างเต็มที่กับ @bahamat ว่าคุณควรลงทุนในความซ้ำซ้อนโดยเร็วที่สุด


บันทึกข้อผิดพลาดของ SPA รายงานสิ่งนี้ว่า "ถาวร" ดูเหมือนจะทำให้เข้าใจผิดเล็กน้อย zpool scrubไม่ตรงกับสิ่งที่คุณแนะนำ @ ทอมชอว์และคำอธิบายของคุณทำให้รู้สึกดี ฉันไม่เห็น "ข้อผิดพลาดถาวร" ในอาเรย์นี้อีกต่อไปหลังจากขัดผิว ฉันไม่ได้คิดถึงข้อผิดพลาดร้ายแรงในบริบทของการอ่านที่ล้มเหลว ฉันคิดว่ามันต้องเป็นข้อผิดพลาด I / O ชั่วคราวในการอ่านอย่างที่คุณแนะนำ ฉันเห็นด้วยอย่างยิ่งกับความต้องการความซ้ำซ้อน
Will Haley

ทอมไม่เห็นคุณซักพัก ยินดีต้อนรับกลับ.
the-wabbit

7

ข้อผิดพลาดถาวรหมายความว่ามีข้อผิดพลาดในการตรวจสอบในไฟล์และมีแบบจำลองไม่เพียงพอที่จะซ่อมแซม หมายความว่ามีอย่างน้อยหนึ่งการอ่านที่ส่งคืนข้อมูลที่เสียหายเนื่องจากข้อผิดพลาด I / O หากสิ่งใดก็ตามที่ได้รับการอ่านเขียนจากนั้นกลับไปที่ดิสก์ไฟล์เดียวกันตอนนี้คุณจะมีข้อมูลเสียหายไม่สามารถกู้คืนได้

ดูที่การกำหนดค่าพูลของคุณดูเหมือนว่าคุณไม่มีความซ้ำซ้อน มันอันตรายมาก คุณไม่ได้รับประโยชน์การรักษาด้วยตนเองของ ZFS แต่จะสามารถบอกคุณได้เมื่อเกิดความเสียหายของข้อมูล ตามปกติแล้ว ZFS จะแก้ไขการอ่านที่เสียหายโดยอัตโนมัติและเงียบ ๆ แต่ในกรณีของคุณจะไม่สามารถทำได้ ดูเหมือนว่าคุณได้รันไปแล้วzpool clearเนื่องจากการCKSUMนับนั้นใช้0สำหรับไดรฟ์ทั้งคู่

น่าเสียดายที่ไม่มีแบบจำลองไม่มีทางรู้ได้


2
จะไม่zpool clearล้างข้อความแสดงข้อผิดพลาดเองไม่ใช่เฉพาะข้อผิดพลาดที่นับได้ เป็นเรื่องแปลกที่ข้อความยังคงมีอยู่ แต่ไม่มีข้อผิดพลาดปรากฏขึ้น
user121391

2
ขอโทษด้วย. ฉันข้ามไฟล์จากรายการข้อผิดพลาดถาวรเพื่อความเป็นส่วนตัว ในการแก้ไขเอาต์พุตนั้นฉันยังจัดการ CKSUM ด้วยการนับและสูญเสียบริบทที่มีค่า ฉันได้แก้ไขคำถามเพื่อสะท้อนความเป็นจริง @ user121391
Will Haley

ในกรณีนั้นหากหมายเลขที่คุณแสดงนั้นถูกต้องแสดงว่าคุณมีข้อผิดพลาดด้านฮาร์ดแวร์ เนื่องจากดิสก์ทั้งสองแสดงCKSUM countsว่าอาจเป็นคอนโทรลเลอร์สายเคเบิลหรือฮาร์ดแวร์ที่ใช้ร่วมกันระหว่างดิสก์ทั้งสอง อาจเป็นไปได้ว่าดิสก์ทั้งสองล้มเหลว ไม่ว่าในกรณีใด ๆ สิ่งนี้จะเป็นการเน้นย้ำถึงความจำเป็นในการเพิ่มความซ้ำซ้อนโดยเร็วและตรวจสอบไฟล์ที่ระบุว่ามีความเสียหาย
บาฮามาต

OP ดูเหมือนจะไม่มีความซ้ำซ้อนใด ๆ vdev มีข้อผิดพลาด 56 CKSUM และพูลมีข้อผิดพลาด 28 CKSUM ดังนั้นฉันไม่แน่ใจว่าสิ่งที่คุณอ้างถึงโดย "ดิสก์ทั้งสอง" ในความคิดเห็นก่อนหน้าของคุณ ฉันเห็นด้วยกับประเด็นของคุณเกี่ยวกับคุณค่าของความซ้ำซ้อน
CVn

คุณถูก. ฉันอ่านชื่อพูลผิดเหมือนว่าเป็นดิสก์อื่น ขอบคุณสำหรับการชี้ให้เห็นว่า
บาฮามาต
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.