−25%

روی پرداخت سالانه Windows، تا ۳۱ اکتبر. مشاهده پلن‌ها

EQVPS
شروع کنید

یک VPS چقدر فضای دیسک لازم دارد؟ اندازه گرفتیم واقعاً چه چیزی آن را پر می‌کند

3 آبان 1405 · 4 دقیقه مطالعه · EQVPS Team

صفحه‌های پلن RAM را جلو می‌گذارند، اما دیسک پر هم سرور را با همان قطعیت از کار می‌اندازد. با "No space left on device" پایگاه‌های داده نوشتن و سایت‌ها پاسخ دادن را متوقف می‌کنند، هر قدر هم حافظه آزاد باشد. وقتی بدانید چه چیزی رشد می‌کند، پیش‌بینی مصرف دیسک آسان است. از ایمیج‌های خودمان سرورهای تازه بالا آوردیم و تک‌تک مظنونان همیشگی را اندازه گرفتیم.

یک سرور تازه چقدر جا می‌گیرد

درست بعد از نخستین بوت اندازه‌گیری شد:

سیستمفضای اشغال‌شده
Alpine Linux 3.21153 MB
Debian 121.2 GB
Ubuntu 24.042.7 GB
Windows Server 202214.0 GB

روی Linux تقریباً همهٔ Nano با 15 GB از روز اول مال شماست. Windows پیش از آنکه چیزی نصب کنید بیش از یک‌چهارم 50 GB خود را می‌گیرد و همان‌طور که پایین‌تر می‌بینید، به‌روزرسانی‌ها بیشتر می‌برند.

بخشی از 2.7 GB در Ubuntu به‌راحتی برگشت. 440 MB کش بسته‌ها از به‌روزرسانی‌های نخستین بوت بود و سه کرنل نصب بود، در حالی که فقط یکی استفاده می‌شود. دو فرمان مصرف را به 2.16 GB رساند:

sudo apt clean
sudo apt autoremove --purge

Docker: ایمیج‌ها سریع روی هم جمع می‌شوند

نصب خود Docker حدود 300 MB اضافه کرد. آنچه تعیین‌کننده است ایمیج‌ها هستند. هشت ایمیج رایج را یکی پس از دیگری کشیدیم و هر بار اندازه گرفتیم دیسک چقدر بزرگ شد:

ایمیجفضای اضافه‌شده
nginx:alpine91 MB
nginx:latest232 MB
postgres:16501 MB
python:3.12-slim59 MB
node:221,564 MB
mariadb:11437 MB
wordpress:latest960 MB
redis:7-alpine55 MB
مجموع3.9 GB

ایمیج‌هایی که پایهٔ مشترک دارند لایه‌های آن را دوباره به کار می‌برند؛ برای همین python:3.12-slim فقط 59 MB اضافه کرد، چون همان پایهٔ Debian را nginx:latest و postgres:16 از قبل آورده بودند. ایمیج‌های مبتنی بر Alpine چند برابر کوچک‌تر از ایمیج‌های کامل‌اند. node:22 به‌تنهایی 1.5 GB حجم دارد، پس هر جا ممکن است روی node:22-slim یا node:22-alpine بسازید.

ایمیج‌ها با به‌روزرسانی‌ها روی هم انباشته می‌شوند: هر docker compose pull نسخهٔ قدیمی را جا می‌گذارد. روی سرور آزمایشی ما یک فرمان همه را پاک کرد:

docker system df
docker system prune -a

گزارش داد 4.1 GB آزاد شد. prune -a هر ایمیجی را که هیچ کانتینری از آن استفاده نمی‌کند پاک می‌کند، پس آن را وقتی اجرا کنید که استک شما در حال کار است. به ولوم‌ها دست نمی‌زند، مگر اینکه --volumes را اضافه کنید.

لاگ‌ها: چیزی که دیسک را یک‌شبه پر می‌کند

Docker هر چیزی را که کانتینر چاپ کند نگه می‌دارد، و به‌طور پیش‌فرض بدون سقف اندازه. کانتینری اجرا کردیم که در یک حلقه یک خط کوتاه چاپ می‌کرد؛ همان نوع خروجی که بررسی سلامت یا حالت دیباگ تولید می‌کند. بعد از 30 ثانیه فایل لاگش 6 MB بود. با این سرعت روزی حدود 17 GB می‌نوشت، بیشتر از کل دیسک پلن Micro.

برای همهٔ کانتینرهای جدید در /etc/docker/daemon.json سقف بگذارید:

{
  "log-driver": "local",
  "log-opts": { "max-size": "10m", "max-file": "3" }
}

سپس sudo systemctl restart docker را اجرا کنید و کانتینرها را از نو بسازید (docker compose up -d --force-recreate). کانتینرهای موجود تنظیماتی را که با آن ساخته شده‌اند نگه می‌دارند. با این سقف، لاگ همان کانتینر آزمایشی بعد از 30 ثانیه 4 MB بود و هرگز از 30 MB بیشتر نمی‌شود.

ژورنال سیستم از قبل سقف دارد: روی سرور Ubuntu ما با 25 GB، journald خودش را به 2.3 GB، یعنی یک‌دهم فایل‌سیستم، محدود می‌کند. 15 MB استفاده می‌کرد.

Windows: به‌روزرسانی‌ها جا می‌خواهند

ایمیج Windows Server 2022 ما مال سال 2022 بود، پس آن را به‌روز کردیم. هنگام نصب نخستین به‌روزرسانی تجمعی، مصرف از 12.6 به 20.8 GB رسید و بعد از دومی به 24.5 GB. Windows نسخهٔ قدیمی هر فایل سیستمی را که به‌روزرسانی جایگزین می‌کند نگه می‌دارد. پاک‌سازی آن را به 14.6 GB برگرداند و سرور تازه از ایمیج به‌روزشده اکنون با 14 GB شروع می‌شود. دست‌کم 10 GB را برای به‌روزرسانی بعدی خالی نگه دارید. فرمان‌های پاک‌سازی در راهنمای به‌روزرسانی Windows آمده است.

چه انتخاب کنیم

چه اجرا می‌کنیددیسک راحتپلن
ربات، VPN، سایت ایستای کوچک15 GBNano، $3 در ماه
استک Docker با چند ایمیج25 GBMicro، $5 در ماه
WordPress با پایگاه داده و فایل‌های آپلودی، چند استک35 GBSmall، $8 در ماه
پایگاه‌های دادهٔ بزرگ، ایمیج‌های زیاد، پشتیبان‌های محلی45 GBMedium، $12 در ماه
Windows Server 202250–60 GBWindows-Small، $11 در ماه

دو قاعده هر کدام از آن‌ها را ماندگارتر می‌کند: پیش از استقرار برای لاگ کانتینرها سقف بگذارید، و نسخه‌های پشتیبان را به بیرون از سرور کپی کنید، نه اینکه روی دیسک خودش بمانند. اگر سرور از قبل پر است، راهنمای ما برای آزاد کردن فضای دیسک قدم‌به‌قدم همراهتان است. برای جنبهٔ حافظه در انتخاب اندازه، یک VPS چقدر RAM لازم دارد را ببینید. همهٔ پلن‌ها در صفحهٔ VPS هستند و پرداخت با USDT، USDC یا ETH روی شبکه‌های Base، Ethereum یا Polygon انجام می‌شود.

سؤالات متداول

آیا 15 GB برای یک VPS کافی است؟

برای ربات، VPN یا یک سایت کوچک بله. یک سرور Ubuntu 24.04 تازه 2.7 GB از آن را می‌گیرد و Alpine فقط 153 MB. وقتی Docker اضافه کنید جا تنگ می‌شود: هشت ایمیج رایج روی سرور آزمایشی ما 3.9 GB گرفتند. با Docker از 25 GB شروع کنید.

Windows Server چقدر دیسک لازم دارد؟

سرور تازه‌ای که از ایمیج Windows Server 2022 ما ساخته شود 14 GB جا می‌گیرد. به‌روزرسانی‌ها فضای بیشتری می‌خواهند: ایمیج ما هنگام رسیدن به به‌روزرسانی‌های چهار سال به 24.5 GB رسید و پاک‌سازی آن را به 14.6 GB برگرداند. به همین دلیل پلن‌های Windows ما از 50 GB شروع می‌شوند و حدود 35 GB برای نرم‌افزارها و فایل‌های شما می‌ماند.

بیشتر وقت‌ها چه چیزی دیسک VPS را پر می‌کند؟

لاگ‌های بی‌سقف کانتینرها، ایمیج‌های بی‌استفادهٔ Docker، کش بسته‌ها، کرنل‌های قدیمی و نسخه‌های پشتیبانی که روی همان دیسک نگه داشته می‌شوند. سریع‌ترینش اولی است: یک کانتینر آزمایشی پرحرف در 30 ثانیه 6 MB لاگ نوشت.

بعداً می‌توانم دیسک اضافه کنم؟

بله، با رفتن به پلن بزرگ‌تر. هر پلهٔ پلن‌های Linux 10 GB دیسک و RAM بیشتری اضافه می‌کند. پیش از ارتقا ببینید پاک‌سازی کافی نیست: روی سرور آزمایشی ما یک فرمان 4.1 GB ایمیج Docker را آزاد کرد.

چطور ببینم چه چیزی دیسکم را گرفته است؟

برای مجموع df -h / و برای بزرگ‌ترین پوشه‌ها sudo du -xh --max-depth=1 / | sort -h را اجرا کنید. اگر از Docker استفاده می‌کنید، docker system df نشان می‌دهد ایمیج‌ها، کانتینرها و ولوم‌ها چقدر جا گرفته‌اند.

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.