Oracle Cluster Registery چیست؟ (بخش دوم)
Oracle Cluster Registery چیست؟ (بخش دوم)
در ادامه بخش اول، به مطالب مربوط به OCR می پردازیم
بهروزرسانی OCR
فایل OCR که وظیفه نگهداری اطلاعات دسترسیپذیری بالا اجزای کلاستر را بر عهده دارد، توسط برنامههای متعددی ممکن است بهروزرسانی یا اصلاح شود. فهرست این برنامهها به شرح زیر است.
• پردازش CSSd در حین برپاسازی کلاستر (بهمنظور بهروزرسانی وضعیت سرورها)
• CSS در حین حذف و یا افزودن نودها (بهمنظور افزودن یا حذف نام نودها)
• پردازش CRSd در حین وقوع خطا یا تنظیم مجدد (در مورد وضعیت نودها)
• برنامه OUI
• دستور srvctl (بهمنظور مدیریت کلاستر، Instanceها و پایگاههای داده)
• دستور crsctl (بهمنظور مدیریت کلاستر و منابع محلی)
• سرویس Enterprise Manager
• ابزار DBCA
• ابزار DBUA
• ابزار NETCA
• ابزار ASMCA
بهمنظور افزایش کارایی بهروزرسانیها مستقیماً بر روی فایل OCR صورت نمیگیرد. هر نود OCR را در حافظه خود بارگذاری میکند و تغییرات را در حافظه انجام میدهد. پس از اعمال تغییرات، هر نود مسئول بهروزرسانی فایل OCR میباشد. مسئولیت خواندن و نوشتن فایل OCR بر عهده پردازش CRSd است. این پردازش علاوه بر مسئولیت پیشین، Cache محلی OCR و Cache سایر نودهای کلاستر را نیز بهروزرسانی مینماید.
بهینهسازی کوئریهای مخزن کلاستر از طریق مدیریت کلاستر و توسط یک معماری اشتراکی توزیعشده Cache انجام میشود. هر نود یک کپی از OCR را در حافظه خود نگهداری میکند. Clusterware از یک پردازش پسزمینه برای دسترسی به OCR Cache استفاده مینماید. درون کلاستر تنها یک CRSd که بهعنوان Master شناخته میشود تمام عملیات خواندن و نوشتن را بر عهده خواهد داشت.
در زمانی که Master CRSd اطلاعات جدیدی را رؤیت کند، بهسرعت Cache محلی و Cache سایر نودها را بهروزرسانی میکند. از آنجا که اطلاعات OCR بر روی کلیه نودها توزیعشده است، برنامههای OCR Client نظیر دستورات srvctl و crsctl برای دریافت اطلاعات مستقیماً با پردازش محلی OCR ارتباط برقرار مینماید. این ارتباط با پردازش CRSd محلی و به نیت دسترسی به اطلاعات فایل باینری برقرار میشود.
یکی از راههای اصلاح اطلاعات OCR استفاده از دستور ocrconfig است. بااینحال اطلاعات نودهایی که خاموش باشند و یا Clusterware آنها در دسترس نباشد قابل تغییر نخواهد بود. بنابراین در حین اعمال تغییرات در تنظیمات OCR باید از خاموش کردن نودها اجتناب کرد. درصورتیکه حین اجرای دستور ocrconfig و اعمال تغییرات، نودی از کلاستر خاموش شود، لازم است پیش از روشن شدن مجدد، بر روی آن نود تعمیراتی انجام شود.
دستور ocrconfig -repair تنظیمات نود جاری ( که دستور بر روی آن اجرا شده است) را تغییر میدهد. برای مثال درصورتیکه نود دوم خاموش باشد و فایل OCR منتقل گردد، باید دستور ocrconfig -repair در زمانی که CRS Stack خاموش است بر روی نود دوم اجرا شود تا تنظیمات نود دوم اصلاح گردد.
هدف از OCR
اهداف اصلی OCR به شرح زیر است.
۱٫ ذخیرهسازی اطلاعات Registry درون فایل ocr.loc .
Clusterware فایل ocr.loc را خوانده و محل ذخیرهسازی Registery مشخص میشود. سپس بر اساس اطلاعات Registery تعیین میشود که چه منابعی بر روی چه نودهایی باید آغاز گردد.
۲٫ ذخیرهسازی اطلاعات آغازین CSS نظیر پورتها، نودها و … .
۳٫ ذخیرهسازی پروفایل و فرادادههای منابع.
توابع Clusterware یا پردازش CRSd وظیفه تعریف و مدیریت منابع را دارند. هر یک از این منابع دارای پروفایلهایی هستند که حاوی اطلاعات فراداده آن منابع میباشند. این فرادادهها درون OCR ذخیره میشوند. CRS با خواندن OCR میتواند
• منابع را مدیریت کند. این مدیریت میتواند شامل عملیاتی نظیر شروع، توقف، نظارت و مدیریت خطاها باشد.
• اطلاعاتی را در مورد تعریف منابع جدید یا تغییر در تعریف منابع پیشین، دسترسیپذیری منابع و وضعیت جاری سرویسها جمعآوری و نگهداری کند.
• توزیع بار و استمرار دسترسیپذیری را انجام دهد.
• در زمان تغییرات Event ایجاد نماید.
• پروفایلهای منابع را اصلاح کند.
اطلاعات چگونه در OCR ذخیره میشوند؟
OCR برای ذخیرهسازی اطلاعات از یک ساختار درختی مبتنی بر فایل استفاده میکند. در این فایلها اطلاعات بهصورت Key-Value ذخیره میشوند. اطلاعات مربوط به کلیه اجزای کلاستر بوده و متغیرهای بسیار زیادی در این ساختار وجود دارند که در سطوح مختلف معماری کلاستر مورد استفاده قرار میگیرند.
هر سطح از این ساختار توسط پردازشهای مرتبط و با دسترسیهای محدود قابلدسترسی و تغییر است. برای مثال هر یک از منابع سطح سیستم توسط دسترسی root و یا superuser قابلدسترسی است. همچنین اطلاعات سطح پایگاهداده توسط کاربران گروه سیستمعاملی dba قابلدسترسی هستند.
۴ OCR کجا و به چه صورت ذخیره میشود؟
آدرس محل ذخیرهسازی OCR درون یک فایل در هر نود از کلاستر ذخیره شده است. مسیر این فایل وابسته به سیستمعامل است. برای مثال در سیستمعامل لینوکس آدرس این فایل برابر /etc/oracle/ocr.loc میباشد.
فایل OCR باید بر روی یک فایلسیستم اشتراکی ذخیره شود و از کلیه نودها دسترسیپذیری داشته باشد. در نسخههای پیشین اوراکل، ذخیرهسازی OCR بر روی raw device انجام میشد. پس از منسوخ شدن استفاده از raw device دو انتخاب وجود داشت؛ استفاده از فایلسیستمهایی که از کلاستر پشتیبانی میکنند نظیر OCFS2 و یا استفاده از گروههای دیسک ASM .
معمولاً برپاسازی فایلسیستمهای مبتنی بر کلاستر پرهزینه است. فایلسیستمهای مبتنی بر شبکه نیز ناپایدار و کند میباشند. بنابراین استفاده از ASM یک انتخاب مناسب میباشد. OCR و فایلهای Voting disk بر روی هر گروهی از دیسکهای ASM قابل ذخیرهسازی میباشند و نیازی به ایجاد یک گروه مجزا نیست.
فایل OCR بهصورت striped و mirrored ذخیره میشود. بنابراین برای نگهداری چند نسخه نیازی به تنظیمات پیچیده raw device نمیباشد. همچنین خرابی یک دیسک باعث ازکارافتادگی و از دسترس خارج شدن OCR نمیشود. برای افزایش آستانه تحمل خطا میتوان چندین کپی از فایل OCR نگهداری کرد. در نسخه ۱۱gR2 میتوان حداکثر ۵ نسخه از فایل OCR را نگهداری کرد.
با توجه به این که OCR بر روی یک فضای اشتراکی قرار دارد و از روی هر یک از نودها قابلدسترسی میباشد، میتوان از روی هر نود کل منابع کلاستر را مدیریت کرد. حداقل فضای موردنیاز برای گروه دیسک میزبان OCR بین ۳۰۰ تا ۵۰۰ مگابایت است.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.