Inodes trong Linux là gì và chúng được sử dụng như thế nào?


Mọi thứ trong Linux được coi là một tệp để duy trì tính nhất quán. Điều đó bao gồm các thiết bị phần cứng, máy in, thư mục và quy trình. Các tệp thông thường như âm nhạc, văn bản, video và các tệp đa phương tiện khác cũng có dữ liệu bổ sung được liên kết với chúng được gọi là siêu dữ liệu.

Inodes trong Linux là gì? Các mục inode là cơ sở của Hệ thống tập tin Linux. Họ quản lý siêu dữ liệu về một tệp và là những phần thiết yếu của hoạt động bên trong của Linux.

Cấu trúc của hệ thống tệp là gì?

Một hệ thống tệp được chia thành hai phần - khối dữ liệu và nút. Số lượng các khối được cố định một khi được tạo và có thể thay đổi.

Tên, đường dẫn, vị trí, liên kết và các thuộc tính tệp khác không nằm trong thư mục. Các thư mục chỉ đơn giản là các bảng chứa tên của các tệp có số inode phù hợp.

Bạn có thể tạo một liên kết cứng dẫn đến nhiều hơn một tên cho cùng một tệp. Khi bạn tạo một liên kết cứng, nó cũng tạo một tên mới trong bảng bằng inode nhưng không di chuyển tệp.

Nếu bạn di chuyển một tệp lớn, sẽ mất nhiều thời gian. Nó có hiệu quả hơn để tạo mục nhập tên trong một thư mục mới và xóa mục nhập cũ. Bạn cũng có thể đổi tên các tệp theo cùng một cách.

In_content_1 all: [300x250] / dfp: [640x360]->

Phần trên cùng của hệ thống phân cấp là chính hệ thống tệp. Trong hệ thống tập tin là tên tập tin. Tên tập tin liên kết đến các nút. Các nút liên kết đến dữ liệu vật lý.

Inodes trong Linux là gì?

Inode là cấu trúc dữ liệu. Nó định nghĩa một tệp hoặc một thư mục trên hệ thống tệp và được lưu trong mục nhập thư mục. Inodes trỏ đến các khối tạo nên một tập tin. Inode chứa tất cả các dữ liệu quản trị cần thiết để đọc một tập tin. Mỗi tệp metadata được lưu trữ trong các nút trong cấu trúc bảng.

Khi sử dụng chương trình tham chiếu đến tệp theo tên, hệ thống sẽ tìm trong tệp mục nhập thư mục nơi nó tồn tại để kéo lên các nút tương ứng. Điều này cung cấp cho hệ thống của bạn dữ liệu tệp và thông tin cần thiết để thực hiện các quy trình hoặc thao tác.

Các nút thường được đặt gần bắt đầu một phân vùng. Họ lưu trữ tất cả các thông tin liên quan đến một tập tin ngoại trừ tên tệp và dữ liệu thực tế. Tất cả các tệp trong bất kỳ thư mục Linux nào cũng có tên tệp và số inode. Người dùng có thể truy xuất siêu dữ liệu cho một tệp bằng cách tham chiếu số inode.

Tên tệp và số inode được lưu trữ trong một chỉ mục riêng và liên kết đến inode. Bạn có thể liên kết đến siêu dữ liệu đại diện cho tệp. Có thể có nhiều tên tệp liên kết đến một phần dữ liệu hoặc inode như bạn có thể thấy trong hình ảnh bên dưới.

Số Inode là gì?

Mỗi inode trong cấu trúc Linux có một số duy nhất được xác định với nó. Nó cũng được gọi là số chỉ mục và có các thuộc tính sau:

  • Kích thước
  • Chủ sở hữu
  • Ngày / giờ
  • Quyền và kiểm soát truy cập
  • Vị trí trên đĩa
  • Loại tệp
  • Số lượng liên kết
  • Siêu dữ liệu bổ sung về tệp
  • Để kiểm tra danh sách các số inode, sử dụng lệnh sau:

    ls -i

    Ảnh chụp màn hình bên dưới hiển thị một thư mục có số inode xuất hiện trong cột ngoài cùng bên trái.

    Inodes hoạt động như thế nào?

    Khi bạn tạo một tệp mới, nó được gán một tên tệp và số inode. Cả hai đều được lưu trữ dưới dạng các mục trong một thư mục. Chạy lệnh ls (ls -li) sẽ hiển thị cho bạn một danh sách các tên tệp và số inode được lưu trữ trong một thư mục.

    Sử dụng lệnh bên dưới để liệt kê thông tin inode cho mỗi hệ thống tệp.

    df -hi

    Bạn đang sử dụng bao nhiêu nút?

    Một cách để hết dung lượng trong một hệ thống tập tin là sử dụng hết tất cả các nút của bạn. Ngay cả khi bạn có đủ dung lượng trống trên đĩa, bạn vẫn có thể tạo các tệp mới.

    Sử dụng hết tất cả các nút cũng có thể khiến hệ thống của bạn đột nhiên dừng lại. Để xem danh sách thống kê về việc sử dụng inode như được sử dụng, miễn phí và tỷ lệ phần trăm được sử dụng, hãy nhập lệnh sau:

    sudo df -ih

    Các cách bổ sung các nút được sử dụng

    Cách thức hoạt động của các nút trong Linux khiến cho không thể có các số inode xung đột. Không thể tạo liên kết cứng trên các hệ thống tệp khác nhau. Tuy nhiên, bạn có thể sử dụng các liên kết mềm trên các hệ thống tệp khác nhau. Bạn có thể xóa các tệp gốc và vẫn có sẵn dữ liệu thông qua một liên kết cứng.

    Bằng cách xóa một tệp, tất cả những gì bạn đã làm là xóa một trong các tên chỉ đến một số inode cụ thể. Dữ liệu sẽ được giữ nguyên cho đến khi bạn xóa tất cả các tên được liên kết với cùng một số inode. Hệ thống Linux cập nhật mà không yêu cầu khởi động lại hệ thống phần lớn do cách thức hoạt động của các nút.

    Một quy trình có thể sử dụng tệp thư viện đồng thời một quy trình khác thay thế cùng một tệp bằng phiên bản cập nhật mới hơn và tạo ra một nút mới. Quá trình chạy tiếp tục sử dụng các tập tin cũ. Lần sau khi bạn sử dụng cùng một quy trình, nó sẽ sử dụng phiên bản mới.

    bài viết liên quan:


    29.02.2020