فهرست محتوا
سرور در دنیای فناوری نقش قلب شبکه و اینترنت را ایفا میکند. هر زمان که وارد یک وبسایت میشوید، ایمیلی ارسال میکنید یا حتی یک اپلیکیشن را باز میکنید، در پشتصحنه یک server در حال پردازش درخواست شماست. سرور، برنامه کامپیوتری یا دستگاهی است که خدماتی را به برنامههای دیگر و کاربران آن (Clients) ارائه میدهد. در مراکز داده (Data center)، VPS معمولا به دستگاه کامپیوتری گفته میشود که برنامه server بر روی آن اجرا میشود. این کامپیوتر میتواند یک Server اختصاصی (Dedicated Server) باشد یا برای اهداف دیگر مورد استفاده قرار بگیرد. در مدل کلاینت-سرور (Client/Server)، یک server به درخواستهایی که از طرف نرمافزارهای کلاینتها ارسال میشوند، پاسخ میدهد. این نرمافزارها ممکن است بر روی یک یا چندین کامپیوتر مختلف اجرا شوند. این نرمافزار یا اپلیکیشن حتی ممکن است خود کلاینت یا سروری باشد که به درخواستهای سایر برنامهها رسیدگی کرده و آنها را اجرا میکند. یک Serverدر کل اشاره به یک دستگاه فیزیکی، پلتفرم مجازی یا نرمافزاری دارد که خدماتی را در اختیار دیگران قرار میدهد. اصطلاح سرور دارای معانی متنوعی بوده و بنابراین شکل کارکرد یک Serverتا حد زیادی بستگی به برداشت ما از معنای سرور دارد.
سرورهای فیزیکی و مجازی
VPS فیزیکی همان رایانهای است که برای اجرای نرمافزار server مورد استفاده قرار میگیرد. در بخش بعدی، به تفضیل راجع به تفاوت میان Server فیزیکی و کامپیوتر شخصی صحبت خواهیم کرد. سرور مجازی در واقع همان شکل مجازی یک server فیزیکی است. VPS دارای سیستم عامل و برنامههای مخصوص به خود بوده و به صورت جداگانه (Isolated) در یک server فیزیکی نگهداری میشوند. برای راهاندازی ماشینهای مجازی باید نرمافزاری کم حجمی به نام هاپیروایزر (Hypervisor) را بر روی ماشین server فیزیکی خود نصب کنید.
هاپیروایزر در واقع امکان اجرای عملیات مجازیسازی را به server فیزیکی میدهد. با استفاده از فناوری مجازیسازی، منابع سختافزاری سرور فیزیکی مانند سیپییو (CPU)، رم (RAM)، فضای ذخیرهسازی و پهنایباند شبکه در اختیار ماشینهای مجازی قرار (Virtual Machine) میگیرد. مدیران شرکتهای ارائهدهنده خدمات هاستینگ میتوانند با استفاده از کنسول مدیریتی خود منابع سختافزاری را در اختیار VPS قرار دهند. انجام این کار باعث کاهش چشمگیر هزینههای سختافزاری میشوند زیرا میتوان چندین server مجازی یا VPS را تنها بر روی یک server فیزیکی راهاندازی کرد. در مقاله «سرور مجازی چیست» به صورت کامل با عملکرد و کاربرد VPS آشنا میشوید.
نرمافزار (Server Software) چیست؟
هر VPS برای اجرا دست کم به دو مولفه نرمافزاری نیاز دارد: سیستم عامل و نرمافزار server . سیستم عامل (Operating System) به عنوان بستری برای اجرای برنامه server و دسترسی به منابع سختافزاری server عمل میکند و نرمافزار Serverنیز برای اجرا وابسته به سیستم عامل است. علاوه بر این، کلاینتها با استفاده از امکانات سیستم عامل میتوانند با Server ارتباط برقرار کنند. به عنوان مثال، برای اختصاص آدرس IP و نام دامنه به یک server ، نیاز به سیستم عامل داریم.
مقایسه کامپیوترهای رومیزی با serverها
شباهتها و تفاوتهایی میان کامپیوترهای رومیزی (یا شخصی) و VPS وجود دارد. بیشتر serverها و کامپیوترهای رومیزی مبتنی بر پردازندههای ۳۲و ۶۴ بیتی هستند. با این حال، اکثر serverهای فیزیکی برخلاف کامپیوترهای رومیزی، دارای چندین سوکت پردازنده و حافظه ECC هستند. serverها همچنین نسبت به کامپیوترهای دسکتاپی، از ظرفیت حافظه بسیار بیشتری برخوردار میباشند. بخش سختافزاری server معمولا درخواستهای بسیار مهمی را اجرا میکنند و سازندگان server نیز طوری آنها را طراحی میکنند که بتوانند از قابلیت افزونگی (Redundancy) نیز پشتیبانی کنند. بنابراین یک SERVER میتواند به عنوان مثال دارای باتری و رابطهای شبکه اضافی باشد. اجزای اضافی یا پشتیبان، این امکان را میدهند تا در صورت خرابی قطعات کلیدی همچنان به کار خود ادامه دهد.
سختافزارهای VPS و کامپیوترهای شخصی حتی از نظر شکل ظاهری نیز با هم تفاوت دارند. رایانههای شخصی امروزی اغلب به صورت ایستاده و کوچک طراحی میشوند و میتوانید آنها را به آسانی در زیر میز کامپیوتر خود قرار دهید. با وجود اینکه برخی از سازندگان همچنان VPS ایستاده به بازار عرضه میکنند، اما بخش عمده سرورها به گونهای طراحی میشوند که میتوان آنها را بر روی یک پایه نصب کرد. سیستمهای رکمونت (تجهیزات قابل نصب در رکهای یک شبکه) بسته به میزان فضایی که در رک شبکه اشغال میکنند، با نامهایی مانند U1، U2 و U4 شناخته میشوند. به عنوان مثال SERVER U2 دو برابر SERVER U1فضا اشغال میکند. رک SERVER طوری طراحی میشود که بتواند داخل یک قاب فلزی استاندارد جای بگیرد.
سیستم عامل، تفاوت مهم دیگر بین کامپیوتر رومیزی و SERVER است. سیستم عاملهای کامپیوترهای شخصی شاید بتوانند برخی از کارهای سیستم عاملهای SERVER را انجام دهند اما از نظر طراحی، امکانات و یکسری مجوزهای (License) خاص نمیتوانند جایگزین سیستم عاملهای SERVER شوند. به عنوان مثال ویندوز ۱۰ سیستم عاملی است که برای کامیپوترهای شخصی طراحی شده است. برخی از نسخههای ویندوز ۱۰ دارای نرمافزار مجازیسازی به نام Hyper-V هستند. ویندوز ۱۰ و ویندوز windows server، هر دو قادر به اجرای Hyper-V هستند اما نرمافزار Hyper-V ویندوز ۱۰ بیشتر به اهداف توسعهای سیستم عامل مربوط میشود و این درحالی است که نرمافزار مجازیساز Hyper-V ویندوز server به منظور مدیریت SERVER مجازی (Private Servers) طراحی شده است.
سازمانها میتوانند به جای ویندوز ۱۰ مجهز به Hyper-V از SERVER مجازی استفاده کنند اما گاهی اوقات مشکلات مربوط به مجوزها مانع از انجام این کار میشود. البته این نکته را هم باید اضافه کنیم که میزان انعطافپذیری نرمافزار هایپروایزر در ویندوز SERVER بسیار بیشتر از ویندوز ۱۰ است. بطور مثال، ویندوز windows server از سیستم محافظتی Failover Clustering و همانندسازی ماشین مجازی (Virtual Machine Replication) پشتیبانی میکند. با اینکه دستگاههای یک شبکه محلی میتوانند با استفاده از سیستم عامل ویندوز ۱۰ به فایلهای موجود در آن دسترسی داشته باشند اما ویندوز ۱۰ به هیچعنوان برای به اشتراکگذاری فایلها در حجم زیاد طراحی نشده است. شما میتوانید ویندوز windows server خود را با انجام یکسری تنظیمات، تبدیل به یک (File Server) حرفهای کنید. سازمانهای بزرگ همچنین میتوانند در (Farm Server) خود یک سیستم فایل توزیعشده ایجاد کنند زیرا میزان عملکرد، مقیاسپذیری و انعطافپذیری سیستم فایل توزیع شده بهتر از یک سرور فیزیکی واحد است.
انواع SERVER کدامند؟
SERVER اغلب بر اساس اهدافی که دنبال میکنند، دستهبندی میشوند. نمونههایی از انواع سرورهای موجود عبارتند از:
- وبسرور (Web Server): سروری است که درخواستهای HTML را بررسی کرده و به آنها پاسخ میدهد. در چنین حالتی، مرورگر وب به عنوان کلاینت عمل میکند.
- اپلیکیشن SERVER (Application Server): برنامهای در یک شبکه توزیعشدهای میباشد که سرویس لایه منطق (Business Logic) کسبوکار را در اختیار یک اپلیکیشن قرار میدهد.
- پروکسی سرور (Proxy Server): نرمافزاری است که به عنوان واسطهای میان دستگاهی مانند کامپیوتر و یک SERVER عمل میکند، سروری که کاربر یا همان کلاینت از خدمات آن استفاده میکند.
- میل SERVER (Mail Server): برنامهای است که با استفاده از آن میتوان ایمیلهایی را از کاربران محلی (کاربران یک دامنه خاص) ، افراد و شرکتهای شخص ثالث دریافت و به آنها ارسال کرد.
- SERVER مجازی (Private Server): برنامهای است که بر روی SERVER اشتراکی اجرا میشود. Serverمجازی به گونهای پیکربندی میشود که هر کاربر تصور میکند کنترل کاملی بر سرور خود دارد.
- سرور تیغهای (Blade Server): شاسی این نوع SERVER دارای چند برد الکترونیکی نازک و ماژولار به نام تیغه (Blade) است. هر تیغه نیز خود به نوعی Server به شمار میآید و معمولا به هر برنامه یک تیغه اختصاص مییابد.
- فایل SERVER (File Server): کامپیوتری در یک شبکه است که وظیفه آن ذخیرهسازی و مدیریت فایلهای دیتا (Data Files) میباشد و سایر کامپیوترهای موجود در شبکه نیز میتوانند به آن دادهها دسترسی داشته باشند.
- پالیسی SERVER (Policy Server): مولفهای در شبکههای امنیتمحور میباشد که به کاربران خدمات تایید مجوز ارائه میدهد و ردیابی و کنترل فایلها را نیز آسانتر میکند.
- SERVER پایگاهداده (Database Server): وظیفه این SERVER ، میزبانی از پایگاههای داده است. در این نوع SERVER ، کلاینتها برای دریافت نتیجه مورد نظر خود، کوئریهایی (Queries) را به پایگاههای داده ارسال میکنند. با استفاده از این نوع Serverمیتوان دادههایی را روی بر روی پایگاهداده ایجاد کرد.
- پرینت SERVER (Print Server): این SERVER به کاربران اجازه دسترسی به چاپگرهای متصل به شبکه را میدهد. پرینت سرور، صفی را برای درخواستهای پرینت ارسالی توسط کاربران تشکیل میدهد. برخی پرینت سرورها میتوانند درخواستهای پرینت موجود در صف انتظار را براساس نوع درخواست یا شخص درخواستدهنده اولویتبندی کنند.
اجزای SERVER کدامند؟
سختافزار (Hardware)
SERVER از اجزای اصلی و فرعی مختلفی تشکیل شدهاند. SERVER معمولا دارای یک شاسی رکمونت هستند که منبع تغذیه، برد سیستم، پردازنده، حافظه، فضای ذخیرهسازی، رابط شبکه بر روی آن نصب میشوند. بیشتر این سختافزارها با کمک پورت اختصاصی شبکه میتوانند از قابلیت out-of-band management پشتیبانی کنند. این قابلیت، مدیریت و نظارت بر سرورها را در سطوح پایین مدیریتی (مستقل از سیستم عامل) امکانپذیر میکند. با استفاده از این قابلیت میتوان از راه دور کارهایی مانند نصب سیستم عامل، روشن/خاموش کردن و نظارت بر سالمبودن Serverرا انجام داد.
سیستم عامل (Operating System)
سیستمعامل مولفه مهم دیگر SERVER است. سیستم عامل سرور، مانند ویندوز windows server یا لینوکس، به عنوان بستری برای اجرای برنامهها عمل میکند. سیستم عامل، امکان اتصال به شبکه و دسترسی برنامهها به منابع سختافزاری لازم را نیز فراهم میکند. سرورها عملیاتهای خود را با استفاده از یک یا چند برنامه انجام میدهند. به عنوان مثال، دیتابیس SERVER و سرور ایمیل به ترتیب برای اجرا، نیاز به برنامه پایگاهداده و برنامه ایمیل دارند.
انتخاب SERVER مناسب
در هنگام انتخاب SERVER باید به عوامل متعددی مانند ماشین مجازی و یکپارچگی اجزای سرور توجه کنید و بسته به کاربرد مدنظرتان برخی ویژگیهای خاص سرور را مورد امتحان قرار دهید. وجود امکانات امنیتی نیز از اهمیت زیادی برخوردار بوده و بنابراین باید به قابلیتهای حفاظتی، شناسایی و بازیابی دادهها مانند رمزنگاری دادههای اصلی (برای حفاظت از دادههای در حال انتقال و دادههای در حالت استراحت) و ایجاد گزارش از فعالیتهای سرور توجه داشته باشید (برای ایجاد رکوردهایی که قابل پاک شدن نیستند). نوع و ظرفیت دیسک در سرورهایی که متکی بر حافظه داخلی هستند، بسیار مهم است. زیرا این عوامل میتوانند بر ورودیها/خروجیها (I/O) و انعطافپذیری سرور تاثیر به سزایی داشته باشند.
بسیاری از سازمانها بواسطه فناوری مجازیسازی در حال کاهش تعداد SERVER فیزیکی خود هستند. این فناوری این امکان را به سازمانها و شرکتها میدهد که با تعداد سرورهای کمتر حجم کار بیشتری را انجام دهند. ظهور رایانش ابری (Cloud Computing) نیز به کاهش تعداد SERVER محلی نیز کمک بسیاری کرده است. بنابراین سازمانها با وجود SERVER کمتر، میتوانند هزینههای سرمایهگذاری، فضای موردنیاز برای دیتاسنتر و هزینه برق و سرمایش خود را کاهش دهند و به قابلیتهای بیشتری دسترسی داشته باشند. با این حال، انجام این کار دارای معایبی نیز میباشد و خرابی یا نیاز به آفلاین بودن SERVER (جهت تعمیر و نگهداری دورهای) میتواند درخواستهای بسیاری را تحت تاثیر خود قرار بدهد. چک لیست تعمیر و نگهداری سرور باید اجزای فیزیکی و همچنین پیکربندی اصلی سیستم را پوشش دهد. ادمین سرور به منظور اطمینان از صحت و سلامت سرور باید بازرسیهای پیشگیرانه سختافزاری و نرمافزاری را انجام دهد.
چک لیست نگهداری از SERVER
به منظور اطمینان از صحت و سلامت SERVER خود، این ۱۴ کار را حتما از روی چک لیست انجام دهید:
- زمانبندی پنجره نگهداری را تعیین کنید.
- به منظور اطلاع از رویدادها، هشدارها یا موضوعات مهم ، گزارشها را مرور کنید.
- درخواستهای کاری SERVER خود را به سرور دیگری منتقل کنید.
- از تجهیزات SERVER بازرسی فیزیکی انجام دهید.
- جریان هوا را کنترل کنید.
- درصورت لزوم قطعات سختافزاری را تعویض یا اضافه کنید.
- هارد دیسکها را اسکن کنید.
- در صورت لزوم سیستم عامل SERVER را بهروز یا تست کنید.
- ثابتافزار (Firmware) را درصورت لزوم بهروز کنید.
- در صورت لزوم نرمافزارهای مانیتورینگ/مدیریت شبکه را آپدیت کنید.
- سیستم را پیش از به جریان انداختن دوباره درخواستها امتحان کنید.
- وضعیت مدیریت پیکربندی، پشتیبانگیری و روتر اختصاصی را بررسی کنید.
- تاریخ بازرسی بعدی را مشخص کنید.