امروزه سرورهای کامپیوتری نقش مهمی در زندگی انسان ایفا می کنند. یکی از مهمترین وظایف مدیران شبکه، بالا بردن قابلیت اطمینان در سرورها می باشد. پایش لحظه به لحظه وضعیت سرور، یکی از کلیدی ترین ابزار برای خطایابی، پیش بینی خطاهای احتمالی و همچنین بهینه کردن عملکرد سرور می باشد. به دلیل وجود پارامترهای بیشمار در سرور، انتخاب پارامتر صحیح برای پایش وضعیت، تجزیه و تحلیل اطلاعات مانیتور شده و نحوه پیش بینی خطاهای احتمالی به مهارت خاصی نیاز دارد. در این مقاله مزایا و نحوه استفاده از پایش سیستم در سرورهای کامپیوتری توضیح داده شده است.
مقدمه
در دنیای دیجیتالی امروز، نمی توان نقش کامپیوترها را در زندگی انسان نادیده شمرد. هر چه به جلو پیش می رویم ابعاد وسیعتری از زندگی مان دیجیتالی و الکترونیکی می شود. از بانکداری الکترونیکی و خرید آن لاین گرفته تا سیستم های اداری که در آن ها کاغذها جای خود را به دیتاهای کامپیوتری داده اند.
در این میان نقش سرورهای کامپیوتری بسیار حائز اهمیت می باشد؛ به خصوص در مجموعه هایی که هیچگونه سیستم موازی یا جایگزین برای سیستم کامپیوتری وجود نداشته باشد. (Paperless Systems) در این سیستم ها، در صورت بروز خطا و از کار افتادن یک سرور ممکن است کل مجموعه از کار بیافتد. به عنوان مثال از کار افتادن یک وب سایت خرید و فروش آن لاین به مدت فقط 1 ساعت می تواند هزاران دلار ضرر به صاحبان آن وارد کند. و یا در بیمارستانی که در آن از سیستم HIS استفاده می شود، از کار افتادن سرور HIS یعنی مختل شدن روند پذیرش بیمار، ترخیص بیمار و … و این یعنی فاجعه!!!
برای upنگه داشتن سرورها عوامل زیادی را باید مد نظر داشت، از جمله عوامل محیطی مانند جریان بدون نوسان برق و دمای اتاق سرور و همچنین عوامل سخت افزاری و نرم افزاری متناسب با سرویسی که توسط سرور ارائه می شود.
یکی از روش های جلوگیری از Downشدن سرورها، پایش لحظه به لحظه سیستم می باشد.
پایش سرور مزایای زیادی دارد که در این مقاله به آن ها اشاره خواهد شد.
در ماشین های صنعتی پایش وضعیت به صورت اندازه گیری مشخصات فیزیکی ماشین و با استفاده از سنسور، تست روغن و روش های خاص خود می باشد، اما در سرورهای کامپیوتری پایش وضعیت به صورت اندازه گیری پارامترهای نرم افزاری و سخت افزاری سیستم و با استفاده از نرم افزارهای خاصی انجام می گیرد.
به علت وجود هزاران پارامتر قابل پایش در سرورها، انتخاب پارامتر مناسب، تجزیه و تحلیل نتایج بدست آمده و در نهایت استفاده از آن به منظور پیش بینی خرابی های احتمالی نیاز به مهارت خاصی دارد.
به طور کلی پارامترهایی که مورد پایش قرار می گیرند به سرویسی که سرور ارائه می کند و نقش آن سرور در شبکه بستگی دارد؛ ولی در این مقاله سعی شده است پارامترهای مهم که در همه ی سرورها اهمیت فراوان دارند و چگونگی پیش بینی خرابی های احتمالی با توجه به نتایج بدست آمده، توضیح داده شود.
مزایای پایش سیستم در سرورهای کامپیوتری
1- یکی از عمده ترین کاربردهای پایش سیستم، تهیه Baseline برای سرور می باشد.
Baseline: مشخصات مورد نیاز یک سرور برای اینکه در شرایط نرمال کاری عملکرد قابل قبولی داشته باشد. یا به عبارتی، مقادیر مانیتور شده مربوط به پارامترهای مختلف در شرایط نرمال کاری.
تهیه یک Baseline متناسب با سرویس ارائه شده توسط سرور، این امکان را می دهد تا با مقایسه نتایج بدست آمده از پایش لحظه به لحظه سیستم و مقادیر موجود در Baseline، بتوانیم دید صحیحی از نحوه عملکرد سرور بدست آوریم. همچنین با تعریف Alert های مناسب به هنگام عبور کردن مقدار پارامترهای تعیین شده از مقدار مشخص شده در Baseline با انجام عمل مناسب، نسبت به بررسی و رفع اشکال احتمالی اقدام نماییم.
2- از مزایای دیگر پایش سیستم، خطایابی (و همچنین پیش بینی خطاهای پیش رو) بوسیله تشخیص Bottleneck در سرور می باشد.
Bottleneck به قسمتی از سرور گفته می شود که عملکرد کل سیستم را تحت تاثیر قرار می دهد و باعث می شود سرور عملکرد ضعیفی داشته باشد. این قسمت می تواند CPU، RAM، Hard Disk و یا هر کدام از اجزای سیستم باشد. به طور مثال اگر در سروری CPU و RAM با مشخصات فنی بالاتری از آنچه در Baseline مشخص شده وجود داشته باشند ولی سرعت خواندن و نوشتن هارد دیسک کمتر از مقدار تعیین شده در Baseline باشد، آن سرور عملکرد ضعیفی خواهد داشت. Bottleneck در این سرور، قطعا Hard Disk آن خواهد بود که باید ارتقاء یابد.
3- با استفاده از پایش لحظه به لحظه سیستم می توان این اطمینان را حاصل کرد که اطلاعات مربوط به نحوه عملکرد سیستم در اختیار ماست و می توانیم با استفاده از پیش بینی های موثر و عملیات اصلاحی در زمان های مناسب قابلیت اطمینان سرور را بالا ببریم.
به طور مثال با تشخیص CPU Usage بالا بر روی یک سرور می توان درخواست ها را به صورت اتوماتیک به سرور دیگری فرستاد که این خود باعث تقسیم شدن ترافیک بین سرورهای شبکه و در نتیجه ارائه شدن سرویس به طور مداوم و با سرعت قابل
قبول خواهد شد.
4- با شناسایی مشکلی بخصوص بر روی یک سرور می توان از گسترش آن مشکل بر روی شبکه جلوگیری کرد. به طور مثال اگر زمان پاسخگویی یک سرور (مثلا دیتابیس سرور) بالا رود، بقیه سرورهایی که با آن در ارتباط هستند نیز کند خواهند شد که با استفاده از پایش سیستم و انجام عملیات اصلاحی مناسب می توان جلوی این مشکل را گرفت.
ابزار مورد استفاده برای پایش سرور
برای پایش سرور می توان از نرم افزارهای مختلفی استفاده کرد. نحوه کار این نرم افزارها یکسان می باشد. به این صورت که مقادیر مربوط به یک یا چند پارامتر مشخص شده را به صورت لحظه به لحظه و گرافیکی در اختیار کاربر قرار می دهند. علاوه بر آن با استفاده از این نرم افزارها می توان اطلاعات مربوط به وضعیت پارامترهای مختلف را در یک فایل ذخیره کرد و در زمان دیگری مورد تجزیه و تحلیل قرار داد.
در ویندوز Server 2003 نرم افزار Performance Monitor به صورت پیش فرض روی ویندوز نصب شده و به صورت رایگان قابل استفاده می باشد. ولی باید توجه داشت که انتخاب پارامترهای مناسب و تجزیه و تحلیل داده های ذخیره شده توسط Performance Monitor کاری تخصصی و در مواردی دشوار می باشد.
پارامترهای مهم در پایش سرور
هر گاه یک سرور عملکرد ضعیفی داشته باشد، اولین چیزی که به عنوان Bottleneck به ذهن می رسد حافظه RAM آن می باشد.
هنگامی که یک سرور با کمبود حافظه RAM مواجه می شود، شروع به Page کردن اطلاعات از روی RAM به Hard Disk می کند که این عمل معمولا با صدای هارددیسک و چراغ چشمک زن قرمز روی کیس همراه است. این عمل به شدت روی عملکرد سرور تاثیر می گذارد.
معمولا دیتابیس سرورها و حتی ایمیل سرورها احتیاج به RAM بالایی دارند و کمبود آن به شدت روی عملکرد سرور تاثیر می گذارد. در مقابل این سرورها به طور مثال Domain Controller ها هستند که احتیاج به RAM بالایی ندارند.
دار رابطه با Memory، پارامترهای زیادی وجود دارد که می توان آنها را مانیتور کرد. در این مقاله فقط به 2 مورد که اهمیت بیشتری دارند اشاره شده است:
هرچه مقدار Available Bytes حافظه بیشتر باشد، عملکرد سرور بهتر و سرعت پاسخگویی آن بیشتر خواهد بود.
وقتی پارامترهای مربوط به حافظه را مانیتور می کنیم، اولین پارامتر Available Bytes می باشد. مادامیکه مقدار آن بالای 10 MB باشد سرور RAM کافی در اختیار دارد. )در حالت کلی این مقدار، %2 حافظه RAM سرور می باشد.)
برای مثال اطلاعات مربوط به پارامترهای حافظه یک سرور که با کمبود RAM مواجه است و توسط نرم افزار Performance Monitor مانیتور شده است، در شکل شماره 1 نمایش داده شده است.
همانطور که در شکل شماره 1 مشاهده می شود، مقدار حافظه آزاد RAM به کمتر از 3 MB کاهش یافته است که به خوبی نشان می دهد این سرور نیاز به میزان RAM بیشتری دارد.