Bài 07: Disk, filesystem và kiểm tra dung lượng
Bài này giúp anh kiểm tra disk, filesystem, thư mục nào chiếm dung lượng và cách xử lý khi server sắp đầy ổ.
- Dùng
df,du,lsblk. - Phân biệt disk, partition, filesystem, mount point.
- Tìm thư mục/file chiếm dung lượng.
- Xử lý disk full an toàn hơn.
1. Disk, filesystem, mount point
Disk là ổ lưu trữ. Partition là phân vùng. Filesystem là cách dữ liệu được tổ chức. Mount point là nơi filesystem được gắn vào cây thư mục, ví dụ /, /var, /data.
2. Lệnh kiểm tra nhanh
df -h lsblk mount | head du -sh /var/log 2>/dev/null
df -h xem filesystem còn trống bao nhiêu. du -sh xem dung lượng thư mục.
3. Lab: tìm thư mục lớn
sudo du -xh /var --max-depth=1 2>/dev/null | sort -h
sudo du -xh /var/log --max-depth=1 2>/dev/null | sort -h
sudo find /var/log -type f -size +100M -exec ls -lh {} \; 2>/dev/null
-x giúp không nhảy sang filesystem khác. find tìm file log lớn.
4. Tình huống thực tế: disk 95%
- Chạy
df -hxác định filesystem đầy. - Dùng
dutìm thư mục lớn. - Kiểm tra log, backup, upload, docker volume.
- Nén/di chuyển file an toàn, không xóa bừa.
- Thiết lập logrotate hoặc retention.
5. Docker làm đầy disk
docker system df docker images docker ps -a
Docker image/container/log/volume có thể chiếm nhiều dung lượng. Không prune volume nếu chưa biết dữ liệu bên trong.
6. Lỗi thường gặp
- Xóa file log đang được process giữ, dung lượng chưa giảm ngay.
- Xóa nhầm backup duy nhất.
- Không kiểm tra inode.
- Dọn Docker volume làm mất database.
df -i
df -i kiểm tra inode. Có trường hợp còn dung lượng nhưng hết inode.
7. Checklist disk full
- Xác định filesystem đầy.
- Tìm thư mục lớn bằng du.
- Tìm file lớn bằng find.
- Kiểm tra log/backup/upload/docker.
- Kiểm tra inode.
- Sau khi xử lý, tạo cảnh báo disk.
8. Bài tập
- Chạy
df -hvà ghi filesystem lớn nhất. - Tìm 5 thư mục lớn nhất trong
/var. - Kiểm tra inode bằng
df -i. - Viết quy trình xử lý disk full 7 bước.
