Score:2

ข้อผิดพลาด ext4 กับ dm-crypt / LUKS ที่ด้านบนของอุปกรณ์ iSCSI

ธง cn
ftc

ฉันมีอุปกรณ์ "NAS" แบบเก่าสองเครื่อง โดยเฉพาะ Buffalo TeraStation Rackmount iSCSI ("TS-RIXL/R5") โดยทั่วไปแล้วคอมพิวเตอร์ฝังตัวที่ใช้ Linux มีสล็อต SATA สี่ช่องและพอร์ต Ethernet สองพอร์ตพร้อมเฟิร์มแวร์ที่แสดงเป็นเป้าหมาย iSCSI

ด้วยอุปกรณ์ทั้งสอง ฉันทำสิ่งต่อไปนี้:

ฉันใส่ไดรฟ์ Seagate Exos X16 ขนาด 16TB ใหม่สี่ตัว ใช้เครื่องมือ "อัพเดตเฟิร์มแวร์" ของ Windows ของ Buffalo เพื่อติดตั้งเฟิร์มแวร์ล่าสุด (1.66) และสร้างอาร์เรย์ RAID5

จากนั้น บนเครื่อง amd64 ที่ใช้ Debian Buster พร้อมเคอร์เนลและเครื่องมือมาตรฐาน ฉันพยายามตั้งค่าระบบไฟล์ที่เข้ารหัส:

#ตามหาอุปกรณ์
iscsiadm -m การค้นพบ -t st -p <ip_address>:3260
# เชื่อมต่อกับระบบย่อย SCSI ของผู้ริเริ่ม
iscsiadm -m node --targetname "iqn.2004-08.jp.buffalo:<device_id>:vol1" --portal <ip_address>:3260,1" --login
# สิ่งนี้ทำให้ /dev/sda ปรากฏขึ้น

# สร้างอุปกรณ์เข้ารหัส
cryptsetup luksFormat /dev/sda
cryptsetup เปิด /dev/sda nas

# สร้างระบบไฟล์และติดตั้ง
mke2fs -t ext4 /dev/mapper/nas
เมานต์ /dev/mapper/nas /mnt/nas/

#รับทำไดเร็กทอรี
mkdir /mnt/nas/store

สิ่งนี้ดูเหมือนจะทำงานได้ดี แต่ทำให้ข้อผิดพลาดต่อไปนี้ปรากฏใน dmesg และ syslog ทันที:

ข้อผิดพลาด EXT4-fs (อุปกรณ์ dm-0): ext4_validate_block_bitmap:384: comm mkdir: bg 18736: การตรวจสอบบิตแมปบล็อกที่ไม่ดี

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

EXT4-fs (dm-0): การจัดสรรบล็อกล่าช้าล้มเหลวสำหรับ inode 479102523 ที่ออฟเซ็ตโลจิคัล 8708096 โดยมีบล็อกสูงสุด 128 พร้อมข้อผิดพลาด 74
EXT4-fs (dm-0): สิ่งนี้ไม่ควรเกิดขึ้น!! ข้อมูลจะสูญหาย

สิ่งนี้สามารถทำซ้ำได้กับอุปกรณ์ NAS ทั้งสอง โดยตัดขาดข้อบกพร่องของฮาร์ดแวร์บางอย่าง

อุปกรณ์เหล่านี้ทำงานได้อย่างไร้ที่ติมานานหลายปี (ด้วย iSCSI โดยไม่มีการเข้ารหัส)

ถ้าฉันทำสิ่งเดียวกันตอนนี้ ปราศจาก ส่วน "cryptsetup" ให้สร้างระบบไฟล์บน /dev/sda โดยตรงและเมานต์ ผมสามารถทำงานกับข้อมูลหลายกิกะไบต์ได้โดยไม่มีข้อผิดพลาดปรากฏใน syslog และไม่มีข้อมูลเสียหาย

ในทางกลับกัน ใช้ขั้นตอนเดียวกันในเครื่อง Debian ตั้งค่าระบบไฟล์ที่เข้ารหัสบนฮาร์ดดิสก์ที่เชื่อมต่อผ่าน USB (แทน iSCSI) ก็ทำงานได้ดีเช่นกัน

ดังนั้น:

ext4 => dm-crypt => iSCSI => Buffalo NAS: "สิ่งนี้ไม่ควรเกิดขึ้น!! ข้อมูลจะสูญหาย"

ext4 => iSCSI => Buffalo NAS: ใช้งานได้

ext4 => dm-crypt => ดิสก์ USB ภายนอก: ใช้งานได้

(โดยที่ "ใช้งานได้" หมายถึง: ฉันคัดลอกไฟล์ประมาณ 10,000 ไฟล์ที่มีขนาดประมาณ 48 GB และตรวจสอบโดยใช้ md5sum ว่าไฟล์ทั้งหมดอยู่ที่นั่นและไม่ได้เสียหาย)

จากนั้นฉันทำการทดสอบซ้ำบนเครื่องที่ใช้ Ubuntu hirsute (21.04) และได้ผลลัพธ์เดียวกัน

มีปัญหาที่ทราบในการเรียกใช้ dm-crypt ที่ด้านบนของ iSCSI หรือไม่ ฉันอาจต้องมีการกำหนดค่าพิเศษสำหรับส่วน iSCSI หรือไม่ เช่น การกำหนดค่าบางอย่างสำหรับแคชหรือขนาดบล็อก

Score:0
ธง cn
ftc

ดังนั้น ปรากฎว่าปัญหาไม่ได้เกิดจากการรวมกันของ dm-crypt ที่ด้านบนของ iSCSI แต่เป็นข้อจำกัด/จุดบกพร่องในเฟิร์มแวร์ TeraStation

ด้วยดิสก์ 4 TB แทนที่จะเป็น 16 TB ปัญหาจะไม่ปรากฏ

เมื่อเปิดเผยดิสก์ขนาด 16 TB เป็น iSCSI LUN แต่ละรายการ และ แล้ว เรียกใช้ซอฟต์แวร์ Linux RAID ด้านบน ปัญหาไม่ปรากฏเช่นกัน

ฉันจะทิ้งสิ่งนี้ไว้เผื่อมีคนไปค้นเจอในกูเกิล

ฉันไม่ได้คิดถึงเรื่องนี้ เพราะฉันรู้ว่า TeraStation กำลังใช้งานเวอร์ชันของ Linux และฉันไม่เคยติดตั้ง Linux มาก่อนเลย ดิสก์ขนาด 16 TB ทำงานแตกต่างจากดิสก์ขนาด 4 TB ดังนั้นฉันจึงไม่คิดเรื่องนี้ จะมีข้อจำกัดเช่นนี้ และนอกจากนี้ ฉันคิดว่าหากมีปัญหากับขนาดของดิสก์ TeraStation จะโยนข้อความแสดงข้อผิดพลาดและไม่ดำเนินการในลักษณะที่แปลกประหลาด ในทางใดทางหนึ่งที่ทำให้ข้อมูลเสียหาย

โพสต์คำตอบ

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