วิธีการซ่อมแซมและจัดเรียงพาร์ติชันระบบ Linux และไดเรกทอรี
ผู้ที่ใช้ Linux มักคิดว่าไม่จำเป็นต้องมีการจัดเรียงข้อมูล นี่เป็นความเข้าใจผิดที่พบบ่อยสำหรับผู้ใช้ Linux ที่จริงแล้วระบบปฏิบัติการ Linux รองรับการจัดเรียงข้อมูล จุดประสงค์ของการจัดเรียงข้อมูลคือการปรับปรุงการทำงานของ I/O เช่น การอนุญาตให้วิดีโอในเครื่องโหลดเร็วขึ้น หรือแตกไฟล์เก็บถาวรเร็วขึ้นอย่างมาก
ระบบไฟล์ Linux ext2, ext3 และ ext4 ไม่ต้องการความสนใจมากนัก แต่เมื่อเวลาผ่านไป หลังจากดำเนินการอ่าน/เขียนจำนวนมาก ระบบไฟล์อาจต้องมีการปรับให้เหมาะสม มิฉะนั้นฮาร์ดดิสก์อาจทำงานช้าลงและอาจส่งผลต่อระบบทั้งหมด
ในบทช่วยสอนนี้ ฉันจะแสดงให้คุณเห็นเทคนิคต่างๆ เล็กน้อยในการจัดเรียงข้อมูลในไฟล์ ก่อนที่เราจะเริ่มต้น เราควรพูดถึงสิ่งที่ระบบไฟล์ทั่วไปเช่น ext2,3,4 ทำเพื่อป้องกันการแตกแฟรกเมนต์ ระบบไฟล์เหล่านี้มีเทคนิคในการป้องกันผลกระทบ ตัวอย่างเช่น ระบบไฟล์จะจองกลุ่มบล็อกว่างบนฮาร์ดดิสก์เพื่อจัดเก็บไฟล์ที่กำลังเติบโตอย่างสมบูรณ์
น่าเสียดายที่ปัญหาไม่ได้รับการแก้ไขด้วยกลไกดังกล่าวเสมอไป แม้ว่าระบบปฏิบัติการอื่นๆ อาจต้องใช้ซอฟต์แวร์เพิ่มเติมราคาแพงเพื่อแก้ไขปัญหาดังกล่าว แต่ Linux มีเครื่องมือที่ติดตั้งได้ง่ายซึ่งจะช่วยคุณแก้ไขปัญหาดังกล่าวได้
จะตรวจสอบระบบไฟล์ที่ต้องการการจัดเรียงข้อมูลได้อย่างไร
ก่อนที่เราจะเริ่ม ฉันอยากจะชี้ให้เห็นว่าการดำเนินการด้านล่างควรทำงานบน HDDs เท่านั้น และไม่ใช่บน SSD การจัดเรียงข้อมูลไดรฟ์ SSD ของคุณจะเพิ่มจำนวนการอ่าน/เขียนเท่านั้น และทำให้อายุการใช้งานสั้นลง หากคุณใช้ SSD คุณควรใช้ฟังก์ชัน TRIM ซึ่งไม่ได้กล่าวถึงในบทช่วยสอนนี้
มาทดสอบกันว่าระบบต้องการการจัดเรียงข้อมูลจริงหรือไม่ เราสามารถตรวจสอบสิ่งนี้ได้อย่างง่ายดายด้วยเครื่องมือเช่น e2fsck ก่อนที่คุณจะใช้เครื่องมือนี้กับพาร์ติชันบนระบบของคุณ ขอแนะนำให้ถอนการติดตั้งพาร์ติชันนั้นด้วย นี่ไม่จำเป็นเลย แต่เป็นวิธีที่ปลอดภัย:
sudo umount <device file>
ในกรณีของฉัน ฉันติดตั้ง /dev/sda1 ที่ /tmp:
โปรดทราบว่าในกรณีของคุณ ตารางพาร์ติชันอาจแตกต่างกัน ดังนั้นโปรดถอนติดตั้งพาร์ติชันที่ถูกต้อง หากต้องการยกเลิกการต่อเชื่อมพาร์ติชันนั้นคุณสามารถใช้:
sudo umount /dev/sda1
ตอนนี้เรามาตรวจสอบว่าพาร์ติชันนี้จำเป็นต้องมีการจัดเรียงข้อมูลด้วย e2fsck หรือไม่ คุณจะต้องเรียกใช้คำสั่งต่อไปนี้:
sudo e2fsck -fn /dev/sda1
คำสั่งดังกล่าวจะทำการตรวจสอบระบบไฟล์ ตัวเลือก -f บังคับให้มีการตรวจสอบ แม้ว่าระบบจะดูสะอาดก็ตาม ตัวเลือก -n ใช้เพื่อเปิดระบบไฟล์แบบอ่านอย่างเดียวและถือว่าคำตอบ "no"
สำหรับคำถามทั้งหมดที่อาจปรากฏขึ้น
โดยทั่วไปตัวเลือกนี้อนุญาตให้ใช้ e2fsck แบบไม่มีการโต้ตอบ หากทุกอย่างตกลง คุณควรเห็นผลลัพธ์ที่คล้ายกับผลลัพธ์ที่แสดงในภาพหน้าจอด้านล่าง:
นี่เป็นอีกตัวอย่างหนึ่งที่แสดงข้อผิดพลาดในระบบ:
วิธีซ่อมแซมระบบไฟล์ Linux โดยใช้ e2fsck
หากเกิดข้อผิดพลาด คุณสามารถลองซ่อมแซมระบบไฟล์ด้วย e2fsck ด้วยตัวเลือก “-p” โปรดทราบว่าในการรันคำสั่งด้านล่าง จะต้องถอดพาร์ติชันออก:
sudo e2fsck -p <device file>
ตัวเลือก “-p” จะพยายามซ่อมแซมระบบไฟล์โดยอัตโนมัติสำหรับปัญหาที่สามารถแก้ไขได้อย่างปลอดภัยโดยไม่ต้องมีการแทรกแซงจากมนุษย์ หากค้นพบปัญหาที่อาจต้องให้ผู้ดูแลระบบดำเนินการแก้ไขเพิ่มเติม e2fsck จะพิมพ์คำอธิบายของปัญหาและจะออกด้วยรหัส 4 ซึ่งหมายความว่า "ข้อผิดพลาดของระบบไฟล์ที่ยังไม่ได้รับการแก้ไข" อาจจำเป็นต้องมีการดำเนินการที่แตกต่างกัน ทั้งนี้ขึ้นอยู่กับปัญหาที่พบ
หากปัญหาปรากฏขึ้นบนพาร์ติชันที่ไม่สามารถยกเลิกการต่อเชื่อมได้ คุณสามารถใช้เครื่องมืออื่นที่เรียกว่า e4defrag มีการติดตั้งไว้ล่วงหน้าบน Linux distros จำนวนมาก แต่ถ้าคุณไม่มีมัน คุณสามารถติดตั้งได้ด้วย:
sudo apt-get install e2fsprogs [On Debian and Derivatives]
yum install e2fsprogs [On CentOS based systems]
dnf install e2fsprogs [On Fedora 22+ versions]
วิธีการจัดเรียงข้อมูลพาร์ติชัน Linux
ตอนนี้ได้เวลาจัดเรียงพาร์ติชัน Linux โดยใช้คำสั่งต่อไปนี้
sudo e4defrag <location>
or
sudo e4defrag <device>
วิธีการจัดเรียงข้อมูลไดเรกทอรี Linux
ตัวอย่างเช่น หากคุณต้องการจัดเรียงข้อมูลไดเรกทอรีหรืออุปกรณ์เดียว คุณสามารถใช้:
sudo e4defrag /home/user/directory/
sudo e4defrag /dev/sda5
วิธีจัดเรียงข้อมูลพาร์ติชัน Linux ทั้งหมด
หากคุณต้องการจัดเรียงข้อมูลทั้งระบบ วิธีที่ปลอดภัยคือ:
sudo e4defrag /
โปรดทราบว่ากระบวนการนี้อาจใช้เวลาพอสมควรจึงจะเสร็จสมบูรณ์
บทสรุป
การจัดเรียงข้อมูลเป็นการดำเนินการที่คุณแทบไม่ต้องใช้ใน Linux มันมีไว้สำหรับผู้ใช้ระดับสูงที่รู้ว่ากำลังทำอะไรอยู่และไม่แนะนำสำหรับมือใหม่ Linux จุดประสงค์ของการดำเนินการทั้งหมดคือการเพิ่มประสิทธิภาพระบบไฟล์ของคุณ เพื่อให้การดำเนินการอ่าน/เขียนใหม่ดำเนินการได้อย่างมีประสิทธิภาพมากขึ้น