Trang gói dịch vụ đặt RAM lên đầu, nhưng một ổ đĩa đầy cũng đánh sập máy chủ chắc chắn không kém. Với "No space left on device", cơ sở dữ liệu ngừng ghi và trang web ngừng phản hồi, dù còn trống bao nhiêu bộ nhớ. Mức dùng ổ đĩa dễ dự đoán khi bạn biết thứ gì tăng lên. Chúng tôi khởi động máy chủ mới từ image của chính mình và đo từng nghi phạm quen thuộc.
Máy chủ mới chiếm bao nhiêu
Đo ngay sau lần khởi động đầu tiên:
| Hệ điều hành | Dung lượng đã dùng |
|---|---|
| Alpine Linux 3.21 | 153 MB |
| Debian 12 | 1,2 GB |
| Ubuntu 24.04 | 2,7 GB |
| Windows Server 2022 | 14,0 GB |
Trên Linux, gần như toàn bộ Nano 15 GB là của bạn từ ngày đầu. Windows chiếm hơn một phần tư trong 50 GB của nó trước khi bạn cài bất cứ thứ gì, và như bạn sẽ thấy bên dưới, các bản cập nhật lấy nhiều hơn.
Một phần trong 2,7 GB của Ubuntu dễ dàng lấy lại. 440 MB là bộ nhớ đệm gói từ các bản cập nhật lúc khởi động đầu tiên, và có ba kernel được cài dù chỉ dùng một. Hai lệnh đưa mức dùng xuống 2,16 GB:
sudo apt clean
sudo apt autoremove --purge
Docker: image chồng chất rất nhanh
Bản thân việc cài Docker thêm khoảng 300 MB. Thứ quyết định là image. Chúng tôi kéo tám image phổ biến, lần lượt từng cái, và mỗi lần đo xem ổ đĩa tăng bao nhiêu:
| Image | Dung lượng tăng thêm |
|---|---|
nginx:alpine | 91 MB |
nginx:latest | 232 MB |
postgres:16 | 501 MB |
python:3.12-slim | 59 MB |
node:22 | 1.564 MB |
mariadb:11 | 437 MB |
wordpress:latest | 960 MB |
redis:7-alpine | 55 MB |
| Tổng | 3,9 GB |
Các image có chung nền tảng dùng lại các layer của nó, nên python:3.12-slim chỉ thêm 59 MB: nginx:latest và postgres:16 đã mang về cùng nền Debian. Image dựa trên Alpine nhỏ hơn bản đầy đủ nhiều lần. Riêng node:22 đã nặng 1,5 GB, vì vậy khi có thể, hãy build trên node:22-slim hoặc node:22-alpine.
Image chồng lên nhau qua mỗi lần cập nhật: mỗi docker compose pull để lại phiên bản cũ. Trên máy chủ thử nghiệm của chúng tôi, một lệnh đã xóa hết chúng:
docker system df
docker system prune -a
Lệnh báo đã thu hồi 4,1 GB. prune -a xóa mọi image không được container nào dùng, nên hãy chạy khi stack của bạn đang hoạt động. Volume không bị đụng đến trừ khi bạn thêm --volumes.
Log: thứ làm đầy ổ đĩa chỉ sau một đêm
Docker giữ mọi thứ một container in ra, và mặc định không giới hạn kích thước. Chúng tôi chạy một container in một dòng ngắn trong vòng lặp, kiểu đầu ra mà kiểm tra tình trạng hoặc chế độ gỡ lỗi tạo ra. Sau 30 giây, tệp log của nó là 6 MB. Với tốc độ đó, nó sẽ ghi khoảng 17 GB mỗi ngày, nhiều hơn toàn bộ ổ đĩa của gói Micro.
Đặt giới hạn cho mọi container mới trong /etc/docker/daemon.json:
{
"log-driver": "local",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
Sau đó chạy sudo systemctl restart docker và tạo lại các container (docker compose up -d --force-recreate). Container hiện có giữ nguyên cài đặt lúc được tạo. Với giới hạn, log của cùng container thử nghiệm là 4 MB sau 30 giây và không bao giờ vượt quá 30 MB.
Nhật ký hệ thống đã có giới hạn: trên máy chủ Ubuntu 25 GB của chúng tôi, journald tự giới hạn ở 2,3 GB, bằng một phần mười hệ thống tệp. Nó đang dùng 15 MB.
Windows: bản cập nhật cần chỗ
Image Windows Server 2022 của chúng tôi có từ năm 2022, nên chúng tôi đã cập nhật nó. Trong khi bản cập nhật tích lũy đầu tiên được cài, mức dùng tăng từ 12,6 lên 20,8 GB, và sau bản thứ hai thì lên 24,5 GB. Windows giữ phiên bản cũ của mọi tệp hệ thống mà bản cập nhật thay thế. Việc dọn dẹp đưa nó về 14,6 GB, và một máy chủ mới từ image đã cập nhật giờ bắt đầu ở 14 GB. Hãy để trống ít nhất 10 GB cho bản cập nhật tiếp theo. Hướng dẫn cập nhật Windows có các lệnh dọn dẹp.
Nên chọn gì
| Bạn chạy gì | Ổ đĩa thoải mái | Gói |
|---|---|---|
| Một bot, một VPN, một trang tĩnh nhỏ | 15 GB | Nano, $3/tháng |
| Một stack Docker với vài image | 25 GB | Micro, $5/tháng |
| WordPress có cơ sở dữ liệu và tệp tải lên, vài stack | 35 GB | Small, $8/tháng |
| Cơ sở dữ liệu lớn, nhiều image, sao lưu cục bộ | 45 GB | Medium, $12/tháng |
| Windows Server 2022 | 50–60 GB | Windows-Small, $11/tháng |
Hai quy tắc giúp gói nào cũng dùng được lâu hơn: giới hạn log container trước khi triển khai, và sao chép bản sao lưu ra ngoài máy chủ thay vì để trên ổ đĩa của nó. Nếu máy chủ đã đầy, hướng dẫn giải phóng dung lượng ổ đĩa sẽ dẫn bạn từng bước. Về phần bộ nhớ khi chọn cấu hình, xem VPS cần bao nhiêu RAM. Tất cả các gói có trên trang VPS, thanh toán bằng USDT, USDC hoặc ETH qua Base, Ethereum hoặc Polygon.
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên.