سرور چیست؟ آشنایی با انواع سرور
با گشتوگذار در اینترنت احتمالا نام سرور را بارها شنیدهاید. اما سرور چیست، از چه اجزایی تشکیل شده و انواع آن کدام است؟ در این مقاله به این سوالات و پاسخی برای آنها میپردازیم.
سرور چیست؟
سرور (Server) به طور ساده به معنی سرویسدهنده است اما در دنیای امروز مفهومی فراتر دارد. سرور یک نرمافزار کامپیوتری یا یک سختافزار یا ترکیبی از آنها است که خدماتی را به نرمافزارهای کامپیوتری دیگر و کاربران آنها ارائه میکند. به کامپیوترها و کاربرانی که خدمات را دریافت میکنند «کلاینت» (Client) یا گاه «مشتری» گفته میشود.
در مدل «کلاینت/سرور»، یک برنامه سرویسدهنده در انتظار درخواستها از سوی برنامه کلاینت میماند و سپس زمانی که درخواست را دریافت کند، پاسخ مناسب را به کلاینت ارائه مینماید. به عنوان مثال، کلاینت از یک فایل سرور، درخواست یک فایل را میکند و سرور آن فایل را یافته و به کلاینت ارسال مینماید. البته در پشت این فرایند، مجموعهای بزرگ و پیچیده از سختافزارها و نرمافزارها و گاه تجهیزات شبکه وجود دارد که در کنار هم امکان خدمترسانی به کلاینت و کاربر را فراهم میکنند.
همچنین، باید اشاره کنیم که برنامه کلاینت ممکن است در همان کامپیوتر یا در کامپیوتر دیگر باشد؛ به این معنی که در بسیاری از مواقع، سرور و کلاینت، نرمافزارهایی روی یک کامپیوتر هستند اما گاه در کامپیوترهای مختلف قرار گرفتهاند.
انواع سرور از نظر نحوه پیادهسازی
انواع سرورها میتوانند به دو روش فیزیکی یا مجازی پیادهسازی شوند که تفاوتهایی با هم دارند.
سرور فیزیکی چیست؟
سرور فیزیکی یک کامپیوتر قدرتمند شامل سختافزارهای پردازنده، رم، کنترلرها و فضای ذخیرهسازی است که برای اجرای سیستمعامل و اپلیکیشنهای سرور به کار میرود. روی این سرورها تنها یک سیستمعامل نصب میشود. در گذشته برای سالها، استفاده از سرورهای فیزیکی تنها گزینه محسوب میشد. در آن دوران فضای دیتاسنترها با سرورهای فیزیکی پر شده بود و هر یک از آنها مشغول ارائه خدمات محدودی بودند. به این ترتیب مدیریتشان سادهتر بود اما از سوی دیگر بسیاری از منابع به هدر میرفت تا اینکه سرورهای مجازی از راه رسیدند.
سرور مجازی چیست؟
سرور مجازی (VPS یا Virtual Private Server) بر نوعی شبیهسازی از یک سرور فیزیکی مبتنی است که به صورت مجازی روی سختافزار یک سرور فیزیکی پیادهسازی میشود. سرور مجازی هم میتواند مشابه فیزیکی، شامل سیستمعامل و اپلیکیشنها باشد. روی هر سرور فیزیکی امکان پیادهسازی چندین VPS وجود دارد. هر یک از این سرورهای مجازی میتوانند مشابه با یک سیستم مستقل عمل کرده و خدمات مختلفی را به کلاینتها ارائه کنند.
فرایند ایجاد ماشین مجازی (یا همان سرور مجازی) شامل نصب یک نرمافزار سبک به نام هایپروایزر روی سرور فیزیکی است. هایپروایزر موجب میشود سرور فیزیکی به عنوان میزبانی برای مجازیسازی عمل نمایند. فرایند مجازیسازی موجب میشود منابع سختافزاری فیزیکی (از جمله پردازنده، رم، فضای ذخیرهسازی و پهنای باند شبکه) برای یک یا تعداد بیشتری ماشین مجازی در دسترس قرار بگیرند.
نرمافزار مجازیسازی همچنین یک کنسول ادمین را در اختیار کاربر قرار میدهد که به کمک آن میتوان به هر ماشین مجازی، میزان مشخصی از سختافزار را تخصیص داد. به عنوان مثال اگر یک سرور دو پردازنده با ۴ هسته پردازشی داشته باشد، به سادگی میتوان هستههای پردازنده را بین ماشینهای مجازی مختلف تقسیم نمود.
همین مسئله در مورد سایر منابع سختافزاری (از جمله رم، پهنای باند شبکه و فضای ذخیرهسازی) نیز قابل اجرا است. تقسیم منابع از طریق مجازیسازی موجب میشود هزینه مورد نیاز برای خرید سختافزار کاهش یابد؛ چرا که منابع یک سرور فیزیکی از طریق چندین ماشین مجازی در اختیار چندین کاربر قرار میگیرد. اگر میخواهید در مورد سرور مجازی بیشتر بدانید، پیشنهاد میکنیم مقاله «VPS چیست؟» را مطالعه نمایید.
سرورهای اختصاصی در سوی مقابل سرورهای مجازی قرار میگیرند. در سرور اختصاصی تمامی منابع یک سرور فیزیکی در اختیار یک کاربر هستند. با وجود اینکه سرور اختصاصی کاربردهای خاص خود را دارد اما در بسیاری از شرایط و برای بسیاری از کاربردها، هزینه بالایی را به کاربران تحمیل میکند.
انواع سیستمعامل سرور چیست؟
سیستمعامل نقش پلتفرمی را دارد که اپلیکیشنها روی آن اجرا میشوند و امکان دسترسی به منابع سختافزاری و ارتباط کلاینتها با اپلیکیشنهای سرور را فراهم میکند. سیستمعامل سرورها معمولا رابط کامند لاین (Command Line) یا گرافیکی (GUI یا Graphical User Interface) را در اختیار ادمینها قرار میدهند تا به کمک آن بتوانند مدیریت کاربران، دستگاهها، موارد امنیتی و بسیاری موارد دیگر را انجام دهند. روش کامند لاین یا به عبارتی خط فرمان، از محیطی متنی برای وارد کردن دستورات متنی بهره میبرد. محیط گرافیکی اما راهکار کاربرپسندتری برای اعمال تنظیمات و تغییرات دارد. برخی از پرکاربردترین سیستمعاملهای سرورها شامل موارد زیر هستند:
- نسخههای مختلف ویندوز سرور
- لینوکس (از جمله توزیعهای اوبونتو، دبیان، فدورا، آرچ لینوکس، اوپن سوزه، سوزه لینوکس انترپرایز سرور، ردهت انترپرایز لینوکس)
- سیستمعاملهای مبتنی بر یونیکس
- نِتوِر
- مکاواس سرور
- فری بیاسدی
در کنار سیستمعامل همچنین نرمافزارها و اپلیکیشنهایی هستند که باید روی سیستمعامل سرور و نیز کلاینت نصب شوند تا از طریق آنها امکان ارائه سرویس به کاربران فراهم شود. علاوه بر این در سرورهای مجازی، نیاز به نرمافزارهای هایپروایزر است که کمی قبلتر به آنها اشاره کردیم.
سختافزار سرور چیست؟
سرورها از تعدادی اجزای سختافزاری از جمله منبع تغذیه، پردازنده، رم، استوریج، پردازشگر گرافیکی (کارت گرافیک) و مادربرد تشکیل شدهاند. دنیای پردازش سرورها (شامل پردازنده و پردازشگر گرافیکی) در دستان چندین کمپانی معتبر از جمله AMD، اینتل، انویدیا، کوالکام، گلوبال فاندریز و … است. مادربردها قطعاتی هستند که روی آنها پردازنده، رم، استوریج (برای ذخیرهسازی اطلاعات) و اینترفیسهای شبکه نصب میشوند. برخی از سرورها همچنین از یک قابلیت مدیریتی به نام «out-of-band management» از طریق اتصال به یک پورت شبکه اختصاصی پشتیبانی میکنند. به لطف این قابلیت امکانات مدیریت سطح پایین در اختیار ادمین قرار میگیرد. به عنوان مثال میتوان از این طریق سیستمعامل نصب کرد یا از راه دور عملیاتی از جمله خاموش و روشن کردن را اجرا نمود. این ویژگی همچنین امکان مدیریت سلامت را در اختیار ادمین قرار میدهد.
در نهایت تمامی قطعات داخلی در یک کیس رَک مانت (Rack mount) قرار میگیرند. کیس رک مانت در واقع یک شاسی برای نصب قطعات است که خود به صورت افقی داخل فضایی با محفظههای متعدد به نام رک قرار میگیرد. هر رک میتواند تا چندین دستگاه رک مانت را در خود جای دهد. همچنین باید اشاره کرد که برخی از سرورها تنها یک ردیف رک و برخی دیگر ۲ یا ۴ ردیف رک را اشغال میکنند. گاه ممکن است داخل ردیفهای رک، تجهیزات شبکه از جمله سوییچها، روترها و فایروالها یا سختافزارهای مورد نیاز دیگر نصب شوند. از مشهورترین تولیدکنندگان سختافزارهای سرور باید به دل، فوجیتسو، HPE، سیسکو، هواوی و IBM اشاره کرد.
شباهت و تفاوت دسکتاپ و انواع سرور چیست؟
شاید این سوال برایتان پیش آمده باشد که شباهت و تفاوت کامپیوتر انواع دسکتاپ و انواع سرور چیست. به طور ساده هر دو آنها کامپیوترهایی هستند که معمولا از اجزای اصلی شامل پردازنده، رم، فضای ذخیرهسازی و سایر سختافزارها تشکیل شدهاند. اما تفاوتهای مهمی هم بین این دو مطرح است. بیشتر سرورها بر معماری پردازندههای X86 یا X64 مبتنی هستند و میتوانند کدهای مبتنی بر این دو معماری را اجرا نمایند؛ در حالی که کامپیوترهای دسکتاپ علاوه بر این دو، معماری ARM را نیز شامل میشوند. بسیاری از سرورها، بر خلاف دسکتاپها از چندین سوکت پردازنده بهره میبرند و به عبارتی امکان نصب چند پردازنده روی مادربرد آنها در نظر گرفته شده است. از سوی دیگر سرورها معمولا از رمهایی با قابلیت تصحیح خطا بهره میبرند و تعداد و ظرفیت رم بیشتری روی آنها قابل نصب است.
با توجه به اینکه سرورها معمولا نیاز به کار کردن در شرایط ۲۴ ساعته و به مدت طولانی و تحت فشار کاری را دارند معمولا سازندگان سختافزارها، چندین جزء از سختافزار را در نظر میگیرند تا در صورت به مشکل بر خوردن یکی از آنها، دیگری به صورت خودکار وارد مدار شود؛ به عنوان مثال پاور دوم در نظر گرفته میشود تا اگر یک پاور با مشکل مواجه شد، پاور دوم به صورت خودکار توان مورد نیاز را فراهم نماید.
فرمفکتور (مادربورد) سرورها نیز با دستکتاپها تفاوت دارد. کامپیوترهای دسکتاپ مدرن با کیسهای مینی تاور ارائه میشوند که معمولا روی زمین و در کنار میز کار قرار میگیرند. در مورد سرورها اما شرایط متفاوت است. با وجود اینکه همچنان برخی از آنها به صورت کیسهای تاور زمینی ارائه میشوند اما عمدتا به صورت رک مانت طراحی شدهاند؛ به این معنی که کیسهای آنها به صورت افقی در رکهای بزرگ نصب میشوند و گاه یک، ۲ یا ۴ فضای افقی رک را اشغال میکنند. هر رک میتواند چندین کیس رک مانت را در خود جای دهد و در عین حال تهویه هوای مجموعه آنها را فراهم و کابل کشی را مدیریت نماید.
اما یک تفاوت مهم دیگر در سیستمعامل است. یک سیستمعامل دسکتاپ ممکن است از برخی قابلیتهای سیستمعاملهای سرور هم برخوردار باشد اما برای جایگزینی با آن طراحی نشده است. به عنوان مثال، ویندوز ۱۱ یک سیستمعامل دسکتاپ است و برخی از نسخههای آن از پلتفرم ماشین مجازی Hyper-V مایکرسافت بهره میبرند. با این حال این قابلیت در ویندوز ۱۱ برای استفادههای ابتداییتر، از جمله اهداف توسعه نرمافزار کاربرد دارد؛ اما ویندوز سرور برای ایجاد سرورهای مجازی طراحی شده و امکانات بیشتر و کارایی بالاتر در کنار مقیاسپذیری و انعطافپذیری بهتر را ارائه میکند.
انواع کاربردهای سرور چیست؟
سرورها بر اساس اهدافشان انوع مختلفی دارند. در ادامه به برخی از انواع سرور میپردازیم:
- اپلیکیشن سرور (Application Server): که نرمافزار مورد نیاز کاربران روی آن نصب شده و از طریق شبکههای توزیع شده، خدمات نرمافزار را در اختیار کاربران قرار میدهد.
- پروکسی سرور (Proxy Server): به عنوان یک رابط بین کلاینت و یک سرور دیگر قرار میگیرد و اطلاعات رد و بدل شده بین این دو را بررسی کرده و سپس به سمت گیرنده منتقل مینماید.
- مِیل سرور (Mail Server): برای دریافت یا ارسال ایمیلها و نگهداری آنها است.
- دیتا سرور یا دیتابیس سرور (Database Server): بانک اطلاعاتی را در اختیار سازمانها قرار میدهد.
- فایل سرور (File Server): فایلهای مورد نیاز کاربران را نگهداری کرده و در اختیارشان قرار میدهد.
- پرینت سرور (Print Server): به کاربران امکان دسترسی به یک یا تعداد بیشتری پرینتر متصل به شبکه را میدهد. همچنین نقش قرار دادن درخواستهای پرینت کاربران در صف و مدیریت آنها را ایفا میکند.
- گیم سرور (Game Server): امکان اجرای برخی از بازیهای کامپیوتری را در اختیار گیمرها قرار میدهد. برخی از آنها توسط عرضهکننده یا تولید کننده بازی راهاندازی میشوند و برخی دیگر از جمله برای بازیهایی مانند ماینکرفت را خود گیمرها میتوانند راهاندازی نمایند.
- مدیا سرور (Media Server): سرویسهای مالتیمدیا از جمله ویدیو و موسیقی را در اختیار کاربران قرار میدهند.
- وب سرور (Web Server): محتوا را معمولا از طریق اینترنت در اختیار کاربران قرار میدهند. معمولا میزبانی از وبسایتها را به عهده دارند و شامل مواردی از جمله سرورهای IIS ،Nginx Apache ،Lighttpd و وب سرور Sun Java System میشوند.
انواع سرور از نظر نحوه تخصیص منابع
انواع سرور از نظر نحوه تخصیص منابع به انواع مختلفی تقسیم میشود که در ادامه به آنها میپردازیم.
سرور اشتراکی
همان طور که از اسم سرور اشتراکی یا Shared Server مشخص است منابع یک سرور فیزیکی به صورت اشتراکی در اختیار کاربران قرار میگیرد. مزیتش در این است که هزینه بسیاری پایینی به خصوص در مقایسه با سرور اختصاصی دارد؛ اما اشتراکی بودن منابع بزرگترین نقطه ضعف آن است. در سرور اشتراکی اگر یکی از کاربران بخش عمدهای از منابع را به تنهایی استفاده نماید، دیگر کاربران در بهره بردن از منابع با مشکل مواجه میشوند. سناریویی را تصور کنید که وبسایت شما با یک وبسایت دیگر روی یک سرور اشتراکی قرار دارد. در صورتیکه کاربر دیگر، بخش عمدهای از پهنای باند یا رم را مصرف کند، وبسایت شما نیاز با مشکل مواجه میشود و حتی ممکن است دسترسی شما و کاربرانتان به وبسایت با مشکل مواجه شود. به عنوان نمونهای از سرورهای اشتراکی باید به هاست اشتراکی اشاره کرده. پیش از این به طور کامل به موضوع «هاست اشتراکی چیست؟» پرداختهایم.
سرور اختصاصی
سرور اختصاصی یا Dedicated server منابع را به طور اختصاصی در اختیار یک کاربر قرار میدهد. به این ترتیب کاربر روی سختافزار، سیستمعامل و نرمافزارهای خود کنترل کامل دارد اما از طرف دیگر باید هزینه بالایی را برای استفاده از آن بپردازد. علاوه بر این ممکن است بخشی از منابع بلا استفاده بماند و به این ترتیب بخشی از هزینهای که پرداخت شده، هدر برود.
سرور مجازی
سرور اختصاصی مجازی یا VPS یا Virtual Private Server که معمولا به آن به طور ساده، سرور مجازی میگویند، راهکاری است که از برخی امکانات سرور اختصاصی بهره میبرد اما در عوض هزینه پایینتری دارد. VPS با استفاده از مجازیسازی پیادهسازی میشود تا منابع سختافزاری یک سرور فیزیکی را بین چندین کاربر و از طریق ماشینهای مجازی تقسیم نماید. مزیت سرور مجازی در این است که منابع به شکل اختصاصی در اختیار کاربر قرار میگیرد و علاوه بر این میتوانید تنها به اندازه نیاز خود منابع را دریافت نمایید. در سرور مجازی هنگامی که با کاهش یا افزایش نیاز به منابع روبرو شوید، امکان افزایش یا کاهش منابع وجود دارد؛ البته در این زمینه با محدودیتهایی هم مواجه هستید و نمیتوانید میزان نامحدودی از منابع را در اختیار بگیرید.
سرور ابری
سرور ابری (Cloud Server) راهکاری پیشرفتهتر نسبت به سرور مجازی است. در سرور ابری چندین سرور فیزیکی از طریق شبکه به هم متصل شدهاند و استخر منابع را ایجاد کردهاند. منظور از استخر منابع این است که تمامی منابع در این استخر قرار گرفتهاند و اگر سختافزار هر یک از سرورها با مشکل مواجه شد، کاربر بلافاصله به سختافزار سالم روی سرور دیگر منتقل میشود و سرویسدهی ادامه پیدا میکند. با خرید سرور ابری همچنین امکان افزایش یا کاهش منابع در هر لحظه را دارید و در عین حال بر خلاف سرور مجازی، میتوانید بدون محدودیت، میزان منابع اختصاصی خود را افزایش دهید.
سرور، راهکاری برای همه
شاید تصور کنید که سرورها فقط به کار استفاده متخصصین حوزه آیتی میآیند. اما واقعیت این است که در ابعاد مختلف زندگی ما نقش کلیدی دارند و بسیاری از فعالیتهای روزمره ما از جمله باز کردن یک وبسایت ساده، استفاده از اپلیکیشنهای پیامرسان و تماشای ویدیوی آنلاین و … به آنها وابسته است. به عبارتی میتوان گفت اگر «سرور» نبود، اینترنت هم وجود نداشت.
اگر به دنبال سرور ابری با کیفیت، سریع و ایمن هستید، ابر زس دو سرویس «سرور ابری» و «دیتاسنتر ابری» را به شما پیشنهاد میدهد. با خرید سرور ابری امکان مدیریت فایروال و کاربری آسان برای راهاندازی سرور را در اختیار خواهید داشت. همچنین دیتاسنتر ابری ابر زس کاملترین سرویس زیرساخت ابری است که از امکانات بیشتر از جمله تعداد آیپی و منابع نامحدود، پنل پیشرفته مدیریتی مبتنی بر اوپن استک، فایروال و لود بالانسینگ حرفهای، بارگذاری ایمیج سیستمعامل یا Volume دلخواه و بسیاری امکانات دیگر بهره میبرد. در صورتی که قصد دارید در مورد این دو سرویس ابر زس بیشتر بدانید، پیشنهاد میکنیم مقایسه سرور ابری و دیتاسنتر ابری را مطالعه نمایید.