Đĩa sắp đầy: cách tăng dung lượng
Phải làm gì khi không đủ dung lượng đĩa: dọn dẹp, chuyển dữ liệu ra ngoài, hoặc nâng cấp lên tier cao hơn — và tại sao bạn không thể thu nhỏ đĩa trở lại.
Cập nhật 23 tháng 8, 2026
Dung lượng đĩa trên VDS gắn với tier: 40 GB ở VDS-1 và lên tới 250 GB ở VDS-6. Bạn không thể mua thêm dung lượng riêng — dung lượng thay đổi theo gói. Trước khi trả thêm tiền, hãy kiểm tra xem dung lượng có thực sự bị dữ liệu chiếm hay không.
Bước một: đảm bảo dung lượng thực sự được sử dụng
df -h /
sudo du -x -h -d1 / | sort -h | tail -10
docker system df
journalctl --disk-usage
Rất thường xuyên, log, cache build và image cũ chiếm nửa ổ đĩa. Để xem chi tiết phân bổ, xem dung lượng đĩa. Giải phóng 30-40 % bằng cách dọn dẹp sẽ giúp bạn hoãn việc nâng cấp vài tháng.
Bước hai: chuyển ra ngoài những gì không nhất thiết phải nằm ở đây
- Bản sao lưu — chúng thuộc về một site khác, không phải cùng ổ đĩa.
- Tệp do người dùng tải lên — sang lưu trữ đối tượng S3; ứng dụng sẽ phục vụ liên kết.
- Lưu trữ và media — sang một lưu trữ rẻ riêng với truy cập SFTP.
- Registry image — dịch vụ ngốn tài nguyên nhất, xem registry riêng.
Bước ba: nâng cấp lên tier cao hơn
Bạn nâng cấp gói trong bảng điều khiển của máy, và nó chỉ hoạt động theo hướng tăng. Phụ phí được tính cho những ngày còn lại của kỳ đã trả — bạn không mất số tiền đã trả.
| Từ tier | Đến tier | Đĩa thành |
|---|---|---|
| VDS-1 | VDS-2 | 80 GB |
| VDS-2 | VDS-3 | 120 GB |
| VDS-3 | VDS-4 | 160 GB |
| VDS-4 | VDS-5 | 200 GB |
| VDS-5 | VDS-6 | 250 GB |
Cùng với đĩa, số nhân, bộ nhớ và giới hạn tốc độ ghi cũng tăng — xem tốc độ đĩa.
Không hỗ trợ hạ cấp: đĩa không thu nhỏ lại. Bạn có thể thu nhỏ hệ thống tệp, nhưng không thể thu nhỏ đĩa ảo bên dưới mà không có nguy cơ mất dữ liệu. Vì vậy hãy chọn tier dư dả cho một năm, chứ không phải “phòng hờ, trước hai năm”.
Sau khi nâng cấp
Thông thường phân vùng và hệ thống tệp tự động mở rộng khi khởi động. Kiểm tra:
lsblk
df -h /
Nếu lsblk hiển thị đĩa lớn hơn nhưng df vẫn hiển thị kích thước cũ, hãy mở rộng thủ công:
sudo growpart /dev/sda 1
sudo resize2fs /dev/sda1 # ext4
sudo xfs_growfs / # xfs
Với bố cục LVM, thứ tự khác đi:
sudo pvresize /dev/sda3
sudo lvextend -l +100%FREE /dev/mapper/vg-root
sudo resize2fs /dev/mapper/vg-root
Để biết thêm chi tiết, xem phân vùng và hệ thống tệp. Mở rộng hệ thống tệp được thực hiện trên phân vùng đã mount và không động đến dữ liệu, nhưng sao lưu trước vẫn là bắt buộc.
Phải làm gì nếu bạn hết dung lượng ngay bây giờ
Khi đĩa đầy hoàn toàn, một số lệnh ngừng hoạt động: hệ thống thậm chí không thể ghi một tệp tạm. Thứ tự hành động:
journalctl --vacuum-size=100M
apt clean
docker builder prune -f
sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log
Việc này sẽ giải phóng một hai gigabyte và khôi phục quyền kiểm soát. Sau đó làm theo các bước ở trên.
Lỗi thường gặp
- Bạn đã xóa tệp nhưng dung lượng không trở lại. Một tiến trình đang giữ tệp đã xóa ở trạng thái mở:
sudo lsof +L1và khởi động lại dịch vụ. - Bạn đã nâng cấp tier mà không tìm ra nguyên nhân. Rò rỉ log sẽ lấp đầy cả 250 GB, chỉ là muộn hơn.
- Bạn đã mở rộng phân vùng mà không sao lưu. Một sai sót về số phân vùng trong
growpartkhiến bạn mất toàn bộ dữ liệu. Hãy sao lưu trước. - Bạn quên inode.
df -i: còn dung lượng, nhưng bạn không thể tạo tệp. Xóa các đống tệp nhỏ sẽ giúp ích, chứ không phải tăng dung lượng đĩa.