พูลสำรอง ZFS ของเรากำลังสร้างข้อผิดพลาดแปลก ๆ ของดิสก์เมื่อเขียนข้อมูล พูลนี้ถูกจำลองแบบผ่าน DRBD บนเซิร์ฟเวอร์ที่สองซึ่งมีฮาร์ดแวร์ที่เหมือนกันซึ่งพบข้อผิดพลาดเดียวกัน นี่คือเหตุผลที่ฉันไม่คิดว่ามันเป็นปัญหาของฮาร์ดแวร์
การตั้งค่ามีดังต่อไปนี้ (บนเซิร์ฟเวอร์ทั้งสองเครื่อง):
- เซิร์ฟเวอร์ Debian 10 พร้อมการ์ดควบคุม Adaptec ASR 71605 RAID ในโหมด HBA ดิสก์ทั้งหมดจะแสดงเป็นดิสก์ RAW
- มีสองพูล (ดิสก์ทั้งหมดเป็นดาต้าเซ็นเตอร์ SSD):
- RAID-Z3 ใช้ดิสก์แปดตัว ทำงานโดยไม่มีปัญหา
- MIRROR ใช้ดิสก์สองแผ่น รับข้อผิดพลาดของดิสก์
- แต่ละพูลมีหนึ่งวอลุ่ม ZFS ที่สร้างขึ้น (compression=lz4)
- ปริมาณจะซิงโครไนซ์กับเซิร์ฟเวอร์ที่สองผ่าน DRBD (โปรโตคอล C)
- อุปกรณ์บล็อกที่เปิดเผยโดย DRBD มีวอลุ่ม LVM ซึ่งเปิดเผยต่อไฮเปอร์ไวเซอร์ของเราผ่านทาง iSCSI ไฮเปอร์ไวเซอร์ (XCP-ng) จัดการดิสก์อย่างโปร่งใสบนวอลุ่ม iSCSI
ดิสก์ทั้งหมดบนมิเรอร์พูลพบข้อผิดพลาดต่อไปนี้ (ไม่ใช่พร้อมกัน แต่ในเวลาต่างกัน):
10 พฤศจิกายน 18:00:09 เคอร์เนล st41: [240970.603991] sd 0:1:8:0: [sdi] tag#977 FAILED ผลลัพธ์: hostbyte=DID_ABORT driverbyte=DRIVER_OK
10 พฤศจิกายน 18:00:09 เคอร์เนล st41: [240970.603997] sd 0:1:8:0: [sdi] tag#977 CDB: เขียน (10) 2a 00 a8 20 31 67 00 01 00 00
10 พฤศจิกายน 18:00:09 เคอร์เนล st41: [240970.604000] print_req_error: ข้อผิดพลาด I/O, dev sdi, เซกเตอร์ 2820682087
10 พ.ย. 18:00:09 เคอร์เนล st41: [240970.604065] zio pool=tank2 vdev=/dev/disk/by-id/ata-SAMSUNG_MZ7KH1T9HAJR-00005_S47PNA0R101407-part1 error=5 type=2 offset=1444188179968 size=13107288flags
10 พฤศจิกายน 18:00:10 เคอร์เนล st41: [240970.675209] aacraid: คำขอรีเซ็ตโฮสต์บัส SCSI ค้าง ?
10 พ.ย. 18:00:10 เคอร์เนล st41: [240970.675272] aacraid 0000:82:00.0: โดดเด่น cmd: ระดับกลาง-1
10 พ.ย. 18:00:10 เคอร์เนล st41: [240970.675275] aacraid 0000:82:00.0: cmd ที่โดดเด่น: lowlevel-0
10 พฤศจิกายน 18:00:10 เคอร์เนล st41: [240970.675278] aacraid 0000:82:00.0: cmd ที่โดดเด่น: ตัวจัดการข้อผิดพลาด-0
10 พ.ย. 18:00:10 เคอร์เนล st41: [240970.675280] aacraid 0000:82:00.0: cmd ที่โดดเด่น: firmware-0
10 พ.ย. 18:00:10 เคอร์เนล st41: [240970.675283] aacraid 0000:82:00.0: cmd ที่โดดเด่น: kernel-0
10 พฤศจิกายน 18:00:10 เคอร์เนล st41: [240970.675317] aacraid 0000:82:00.0: ประเภทการรีเซ็ตคอนโทรลเลอร์คือ 3
10 พ.ย. 18:00:10 เคอร์เนล st41: [240970.675358] aacraid 0000:82:00.0: กำลังออก IOP รีเซ็ต
10 พฤศจิกายน 18:00:45 เคอร์เนล st41: [241005.856763] aacraid 0000:82:00.0: การรีเซ็ต IOP สำเร็จ
10 พ.ย. 18:00:45 เคอร์เนล st41: [241005.879733] aacraid: เปิดใช้งาน Comm Interface type2
10 พ.ย. 18:00:54 เคอร์เนล st41: [241014.950498] aacraid 0000:82:00.0: การตั้งเวลาการสแกนบัสใหม่
สี่บรรทัดแรกของบันทึกข้างต้นปรากฏขึ้นหลายครั้งโดยมีเซกเตอร์และข้อมูล CDB Write(10) ต่างกัน แต่อย่างอื่นจะเหมือนกัน สิ่งนี้จะเกิดขึ้นตลอดเวลาซึ่งเป็นเวลาที่สคริปต์สำรองของเราเริ่มเขียนลงในกลุ่มนี้
ฉันได้ลองอัปเดตแพ็คเกจ ZFOnlinux, เฟิร์มแวร์คอนโทรลเลอร์ RAID และลองเสียบดิสก์เข้ากับสล็อตต่างๆ บนแบ็คเพลน รายงาน SMART ของดิสก์ไม่แสดงข้อผิดพลาดเลย (และดิสก์ค่อนข้างใหม่)
เนื่องจากสิ่งนี้เกิดขึ้นกับเซิร์ฟเวอร์ทั้งสองและกับดิสก์ทั้งสี่ตัว ฉันไม่คิดว่านี่เป็นปัญหาของฮาร์ดแวร์กับดิสก์หรือตัวควบคุม RAID
ข้อแตกต่างเพียงอย่างเดียวในการกำหนดค่าระหว่างดิสก์บนพูลทั้งสองที่ฉันพบคือ ARCCONF รายงาน เขียนแคช: เปิดใช้งาน (เขียนกลับ) สำหรับดิสก์พูลที่ทำมิเรอร์ แต่ เขียนแคช: ปิดใช้งาน (เขียนผ่าน) สำหรับดิสก์พูล RAID-Z3 ฉันไม่สามารถเปลี่ยนโหมดแคชนี้ได้เนื่องจาก ARCCONF ระบุว่าดิสก์อยู่ในโหมด RAW และไม่รองรับการแคช ดังนั้นฉันจึงไม่แน่ใจว่ารายงานการกำหนดค่าจะเชื่อถือได้หรือไม่
ฉันไม่แน่ใจว่าจะทำอย่างไรตอนนี้ ความช่วยเหลือใด ๆ ที่ชื่นชม