کلاستر بندی و بارگذاری متوازن-موسسه چشم انداز هزاره سوم ملل-آموزش کاربردی GIS و RS
یکی از ویژگیهای مهم و حیاتی ArcGIS for Server بارگذاری متوازن است. در حالی که دیگر GIS سرورها مشغول اند یا به دفعات فراخوانی شده اند، چگونگی به کارگیری یک GIS سرور مطمئناً عامل مهمی در حفظ زمان پاسخگویی بهینه است. هنگامیکه درخواستی به یک GIS سرویس فرستاده میشود تا اجرا شود، وب سرور (چه از نوع توکار و یا از نوع اختصاصی) گزارشات را در سایت سرور ایجاد و نگهداری میکند. در این گزارشات اطلاعاتی مانند کدام GIS سرور مشغول و کدام بیکار هستند، قرار دارد. بر طبق این گزارشات مشخص میشود که کدام GIS سرور باید این درخواست را بگیرد و اجرا کند. سپس GIS سرور با استفاده از تکنیکهای بهینهسازی که در فصل قبلی یاد گرفتید، این درخواست را اجرا میکند. ماژول بارگذاری متوازن یک جعبهی بسته است؛ یعنی درون درخواستهای موجود در GIS سرورها یک تعادل و توازن به دست میآورید؛ اما نمیتوانید این توازن را پیکربندی و تنظیم کنید. البته میتوان با کلاستربندی مقداری از این تنظیمات و پیکربندیها را انجام داد. در این فصل تکنولوژی کلاستربندی را با معایب و مزایای آن توضیح میدهیم. با پیادهسازی کلاستربندی میتوانید به سادگی سایتهای سرور را افزایش دهید و ماشینها را اضافه کنید. GIS سرورها را بر اساس ویژگیهایشان گروه بندی خواهیم کرد و این گروه بندی بارگذاری متوازن GIS سرورها را روی سایت سرور تضمین میکند. با وجود این مزیتها کلاستربندی محدودیتهایی نیز دارد که آنها را در ادامه توضیح خواهیم داد.
کلاستربندی
برای هر سرویسی که در ArcGIS for Server منتشر میکنید، یک یا تعداد بیشتری نمونه روی سرورهای GIS برای نمایش آن سرویس ایجاد خواهند شد. هر نمونه منابع را از ماشینی که روی آن در حال اجرا است، میگیرد. تعداد نمونههای هر سرور هنگام انتشار سرویس قابل تنظیم است. استفادهی هر GIS سرویس از حافظه و پردازشگر متفاوت است. ممکن است سرورهای مختلفی با منابع و خصوصیات مختلفی ایجاد کرده باشید. میتوانید تعیین کنید که چه سرویسی روی کدام GIS سرور اجرا شود. برای پیادهسازی این قابلیتها، Esri تکنیکی معرفی کرده که با آن GIS سرورها درون کلاسترهایی گروه بندی میشوند سپس اجازه دارید تا سرویسهایتان را درون کلاستر مورد نظرتان قرار دهید. کلاستربندی تکنیکی حرفهای و پیچیده است که باید بهخوبی پیکربندی و تنظیم شود. مثلاً اگر در فهرست اموال خود کامپیوترهای بلا استفادهای دارید و اجازهی تنظیم مجدد آنها را دارید، میتوانید آنها را دوباره زنده کنید و برای استفاده آماده کنید. سپس میتوانید آنها را به سایت سرور خود اضافه کنید. سپس این کامپیوترها را درون یک کلاستر به نام commodity computing قرار میدهید. سپس سرویسهای با اولویت کم را در این کلاستر قرار دهید و GIS سرورهای قدرتمند را برای میزبانی سرویسهای با اولویت بالا آزاد بگذارید. با یک کلاستر، GIS سرورها باید بتوانند با دیگر GIS سرورها ارتباط برقرار کنند و باید بتوانند با دیگر GIS سرورها با اطلاعات ضروری و مهم بروز رسانی شوند تا به فرآیند بارگذاری متوازن کمک کنند. GIS سرورها با استفاده از پروتکل (Transmission Control Protocol (TCP روی یک پورت واحد، با هم ارتباط برقرار میکنند. هر کلاستر یک پورت اختصاصی را میگیرد.
Commodity computing: تعدادی ماشین قابل دسترس و با قدرت متوسط را درون یک کلاستر قرار میدهد تا قدرت محاسباتی بالا با هزینهی کم را به دست آورد.
ایجاد کلاسترها
ابتدا باید نوع GIS سرویس مورد نظرتان را مشخص کنید. تعیین نوع سرویس با استفاده از برنامه ریزی و طراحی مناسب GIS سرویسها، تجزیه و تحلیل ماهیت سرویسها و پیشبینی نوع منابع موردنیاز سرویسها، امکان پذیر است. بعد از تعیین نوع GIS سرویس، نوع کلاستری که میخواهید ایجاد کنید را مشخص میکنید. ممکن است به هیچ کلاستری نیاز نداشته باشید. هر چند بعضی مواقع باید GIS سرورها را بر اساس معیارهای مشابهی گروهبندی کنید. سرویسهای GIS میتوانند بر اساس منابع و قدرت محاسبه گروه بندی شوند. همچنین میتوانید GIS سرورهای پرکاربرد را در یک کلاستر و GIS سرورهای با معیار دیگر را در یک کلاستر دیگر بگذارید.
میتوانید سرورها را بر اساس سطح امنیت کلاستربندی کنید. البته همیشه معیار مالکیت برای گروه بندی سرورها اعمال میشود. اگر سرورها با معیار مالکیت گروهبندی شوند، اداره و کنترل آنها بسیار ساده و راحت میشود.
به نمودار شبکهای که در زیر آمده است، دقت کنید. دو GIS سرور قدرتمند به نامهای GIS-SERVER01 و GIS-SERVER02 وجود دارد که مستقیماً به پایگاه دادهای که میزبان دادههای GIS است (به نام SDE-SERVER01) متصل میشود. همچنین 5 کامپیوتر GIS-PC01 تا GIS-PC05 نیز وجود دارد که با سرعت یک گیگابایت در ثانیهی اترنت به پایگاه داده متصل هستند. در نهایت یک سرور VPN به نام GIS-REMOTE01 در چین با پهنای باند 42 مگابایت در ثانیه به اینترنت متصل است.
همهی این 8 سرور GIS به یک سایت ArcGIS for Server متصل شدهاند و بهطور متوازن بارگذاری شدهاند. همچنین 4 سرویس در حال اجرا روی سایت سرور میبینید. Building، Parcels، Electricity و Geoprocessing. همهی کاربران از عملکرد کند سرویسها ناراضیاند. میخواهیم مشکل عملکرد کند این سرویسها را حل کنیم. اگر به دقت به تصویر نگاه کنید میبینید که بارگذاری متوازن به اندازهی کافی هوشمند عمل نمیکند و منابع و عامل شبکه را در نظر نگرفته است. مثلاً اگر یک عمل geoprocessing اجرا کنید، ممکن است توجه به یکی از کامپیوترهای موجود در کلاستر geoprocessing معطوف شود. این کامپیوترها برای عملیات geoprocessing طراحی نشدهاند. پس اولین کاری که باید انجام شود، هر کامپیوتر باید در یک کلاستر صحیح قرار گیرد.
ArcGIS Server Manager را بازکنید و گزینهی Site را انتخاب کنید. در سمت چپ پنجره روی Clusters کلیک کنید. بهصورت پیشفرض فقط یک کلاستر وجود دارد و سرور همهی سیستمها را در این کلاستر پیشفرض قرار میدهد.
اضافه کردن ماشینها به کلاستر پیشفرض
ابتدا به یک کلاستر جدید برای 5 کامپیوتر نیاز داریم. روی New Cluster کلیک کنید. در فرم ظاهر شده در فیلد Cluster Name عبارت Commodity Computers را تایپ کنید. در جعبهی Machines همهی ماشینهای قابل دسترس لیست میشوند. در این مثال ممکن است هیچ ماشینی نبینید که مشکلی ندارد؛ زیرا ماشینهای قابل دسترس در کلاستر پیشفرض قرار گرفته اند. Create را کلیک کنید.
هیچ ماشینی در کلاستر وجود ندارد زیرا هیچ ماشینی به این کلاستر اضافه نکردهاید. ماشینها باید مجدد مرتب شوند. باید کلاستر پیشفرض را ویرایش کنیم. فرم کلاسترهای ما بهصورت زیر خواهد بود:
گروهبندی ماشینها بر اساس منابع
خوب حالا که همهی ماشینها به کلاستر پیشفرض اضافه شدند، باید آنها را بر اساس منابع شان به کلاسترهای مجزا گروه بندی کنیم. کلاستر Commodity Computers، پنج کامپیوتری را نشان میدهد که از قبل به کلاستر پیشفرض تخصیص دادهشدهاند. باید این ماشینها را از کلاستر پیشفرض حذف کنیم و آنها را به کلاستر Commodity Computers تخصیص دهیم. برای شروع ویرایش کلاستر پیشفرض روی آیکون edit کلیک کنید.
ما باید همهی GIS سرورها را از کلاسترهای پیشفرض حذف کنیم و آنها را به ماشینهای قابل دسترس تبدیل کنیم تا بعداً بتوانیم آنها را به کلاسترها تخصیص دهیم. از لیست Added Machines همهی سرورها را پاککنید و آنها را به لیست AvailableMachines اضافه کنید. Apply را کلیک کنید. صفحهی Edit Cluster Machines بهصورت زیر ظاهر خواهد شد.
تمرین: اگر سه GIS سرور یا بیشتر روی سایت سرور دارید، کلاستربندی را پیادهسازی کنید.
در حال حاضر کلاستر پیشفرض، هیچ ماشینی ندارد و ماشینها آزاد شدهاند میتوانید ماشینها را به کلاستر دیگری تخصیص دهید. صفحهی Clusters بهصورت زیر ظاهر میشود.
کلاستر Commodity Computers را ویرایش کنید و 5 ماشین موجود در لیست Available Machines را به لیست Added Machines با استفاده از دکمهی جهت دار منتقل کنید. سپس روی Apply کلیک کنید.
معمولاً فرآیند انتقال GIS سرورها از یک کلاستر به کلاستر دیگر کمی زمان میبرد. مخصوصاً اگر در آن سرورها، سرویسهای در حال اجرا وجود داشته باشند. در تصویر زیر دو کلاستر میبینید:
از این به بعد به کلاستر پیشفرض نیازی نداریم، پس میتوان آن را حذف کرد. اگرچه سرویسهای سیستمی دیگری مانند publishing و caching وجود دارند که از این کلاستر استفاده میکنند. پس باید این سرویسها را به یک کلاستر جدید تخصیص دهیم. در بخش بعدی نحوهی تخصیص سرویس از یک کلاستر به کلاستر دیگر را توضیح میدهیم. اگر نمیخواهید سرویسهای سیستمی را تغییر دهید، کلاستر پیشفرض را نگه دارید و یک ماشین قدرتمند هم به این کلاستر تخصیص دهید.
کلاستر commodity در حال اجرا است. این کلاستر میزبان 5 GIS سرور است. باید در انتخاب سرویسهای موجود در این کلاستر دقت کنیم. در این کلاستر سرویسهای با اولویت کمتر را قرار میدهیم. حتی میتوانید از این کلاستر برای بررسی GIS سرویسها استفاده کنید. اگر یک سرویس جدید منتشر کنید، اما میخواهید در ابتدا چگونگی عملکرد این سرویس را بررسی کنید، این سرویس را روی کلاستر commodity اجرا کنید سپس کارکرد این سرویس را خواهید دید. اگر از کارکرد این سرویس راضی بودید میتوانید آن را در این کلاستر نگه دارید یا اینکه آن را به یک کلاستر قویتر منتقل کنید. حالا به دو کلاستر جدید نیاز داریم. بر اساس نمودار شبکه که در صفحات قبلی آمده است، سه ماشین در سمت چپ قرار دارد. یکی از این ماشینها راه دور است. بدین معنی که این ماشین به لحاظ فیزیکی دور از دسترس و در مکان دوری است. این ماشین به اینترنت متصل است و دو ماشین دیگر بهصورت محلی مستقیماً به پایگاه داده متصل هستند. بدیهی است که سرور راه دور به دلیل امنیت، مدیریت و کنترلی که روی دیگر ماشینها دارد، باید در یک کلاستر مجزا قرار گیرد. مابقی سرورها سخت افزارهای قدرتمند شبکه هستند و اتصالی که به پایگاه داده دارند، پهنای باند بالایی دارد. این سرورها را در یک کلاستر به نام Power قرار میدهیم.
پس دو کلاستر به نامهای Power and Remote ایجاد کنید و GIS-SERVER01 و GIS-SERVER02 را به کلاستر Power و GIS-REMOTE01 را به کلاستر Remote تخصیص دهید.
برگرفته از کتاب نصب، اجرا و مدیریت Arc GIS for server
نویسنده: دکتر محمد بافقی زاده
نشر: انتشارات اکادمیک
بدون دیدگاه