Xin chào! Cảm ơn bạn
đã ghé thăm Blog của tôi.
Xin chào! Cảm ơn bạn
đã ghé thăm Blog của tôi.
Thời gian gần đây mình nhận thấy có nhiều người dùng sử dụng CyberPanel bị tình trạng lỗi khi truy cập vào giao diện quản trị CyberPanel. Và nguyên nhân gặp phải nhiều nhất là do VPS bị Full Inodes, cụ thể Inodes bị đầy nhanh như vậy là do các session php được tạo ra liên tục, đây là cơ chế hoạt động của CyberPanel mà mình thấy nó chưa thực sự tối ưu.
Và ở đây mình có một VPS của khách hàng, cũng đang gặp tình trạng tương tự. Để kiểm tra các bạn có thể sử dụng lệnh df -i , và như bạn thấy VPS này đang bị đầy Inodes với số lượng file lên tới hơn 3,5 triệu file.

Đầu tiên bạn hãy di chuyển đến thư mục session , đây sẽ là nơi lưu trữ các session php của CyberPanel. Trên CyberPanel các bạn cài đặt các version PHP nào, thì sẽ thấy tương ứng các thư mục PHP đó.
cd /var/lib/lsphp/session/Sau khi di chuyển vào thư mục session , các bạn dùng lệnh bên dưới để xem thống kê Inodes.
du -sh --inodes *Và ở đây các bạn có thể thấy thư mục chứa nhiều Inodes nhất chính là thư mục lsphp74. Để xem nội dung bên trong thư mục này, bạn có thể dùng lệnh bên dưới để liệt kê 10 file đầu tiên. (Thường số lượng File Session sẽ rất lớn, nên việc sử dụng lệnh ll để xem sẽ rất lâu).
ls -U lsphp74 | head -10Sau khi xem được các file Session được tạo ra bên trong, thì điểm chung là các file này đều bắt đầu bằng sess_ và phía sau là các ký tự chữ số random.

Khi đã xác định được thư mục chiếm nhiều Inodes chính là các thư mục bên trong đường dẫn /var/lib/lsphp/session/ và các file sinh ra đều có định dạng bắt đầu bằng sess_ . Thì các bạn có thể sử dụng câu lệnh dưới đây để tìm và xóa nhanh các File bắt đầu bằng sess_ tại đường dẫn /var/lib/lsphp/session/.
find /var/lib/lsphp/session/ -name 'sess_*' -delete
Khi chạy lệnh các bạn hãy chờ cho đến khi lệnh chạy hoàn tất. Quá trình xóa nhanh hay chậm tùy thuộc vào số lượng File nhiều hay ít. Ngoài ra bạn cũng có thể tham khảo thêm Script bên dưới để xóa, script này được chính nhà phát triển của CyberPanel là Usmannasir viết.
bash <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/CPScripts/setup_php_sessions.sh)Sau khi chạy lệnh xóa xong, bạn hãy thử kiểm tra lại xem Inodes đã giảm hay chưa. Và ở trường hợp của mình, số lượng Inodes đã giảm từ 100% xuống còn 14%.

Để tránh các file Session sinh ra làm Full Inodes và để không phải mất công xóa thủ công thường xuyên, thì các bạn có thể sử dụng Cron trên VPS để xóa tự động. Ở đây mình sẽ thiết lập Cron chạy vào 6h sáng hàng ngày như sau:
Bạn thực hiện mở crontab bằng lệnh:
crontab -eSau đó thêm nội dung bên dưới vào cuối file và lưu lại. ( Bạn có thể điều chỉnh lại khung thời gian theo nhu cầu của mình. )
0 6 * * * find /var/lib/lsphp/session/ -name 'sess_*' -delete > /dev/null 2>&1Cuối cùng là khởi động lại dịch vụ để đảm bảo Cron mới được áp dụng
systemctl restart cronHy vọng bài viết này sẽ giúp bạn xử lý được vấn đề Full Inodes do Session PHP trên CyberPanel. Chúc các bạn thực hiện thành công.!
Chào mọi người, mình là Kiên – hiện đang công tác tại Phòng Kỹ thuật AZDIGI. Trong quá trình làm việc mình có cơ hội được tiếp xúc với khá nhiều các vấn đề liên quan đến Website/Hosting/VPS/Server, do đó mình viết lại các hướng dẫn này nhằm chia sẻ kiến thức, cũng như tạo một môi trường để chúng ta giao lưu và học hỏi lẫn nhau.
2026 - Website được phát truyền nội dung bởi Đàm Trung Kiên
Hãy để lại thông tin của bạn. Đội ngũ chuyên gia của chúng tôi sẽ trực tiếp phân tích nhu cầu và tư vấn giải pháp công nghệ phù hợp, tối ưu hiệu quả cho công việc của bạn hoàn toàn miễn phí.
Tìm kiếm bài viết...