เวลา ext3 fsck กับขนาดพาร์ติชัน


9

ฉันกำลังทำการตั้งค่าสำหรับฟาร์มเก็บข้อมูลขนาดใหญ่และเพื่อหลีกเลี่ยงความต้องการ fscks เดือนยาวแผนของฉันคือการแบ่งพื้นที่เก็บข้อมูลออกเป็นระบบแฟ้มขนาดเล็กจำนวนมาก (นี่เป็นเรื่องปกติเนื่องจากฉันมีต้นไม้ไฟล์ที่ดี ดังนั้นฉันสามารถมีระบบไฟล์ที่แยกจากกันติดตั้งอยู่บน1/, 2/, 3/, 4/ฯลฯ )

ความยากลำบากของฉันคือการค้นหาการระบุขนาด "สมเหตุสมผล" สำหรับระบบไฟล์เพื่อให้เวลา fsck ในทำนองเดียวกัน "สมเหตุสมผล" ในขณะที่ฉันตระหนักดีว่าเวลาที่แน่นอนสำหรับขนาดที่กำหนดจะขึ้นอยู่กับฮาร์ดแวร์เป็นส่วนใหญ่ฉันไม่สามารถหาคำอธิบายของรูปร่างของเส้นโค้งเป็นเวลา ext3 fsck ด้วยขนาดระบบไฟล์ที่แตกต่างกันและตัวแปรอื่น ๆ คืออะไร ( ระบบไฟล์ที่เต็มไปด้วยไฟล์ในไดเรกทอรีเดียวใช้เวลานานกว่าหนึ่งไฟล์ที่มี 10 ไฟล์ในแต่ละไดเรกทอรีนับพันในต้นไม้ไฟล์ขนาดใหญ่เทียบกับไฟล์ขนาดเล็กระบบไฟล์เต็มเทียบกับระบบไฟล์เปล่าและอื่น ๆ )

ใครบ้างมีการอ้างอิงถึงตัวเลขวิจัยดีเกี่ยวกับเรื่องนี้? ความล้มเหลวนั้นเกร็ดเล็กเกร็ดน้อยเกี่ยวกับปัญหาเหล่านี้ควรช่วยแนะนำการทดลองของตัวเองอย่างน้อย

แก้ไข : หากต้องการความกระจ่าง: ไม่ว่าระบบไฟล์จะเกิดอะไรขึ้นถ้ามีบางอย่างผิดปกติกับข้อมูลเมตาจะต้องทำการตรวจสอบ ไม่ว่าจะเปิดใช้งานหรือไม่จำเป็นต้องใช้ re-fscks ใหม่หรือมีความจำเป็นและเหตุผลเดียวที่ฉันขอตัวเลขโดยเฉพาะเกี่ยวกับ ext3 นั้นเป็นเพราะนั่นเป็นระบบไฟล์ที่น่าจะถูกเลือกมากที่สุด หากคุณรู้ว่าระบบไฟล์ที่มีกระบวนการ fsck รวดเร็วเป็นพิเศษฉันเปิดรับข้อเสนอแนะ แต่มันจำเป็นต้องเป็นตัวเลือกที่มีประสิทธิภาพ (อ้างว่า "ระบบแฟ้ม X ไม่ต้องการ fscking!" จะหัวเราะเยาะและเย้ยหยันในความยาว) . ฉันยังตระหนักถึงความจำเป็นในการสำรองข้อมูลและความปรารถนาที่จะ fsck ไม่ใช่สิ่งทดแทนการสำรองข้อมูล แต่เพียงแค่ทิ้งระบบไฟล์และเรียกคืนจากการสำรองข้อมูลเมื่อมันเกิดข้อผิดพลาดแทนที่จะเป็น fscking ดูเหมือนว่าเป็นเรื่องจริง

คำตอบ:


6

จากบทความของ Mathur และคณะ (หน้า 29), เวลา e2fsck จะเพิ่มขึ้นเป็นเส้นตรงตามจำนวนของ inodes บนระบบไฟล์หลังจากจุดหนึ่ง หากกราฟเป็นอะไรที่ต้องผ่านคุณก็จะมีประสิทธิภาพมากขึ้นด้วยระบบไฟล์ของ inodes สูงถึง 10 ล้าน

การสลับไปใช้ ext4 จะช่วยได้ - ภายใต้เงื่อนไขที่ระบบไฟล์ของคุณไม่ได้โหลดไปที่ขอบซึ่งประสิทธิภาพเพิ่มขึ้น


ขอบคุณสำหรับการอ้างอิงนั้นช่วยยืนยันบางสิ่งสำหรับฉัน ฉันยังทำการเปรียบเทียบของฉันเองซึ่งทำให้เกิดการเติบโตเชิงเส้นที่แสดงในกระดาษนั้น
womble

2

ฉันคิดว่าคุณจะต้องทำการเปรียบเทียบของคุณเอง การค้นหาอย่างรวดเร็วบน google ไม่ได้เปิดเผยอะไรเลยยกเว้นว่า ext4 fscks จะเร็วกว่า ext3 มาก

ดังนั้นสร้างพาร์ติชั่นเสริม ext3, 100GB, 200GB, และอื่น ๆ ตามขนาดของดิสก์ที่คุณจะใช้งาน จากนั้นกรอกข้อมูลด้วย หากคุณสามารถใช้ข้อมูลที่มีลักษณะคล้ายกับข้อมูลการผลิตของคุณ (ไฟล์ต่อไดเรกทอรีการกระจายขนาดไฟล์เป็นต้น) ถ้าเช่นนั้นจะเป็นการดีที่สุด โปรดทราบว่าการคัดลอกไฟล์จากอุปกรณ์สำรองข้อมูลพาร์ติชั่นอื่นจะทำการวางบนดิสก์และจัดระเบียบอย่างสมบูรณ์แบบดังนั้นการทดสอบของคุณจะขาดหัวดิสก์จำนวนมากที่ต้องการเวลาที่จะเขียน / แก้ไข / ลบจำนวนมาก

คุณจะต้องให้ความคิดกับ fscks แบบขนานด้วย ดูสองสามฟิลด์สุดท้ายใน / etc / fstab พาร์ติชันบนฟิสิคัลดิสก์เดียวกันควรทำตามลำดับ ดิสก์หลายตัวในคอนโทรลเลอร์เดียวกันสามารถทำได้ในแบบคู่ขนาน แต่ระวังอย่าโอเวอร์โหลดคอนโทรลเลอร์และทำให้ช้าลง


0

http://lmgtfy.com/?q=fsck+benchmark

ดูเหมือนว่า fsck บนระบบไฟล์ ext4 นั้นเร็วกว่าใน ext3 อย่างมากโดยมีรายงานบางอย่างของ ext4 fsck ที่มีความเร็ว 10 เท่าหรือเร็วกว่า ext3

สองบทความที่น่าสนใจจากการค้นหาคือ:

http://thunk.org/tytso/blog/2008/08/08/fast-ext4-fsck-times/และhttp://thunk.org/tytso/blog/2009/02/26/fast-ext4-fsck-times-revisited/


-1

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

(fscks ตามเวลาเป็นข้อผิดพลาดจริงๆสำหรับฉัน - สำหรับเซิร์ฟเวอร์ที่มีระยะเวลาใช้งานนานเป็นสิ่งที่รับประกันได้ว่าคุณจะต้องทำอย่างเต็ม fsck ทุกครั้งที่คุณอัพเกรดเคอร์เนล)

อย่างไรก็ตาม XFS เป็นหนึ่งในระบบไฟล์ที่ทำเจอร์นัลที่ไม่บังคับ fsck คุ้มค่าดู


อีกตัวเลือกหนึ่งคือใช้ Nexenta (opensolaris kernel, debian userland) ซึ่งจะให้ ZFS แก่คุณ <A href=" nexenta.org/"> http://www.nexenta.org/</A >
cas

3
เมื่อระบบไฟล์เกิดความเสียหายไม่ว่ามันจะเป็นอย่างไร (extN, XFS, ZFS, อะไรก็ตาม) หรือว่าคุณมีเวลา / จำนวนเมานต์แล้วก็ต้องใช้ fsck ฉันต้องการให้แน่ใจว่าระบบไฟล์ที่เสียหายเพียงครั้งเดียวไม่ต้องใช้เวลานานในการ fsck
womble

1
ใช่แน่นอน fs ต้องการ fsck ถ้ามันได้รับความเสียหาย การใช้ fs เช่น XFS จะไม่กำจัดสิ่งเหล่านั้นและคุณไม่ควรลองหรือแม้แต่ต้องการ ฉันไม่ได้พูดอะไรที่สามารถตีความได้อย่างเหมาะสม ประเด็นของฉันคือการบังคับให้ fsck เพียงเพราะมันผ่าน X ไปหลายวันหรือหลายครั้งที่มีการเมานต์ตั้งแต่ fsck สุดท้ายนั้นไม่จำเป็นและน่ารำคาญและอาจเป็น "การ จำกัด อาชีพ" โดยเฉพาะอย่างยิ่งหากผู้ใช้หรือ บริษัท ของคุณกำลังรอเซิร์ฟเวอร์ กลับ. คุณสามารถกำจัด fscks ที่ไม่จำเป็นออกไปและการทำเช่นนั้นเป็นสิ่งที่ดี
cas

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