ระบบไฟล์ใดสำหรับ LVM ขนาดใหญ่ของดิสก์ (8 TB)


21

ฉันมีเซิร์ฟเวอร์ Linux ที่มีดิสก์ 2 TB จำนวนมากทั้งหมดนี้อยู่ใน LVM ทำให้มีพื้นที่ประมาณ 10 TB ฉันใช้พื้นที่ทั้งหมดนี้บนพาร์ติชัน ext4 และปัจจุบันมีข้อมูลประมาณ 8,8 TB

ปัญหาคือฉันมักจะได้รับข้อผิดพลาดในดิสก์ของฉันและแม้ว่าฉันจะแทนที่ (กล่าวคือฉันคัดลอกดิสก์เก่าไปยังดิสก์ใหม่ด้วย dd จากนั้นฉันใส่ดิสก์ใหม่ลงในเซิร์ฟเวอร์) พวกเขาทันทีที่เกิดข้อผิดพลาดขึ้น ฉันมักจะได้รับข้อมูลที่เสียหายประมาณ 100 MB นั่นทำให้ e2fsck บ้าไปทุกครั้งและมันมักจะใช้เวลาหนึ่งสัปดาห์เพื่อให้ระบบไฟล์ ext4 อยู่ในสถานะมีสติอีกครั้ง

ดังนั้นคำถามคือคุณจะแนะนำให้ฉันใช้เป็นระบบไฟล์ใน LVM ของฉันอย่างไร หรือคุณอยากแนะนำให้ฉันทำอะไรแทน (ฉันไม่ต้องการ LVM จริงๆ)

โปรไฟล์ของระบบไฟล์ของฉัน:

  • โฟลเดอร์หลายขนาดแตกต่างกัน (บางแห่งรวม 2 TB บางแห่งรวม 100 MB)
  • เกือบ 200,000 ไฟล์ที่มีขนาดแตกต่างกัน (3/4 ของไฟล์มีขนาดประมาณ 10 MB, 1/4 ระหว่าง 100 MB และ 4 GB ปัจจุบันฉันไม่สามารถรับสถิติเพิ่มเติมเกี่ยวกับไฟล์ได้เนื่องจากพาร์ติชัน ext4 ของฉันพังยับเยินไปหลายวัน)
  • หลายคนอ่าน แต่เขียนไม่กี่คน
  • และฉันต้องการความอดทนต่อความผิดพลาด (ฉันหยุดใช้ mdadm RAID เพราะไม่ชอบมีข้อผิดพลาดเพียงครั้งเดียวบนดิสก์ทั้งหมดและบางครั้งฉันมีดิสก์ที่ล้มเหลวฉันจะแทนที่ทันทีที่ทำได้ แต่นั่นหมายความว่าฉันสามารถรับข้อมูลที่เสียหายได้ ระบบไฟล์ของฉัน)

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

ถ้าฉันยังคงใช้ ext4 ต่อไปฉันได้ยินมาว่าฉันควรพยายามทำระบบไฟล์ให้เล็กลงและ "รวม" มันเข้าด้วยกัน แต่ฉันก็ไม่รู้เหมือนกัน

ฉันได้ยินมาว่า btrfs จะดี แต่ฉันไม่สามารถหาเบาะแสเกี่ยวกับวิธีการสูญเสียส่วนหนึ่งของดิสก์ (หรือทั้งดิสก์) เมื่อข้อมูลไม่ถูกจำลอง ( mkfs.btrfs -d single?)

คำแนะนำใด ๆ เกี่ยวกับคำถามจะได้รับการต้อนรับขอบคุณล่วงหน้า!


1
สิ่งที่คุณได้รับข้อผิดพลาดดิสก์ ที่ควรให้เบาะแส
Soham Chakraborty

เซกเตอร์เสียมักจะเป็นเซกเตอร์เสียเพียงหนึ่งหรือสองตัวบนดิสก์ทั้งหมด ...
alphatiger

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

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

คุณควรเปลี่ยนชิ้นส่วนที่ผิดพลาดของฮาร์ดแวร์ของคุณจริงๆ มันเหมือนกับการดูการทดสอบการชนหลังจากที่รถถูกขับไปที่กำแพง 200 กม. / ชม. "โอ้ดูสิขาซ้ายของเขาเกือบจะโอเคแล้วการทดสอบก็สำเร็จ!" ... ไม่มีระบบไฟล์ใดที่สามารถช่วยคุณได้ถ้าฮาร์ดแวร์เน่าเสีย XFS มี fsck เร็วกว่า ext * และหลังจากเวลาผ่านไปพอสมควรและระบบไฟล์มีจำนวนเพิ่มขึ้นอีกเล็กน้อยบางที btrfs ก็ใช้ได้เช่นกัน มี ZFS อยู่แล้ว แต่บน Linux สถานะของมันค่อนข้างน่าเศร้า
Janne Pikkarainen

คำตอบ:


22

ไม่ใช่ปัญหาของระบบไฟล์ แต่เป็นข้อ จำกัด ทางกายภาพของดิสก์ นี่คือข้อมูลบางส่วน:

โดยทั่วไปแล้วจะระบุไดรฟ์ SATA พร้อมกับอัตราความผิดพลาดในการอ่าน (URE) 10 ^ 14 ที่ไม่สามารถกู้คืนได้ นั่นหมายความว่า1 ไบต์ต่อ 12TB จะหายไปอย่างไม่สามารถกู้คืนได้แม้ว่าดิสก์จะทำงานได้ดีก็ตาม

ซึ่งหมายความว่าเมื่อไม่มี RAID คุณจะสูญเสียข้อมูลแม้ว่าจะไม่มีไดรฟ์ล้มเหลวก็ตาม RAID เป็นตัวเลือกเดียวของคุณ

หากคุณเลือก RAID5 (ความจุรวม n-1 โดยที่ n = จำนวนดิสก์) ก็ยังไม่เพียงพอ ด้วย 10TB RAID5 ซึ่งประกอบด้วย 6 x 2TB HDD คุณจะมีโอกาส 20% ของความล้มเหลวของไดรฟ์หนึ่งตัวต่อปีและดิสก์เดี่ยวล้มเหลวเนื่องจาก URE คุณจะมีโอกาส 50% ที่จะสร้าง RAID5 ขึ้นใหม่และกู้คืนข้อมูลได้ 100% .

โดยพื้นฐานแล้วด้วยความจุของดิสก์ที่สูงและ URE ที่ค่อนข้างสูงคุณต้องใช้ RAID6 เพื่อความปลอดภัยแม้กระทั่งดิสก์ที่ล้มเหลวอีกครั้ง

อ่านสิ่งนี้: http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162


3
รอ URE หมายความว่าไม่สามารถกู้อ่านข้อผิดพลาด แต่นี้ไม่ได้หมายความว่าดิสก์จริงHASข้อผิดพลาด อ่านต่อไปอาจ (และอาจจะ) กลับบิตที่ถูกต้อง ระบบปฏิบัติการอาจเพิ่งอ่านเซกเตอร์และรับข้อมูลที่ถูกต้อง คุณลืมที่จะพูดคุยเกี่ยวกับ SMART: ก่อนที่เซกเตอร์จะเสียหายอย่างถาวร SMART จะพยายามอ่าน / เขียนข้อมูลจาก / ถึงมัน หากตรวจพบความล้มเหลวมากเกินไปสมาร์ทจะย้ายเนื้อหาของเซกเตอร์ไปที่อื่นและทำเครื่องหมายเซกเตอร์ว่าเป็นBADและไม่มีใครสามารถเขียนลงไปได้อีก
Avio

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

@Avio สิ่งที่ฉันพูดคือมีข้อมูล 10TB คุณจะได้อ่านข้อผิดพลาดเนื่องจากข้อ จำกัด ของฮาร์ดดิสก์แม้ว่าดิสก์ทั้งหมดคอนโทรลเลอร์ SATA, ขั้วต่อ SATA ฯลฯ อยู่ในสภาพที่สมบูรณ์และทำงานได้ตามข้อกำหนด ฉันยังบอกด้วยว่าแม้ว่าคุณจะตัดสินใจใช้ RAID เพื่อลดการที่คุณควรจะไปกับ RAID6 เพราะความจุของดิสก์ + URE ทำให้แม้แต่ RAID5 ไม่น่าเชื่อถือเพียงพอ แม้แต่ความล้มเหลวของไดรฟ์เดี่ยวใน RAID5 มีโอกาสสูญเสียข้อมูลสูง (50% FFS!)
c2h5oh

1
@Avio U ใน URE ย่อมาจากUnrecoverable ไม่เป็นไปด้วยดี
c2h5oh

อาจเป็นปัญหาของระบบไฟล์หากคุณใช้การคัดลอกในการเขียนระบบไฟล์เช่น btrfs หรือ xfs คุณสามารถกู้คืนไฟล์เวอร์ชันก่อนหน้าได้มากดังนั้นควรแก้ไขการเปลี่ยนแปลงไฟล์ครั้งล่าสุดเท่านั้น (ถ้ามีการเปลี่ยนแปลง)
Jens Timmerman

13

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

หลังจากนั้นระบบไฟล์ก็ไม่สำคัญอีกต่อไป - ext4, xfs เป็นตัวเลือกที่ดี


1
ฉันยอมรับว่าฉันควร;) แต่ฉันไม่ได้ใช้ RAID ด้วยเหตุผลหลายประการ หลักคือราคาเนื่องจากพวกมันแพงกว่า 2-3 เท่าและฉันไม่สามารถจ่ายได้ เหตุผลที่สองคือครั้งสุดท้ายที่ฉันใช้ RAID 5 ฉันโชคดีที่ได้ดิสก์ที่ไม่ดีสองแผ่นก่อนที่ฉันจะสามารถเชื่อมต่อใหม่และซิงค์อีกครั้ง (ฉันไม่มีดิสก์สำรองในเวลานั้นฉันต้องรอ ใหม่ฉันเห็นด้วยกับดิสก์ระดับ RAID ฉันจะมีปัญหานี้) เหตุผลที่สามคือเนื่องจากข้อมูลที่ฉันต้องจัดเก็บเพิ่มขึ้นฉันเพิ่มดิสก์ใหม่ที่มีขนาดใหญ่ขึ้นอย่างต่อเนื่องสิ่งที่ฉันไม่สามารถทำได้ด้วยการกำหนดค่า RAID
alphatiger

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

4
ดังนั้นคุณกำลังบอกข้อมูลของคุณไม่คุ้มค่าใช้จ่ายเพิ่มเติมหรือไม่ หากคุณไม่สามารถมีสำเนาข้อมูลอย่างน้อยสองชุดคุณควรพิจารณาว่าข้อมูลดังกล่าวสูญหาย คุณคิดถูกว่า RAID5 อาจไม่ใช่ตัวเลือกที่ดีคุณควรดู RAID6 หรือ RAID10
Zoredache

@alphatiger: แผ่นดิสก์นั้นมีราคาแพงเกินไปหากเวลาและข้อมูลของคุณถูกเกินไป
Reinstate Monica - M. Schröder

8

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


ขณะนี้ฉันใช้ Debian GNU / Linux ดูเหมือนว่ามีการใช้งาน FUSE แต่ไม่มีแพ็คเกจ (เนื่องจากปัญหาสิทธิ์ใช้งาน) ฉันอาจจะลอง (หลังจากรวบรวมจากแหล่งเช่นใช้ FUSE มันไม่ดีสำหรับผลผลิตสูง) ฉันไม่ต้องกังวลเกี่ยวกับการสร้างระบบไฟล์ทั้งหมดของฉัน ขอบคุณมาก!
alphatiger

+1 สำหรับ ZFS RAID แบบดั้งเดิมจะทำให้ข้อมูลเสียหายอย่างเงียบ ๆ เนื่องจากมันไม่ฉลาดพอที่จะรู้ว่าเมื่อใดที่บล็อกผิดหรือวิธีการซ่อมแซม ในทางกลับกัน ZFS จะตรวจจับบล็อกที่เสียหาย (ผ่านทาง checksums) และซ่อมแซมจากสำเนามิเรอร์ที่รู้จัก การรัน ZFS ภายใต้ FUSE ในขณะที่ไม่เหมาะจะทำงานได้ดีพอสำหรับปริมาณงานจำนวนมาก ดังที่กล่าวไปแล้วคุณควรโหลดการทดสอบแอปพลิเคชันของคุณก่อนที่จะใช้สิ่งนี้ในสภาพแวดล้อมการผลิต
บาฮามา

1
อีก +1 สำหรับ ZFS เซิร์ฟเวอร์ทั้งหมดที่นี่ใช้ Linux และฉันเป็นแฟนตัวยงของมัน แต่ ZFS ได้พิสูจน์แล้วว่ามีประโยชน์กับฉันในช่วง 3 ปีที่ผ่านมาซึ่งฉันได้ใช้ความพยายามในการเรียนรู้และตั้งค่า FreeBSD บน เครื่องเก็บข้อมูลขนาดใหญ่เพื่อให้สามารถใช้ ZFS ได้โดยไม่มีปัญหาเรื่องลิขสิทธิ์หรือประสิทธิภาพ
ssc

ฉันใช้งานภายใต้โซลาริสบนเวิร์คสเตชั่น Sun ของฉันและประสิทธิภาพการทำงานก็ไม่น่าแปลกใจเลยเมื่อพิจารณาถึงฮาร์ดแวร์ (single-core Opteron @ 2.2GHz พร้อมหน่วยความจำ 3G และไดรฟ์ SATA 250G คู่)
TMN

8

ฉันเพิ่มดิสก์ใหม่ที่มีขนาดใหญ่ขึ้นเรื่อย ๆ

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

ตัวเลือกอื่นอาจเป็นการตั้งค่า RAID1 หลายคู่ จากนั้นเพิ่มโวลุ่ม RAID1 ทั้งหมดเป็น PVs ไปยัง VG ของคุณ จากนั้นเมื่อใดก็ตามที่คุณต้องการที่จะขยายพื้นที่เก็บข้อมูลของคุณเพียงแค่ซื้อดิสก์


7

คุณควรใช้ RAID 5, 6, 10, 50 หรือ 60 นี่คือแหล่งข้อมูลบางส่วนเพื่อให้คุณเริ่มต้น:

ข้อมูลพื้นหลังเกี่ยวกับ RAID

วิธีการ & การตั้งค่า

ลองดูลิงค์อร่อย ๆ ของฉันเพื่อดูลิงค์ RAID เพิ่มเติม: http://delicious.com/slmingol/raid


ดูความคิดเห็นของฉันเกี่ยวกับคำตอบของ SvenW เพื่อดูว่าทำไมฉันไม่ต้องการ RAID จริงๆ (อันที่จริงแล้วฉันได้ติดตั้งซอฟต์แวร์ RAID หลายตัวใน บริษัท ที่สามารถจ่ายได้ ... ) ยังขอบคุณ!
alphatiger

ฉันมักจะใช้ไดรฟ์ชุดสินค้าสำหรับ RAID ไม่เคยใช้ที่ได้รับคะแนนสำหรับการใช้ RAID และไม่เคยมีปัญหากับมันตราบใดที่คุณเลือก RAID ที่มีความซ้ำซ้อนเพียงพอภายใน (RAID 6 หรือ RAID 60) การใช้ RAID 6 คุณต้องมีเลขคู่ คุณสามารถเพิ่มจำนวน RAID ได้อย่างง่ายดายโดยแทนที่สมาชิกที่มีอยู่ด้วยดิสก์ที่มีขนาดใหญ่ขึ้นจากนั้นขยายไปสู่พื้นที่ดิสก์ที่ใหม่กว่า
slm

4

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

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


1

ในฐานะที่เป็น@ c2h5oh กล่าวว่าไม่สามารถกู้คืนได้มีความสำคัญ - หมายความว่าดิสก์ได้พยายามแล้วและล้มเหลวในการอ่านเซกเตอร์

จากประสบการณ์ของฉันเมื่อดิสก์เริ่มผลิตข้อผิดพลาดการอ่านที่ไม่สามารถกู้คืนได้ (UREs) ข้อมูลบางอย่างจะสูญหายไปตลอดกาลและความหวังเดียวของคุณคือการสำรองข้อมูลทั้งหมดทันทีโดยใช้GNU ddrescueซึ่งสามารถลองภาคที่ล้มเหลว

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

คำตอบอื่น ๆ ที่แนะนำให้ใช้ ZFS นั้นควรค่าแก่การอ่านเนื่องจากคุณสมบัติการขัดข้อมูลอย่างต่อเนื่องและคุณสมบัติ RAID จะช่วยรักษาข้อมูลของคุณให้ปลอดภัยยิ่งขึ้นในอนาคต - แม้ว่าจะไม่ใช่การสำรองข้อมูลซึ่งจะป้องกันข้อผิดพลาดของผู้ใช้และผู้ดูแลระบบ

ฉันจะใช้ LVM เฉพาะเมื่อคุณไม่ต้องการสแน็ปช็อต - มันไม่ได้รวมกับ RAID ได้ดีไม่รวม data scrubbing / data checksums และคุณยังต้องสำรองข้อมูลดังนั้น ZFS น่าจะเป็นตัวเลือกที่ดีกว่า ดูคำตอบนี้สำหรับปัญหา LVM และความเสี่ยงเพิ่มเติม

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