Inodes ใน Linux คืออะไรและใช้งานอย่างไร?


ทุกอย่างใน Linux ถือเป็นไฟล์เพื่อรักษาความมั่นคง ซึ่งรวมถึงอุปกรณ์ฮาร์ดแวร์เครื่องพิมพ์ไดเรกทอรีและกระบวนการ ไฟล์ปกติเช่นเพลงข้อความวิดีโอและไฟล์มัลติมีเดียอื่น ๆ ยังมีข้อมูลเพิ่มเติมที่เกี่ยวข้องซึ่งเรียกว่าเมทาดาทา

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

โครงสร้างของระบบไฟล์คืออะไร

ระบบไฟล์แบ่งออกเป็นสองส่วน - บล็อกข้อมูลและ inodes จำนวนบล็อกถูกสร้างขึ้นเมื่อสร้างขึ้นแล้วและไม่สามารถเปลี่ยนแปลงได้

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

คุณสามารถสร้างฮาร์ดลิงก์ซึ่งมีชื่อมากกว่าหนึ่งชื่อสำหรับไฟล์เดียวกัน เมื่อคุณสร้างฮาร์ดลิงก์มันจะสร้างชื่อใหม่ในตารางด้วย inode แต่จะไม่ย้ายไฟล์

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

In_content_1 ทั้งหมด: [300x250] / dfp: [640x360]->

ส่วนบนสุดของลำดับชั้นคือระบบไฟล์ ภายในระบบไฟล์คือชื่อไฟล์ ลิงก์ชื่อไฟล์ไปยัง inodes ลิงก์ inodes ไปยังข้อมูลทางกายภาพ

Inodes ใน Linux คืออะไร

inode เป็นโครงสร้างข้อมูล มันกำหนดไฟล์หรือไดเรกทอรีบนระบบไฟล์และเก็บไว้ในรายการไดเรกทอรี Inodes ชี้ไปที่บล็อกที่สร้างไฟล์ inode มีข้อมูลการดูแลระบบทั้งหมดที่จำเป็นในการอ่านไฟล์ เมตาดาต้า ของไฟล์ทุกไฟล์จะถูกเก็บไว้ใน inodes ในโครงสร้างตาราง

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

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

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

Inode Number คืออะไร

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

  • ขนาด
  • เจ้าของ
  • วันที่ / เวลา
  • การอนุญาต และการควบคุมการเข้าถึง
  • ตำแหน่งบนดิสก์
  • ประเภทไฟล์
  • จำนวนลิงก์
  • ข้อมูลเมตาเพิ่มเติมเกี่ยวกับไฟล์
  • / ul>
  • หากต้องการตรวจสอบรายการหมายเลข inode ให้ใช้คำสั่งต่อไปนี้:

    ls -i

    ภาพหน้าจอด้านล่างแสดงไดเรกทอรีที่มี หมายเลข inode ที่ปรากฏในคอลัมน์ซ้ายสุด

    Inodes ทำงานอย่างไร

    เมื่อคุณสร้างไฟล์ใหม่จะมีการกำหนดชื่อไฟล์และหมายเลขไอโหนด ทั้งสองถูกเก็บเป็นรายการในไดเรกทอรี การรันคำสั่ง ls (ls -li) จะแสดงรายการชื่อไฟล์และหมายเลข inode ที่เก็บไว้ในไดเรกทอรี

    ใช้คำสั่งด้านล่างเพื่อแสดงรายการข้อมูล inode สำหรับระบบไฟล์แต่ละระบบ

    df -hi

    คุณใช้ Inodes จำนวนเท่าใด

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

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

    sudo df -ih

    ใช้วิธีเพิ่มเติมของ Inodes

    วิธีการทำงานของ inodes ใน Linux ทำให้เป็นไปไม่ได้ที่จะมีหมายเลข inode ที่ขัดแย้งกัน ไม่สามารถสร้างฮาร์ดลิงก์ในระบบไฟล์ที่แตกต่างกันได้ อย่างไรก็ตามคุณสามารถใช้ซอฟต์ลิงค์ในระบบไฟล์ต่าง ๆ ได้ คุณสามารถลบไฟล์ต้นฉบับและยังมีข้อมูลพร้อมใช้งานผ่านฮาร์ดลิงก์

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

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

    ผู้ใช้จะไม่โต้ตอบโดยตรงกับ inodes แต่จะแสดงถึงองค์ประกอบพื้นฐานของโครงสร้างไฟล์ Linux

    กระทู้ที่เกี่ยวข้อง:


    29.02.2020