Inode là gì và chúng được sử dụng để làm gì?
Inodes được suy đoán là viết tắt của "
index nodes", đã xuất hiện kể từ khi hệ thống tập tin UNIX đầu tiên được giới thiệu vào khoảng cuối những năm 1970.
Chúng được đưa vào Linux vào những năm 90 và vì lý do chính đáng. Chúng là một cách tuyệt vời để theo dõi cách các tập tin của bạn được lưu trữ và là phương pháp mà nhiều hệ thống vẫn dựa trên ngày nay.
1. Inode là gì?Inode là một cấu trúc dữ liệu tập tin lưu trữ thông tin về bất kỳ tập tin Linux nào ngoại trừ tên và dữ liệu của nó.
2. Inodes được sử dụng để làm gì?Dữ liệu được lưu trữ trên đĩa của bạn dưới dạng các khối có kích thước cố định. Nếu bạn lưu tập tin vượt quá khối tiêu chuẩn, máy tính của bạn sẽ tìm thấy phân đoạn có sẵn tiếp theo để lưu phần còn lại của tập tin. Theo thời gian, điều đó có thể trở nên cực kỳ khó hiểu.
Đó là nơi các
inodes xuất hiện. Mặc dù chúng không chứa bất kỳ dữ liệu thực tế nào của tập tin, nhưng nó lưu trữ siêu dữ liệu của tập tin, bao gồm tất cả các khối lưu trữ mà dữ liệu của tập tin có thể được tìm thấy.
Thông tin chứa trong một
inode:
- Kích thước tập tin.
- Thiết bị lưu trữ tập tin.
- ID người dùng và nhóm được liên kết với tập tin.
- Các quyền cần thiết để truy cập tập tin.
- Tạo, đọc và ghi dấu thời gian.
- Vị trí của dữ liệu (mặc dù không phải là đường dẫn tập tin)
Inodes cũng độc lập với tên tập tin. Điều đó có nghĩa là bạn có thể sao chép một tập tin, đổi tên tập tin và vẫn trỏ đến cùng một
inode như bản gốc.
3. Nơi mà inodes có thể trở nên kỳ lạ.Giống như các khối dữ liệu có kích thước cố định của bạn, các
inode cũng đồng nhất. Có thể bạn có tập tin vượt quá kích thước của
inode. Trong trường hợp này,
inode ban đầu của bạn sẽ phải trỏ đến một
inode khác để bao gồm đầy đủ siêu dữ liệu của tập tin. Đây được gọi là con
indirect pointer.
(https://image.vietnetwork.vn/uploads/VietNetwork.Vn801185311635005148bn.JPG)
Trên hết, số lượng
inodes bạn có trên đĩa của mình là tĩnh. Điều đó có nghĩa là nếu bạn có đủ tập tin, bạn có thể hết
inodes trước khi hết dung lượng đĩa. Nếu hết
inodes, bạn sẽ phải xây dựng lại hệ thống tập tin của mình và bao gồm giới hạn lớn hơn cho
inodes.
4. Các lệnh inode tiện dụng trên Linux.Sử dụng lệnh
df -i để lấy dữ liệu cơ bản về việc sử dụng
inode của bạn, bao gồm hệ thống tập tin mà các
inode được lưu trữ trên đó, tổng số
inode của bạn, số lượng
inode đang được sử dụng (đếm và %) và số lượng còn lại.
$ df -i vietnetwork
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda4 233177088 130044 233047044 1% /
(https://image.vietnetwork.vn/uploads/VietNetwork.Vn7032312561635006194vc.JPG)
Sử dụng tùy chọn
-inum để tìm các tập tin được liên kết với một inode nhất định. Ngược lại, sử dụng
ls -i để lấy số inode của một tập tin.
$ ls -i vietnetwork
153092209 vietnetwork
(https://image.vietnetwork.vn/uploads/VietNetwork.Vn1983832451635006210re.JPG)
153092209 là inode của vietnetwork.
5. Điều gì có thể xảy ra với inodes.Việc hết
inodes có thể trông kỳ lạ, vì có thể bạn vẫn còn dung lượng đĩa trống. Vì vậy, làm thế nào để bạn biết nếu bạn đã hết inodes?
Thời điểm hệ thống tập tin hết
inodes, tất cả các tập tin và thư mục mới sẽ bị từ chối. Cho đến thời điểm đó, sẽ không có tác dụng phụ nào biểu hiện. Khi
inodes được sử dụng 100%, bạn sẽ bắt đầu nhận thấy:
- Mất dữ liệu.
- Ứng dụng bị lỗi.
- Khởi động lại hệ điều hành.
- Các tiến trình không khởi động lại.
- Nhiệm vụ định kỳ không kích hoạt.
Nếu bạn nhận thấy bất kỳ điều nào ở trên, hãy sử dụng lệnh
df -i để xác nhận rằng bạn đã đạt đến dung lượng inode.