Inodes và Linux filesystem

Chia sẻ

Cùng tìm hiểu tầm quan trọng của Inodes trong bài viết này
Linux filesystems là một thứ phức tạp để hiểu chúng, đặc biệt khi bạn tìm hiểu tới vung đất củ data và metadata. Mỗi khi bạn chạy câu lệnh ls và thấy các thông tin được xuất ra như danh sách files, phân quyền, quyền sở hữu, vv. Bạn cần hiểu là những dữ liệu về thông tin của files trên được lưu trữ tách rời với chính các files đó, và giờ nó cần được gọi lên. Inodes là người đứng sau làm tất cả các việc này. Cùng hiểu đúng inode là gì và nó đang làm gì cho chúng ta

Inode là gì

Theo định nghĩa, một inode có nghĩa là một index node.Nó cung cấp một định danh riêng biệt cho mỗi mảnh metadata hoặc một filesystem cho trước. Mỗi mảnh metadata trình bày suy nghĩ của chúng ta về một files. Inodes vận hành trong mỗi filesystem, độc lập với những thứ khác. Khá rắc rối khi bạn tưởng tượng rằng mỗi inode được lưu trữ trong một bảng. Thực ra mỗi filesystem được mount trong máy tính của bạn có indoes của riêng chúng. Một inode number có thể được dùng nhiều hơn một lần, nhưng không bao giờ được dùng lại trên cùng một filesystem. Filesystem ID kết hợp với inode number để tạo thành một mã định danh duy nhất

Có tổng cộng bao nhiêu Inode

Nếu bạn không quan tâm tới toán học, bạn có thể bỏ qua phần này. Có rất nhiều inodes trong mỗi hệ thống, và đây mà một số con số bạn có thể cần để ý tới. Đầu tiên, và ít quan trọng hơn theo lí thuyết số inodes tối đa là 2^32 (Xấp xỉ 4.3 tỉ inodes). Điều thứ 2, có vẻ quan trọng hơn, là số lượng inodes trong hệ thống của bạn. Thông thường tỉ lệ của inodes là 1:16KB của dung lượng hệ thống. Bạn có thể tự làm phép tính cho hệ thống của riêng bạn

Sử dụng nâng cao

Để kiểm tra số lượng indoes trong hệ thống của bạn, bạn có thể dùng tham số -i với câu lệnh df. Như ví dụ dưới

[tcarrigan@rhel ~]$ df -i /dev/sda1
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 524288 312 523976 1% /boot

Bạn có thể thấy có tổng cộng 524,288 inodes trong filesystem này, nhưng chỉ có 312 đã được dùng (Tầm 1%)

Inode của cấp độ Files

Để xem inode number của một file cụ thể bạn sẽ sử dụng câu lệnh ls -i. Ví dụ

[tcarrigan@rhel my_articles]$ ls -i Creating_volume_groups
1459027 Creating_volume_groups

Inode number của file này là 1459027

Inode của cấp độ Thư mục

Để xem inode number của một thư mục bạn cũng sẽ sử dụng câu lệnh ls -i. Nhưng thêm một số tham số đi kèm nữa. Ví dụ

[tcarrigan@rhel article_submissions]$ ls -idl my_articles/
352757 drwxrwxr-x. 2 tcarrigan tcarrigan 69 Apr 7 11:31 my_articles/

Bạn có thể thấy rằng chúng ta sử dụng tham số -i (indoes) cùng với -l (long format) và -d (Directory). Chúng ta sẽ yêu cầu các thông tin về thư mục my_articles bao gồm inode numer, permissions, ownership

Chia sẻ