Inode là gì? Cách thức hoạt động của Inode như thế nào

1392
13-06-2022
Inode là gì? Cách thức hoạt động của Inode như thế nào

Mọi thứ có trong Linux như thiết bị phần cứng, thư mục, máy in và quy trình sẽ được coi là một tệp để duy trì tính nhất quán cho hệ điều hành. Bên cạnh đó, các tệp thông thường như văn bản, nhạc, video hay các tệp đa phương tiện có dữ liệu đi kèm sẽ được coi là siêu dữ liệu. Và các tệp cũng như các thành phần hoạt động thiết yếu có trong Linux này cần được quản lý bởi một hệ thống tệp mang tên Inode. 

Vậy Inode là gì? Những kiến thức cơ bản và cần thiết nhất về Inode sẽ được Bizfly Cloud chia sẻ đến bạn trong bài viết chi tiết dưới đây.

Inode là gì? 

Inode (Index nodes) hay các nút chỉ mục đã được xuất hiện vào khoảng cuối những năm 1970 khi hệ thống tệp Unix lần đầu tiên được ra đời. Inode thường nằm gần đầu một phân vùng và nó được xem là một cấu trúc dữ liệu tệp có khả năng lưu trữ thông tin của các tệp thông tin Linux bất kỳ ngoại trừ tên và dữ liệu của các tệp đó.

Inode sẽ xác định một tệp hoặc một thư mục trên hệ thống tệp và được lưu trữ trong mục nhập tên thư mục (directory entry file). Inode sẽ trỏ đến block để tạo ra một file có chứa tất cả mọi dữ liệu quản trị cần thiết để có thể đọc tệp. Siêu dữ liệu của mọi file sẽ được lưu trữ trong các Inode thuộc cấu trúc bảng.

Khi sử dụng một chương trình cần đề cập đến một tệp theo tên, hệ thống sẽ tìm kiếm tệp đó trong mục nhập tên thư mục để có thể kéo tệp đó đến Inode tương ứng. Điều này giúp cung cấp cho hệ thống tệp các dữ liệu và thông tin cần thiết để thực hiện các quy trình.

Inode được đưa vào hoạt động trong Linux từ những năm 90 bởi nó được xem là một cách vô cùng tuyệt vời để người dùng có thể theo dõi cách mà các tệp được lưu trữ. Các Inode trong Linux chính là cơ sở của hệ thống tệp Linux. Inode hiện nay vẫn đang là phương pháp mà nhiều hệ thống vẫn đang dựa trên để phát triển.

Inode thường nằm gần đầu một phân vùng và nó được xem là một cấu trúc dữ liệu tệp

Inode thường nằm gần đầu một phân vùng và nó được xem là một cấu trúc dữ liệu tệp

Inode sẽ được sử dụng làm gì? 

Dữ liệu trên hệ thống tệp của bạn sẽ được lưu dưới dạng các khối với kích thước được cố định. Nếu bạn lưu các tệp vượt qua giới hạn khối tiêu chuẩn cho phép thì máy tính của bạn sẽ tìm tiếp các phân đoạn có sẵn tiếp theo để tiến hành lưu trữ các dữ liệu còn lại của tệp. 

Tuy nhiên, theo thời gian, việc lưu trữ liên tục trên các phân đoạn như vậy sẽ gây khó hiểu cho người sử dụng. Và đây chính là mục đích mà các Inodes xuất hiện. Mặc dù không chứa bất kỳ dữ liệu thực tế nào của tệp nhưng nó được sử dụng để lưu trữ siêu dữ liệu của tệp bao gồm tất cả các khối lưu trữ mà dữ liệu của tệp có thể tìm thấy được. Một Inode sẽ bao gồm các thông tin cơ bản như sau:

  • Kích thước tập tin
  • Thiết bị lưu trữ tệp.
  • Các quyền cần thiết để truy cập tệp
  • ID username và các nhóm được liên kết với tệp.
  • Tạo, đọc và ghi dấu thời gian
  • Vị trí của dữ liệu.

Inode độc lập với tên tệp nên bạn có thể thực hiện việc sao chép tệp, đổi tên tệp và trỏ đến Inode tương tự như bản gốc.

Inode độc lập với tên tệp nên bạn có thể thực hiện việc sao chép tệp

Inode độc lập với tên tệp nên bạn có thể thực hiện việc sao chép tệp

Số Inode là gì? 

Mỗi Inode trong cấu trúc Linux sẽ có một số duy nhất và xác định với Inode được gọi là số Inode hay số chỉ mục. Một số Inode sẽ bao gồm các thuộc tính cơ bản bao gồm:

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

Để có thể kiểm tra được danh sách các số Inode, bạn cần sử dụng lệnh ls-i.

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

Khi bạn tạo ra một tệp mới, tệp mới này sẽ được gán với một tên tệp và số Inode. Cả tên tệp và số Inode sẽ được lưu trữ dưới dạng một mục nhập trong cùng một thư mục. Khi bạn tiến hành chạy lệnh ls thì nó sẽ hiển thị cho bạn một danh sách tệp và các số Inode đã được lưu trữ trong một thư mục.

Các cách bổ sung Inodes được sử dụng

Ngoài việc quản lý các tệp và các thành phần hoạt động thiết yếu trong Linux, Inode còn được ứng dụng trong nhiều việc khác, cụ thể:

  • Cách mà các Inode hoạt động trong Linux không chỉ khiến các số Inode không thể xảy ra xung đột mà còn không thể tạo ra liên kết cứng giữa 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 và bạn có thể xóa các tệp gốc mà vẫn giữ lại được các dữ liệu thông qua một liên kết cứng.
  • Để xóa được một tệp, tất cả những gì bạn cần làm là xoá một trong những tên trỏ đến một số Inode cụ thể. Các dữ liệu sẽ vẫn còn tồn tại cho đến khi bạn xoá hết tất cả các tên liên kết cùng với một số Inode. Bởi cách thức hoạt động của Inode mà hệ thống Linux sẽ tiến hành cập nhật mà không có bất kỳ yêu cầu khởi động lại hệ thống.
  • Một quy trình có thể cùng lúc sử dụng tệp thư viện với một quy trình khác có khả năng thay thế tệp đó bằng một phiên bản cập nhật và một Inode mới hơn. Quá trình đang thực hiện có thể sử dụng tệp cũ và các quy trình tương tự tiếp theo sẽ sử dụng phiên bản mới.
  • Người dùng không tương tác với Inode một cách trực tiếp nhưng Inode chính là đại diện cho một phần cơ bản của cấu trúc tệp Linux.
Inode hoạt động trong Linux không chỉ khiến các số Inode không thể xảy ra xung đột

Inode hoạt động trong Linux không chỉ khiến các số Inode không thể xảy ra xung đột

Các lệnh inode tiện dụng trên Linux 

Một số lệnh Inode tiện dụng trên Linux mà bạn cần nắm rõ đó là:

  • Lệnh df-i: Lệnh này được dùng để lấy được những dữ liệu cơ bản nhất về việc sử dụng Inode bao gồm các hệ thống tệp mà Inode được lưu trữ, tổng số Inode, số lượng Inode đang được sử dụng và số lượng Inode còn lại.
  • Lệnh -inum: Lệnh này sẽ được sử dụng cho mục đích tìm kiếm các tệp dữ liệu được liên kết với một Inode nhất định.
  • Lệnh ls-i: Lệnh này được sử dụng để lấy số Inode của một tệp dữ liệu.

Có thể thấy cấu trúc dữ liệu Inode vô cùng hữu hiệu trong việc sắp xếp và quản lý các tệp có trong Linux. Không những thế, nó cũng lưu trữ tỉ mỉ những thông tin cơ bản của một tệp và vị trí dữ liệu của các tệp đó. Bài viết mà Bizfly Cloud chia sẻ chắc chắn sẽ giúp bạn hiểu rõ Inode là gì cũng như những thông tin cần thiết có liên quan đến Inode để có thể giảm bớt gánh nặng lưu trữ tệp tin cho hệ thống tệp.

BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của BizFly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

TAGS: Inode
SHARE