ฉันมักจะคิดว่าระบบไฟล์แบบดั้งเดิมได้รับการปรับแต่งและปรับให้เหมาะสมสำหรับไดรฟ์ที่ไม่ใช่ ssd ตัวอย่างเช่นตำแหน่งของข้อมูลมีความสำคัญและการกระจายตัวเป็นปัญหา
วันนี้มีระบบไฟล์แนะนำสำหรับไดรฟ์ SSD หรือไม่ ฉันควรใช้ ext4 ดีกว่าไหม
ฉันมักจะคิดว่าระบบไฟล์แบบดั้งเดิมได้รับการปรับแต่งและปรับให้เหมาะสมสำหรับไดรฟ์ที่ไม่ใช่ ssd ตัวอย่างเช่นตำแหน่งของข้อมูลมีความสำคัญและการกระจายตัวเป็นปัญหา
วันนี้มีระบบไฟล์แนะนำสำหรับไดรฟ์ SSD หรือไม่ ฉันควรใช้ ext4 ดีกว่าไหม
คำตอบ:
หาก SSD นั้นเป็นแพลตฟอร์มดิสก์เดียวของคุณไม่ว่าคุณจะมีอุปกรณ์กี่เครื่องก็ตาม วิธีลดการเขียนในขณะที่รักษาความน่าเชื่อถือและประสิทธิภาพ
โดยเฉพาะอย่างยิ่ง ext4 และ 3 สำหรับเรื่องนั้น NILFS และระบบไฟล์สมัยใหม่อื่น ๆ เกือบทั้งหมดจะเก็บรักษาเจอร์นัล โดยทั่วไปแล้วสิ่งนี้เป็นสิ่งที่ต้องการ แต่เมื่อจัดการกับอุปกรณ์ SSD มันจะเพิ่มการเขียนที่ดำเนินการกับอุปกรณ์และลดอายุการใช้งาน ทางเลือกหนึ่งคือการเลือก IDE, SATA หรืออุปกรณ์อื่น ๆ ที่ระบบไฟล์สามารถเขียนเจอร์นัล วิธีนี้อาจรักษาประโยชน์ของการทำเจอร์นัลโดยไม่ทำให้อายุการใช้งานของอุปกรณ์ SSD ลดลง ในกรณีของการ ext4 นี้สามารถทำได้ดังนี้แล้วแนบกับระบบแฟ้มที่เฉพาะเจาะจงเช่นmke2fs -O journal_dev /dev/external_device
mkfs.ext4 -J journal=/dev/external_device
ข้อมูลเพิ่มเติมสามารถพบได้ในหน้าคน
คุณสมบัติเพิ่มเติมของระบบไฟล์ที่ต้องคำนึงถึงเมื่อจัดการกับอุปกรณ์ SSD เป็นเวลา การตั้งค่า atime บนระบบไฟล์สามารถเพิ่มจำนวนการเขียนไปยังอุปกรณ์ที่กำหนดได้อย่างมากเมื่อเวลาผ่านไป ตัวเลือกสำหรับการเปลี่ยนพฤติกรรมนี้รวมถึง 'relatime' และ 'noatime'
เนื่องจากเราดูเหมือนจะมุ่งเน้นไปที่ ext4 ที่เอกสาร kernel ในระบบไฟล์รวมถึงตัวเลือกที่มีอยู่สามารถใช้ได้สำหรับการอ้างอิงที่นี่
ตัวเลือกอื่น ๆ ที่ควรพิจารณา: noload
, เป็น vorbote แนะนำและerrors=remount-ro
;
ไม่กี่ปีที่ผ่านมาตั้งแต่คำถามนี้ถูกถามและคำตอบถูกโพสต์ ได้เวลาโพสต์ข้อมูลล่าสุดในหัวข้อนี้ หากมีสิ่งใดล้าสมัยกรุณาโพสต์ความคิดเห็น
เนื่องจากคำถามนี้โดยเฉพาะ "มีระบบไฟล์ที่แนะนำในวันนี้สำหรับไดรฟ์ SSD หรือไม่" ฉันจะเน้นที่การตอบคำถามนั้นและโพสต์ลิงก์ไปยังข้อมูลที่เกี่ยวข้องอื่น ๆ
ปัจจุบัน (ณ วันที่ 20 ธันวาคม 2014) บทความโซลิดสเตตไดรฟ์บนArch Linux wiki แนะนำระบบไฟล์ต่อไปนี้:
Btrfsเป็นระบบไฟล์คัดลอกเมื่อเขียนสำหรับ Linux ที่เผยแพร่ภายใต้ GPL การพัฒนาเริ่มต้นที่ Oracle ในปี 2550 รวมอยู่ใน mainline ตั้งแต่ Linux 2.6.29 (มีนาคม 2009) ปัจจุบันรูปแบบบนดิสก์มีความเสถียรและคาดว่าจะไม่เปลี่ยนแปลง
ext4 (ระบบไฟล์ส่วนขยายที่สี่) เป็นระบบไฟล์ที่ทำเจอร์นัลสำหรับ Linux เริ่มต้นเป็นชุดของส่วนขยายที่เข้ากันได้แบบย้อนหลังเป็น ext3 และต่อมาได้รับการพัฒนาเป็นตัวต่อสำหรับ ext3 แผนการพัฒนาอย่างเป็นทางการสำหรับ ext4 ได้รับการเผยแพร่เป็นข้อเสนอและแผนสำหรับการพัฒนาในอนาคต ext2 / 3โดย Theodore Ts'o ในเดือนมิถุนายน 2549 มันรวมอยู่ในการฉีดตั้งแต่ Linux 2.6.19 (พฤศจิกายน 2549) และทำเครื่องหมายว่าเสถียรตั้งแต่ Linux 2.6 .28 (ธันวาคม 2551)
XFSเป็นระบบไฟล์ journaling 64 บิตที่สร้างขึ้นโดย Silicon Graphics ในปี 1993 เริ่มต้นใน IRIX ตั้งแต่ 5.3 (1994), พอร์ตไปยัง Linux ในปี 2001 ปัจจุบันการกระจาย Linux บางส่วนใช้เป็นระบบไฟล์เริ่มต้น XFS มีการสนับสนุน TRIM สำหรับ SSDs
JFSเป็นระบบไฟล์การทำเจอร์นัล 64 บิตที่สร้างโดย IBM IBM แนะนำ JFS ใน AIX 3.1 ในปี 1990 ในปี 1999 ได้เปิดตัวเมื่อโอเพ่นซอร์สและเริ่มทำการพอร์ตไปยัง Linux JFS for Linux เวอร์ชันเสถียรแรกถูกปล่อยออกมาในเดือนมิถุนายน 2544 มันถูกรวมอยู่ในต้นไม้ Alan Cox ใน 2.4.18pre9-ac4 และใน mainline ใน 2.5.6 (2002) ในปี 2012 เพิ่มการสนับสนุน TRIM ใน JFS
หากมีอยู่ในเคอร์เนลของคุณและคุณรู้สึกผจญภัยคุณอาจต้องการพิจารณาNILFS
มิฉะนั้นใช้ ext4 แต่เมานต์กับ noatime - ดูเคล็ดลับเพิ่มเติมที่นี่
btrfs
เสียงคล้ายกับ
คุณสามารถใช้ ext4 โดยnoload
เพิ่มตัวเลือกเมาท์ลงใน/etc/fstab
ไฟล์ของคุณ มันจะทำให้ระบบไฟล์ทำงานเป็น ext2 บนเตียรอยด์ ที่จริงแล้ว AFAIK นี่คือสิ่งที่ Google ใช้ในศูนย์ข้อมูล คุณสูญเสียการบันทึกข้อมูลความปลอดภัยสุทธิให้ แต่คุณได้รับความเร็วและชีวิตอีกต่อไปสำหรับ SSD ของคุณ
คุณสามารถทำให้มันถาวรได้โดยการรันtune2fs -O ^has_journal
บนพาร์ติชันที่ไม่ได้ต่อเชื่อม
nodiratime
อะไร