به دلیل نقش پر رنگ لوازم الکترونیکی و اینترنتی در زندگی همه افراد جامعه امروزه کمتر کسی پیدا می شود که اسم هایی مانند کلاینت، هاست، دامنه، سرور و … را نشنیده باشد. هر کدام از این عناوین در دنیای کامپیوتر تعاریف و مفاهیم مختلفی دارند. حال برای پاسخ به این سوال است که سرور چیست باید به شما بگوییم که تقریبا می توان گفت شبکه های کامپیوتری بدون سرور هیچ معنی و مفهومی ندارند و سرورها وظیفه اصلی سرویس دهی و ارائه خدمات به سایر سیستم های دیگر را عهده دار هستند. در ادامه این مطلب از سایت اچ پی گستر به تعریف سرور، انواع و سایر مشخصات آن پرداخته خواهد شد.
سرور (Server) به کامپیوترهایی گفته می شود که از پایداری بالایی برخوردارند و با داشتن منابع بالا می توانند به عنوان سیستم سرویس دهنده مورد استفاده قرار بگیرند. سرور، کامپیوتری است که همیشه روشن و در دسترس است و به واسطه یک سری ملزومات این قابلیت را دارد که یک یا چندین سایت را میزبانی کند. سرورها معمولا در مکانی با نام دیتاسنتر (Datacenter) نگهداری می شوند.
زمانی که دسترسی Server تنها محدود به یک شبکه داخلی باشد به آن سرور تحت شبکه گفته می شود و به این معنی است که کامپیوترهای موجود در شبکه می توانند از آن فرمان بگیرند و همه نیازهای تحت شبکه ای خود را تامین کنند. به صورت کلی در داخل شبکه سرور می تواند نقش تمام سیستم های دیگر را تعیین کند. در صورتی که شبکه گسترده تر شود و کامپیوترهای متعددی از طریق اینترنت به هم وصل شوند و همیشه روشن و در دسترس باشند به آنها سرورهای اینترنتی گفته می شود که قادرند در هر زمانی از شبانه روز اطلاعات مورد نیاز را ارائه کنند.
همانطور که در تعریف سرورها اشاره شد می توان از نظر ارتباطی سرورها را به دو دسته جامع زیر تقسیم نمود:
نوع اول بیشتر در اداره ها، شرکت ها و دانشگاه ها استفاده می شوند و نوع دوم در تمام کسب و کارهایی که بر بستری اینترنت فعالیت دارند کاربرد دارند. از نظر کاربرد و عملکرد می توان سرورها را به انواع مختلفی تقسیم کرد که به شرح زیر می باشند:
• دیتا بیس سرورها (Database Server): دیتابیس سرورها یا سرورهای پایگاه داده به نوعی از سرورها اطلاق می شوند که در برگیرنده پایگاه داده ای هستند که کلاینت ها یا سایر سیستم های شبکه از آن استفاده می کنند. در این سرور تمامی اطلاعات دیتابیس ذخیره و پردازش می شود.• فایل سرور (File Server): فایل سرورها برای ذخیره سازی فایل ها مورد استفاده قرار می گیرند و وظیفه دارند که اطلاعات و فایل های ذخیره شده را از طریق شبکه در اختیار کلاینت ها (Client) قرار بدهند. File Serverها به عنوان قدیمی ترین و پایه ای ترین سرورهای شبکه ای شناخته می شوند که تا امروز استفاده شده اند.
• پروکسی سرورها (Proxy Server): پروکسی سرورها به نوعی از سرورهای اینترنتی گفته می شوند که نقش واسط و رابط را میان سرور اصلی و کلاینت ها ایفا می کنند. این سرورها همانند وی پی ان های (VPN) شخصی عمل می کنند و بعد از آنکه اطلاعات کلاینت را بررسی کرد آن را به سرور اصلی انتقال می دهد.
• گیم سرورها (Game Server): گیم سرورها یا سرورهای بازی به سرورهایی گفته می شوند که تمامی اتفاقات در یک بازی ویدیویی چند نفره در آن حادث می شود. کاربران و کلاینت هایی که می خواهند به صورت چند نفره و گروهی یک بازی کامپیوتری را انجام دهند لازم است که از یک Game Server استفاده کنند. این نوع سرورها نیز می توانند خود به دو دسته سرورهای شبکه داخلی و سرورهای اینترنتی تقسیم شوند.
• اپلیکیشن سرور (Application Server): Application Server نیز به عنوان یکی از سرورهای پایگاه داده شناخته می شود با این تفاوت که در این سرور علاوه بر دیتا بیس، نرم افزار مورد نیاز کلاینت ها نیز نصب شده است
• وب سرور (Web Server): Web Server ها به سرورهای گفته می شوند که برای میزبانی سایت ها از آنها استفاده می شوند. وظیفه وب سرورها این است که داده های مربوط به یک سایت را ذخیره کنند و آن را به مرورگر کاربران در سراسر شبکه وب ارسال کنند.
• سرور ارتباطی (Communication Server): این سرور برای فراهم کردن سرویس های ارتباطی راه اندازی می شود و هر کلاینت و یا کامپیوتر به عنوان یک end point می تواند با اتصال به این سرور با دیگر کاربران در ارتباط باشد.
• میل سرور (Mail Server): میل سرورها همانگونه که از نامشان مشخص است برای ارسال ایمیل ها استفاده می شوند و کاربران می توانند برای مدیریت ایمیل ها از آنها بهره بگیرند.
• سرورهای صدا/ تصویر (Audio/Video Server): این سرورها نیز به نوعی از سرورها گفته می شوند که می توانند برای وب سایت ها محتواهای چندرسانه ای فراهم کنند و به کاربران این امکان را می دهد که این محتواها را پخش یا دریافت کنند.
• سرور هوم (Home server): این سرور برای منازل مسکونی مورد استفاده قرار می گیرد که از طریق یک شبکه خانگی و اینترنت به سایر دستگاه های داخل خانه خدمات ارائه می دهد.
• سرور محاسباتی (Computing Server): Computing Server برای انجام پردازش و محاسبات مورد استفاده قرار می گیرد و در زمانی که پردازنده های یک کامپیوتر برای انجام پروسه خاصی کافی نمی باشد می توان این کامپیوتر را به یک سرور محاسباتی متصل کرد و از آن استفاده کرد
• سرور تیغه ای (Board Server): این نوع سرور در واقع چارچوبی از سرورهای چندگانه است که تمامی اجزاء آن بر روی یک برد قرار می گیرد و برای سرویس دهی در حجم و ظرفیت بالا ساخته شده اند. هر تیغه یک سرور است که دارای برنامه ریزی اختصاصی است و به برد اصلی متصل شده اند.
• سرور امنیتی (Security server): این سرور در حقیقت یک شبکه مبتنی بر فاکتورهای امنیتی است که مجوز و تسهیلات کنترل فایلها را فراهم میکند
• سرور DNS: سرور Domain name system یک قسمت بسیار مهم از زیرساخت DNS است. این سرور آیپی آدرسها را به همراه نام هاست آنها ذخیره می کند و از آن برای رفع نیاز کاربران استفاده می کند.
با توجه به آنکه سرورها کاربردهای متفاوتی دارند و در انواع مختلفی در دسترس هستند تفاوت های ویژه ای با کامپیوترهای معمولی و خانگی دارند. قطعات سخت افزاری که در ساخت این سرورها استفاده می شوند با قطعات سخت افزاری کامپیوترهای معمولی متفاوت هستند و این سرورها در تمام ساعات شبانه روز روشن و در دسترس هستند. برخلاف کامپیوترهای معمولی و خانگی برای کنترل سرورها نیازی به استفاده از وسیله هایی مانند ماوس، کیبورد و … نیست.
برای امنیت بیشتر و محافظت از سرورها نیز آنها را در محل هایی با نام دیتاسنتر (Datacenter) نگهداری می کنند و در این دیتاسنترها تیم های متخصصی وجود دارند که وظیفه آنها مدیریت سرورها است و در صورت بروز هرگونه مشکلی آن را در کمترین زمان ممکن برطرف می کنند. معمولا سرورها در محفظه هایی با نام رک (Rack) نگهداری می شوند و مجموعه ای از این رک ها نیز در قفسه هایی با نام کیج (Cage) قرار می گیرند.
همانطور که در بخش قبلی عنوان شد سرورها تفاوت های متعددی با کامپیوترهای خانگی و معمولی دارند. علاوه بر تفاوت های بیان شده می توان ویژگی های منحصر به فردی را برای سرورها بیان کرد که مهم ترین آنها شامل موارد زیر هستند:
• Server ها دارای سرعت بسیار بالایی هستند و عملکرد بسیار خوبی دارند
• سرورها دارای قدرت پردازش محاسبات بالایی هستند
• سرورها دارای منابع سخت افزاری منحصر به فردی هستند که نمی توان آنها را در کامپیوترهای معمولی استفاده کرد
• سرورها را می توان از نظر سخت افزاری ارتقا داد و قطعات آن را با قطعات قوی تر جایگزین کرد
• سرورها بر خلاف کامپیوترهای معمولی به صورت دائمی به اینترنت متصل هستند
• امنیت سرورها بسیار بالا بوده و امکان پیاده سازی Raid نرم افزاری و سخت افزاری بر روی آنها وجود دارد
به صورت کلی می توان گفت که سرورها از سه سیستم عامل مختلف استفاده می کنند که شامل سیستم های لینوکس، ویندوز و مجازی ساز می باشند. هر کدام از این سیستم عامل ها دارای مزایا و معایب خاص خود هستند و می توانند برای سرورهای خاصی مناسب باشند.
لینوکس: این سیستم عامل تمامی توزیعات لینوکس مانند CentOS ، Fedora Core و Debian را شامل می شود. از جمله مزایای استفاده از سیستم عامل لینوکسی برای سرورها می توان به قابلیت اطمینان و انعطاف پذیری بالایی آن اشاره کرد. این سیستم عامل از منابع سخت افزاری کمتری استفاده میکند و همین امر باعث می شود که عملکرد و دسترسی پذیری وبسایت ها بالاتر برود و کاربران این توانایی را خواهند داشت که منابع را بین خود تقسیم کنند. مزیت دیگر سیستم عامل لینوکس پشتیبانی از وبسایت های کاربرپسندی است که از زبان های برنامه نویسی مانند PHP، Python، Perl، Ruby on Rails و … استفاده می کنند. دیگر ویژگی مهم سیستم عامل لینوکس قابلیت توسعه بالای آن است که به دلیل متن باز بودن (Open Source) آن است و مدیران وبسایت های می توانند تنظیمات، آپدیت ها، افزونه ها و برنامه های کاربردی را بر اساس نیاز خود کاملاً مدیریت کنند.
ویندوز: این سیستم عامل شامل تمام ورژن های مختلف ویندوز مانند windows 7 , 8 , 10 و … می شود. از جمله مزایا و ویژگی های سیستم عامل ویندوز می توان به کنترل و دسترسی بسیار بالای آن اشاره کرد. در هنگام استفاده از سیستم عامل ویندوز هر کاربر می تواند از قابلیت Remote Desktop (دسترسی از راه دور) به سرور استفاده کند و دیگر نیاز به مراجعه حضوری به محل استقرار سرور اصلی نداشته باشد. سیستم عامل ویندوز همچنین توسط ساختارهای مختلفی مانند مانند ASP و ASP.NET پشتیبانی می شود که این امر می تواند کمک کند که وبسایت های پیچیده و سفارشی برای اجرا بر روی پلتفرم مایکروسافت طراحی شود. از ویژگی ها و مزیت های بارز سیستم عامل ویندوز می توان به امنیت بالای آن اشاره کرد چرا که از آنتی ویروس های قدرتمند و برنامه های حفاظتی مطمئنی استفاده می کند و این کار باعث شده که هکرها نتوانند به آن دسترسی داشته باشند.
• یکی دیگر از سیستم عامل هایی که برای سرورها استفاده می شود به نام سیستم عامل مجازی ساز شناخته می شود که نرم افزارهایی مانند Vmware ESX و Hyper-V را شامل می شود.
در بخش های قبلی اهمیت و نقش سرورها به خوبی توضیح داده شد و انواع سرورهای مختلف با ویژگی های و سیستم عامل های آنها بررسی شدند از این رو انتخاب یک سرور مناسب می تواند اهمیت بسیار زیادی داشته باشد. مهم ترین فاکتورهایی که در انتخاب و خرید سرور می توان مورد توجه قرار داد شامل موارد زیر هستند:
• ابتدا باید فضای دیسک مورد نیاز ارزیابی شود و سروری انتخاب شود که کلاینت و کاربر بتواند درایورهای بیشتری را بر اساس نیازهای خود اضافه کند.
• سرور باید به گونه ای باشد که قطعات سخت افزاری آن دارای گارانتی مناسب باشند.
• شرکت ارائه کننده سرور باید توان فنی و نیروی تخصصی لازم برای راه اندازی، نگه داری و رفع نقص اشکالات احتمالی را داشته باشد تا در صورت بروز اشکالات، در اسرع وقت راه حل های مناسب را ارائه کنند.
• تقریبا تمام تولید کنندگان نرم افزار حجم مشخصی را برای بازدهی و کارایی حداکثری آن پیشنهاد می کنند، بنابراین باید سروری انتخاب شود که از حافظه مناسبی برای پشتیبانی از نرم افزارها برخوردار باشد.
• چنانچه سرور برای امور بسیار مهم و کارهای حیاتی استفاده می شود کاربر باید حداقل امکان RAID1 را داشته باشد. به این شکل داده های کاربران بر روی بیش از یک درایو ذخیره می شود و در صورتی که مشکلی برای یکی از آنها پیش بیاید اطلاعات آنان از بین نخواهد رفت
• شرکت ارائه کننده سرور باید از سابقه و خدمات مناسبی برخوردار باشد و قیمت مناسبی هم داشته باشد.