ลด 50% ทุกแพ็กเกจ เวลาจำกัด เริ่มต้นที่ $2.48/mo
เหลืออีก 8 นาที
เซิร์ฟเวอร์และ OS

การแก้ปัญหา Linux Read Only File System บน Ubuntu

เอดา เลิฟกูด By เอดา เลิฟกูด อ่าน 8 นาที อัปเดต: 9 มิถุนายน 2567
Ubuntu Linux แก้ปัญหา Read Only File System

หากคุณเคยเจอปัญหา Read Only File System ใน Linux คุณคงรู้ดีว่ามันส่งผลกระทบต่อ workflow และความเสถียรของระบบได้มากเพียงใด ปัญหานี้อาจเกิดจากหลายสาเหตุ ตั้งแต่การตั้งค่าที่ผิดพลาดเล็กน้อยไปจนถึง file system เสียหายอย่างรุนแรง การแก้ปัญหาให้ได้ผลต้องเริ่มจากการเข้าใจต้นตอของมันก่อน คู่มือนี้จะพาคุณไปสำรวจสาเหตุของปัญหา อธิบายวิธีแก้ไขอย่างละเอียด และปิดท้ายด้วยเคล็ดลับการป้องกันไม่ให้เกิดขึ้นอีก

ทำความเข้าใจปัญหา Read Only File System

File system คือส่วนประกอบของระบบปฏิบัติการที่ทำหน้าที่จัดการการบันทึกและเรียกคืนข้อมูล เมื่อ file system ถูก mount ในโหมด Read Only แปลว่าคุณไม่สามารถเขียนหรือแก้ไขไฟล์ได้อีกต่อไป ข้อจำกัดนี้มักถูกเปิดใช้เพื่อปกป้องความสมบูรณ์ของข้อมูลในไฟล์ เมื่อระบบตรวจพบสถานการณ์ที่อาจทำให้ข้อมูลสูญหาย มันจะเปลี่ยนไปใช้ Read Only File System เป็นมาตรการป้องกัน

ดังนั้น แม้คุณจะยังดูเนื้อหาในไฟล์ได้ แต่จะไม่สามารถแก้ไข ลบ หรือสร้างไฟล์ใหม่ได้

สาเหตุที่พบบ่อยของ Read Only File System

ต่อไปนี้คือปัจจัยที่อาจทำให้ file system เปลี่ยนไปเป็นโหมด Read Only:

  • File System เสียหาย: หนึ่งในสาเหตุที่พบบ่อยที่สุดของข้อผิดพลาด Read Only File System ใน Linux คือ file system เสียหาย ซึ่งอาจเกิดจากการปิดเครื่องกะทันหัน ฮาร์ดแวร์ขัดข้อง หรือ bug ใน file system เอง
  • ข้อผิดพลาดของดิสก์: ดิสก์อาจเกิดปัญหาทางกายภาพ ซึ่งเป็นปัจจัยหนึ่งที่ทำให้เกิด Ubuntu Read Only File System ตัวอย่างเช่น bad sector อาจทำให้ระบบ remount file system เป็น Read Only เพื่อป้องกันความเสียหายที่อาจเกิดขึ้นเพิ่มเติม
  • ดิสก์เต็ม หากดิสก์หมดพื้นที่ file system อาจเปลี่ยนไปเป็นโหมด Read Only เพื่อป้องกันการเขียนทับและสูญเสียข้อมูล
  • Kernel Panic หรือระบบล่ม: รุนแรง เคอร์เนลหยุดทำงาน หรือการขัดข้องอาจทำให้ระบบไฟล์อยู่ในสถานะที่ไม่สอดคล้องกัน ผลจากการขัดข้องเหล่านี้คือระบบไฟล์จะถูก remount เป็นแบบอ่านอย่างเดียวเมื่อรีบูต
  • การปิดระบบอย่างไม่ถูกต้อง: หากระบบของคุณประสบกับไฟดับกะทันหันหรือการปิดเครื่องที่ไม่ถูกต้องบ่อยครั้ง ระบบไฟล์จะอยู่ในสถานะที่ไม่เสถียร การปิดเครื่องที่ไม่ถูกต้องเหล่านี้ทำให้ระบบไฟล์กลายเป็นแบบอ่านอย่างเดียว

การเข้าใจสาเหตุเหล่านี้คือก้าวแรกในการวินิจฉัยและแก้ไขปัญหาระบบไฟล์อ่านอย่างเดียว Linux เมื่อระบุสาเหตุที่แท้จริงได้แล้ว คุณก็สามารถเลือกวิธีแก้ที่ถูกต้องและป้องกันไม่ให้ปัญหานี้เกิดขึ้นอีกในอนาคต

การระบุปัญหา

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

การตรวจสอบ System Log และข้อความแสดงข้อผิดพลาด

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

1. คำสั่ง "dmesg": ค่า dmesg คำสั่งนี้แสดงข้อความจาก kernel ring buffer ซึ่งมักมีข้อผิดพลาดของระบบไฟล์รวมอยู่ด้วย รันคำสั่งต่อไปนี้เพื่อกรองและแสดงข้อความแสดงข้อผิดพลาดที่เกี่ยวข้อง:

sudo dmesg | grep -i "ext4"

แทนที่ "ext4" ด้วยประเภทระบบไฟล์ของคุณ

2. ไดเรกทอรี "/var/log": Log ในไดเรกทอรี "/var/log" อาจให้ข้อมูลเพิ่มเติมได้ ตรวจสอบไฟล์อย่าง "syslog" หรือ messages เพื่อดูรายการที่เกี่ยวข้องกับปัญหาระบบไฟล์

คำสั่งสำหรับตรวจสอบว่าระบบไฟล์ของคุณเป็นแบบอ่านอย่างเดียวหรือไม่

ต่อไปมาดูวิธียืนยันว่าระบบไฟล์ของคุณถูก mount เป็นแบบอ่านอย่างเดียวหรือไม่ และรวบรวมข้อมูลเพิ่มเติมเกี่ยวกับสถานะของมัน

  • คำสั่ง "mount": ค่า ติดตั้ง คำสั่งนี้แสดงรายการระบบไฟล์ที่ถูก mount ทั้งหมดพร้อมตัวเลือกการ mount ในผลลัพธ์ให้มองหาแฟล็ก "ro" (อ่านอย่างเดียว)
  • คำสั่ง "findmnt": ค่า findmnt คำสั่งนี้แสดงมุมมองที่ละเอียดกว่าของระบบไฟล์ที่ถูก mount ทั้งหมด รวมถึงตัวเลือกต่าง ๆ ของแต่ละระบบ
  • คำสั่ง "df": ค่า df คำสั่งนี้รายงานการใช้พื้นที่ดิสก์ของระบบไฟล์ แม้ว่าจะแสดงการใช้งานดิสก์เป็นหลัก แต่ก็สามารถบอกได้ว่าระบบไฟล์ถูก mount เป็นแบบอ่านอย่างเดียวหรือไม่

การแก้ไขระบบไฟล์อ่านอย่างเดียว

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

ขั้นตอนที่ 1: ตรวจสอบปัญหาด้านฮาร์ดแวร์

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

ขั้นตอนที่ 2: Remount ระบบไฟล์

บางครั้งระบบไฟล์อาจถูก remount เป็นแบบอ่านอย่างเดียวเนื่องจากปัญหาชั่วคราว คุณสามารถลอง remount เป็นแบบอ่าน/เขียนได้ด้วยคำสั่งต่อไปนี้:

sudo mount -o remount,rw /mount/point

แทนที่ /mount/point ด้วย mount point จริงของระบบไฟล์ของคุณ คำสั่งนี้บังคับให้ระบบ remount ระบบไฟล์ด้วยสิทธิ์อ่าน/เขียน หากวิธีนี้แก้ปัญหาได้ แสดงว่าน่าจะเป็นแค่ข้อผิดพลาดชั่วคราว

ขั้นตอนที่ 3: รันการตรวจสอบระบบไฟล์

สาเหตุที่พบบ่อยมากของปัญหานี้คือระบบไฟล์เสียหาย ในการตรวจสอบและซ่อมแซมระบบไฟล์ คุณสามารถใช้ fsck (ยูทิลิตี้ตรวจสอบระบบไฟล์) ก่อนรัน fsck, ให้แน่ใจว่า file system ถูก unmount แล้ว:

sudo umount /mount/point

จากนั้นรัน fsck คำสั่ง

sudo fsck -y /dev/sdX1

แทนที่ /dev/sdX1 พร้อมระบุ device identifier ที่ถูกต้องสำหรับ file system ของคุณ

เมื่อตรวจสอบเสร็จแล้ว ให้ mount file system กลับคืน:

sudo mount /dev/sdX1 /mount/point

ขั้นตอนที่ 4: ตรวจสอบ System Logs

หากปัญหายังคงอยู่ การดู system logs อาจช่วยระบุสาเหตุที่แท้จริงได้ ใช้คำสั่ง dmesg เพื่อดู kernel messages ที่เกี่ยวข้องกับ file system:

dmesg | grep -i "read-only"

มองหาข้อความ error ที่อาจบอกได้ว่าทำไม file system ถึงถูก mount เป็น read only

ขั้นตอนที่ 5: แก้ไข File System Table (fstab)

หาก file system ถูก mount เป็น read only ทุกครั้งที่รีบูต คุณอาจต้องแก้ไขการตั้งค่า /etc/fstab ให้เปิดไฟล์ /etc/fstab ด้วย text editor:

sudo nano /etc/fstab

ตรวจสอบให้แน่ใจว่า entry ของ file system ถูกตั้งค่าถูกต้อง โดยใช้ option defaults หรือกำหนดเป็น "rw" (read/write) อย่างชัดเจน:

/dev/sdX1 /mount/point ext4 defaults 0 2

เป็นขั้นตอนสุดท้าย บันทึกการเปลี่ยนแปลงแล้วรีบูตระบบ:

sudo reboot

เมื่อทำตามขั้นตอนเหล่านี้แล้ว คุณควรสามารถแก้ปัญหา read only file system บนระบบ Linux ได้ ไม่ว่าจะเป็นความผิดพลาดชั่วคราว file system เสียหาย หรือการตั้งค่าที่ผิดพลาดใน /etc/fstab, วิธีแก้ไขเหล่านี้ครอบคลุมสาเหตุและการแก้ปัญหาที่พบบ่อยที่สุด หากปัญหายังคงอยู่หลังจากลองวิธีเหล่านี้แล้ว ลองขอความช่วยเหลือจากชุมชนผู้ใช้ Linux หรือพิจารณาติดต่อผู้เชี่ยวชาญ

การป้องกันและแนวทางปฏิบัติที่ดี

มีวิธีป้องกันที่ได้ผลหลายอย่างที่คุณสามารถทำได้เพื่อหลีกเลี่ยงปัญหา read only file system บน Linux ในอนาคต ส่วนนี้จะพาไปดูกลยุทธ์ต่าง ๆ สำหรับรักษา file system ใน Linux ให้อยู่ในสภาพดี

อัปเดตระบบและสำรองข้อมูลเป็นประจำ

อัปเดตระบบให้เป็นเวอร์ชันล่าสุดอยู่เสมอ ทั้ง patches และ updates ต่าง ๆ ซึ่งช่วยป้องกันบั๊กและช่องโหว่ที่อาจทำให้เกิดข้อผิดพลาดกับ file system

ปิดระบบอย่างถูกวิธี

ปิดระบบให้ถูกขั้นตอนเสมอ เพื่อป้องกันการดับเครื่องกะทันหันที่อาจทำให้ file system เสียหาย นอกจากนี้ควรหลีกเลี่ยงการกดปุ่มเปิด/ปิดค้างไว้เพื่อบังคับปิดเครื่อง ยกเว้นในกรณีที่ไม่มีทางเลือกอื่น

ตรวจสอบสุขภาพดิสก์

การตรวจสอบสุขภาพดิสก์อย่างสม่ำเสมอช่วยป้องกันปัญหา read only file system บน Linux ได้ คุณสามารถรันการตรวจสอบ file system เป็นประจำโดยใช้ fsck เพื่อระบุและแก้ไขปัญหาที่อาจเกิดขึ้นก่อนที่จะลุกลามกลายเป็นปัญหาใหญ่

ขั้นตอนเหล่านี้จะช่วยให้คุณลดโอกาสการเกิดข้อผิดพลาด read-only file system บน Linux ได้

สรุป

การพบข้อผิดพลาด read-only file system บน Linux อาจน่าหงุดหงิด แต่ถ้าคุณเข้าใจปัญหาและมีเครื่องมือที่เหมาะสม คุณก็แก้ไขได้ไม่ยาก บทความนี้อธิบายวิธีระบุสาเหตุ เลือกวิธีแก้ไขที่ถูกต้อง และนำระบบกลับมาทำงานได้ตามปกติ รวมถึงแนวทางป้องกันและแนวปฏิบัติที่ดีเพื่อไม่ให้ปัญหาเดิมเกิดขึ้นอีก

คำถามที่พบบ่อย

อะไรทำให้ไฟล์ระบบของ Linux กลายเป็น read-only?

มีหลายสาเหตุที่ทำให้เกิดปัญหา read-only file system บน Linux ไม่ว่าจะเป็นข้อผิดพลาดของดิสก์ การปิดเครื่องที่ไม่ถูกต้อง ฮาร์ดแวร์ขัดข้อง หรือไฟล์ระบบเสียหาย

สามารถกู้คืนข้อมูลจาก read-only file system ได้หรือไม่?

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

แชร์

บทความอื่นจากบล็อก

อ่านต่อ

ภาพหน้าปกบทความแอปที่โฮสต์เองที่ดีที่สุดสำหรับ Cosmos Cloud พร้อมแผงแอปรอบ Cosmos dashboard
เซิร์ฟเวอร์และ OS

แอปที่โฮสต์เองที่ดีที่สุดสำหรับ Cosmos Cloud: ไฟล์, มีเดีย, รหัสผ่าน, ระบบอัตโนมัติ และอื่น ๆ อีกมาก

Maybe คุณตั้งค่า Cosmos Cloud เรียบร้อยแล้วและอยากรู้ว่าแอปไหนเข้ากันได้ดี หรืออาจยังไม่แน่ใจเรื่อง Cosmos และแค่อยากดูว่ามันเหมาะกับเวิร์กโฟลว์ของคุณแค่ไหน

นิค ซิลเวอร์นิค ซิลเวอร์ อ่าน 16 นาที
Portainer vs Cosmos Cloud สำหรับการจัดการแอป Docker พร้อมไดอะแกรม Hybrid Setup และบล็อก Ops กับ Access แบบ Neon
เซิร์ฟเวอร์และ OS

Portainer vs Cosmos Cloud: ตัวเลือกไหนเหมาะกับการจัดการแอป Docker

ถ้าคุณรู้จัก Docker อยู่แล้วและต้องการวิธีที่ดีกว่าในการรัน App Stack ที่กำลังขยาย นี่คือคำตอบสั้นๆ สำหรับ Portainer vs Cosmos Cloud: Portainer เป็นตัวเลือกที่แข็งแกร่งกว่าสำหรับการควบคุมโดยตรง

นิค ซิลเวอร์นิค ซิลเวอร์ อ่าน 14 นาที
Cosmos Cloud vs CasaOS vs Umbrel กราฟิกประกอบที่แสดงสามเส้นทาง Self-Hosted ภายในเครือข่ายคลาวด์แบบนามธรรม
เซิร์ฟเวอร์และ OS

Cosmos Cloud vs CasaOS vs Umbrel: แพลตฟอร์ม Self-Hosted ไหนเหมาะกับการใช้งานของคุณ?

คำตอบสั้นๆ คือ CasaOS ยังเป็นจุดเริ่มต้นที่ง่ายที่สุด Umbrel มีอินเทอร์เฟซที่เรียบร้อยและดูแลการคัดสรรได้ดีที่สุด ส่วน Cosmos Cloud เหมาะกว่าเมื่อคุณต้องการควบคุม Domain ได้แน่นขึ้น

นิค ซิลเวอร์นิค ซิลเวอร์ อ่าน 11 นาที

พร้อม Deploy แล้วหรือยัง? เริ่มต้นที่ $2.48/เดือน

Cloud อิสระ ให้บริการมาตั้งแต่ปี 2008. AMD EPYC, NVMe, 40 Gbps. คืนเงินภายใน 14 วัน