+4

Inode là gì?

Gần đây, mình gặp một vấn đề đối với website, Bỗng 1 ngày đẹp trời như bao ngày truy cập vào website thì nhận một màn hình lỗi đỏ chót "Whoops, looks like something went wrong". Lúc này mới tá hỏa truy cập vào server check log thì mới nhận được : "failed to open stream: No space left on device" . Trong khi đó kiểm tra dung lượng storage thì vẫn còn 60% free. Sau khi kiểm tra một hồi mới phát hiện ra server bị full inode. Khái niệm inode trước đây mình cũng chưa từng nghe nhiều. Hôm nay mình sẽ chia sẻ với các bạn về Inode và làm thế nào để tăng dung lượng inode nhé.

I- Inode Hosting là gì?

Inodes bằng số lượng file và thư mục bạn có.Mỗi lần một file được mở, inodes của file được đọc bởi kernel của server. Bạn càng có nhiều file và thư mục, số lượng inodes lại càng lớn. Càng nhiều inodes, tài khoản càng sử dụng nhiều tài nguyên.

INODE Hosting đại diện cho số lượng của tất cả các tập tin (file) nằm trên tài khoản Hosting của bạn. Trên hệ thống có báo nhiêu file thì sẽ có tương ứng bấy nhiêu inode. Tất cả các thông tin thuộc tính của 1 file (Loại file, Permissions, Chủ sở hữu, Nhóm, Kích thước file, Thời gian truy cập, Thay đổi, Sửa đổi file, Thời gian file bị xóa....) sẽ được lưu trên 1 inode tương ứng.

Khi đã đặt tới giới hạn INODE, bạn sẽ không còn có thể tạo thêm bất kỳ tập tin hay thư mục nào nữa. Trang web của bạn cũng có khả năng ngưng hoặc hoạt động không ổn định.

Tại sao inode lại bị giới hạn?

Đối với "Hosting không giới hạn" bắt buộc nhà cung cấp dịch vụ phải "giới hạn" thông số nào đó nhằm đảm bảo hiệu năng cho toàn bộ các dịch vụ trên hệ thống (nhằm tránh các trường hợp một số khách hàng cố tình lạm dụng tài nguyên, một số mã nguồn bị virus, mã độc...vv gây quá tải).

Để đưa ra các giới hạn này thì nhà cung cấp dịch vụ cũng đã tìm hiểu kỹ nhu cầu và cân đối tài nguyên để đưa ra các giới hạn inode phù hợp cho mỗi gói dịch vụ. Để đảm bảo dịch vụ luôn hoạt động hổn định.

II- Xử lý full Inode

Khi gặp tình trạng này, ngay lập tức bạn phải kiểm tra số lượng Inode trên hosting của bạn.

#Input
df -i
#Output
Filesystem      Inodes   IUsed   IFree IUse% Mounted on
devtmpfs        253941     431  253510    1% /dev
tmpfs           256189       1  256188    1% /dev/shm
/dev/xvda1     3276800 3276800 3276800   100% /

Như bạn có thể thấy các thông số trả ra gồm số Inode tối đa: "Inodes" , số inode đã sử dụng: "IUsed", số Inode free:"IFree" và số % Inode đã sử dụng: "IUse%". Lúc này số Inode đã sử dụng là 100%. Hệ thống của bạn không thể tạo thêm bất kỳ một thư mục nào nữa. Trang web có thể ngưng hoạt động, hoặc không ổn định. Vậy giải pháp lúc này là gì?

Tìm nguyên nhân trực tiếp gầy ra full Inode và xóa file dư thừa.

  • Kiểm tra hòm email

    Nếu bạn đang sử dụng host để làm mail server thì bạn nên kiểm tra thư mục Sent hay Trash trong tài khoản email của bạn. Bạn có thể tải về máy của mình và xoá nó trên server.

  • Kiểm tra số lượng file cache

    Những website hiện nay đều có sử dụng plugin cache. Vì vậy bạn nên kiểm tra thư mục cache của website. Giảm số lượng file bạn đang giữ trong đó. Những plugin cache đều có tuỳ chọn Purge cache. Bạn cũng có thể sử dụng tính năng này để giảm số lượng file cache.

  • Loại bỏ toàn bộ thư mục và file không sử dụng đến

    Những thư mục hay file backup trên host sẽ chiếm dung lượng lớn. Vì vậy, bạn cần kiểm tra xem mình có lưu file hay thư mục backup trên host không. Vì vậy, bạn nên tải về máy. Cách tốt nhất là bạn sao lưu trên dịch vụ lưu trữ đám mây thay vì đặt trên host.

Nếu bạn vẫn có số lượng lớn file hay thư mục, và không thể giảm được nữa, đó là lúc bạn cần nâng lên gói cao cấp hơn với số lượng inode lớn hơn. Hoặc chuyển host nếu host bạn không có gói với inodes cao hơn nữa.

Tăng storage cho EC2 của bạn

  1. Bước 1 : Stop Instance EC2 của bạn:

    Services -> EC2 -> Instances, chọn instance cần upgrade storage. Chọn instance state > stop.

  2. Bước 2: Tăng kích thước cho Volumes:

    Elastic Block Store -> Volumes, chọn volumes của instance cần upgrade storage. Chọn Modify.

  3. Bước 3 : Thay đổi kích thước sorage cho ec2 của bạn cho phù hợp.

  4. Bước 4: Khởi động lại EC2 instance và kiểm tra dung lượng storage và dung lượng inode. Bạn sẽ thấy sự thay đổi.

Lúc này website của bạn sẽ hoạt động trở lại bình thường. Có thể ít gặp, nhưng đối với website maintain thì bạn nên chú ý tới điều này. Hãy theo dõi thông số của server thường xuyên bằng cách sử dụng thêm các service như cloudwatch và bật arlarm cảnh báo khi hệ thống có vấn đề để tránh tình trạng website chết ẻo. Cảm ơn đã đọc. Chúc các bạn thành công.

III - Tài liệu tham khảo

https://www.bloghosting.vn/inodes-la-gi/

https://quantrimang.com/co-ban-ve-he-thong-file-trong-unix-linux-156654


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí