Bài 07: Disk, filesystem và kiểm tra dung lượng

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 ổ.

Sau bài này anh sẽ biết:

  • 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%

  1. Chạy df -h xác định filesystem đầy.
  2. Dùng du tìm thư mục lớn.
  3. Kiểm tra log, backup, upload, docker volume.
  4. Nén/di chuyển file an toàn, không xóa bừa.
  5. 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.

Lưu ý production: Nếu cần xóa, hãy ưu tiên nén/di chuyển sang nơi khác trước. Với log, nên dùng logrotate thay vì xóa thủ công lặp lại.

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

  1. Chạy df -h và ghi filesystem lớn nhất.
  2. Tìm 5 thư mục lớn nhất trong /var.
  3. Kiểm tra inode bằng df -i.
  4. Viết quy trình xử lý disk full 7 bước.

Tác giả: Mạnh Hoàng

Tôi là Hoàng Mạnh, người sáng lập blog SysadminSkills.com. Tôi viết về quản trị hệ thống, bảo mật máy chủ, DevOps và cách ứng dụng AI để tự động hóa công việc IT. Blog này là nơi tôi chia sẻ những gì đã học được từ thực tế – đơn giản, ngắn gọn và áp dụng được ngay.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *