Khi log và dump tích tụ làm ổ đĩa đầy, thao tác ghi thất bại, và nếu không có phương án dự phòng thì server sập.
Vì sao Log, dump và file tạm tích tụ tới 100% → Dẫn đến Ghi thất bại. Không có xử lý lỗi thì crash, có thì lưu thất bại → Trên màn hình Mất kết nối, tiến độ chơi bị rollback
Phụ trách chính Hạ tầng server (Đội hạ tầng) · Phối hợp Hạ tầng DB (Đội hạ tầng), Phát triển server (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Xử lý lỗi ghi để thử lưu lại và phát cảnh báo thay vì crash, giảm log và dump không cần thiết.
Việc cần làm (Đội hạ tầng)
Thiết bị server·OS: log rotation, cảnh báo dung lượng, tách ổ đĩa log và ổ đĩa dữ liệu. Thiết bị DB: theo dõi để transaction log của DB (WAL, binlog) không bị tích tụ vì replication dừng hoặc thiếu bản sao lưu log.
Trên đồ thị
Tăng dần · Mức sử dụng dung lượng ổ đĩa
Chỗ cần xem
Xem mức sử dụng trong df -h và mức sử dụng inode trong df -i, tìm lỗi ENOSPC trong log của server và DB. Với DB, xem slot có active bằng false trong pg_replication_slots của PostgreSQL, số lượng và kích thước file trong SHOW BINARY LOGS của MySQL, log_reuse_wait_desc trong sys.databases của SQL Server, FreeStorageSpace của RDS
Đúng nếu
mức sử dụng tăng đều qua nhiều ngày, thời điểm chạm 100% trùng với lúc crash hoặc lưu thất bại, và log có ENOSPC
Loại trừ nếu
vẫn còn nhiều dung lượng mà ghi thất bại → nguyên nhân khác như quyền truy cập, giới hạn kích thước file
Cách kiểm tra
Kiểm tra bằng công cụ hạ tầng (không cần code game)
Tìm hiểu thêm
Khi bản sao (replica) dừng hoặc bỏ sót sao lưu log, transaction log của DB (WAL, binlog, v.v.) không được xóa và cứ thế tích tụ. Nếu ổ đĩa này đầy, mọi thao tác ghi của DB dừng lại, việc lưu và giao dịch đồng loạt thất bại.
Troubleshoot a full transaction log (SQL Server Error 9002)Microsoft SQL Server Log đầy thì DB chỉ đọc được, không sửa được; nguyên nhân thường gặp chặn việc dọn log là thiếu bản sao lưu log, replication lag, transaction chạy lâu; xem cái gì đang chặn qua log_reuse_wait_desc trong sys.databases
df(1) — Linux manual pagecoreutils Mức sử dụng theo từng file system, -i hiện mức sử dụng inode thay vì block