سرور مجازی چیست و چه کاربردی دارد؟
سرور مجازی یا VPS یک ماشین مستقل روی سختافزار مشترک است که منابع اختصاصی و دسترسی مدیریتی کامل دارد. در این راهنما میخوانید VPS چطور کار میکند، چه تفاوتی با هاست دارد و برای چه کارهایی مناسب است.
سرور مجازی یا VPS، کوتاهشده Virtual Private Server، یک ماشین کامل و مستقل است که روی یک سرور فیزیکی مشترک ساخته میشود. سیستمعامل خودش را دارد، فضای ذخیرهسازی خودش را دارد، آدرس شبکه خودش را دارد و شما بهعنوان مدیر به آن دسترسی کامل دارید.
برای اینکه روشن شود سرور مجازی چیست و چه فرقی با هاست یا یک VPN دارد، اول باید دید چطور ساخته میشود؛ بقیه ویژگیهایش — از منابع رزروشده تا مسئولیت نگهداری — از همینجا میآید.
سرور مجازی چطور ساخته میشود؟
یک سرور فیزیکی در دیتاسنتر، سختافزاری است با تعداد زیادی هسته پردازنده، حجم بالایی حافظه و چند دیسک. نرمافزاری به نام هایپروایزر روی این سختافزار اجرا میشود و آن را به چند ماشین مجازی تقسیم میکند. هر ماشین مجازی سهم مشخصی از پردازنده، حافظه و فضای دیسک میگیرد و از نظر خودش یک کامپیوتر کامل است.
مقایسهای که معمولاً برای توضیح این موضوع استفاده میشود: سرور فیزیکی مثل یک ساختمان آپارتمانی است و هر سرور مجازی یک واحد در آن. دیوارها واقعیاند — ساکن یک واحد به واحد دیگر دسترسی ندارد — اما زیرساخت ساختمان مشترک است.
مجازیسازی KVM یعنی چه؟
نوع مجازیسازی تعیین میکند دیوارهای بین ماشینها چقدر واقعی باشند. KVM (مخفف Kernel-based Virtual Machine) یک راهکار مجازیسازی کامل در لینوکس است که از قابلیت مجازیسازی سختافزاری پردازنده (Intel VT یا AMD-V) استفاده میکند. در این روش هر ماشین سختافزار مجازی خودش را دارد — کارت شبکه، دیسک، کارت گرافیک — و هسته سیستمعامل مستقل خودش را اجرا میکند. بنابراین میتوانید لینوکس یا ویندوز نصب کنید، ماژول هسته اضافه کنید و تنظیمات سطح پایین را عوض کنید.
در مقابل، مجازیسازی مبتنی بر کانتینر مثل LXC یا OpenVZ هسته را بین همه ماشینها مشترک میگذارد. مستندات رسمی LXC این کانتینرها را چیزی بین chroot و یک ماشین مجازی کامل توصیف میکند: محیطی نزدیک به یک نصب معمولی لینوکس، اما بدون هسته جداگانه. سبکتر و ارزانتر است، اما شما نمیتوانید هسته را عوض کنید و بعضی نرمافزارها روی آن کار نمیکنند. اگر جایی نوشته شده «سرور مجازی» و نوع مجازیسازی مشخص نشده، این اولین چیزی است که باید بپرسید.
چه چیزی روی کارت پلن نوشته میشود؟
- هسته پردازنده — تعداد هستههایی که ماشین شما میتواند همزمان استفاده کند.
- حافظه (RAM) — مقداری که برای ماشین شما رزرو میشود. وقتی پر شود، سرویسها شروع به خطا دادن میکنند.
- فضای ذخیرهسازی — حجم دیسک و نوعش.
SSDوNVMeاز دیسک مکانیکی سریعترند. - ترافیک — حجم دادهای که در هر دوره میتوانید منتقل کنید.
- آدرس IP — یک یا چند آدرس که سرور با آن روی اینترنت شناخته میشود.
- موقعیت جغرافیایی — دیتاسنتری که ماشین در آن قرار دارد.
نکتهای که خیلیها دیر متوجهش میشوند: هر چیزی که روی کارت پلن ننوشته شده، بخشی از سرویس نیست. نبودن عدد ترافیک یعنی ترافیک اعلام نشده، نه اینکه محدودیتی وجود ندارد.
یک نکته دیگر درباره پردازنده: حافظه و دیسک عددهای قطعیاند، اما سهم پردازنده روی سختافزاری تعریف میشود که ماشینهای دیگر هم از آن استفاده میکنند. اگر یکی از همسایهها برای مدت طولانی بار سنگینی بگذارد، ممکن است در لحظههای شلوغ کمی کندی حس کنید. برای بیشتر کارهای سبک این تفاوت دیده نمیشود؛ برای پردازش مداوم و سنگین، دلیلی است که بعضیها سراغ سرور اختصاصی میروند.
اسمهای مشابه: VDS، سرور ابری و VPN
سه اصطلاح دیگر زیاد کنار VPS دیده میشوند و بهتر است با هم قاطی نشوند:
- VDS (
Virtual Dedicated Server) — تعریف استاندارد و یکسانی ندارد. بعضی فروشندگان با این نام سرور مجازیای را عرضه میکنند که هستههای پردازندهاش اختصاصی اعلام شده؛ بعضی دیگر همان VPS را با اسم دیگری میفروشند. به جای اسم، بپرسید دقیقاً کدام منبع اختصاصی است. - سرور ابری — از دید کاربر شبیه سرور مجازی است؛ تفاوتش در نحوه ساخت زیرساخت و مدل صورتحساب است. این را در تفاوت سرور ابری و سرور مجازی جداگانه توضیح دادهایم.
- VPN — اصلاً سروری نیست که در اختیار شما قرار بگیرد؛ یک سرویس اتصال است که ترافیک دستگاه شما را بهصورت رمزگذاریشده از مسیر یک شبکه دیگر عبور میدهد. VPS یک کامپیوتر کامل است که هر نرمافزاری را روی آن اجرا میکنید.
سرور مجازی برای چه کارهایی استفاده میشود؟
- میزبانی وبسایت و اپلیکیشن وقتی هاست اشتراکی جوابگو نیست یا به نسخه خاصی از یک زبان یا پایگاه داده نیاز دارید.
- اجرای سرویسهای پسزمینه که باید همیشه روشن بمانند — زمانبندها، صفها، رباتها.
- محیط توسعه و آزمایش که بتوانید آزادانه خرابش کنید و از نو بسازید.
- میزبانی پایگاه داده جدا از سرور برنامه.
- پشتیبانگیری از دادههای مهم در یک موقعیت جغرافیایی دیگر.
سه نمونه از نزدیک
ربات تلگرام. ربات باید شبانهروز روشن باشد و به سرورهای تلگرام دسترسی داشته باشد. کامپیوتر شخصی که شبها خاموش میشود یا اینترنتش قطع و وصل میشود برای این کار مناسب نیست؛ یک سرور لینوکس کوچک معمولاً کافی است. جزئیاتش را در سرور مجازی برای ربات تلگرام نوشتهایم.
اسکریپت زمانبندیشده. مثلاً اسکریپت پایتونی که هر ساعت دادهای را جمع میکند یا گزارشی میسازد. روی سرور با cron یا یک سرویس systemd زمانبندی میشود و دیگر به روشن بودن لپتاپ شما بستگی ندارد. راهنمای کاملش در اجرای پایتون روی سرور مجازی است.
وبسایتی که از هاست اشتراکی بزرگتر شده. وقتی به نسخه مشخصی از PHP یا Node.js، یک پایگاه داده جداگانه یا یک سرویس پسزمینه نیاز دارید که میزبان اشتراکی اجازهاش را نمیدهد، سرور مجازی قدم منطقی بعدی است.
تفاوت با هاست و سرور اختصاصی
| هاست اشتراکی | سرور مجازی | سرور اختصاصی | |
|---|---|---|---|
| دسترسی مدیریتی | ندارید | دارید | دارید |
| سیستمعامل | انتخاب میزبان | انتخاب شما | انتخاب شما |
| منابع | مشترک | رزروشده | کل سختافزار |
| نگهداری | با میزبان | با شما | با شما |
| هزینه | کمترین | متوسط | بیشترین |
این مقایسه را بهصورت مفصلتر در تفاوت هاست اشتراکی، سرور مجازی و سرور اختصاصی نوشتهایم.
بعد از خرید دقیقاً چه چیزی تحویل میگیرید؟
سرور مجازی معمولاً با سه قلم اطلاعات تحویل داده میشود: آدرس IP، نام کاربری مدیر و رمز عبور. از همان لحظه سرور روشن و به اینترنت وصل است — یعنی از همان لحظه هم باید امنش کنید.
به سرور لینوکس با SSH وصل میشوید. در ترمینال ویندوز، مک یا لینوکس کافی است بنویسید:
ssh root@203.0.113.10
آدرس بالا فقط یک نمونه است؛ آدرس سرور خودتان را جایگزینش کنید. به ویندوز سرور هم با برنامه Remote Desktop وصل میشوید. آموزش قدمبهقدم هر دو را در اتصال به سرور لینوکس با SSH و اتصال به سرور ویندوز با Remote Desktop نوشتهایم.
چند کار اول که نباید عقب بیفتد:
- بهروزرسانی سیستمعامل؛ روی اوبونتو و دبیان با
apt updateو بعدapt upgrade. - ساختن یک کاربر عادی برای کار روزمره، به جای اینکه همه کارها را با root انجام دهید.
- ورود با کلید به جای رمز عبور. مستندات اوبونتو درباره OpenSSH کلید نوع
ed25519را پیشنهاد میکند که باssh-keygen -t ed25519ساخته میشود. - فعال کردن دیواره آتش و باز گذاشتن فقط پورتهایی که واقعاً لازم دارید.
- یک برنامه مشخص برای پشتیبانگیری، قبل از اینکه به آن نیاز پیدا کنید.
دستورهای هر مرحله در بعد از خرید سرور مجازی چه کارهایی انجام دهیم آمده است.
چه زمانی سرور مجازی انتخاب درستی نیست؟
اگر فقط یک وبسایت ساده دارید و تجربه کار با خط فرمان ندارید، هاست اشتراکی کار شما را با دردسر کمتری راه میاندازد. سرور مجازی آزادی میدهد و در عوض مسئولیت میگیرد: بهروزرسانی سیستمعامل، پیکربندی دیواره آتش، پشتیبانگیری و برطرف کردن مشکلات، همه کار خودتان است.
برعکس، اگر بار پردازشی سنگین و بیوقفه دارید یا الزامی دارید که اشتراک سختافزار را منتفی میکند، سرور مجازی ممکن است کافی نباشد. این تصمیم را بهتر است بعد از اندازهگیری مصرف واقعی بگیرید، نه از روی حدس.
قدم بعدی
اگر تصمیم گرفتهاید سرور مجازی بگیرید، اول دو سؤال را جواب دهید: سرور داخلی یا خارجی، و اگر خارجی، کدام کشور. بعد راهنمای انتخاب سرور مجازی کمک میکند حافظه، پردازنده، دیسک و سیستمعامل را درست انتخاب کنید.
سرورهای مجازی تاپگیفت خارجیاند و در حال حاضر در دو موقعیت آمریکا و ترکیه ارائه میشوند. روی هر سرور دسترسی root و یک آدرس IPv4 اختصاصی تحویل داده میشود، فضای ذخیرهسازی پلنها SSD است و پرداخت به تومان و با کارت بانکی ایران انجام میشود. پلنها با مشخصات کامل در صفحه خرید سرور مجازی است.