دریافت اسلایدها
حجم: 11.7 مگابایت

 

تو این پست میخوایم یک مرور اجمالی بر سخت‌افزاری‌هایی که برای راه اندازی کلاستر نیاز هست داشته باشیم

اینا رو حتما به عنوان یک DBA باید بدونید حتی باید به شرکت یا سازمان کمک کنید و LOM تهیه کنید که تجهیزات رو خریداری کنه

بعد از سخت‌افزار شما باید توپولوژی شبکه‌ی کلاستر رو هم بدونید برای کار عملی حتما لازمه که اینها رو بدونید

ما مدلهای مختلف سرور داریم

به سرورهای زیر ml server میگن که به صورت tower ای هستن

سرورهایی که به صورت زیر میبینید بهشون می‌گیم dl که شما میتونید سری hp یا ibm رو بگیرید پس فرقی تو برند نداره

هر سروری یسری قابلیتها بر اساس ram, cpu, تعداد هاردها و نوع هاردها که می‌تونه ساپورت بکنه داره

پشت این سرور dl رو اگه نگاه بکنید(عکس دوم) شامل ۴ تا پورت شبکه هستش معمولاً به صورت پیش‌فرض از ۲ پورت بیشتر برای rac استفاده نمیشه ولی ما راجع به هر ۴ تا پورت صحبت می‌کنیم که چجوری با ۴ پورت سرورتون هم redundant ایجاد بکنید و هم پهنای باندتون رو بالا ببرید

سرورها رو اگه نگاه بکنید سمت راستشون یه نوشته ریزی نوشته که با G شروع میشه و به معنای Generation یا نسله

آخرین نسل سرورهای HP تا تاریخ این نوشته G9 هستش

سرورهایی که DL هستن اصطلاحاً میگیم RACK MOUNT

نکته: تکنولوژی RAC دیتابیس oracle رو با RACK سرورها اشتباه نگیرید. RACK Mount یعنی یک باکسی وجود داره که سرورها به صورت کشویی درونش قرار میگیرن اما RAC در اوراکل یعنی کلاستر کردن دیتابیس 

معمولاً هر سروری ۲ تا پاور داره و ۹۰ درصد جاها از ۱ پاور استفاده میکنن ولی اصلاً چرا ۲ تا پاور دارن؟ سوال اساسی اینه که اگه برق رفت چی میشه؟ خب اشکالی که توی بیشتر اتاق سرورها وجود داره اینه که کلاً با یه برق شهر و یه تابلو و فیوز برق رو تامین میکنن در صورتی که سورس برق باید از ۲ نقطه مختلف به دیتابیس وارد بشه

اگه تو RACK ها نگاه کنید ۲ تا PDU دارن که به صورت پریزه و از یکی برق رو از یه سورس میگیرن و از سمت دیگه سورس رو از یه جای دیگه میگیرن پس پاورها رو تقسیم میکنن و برق بکسری از راست و یکسری از چپ وارد میشه پس اگه برق یک مسیر کلاً رفت برق یک مسیر هستش

اگه هم کلاً برق بره باید از UPS برای ذخیره برق برای مدتی کوتاه تا راه‌افتادن ژنراتور استفاده کنیم

پس جاهایی که نمیخوان downtime داشته باشن مثل شرکتهای ارائه‌دهنده خدمات موبایل، بیمارستانها و ... که ۲۴ ساعته دارن سرویس میدن باید هم از برقهایی با سورسهای مختلف/ UPS و ژنراتور استفاده کنند تا وقتی هر ۲ تا سورس برق بره سریع UPS‌ تو مدار بیاد تا سرور down نشه و تا یه بازه‌ی زمانیه ۱ تا ۴ ساعته سرورها رو نگه داره و تو این بازه ژنراتورها به سرعت به صورت اتوماتیک باید بیان تو مدار و برق تامین بشه

نکته: حتماً هماهنگی‌ها موقع رفتن برق رو سعی کنید داشته باشید چون باعث آسیبهای زیادی به سخت‌افزار شما میشه

انواع و اقسام سرورها رو تو شکل بالا میبینید یکسری dlها که قدیمی هستن به صورت پهن ساخته شده‌اند و عریض‌اند

براساس هر مدل از سرور نیز یکسری چیدمان هارد هم موجوده که می‌تونید چند مدل رو ببینید

نکته: اگه میخواین پیشنهاد سخت‌افزار بدید هارد با سایز و تعداد بالا برای RAC اوراکل پیشنهاد ندید چون اصلا به درد نمیخوره

 

تو تصویر بالا انواع هارد رو تو مدلهای مختلف با سایزهای مختلف میبینید

سایزها ۲.۵ یا ۳.۵ اسنچ براساس نوع سروری که خریداری میکنید هستن

نکته: خیلی از سرورها ادعا میکنن که hot-plug هستن یعنی موقعی که سرور بالاست میتونید هارد رو تعویض کنید خب من تا به حال به صورت عملی این ادعا رو ندیدم مخصوصا تو dlها چون هر وقت هارد رو hot-plug کشیدم بیرون به مشکلات زیادی خوردم برای همین اگه خواستید هارد عوض کنید به صورت hot-plug عوض نکنید

DAS, NAS و SAN

شما ۳ نوع تکنولوژی مختلف رو برای ذخیره‌سازی فیزیکی میتونید به سرورتون اتصال بدید:

DAS یا Direct Attach Storage

یه هارد اکسترنال‌اند که با USB به سرور وصل می‌کنید پس هر هاردی که به صورت مستقیم به سرور وصل بشه DAS نامیده میشه

معمولاً DASای که توی دیتاسنترها استفاده میشه یه هارد اکسترنال معمولی نیستش خودش میتونه یه سروری باشه که مجموعه‌ای از هاردها رو داشته باشه و با یه خروجی USB یا SAS مستقیماً به سرور پردازشی ما وصل بشه 

انواع اتصال DAS برای کاربردهای مختلف:

NAS یا Network Attach Storage

تو NAS دیوایس ما شبیه سرور هستش که یکسری هارد درونش قرار میگیره و خروجی سرور ethernet ه یعنی کابل شبکه

پس میتونید یه NAS بخرید خروجی رو با یه کابل شبکه بزنید به سویچتون و سرورهاتون رو هم به سوییچ شبکه وصل کنید و توی NAS حالت file sharing درست کنید بین سرورهاتون

نکته: کلاستر اوراکل رو روی NAS‌ نمیتونید راه‌اندازی کنید مگر اینکه NAS قابلیت آدرس‌دهی بلاکی به هاردها رو داشته باشه

ببینید شما روی یه ماشین ویندوز مثلاً یه share‌راه میندازید و از روی یه ماشین ویندوز دیگه به صورت map network به هارد اون ماشین دسترسی پیدا می‌کنید خب این میشه NAS ما

حالا چرا شما نمیتونید از NAS برای کلاستر اوراکل استفاده کنید چون شما توی سیستم مبدا فایل سیستم ایجاد کردید و به صورت بلاکی نیست یعنی شما دیسک رو به سرورها معرفی نمیکنید و فقط یه تیکه از فضای هاردها که از قبل فرمت شده رو به سرور معرفی می‌کنید خب اوراکل نمیتونه رو فایل سیستمی که فرمت شده باشه نصب بشه برای همین توی NAS شما نمی‌تونید RAC رو راه بندازید و حتماً‌ باید قابلیت این رو داشته باشید که به صورت بلاکی به دیسک‌ها دسترسی داشته باشید

خروجی NAS ها بستگی به مدل NAS میتونه ۱۰ - ۱۰۰ گیگ باشه

کاربرد NAS بیشتر برای file sharing و بک‌آپ‌ها استفاده میشه

SAN یا Storage Area Network:

اونهایی که میخوان دیتابیس اوراکل رو به صورت کلاستر یا RAC راه‌اندازی کنن باید SAN خریداری کنن

توی شبکه‌ی SAN دیگه Network وجود نداره و از فیبر نوری استفاده میکنن که سرعت خیلی بالاتر میره

به قسمت بالای SAN که فقط هارد میخوره اصطلاحاً میگن Disk Array این دیسک‌ها بسته به مدل SAN اندازه‌ها و تعدادشون متفاوته

قسمت وسط SAN همون کنترلر SAN ه که به خاطر redundant بودن کار معمولاً ۲ تا کنترل میذارن

براساس سازمان و حجم دیتا باید نوع SAN Storage تعیین بشه البته این کارها به عهده DBA نیست و حتما باید یک SAN Man بیارید که بهتون مشاوره بده و آنالیز رو انجام بده و براساس اون نوع دیسک‌ها و برند و مدل SAN رو تعیین بکنه

تو این شکل یک مدل از NAS رو میبنید که هاردها پشتش قرار میگیرن و خروجی‌اش یک ethernet شبکه است و با اون به NAS رو به سوییچ وصل می‌کنید و با یه نرم‌افزاری که خودش داره کانفیگش میکنید

تو شکل بالا می‌بینید که سرورها، دیسک‌ها و حتی tapeها رو می‌تونید به SAN وصل کنید. معمولاً‌ به ابر وسط SAN Network میگن که همون شبکه‌ی SAN هستش

تجهیزات مورد نیاز برای SAN

  • سرور
  • SAN Storage
  • Fiber Channel Card
  • Fiber Channel Connector
  • Fiber Channel Cable
  • SAN Switch

نکته: فیبرهای نوری زوج هستن چون send/recive به صورت جدا صورت میگیره

نحوه‌ی ارتباط اینها باهم:

دقت کنید هر زوج یک پورت است و هر پورت فیبرنوری حتما باید یک زوج کابل باشد

تو شکل بالا ارتباطهای کابلهای فیبرنوری با SAN Storage رو میبینید که ۸ تا پورت فیبرنوری داره و هرکدوم از اینها نحوه اتصالهاشون به صورت زوج است

قدیمها از سوکتهای فیبرنوری ۲ نوع داشتیم:

  • SC_(یه مقدار پهن‌تر از شکل هستند)
  • LC_(همونی که تو شکل میبینید)

که جدیداً اکثراً LC هستند یادتون باشه نمیتونید خودتون سوکت‌های فیبرنوری رو بزنید شما حتما باید از دستگاهی به اسم Fusion استفاده کنید

ولی معمولاً این کابلها به صورت آماده خریداری میشوند

۲ نوع فیبرنوری داریم:

  • Multimode
  • Singlemode

اگر فاصلتون زیاده یعنی بیشتر از ۱۰۰ کلیومتر حتما باید از singlemode‌ استفاده کنید ولی اگه توی اتاق سرور هستید و میخواین سرورها رو به هم وصل کنید باید multimode انتخاب کنید که پهنای باند بیشتری داره

این ۲ نوع کابل از لحاظ ظاهری هیچ فرقی باهم ندارند.

نکته: همیشه یادتون باشه دیتابیس فقط نصب نیست دیتابیس نگهداری و کارایی و سرعت میخواد

نحوه اتصال سرورها به هم

خب سرورها یا مستقیماً به هم با کابل cross وصل میشن یا حتماً نیاز به یک سوییچ شبکه برای ارتباط سرورها بین هم داریم

برای ارتباط سرور با SAN Storage می‌تونیم به صورت مستقیم با فیبرنوری ارتباط رو برقرار کنیم

از اونجایی که پشت سرورها ورودی برای فیبرنوری وجود نداره ما به کارت hba نیاز داریم

خب چون مدلهای مختلفی از این کارتها در بازار وجود داره اگه بخوایم از لحاظ برندی حساب کنیم HP / emulex یا qlogic

نکته: اگه hba خریداری می‌کنید از برندهای مختلف برای سرورهاتون استفاده نکنید چون خودتون بعداً به مشکلات conflict می‌خورید

پس بهتره توی یک کلاستر اوراکل برند کابل fiber channel رو از یک برند تهیه بکنید

حتما حواستون باشه که سروری که خریداری می‌کنید جای نصب این کارت رو داشه باشه

همونطور که تو شکل بالا می‌بینید این کارت‌ها یا تک پورت هستند یا دو پورت

هر پورتی یکدونه شماره uniqe به اسم wwn یا word wide name‌ داره این شماره uniqe و شبیه MAC آدرس کارت‌های شبکه است که تو کل دنیا uniqe است

کارت‌هایی که دارای ۲ پورت هستند برای redundance ای خریداری می‌شوند ولی ما ۲ تا کارت تک پورت بخریم بهتره یا یک کارت دو پورت؟

خب ۲ تا تک پورت بهتره چون اگه کارت بسوزه هر دو پورت‌ها هم از دست میره

ولی از اونجایی که هزینه داره سازمانها معمولاً ۲ پورت میخرن چون قیمت ۲ تا تک پورت یه چیزی ۲ برابر یک کارت ۲ پورت است یه چیزی حدود ۱۰۰۰ دلار برای همین اگه بخواین یک SAN Storage و کارت و سرور بخرید کف قضیه ۱۵۰ میلیون در حال حاضر به غیر از نصب و راه‌اندازی هزینه داره

معمولاً وقتی کارت hba رو به سرور وصل می‌کنید سیستم‌عامل‌ها به طور خودکار کارت‌های برندهای معروف رو شناسایی می‌کنن ولی اگه شناسایی نکردند مجبورید درایور کارت رو تهیه کنید

نحوه شناسایی دیسک‌های SAN در سرور

وقتی سرور بالا میاد از روی آدرس WWN با SAN Storage ارتباط برقرار میکنه درون SAN Storage‌ نیز سیستم‌عاملی مخصوصی نصب شده که عمدتاً به صورت Web base اند البته محیط‌های CLI ای هم دارند درون این سیستم‌ها یه بخشی به اسم host است که WWN تمام سرورهای متصل شده به SAN قابل بازبینی است پس اولین کاری که بعد از بالا اومدن هر سروری انجام میدیم یادداشت کردن آدرس WWN کارت hba است بعد برای سرور یک label میزنیم و توی SAN Storage به اون پورت یک alias میدید تا بعدها براتون خوانا باشه

هر کارتی که شما می‌خرید و بخواین بهش فیبرنوری وصل بکنید به یه سخت‌افزار دیگه هم به نام SFP نیاز دارید

در حقیقت زوج کابل فیبرنوری به SFP میخوره و SFP است که به کارت hba میخوره

براساس نوع سرعت همونطور که در ethernet سرعت‌های مختلف داریم  10M, 100M, 10G برای کارت‌های hba سرعتها 4G, 8G هستش پس نوع کارت باید با SFP از لحاظ سرعتی یکی باشند همچنین کابل فیبرنوری که تهیه می‌کنید باید از سرعت مورد نظر ساپورت کنه

نحوه‌ی ارتباط ۲ سرور با SAN Storage

تو شکل بالا یه کارت hba دو پورت روی هر دوی سرورهامون گذاشتیم پس تو هر سرور کارت hba دو تا داریم

همونطور که شما میاین از SAN Switch شبکه ۲ تا میگیرید به خاطر redundant شدن (اگه یک سوییچ رفت یکی دیگه سرویس بده)

چرا redundant تولید می‌کنیم؟ یک مفهومی به اسم business continue که به معنی ادامه‌ی حیات کسب و کاره میتونه باعث این موضوع بشه

اینجا نوع اهمیت سرویس و پولی که با اون سرویس درمیاد خیلی مهمه پس HA و زمان خاموشی باید در یکسری کسب و کارها حداقل باشه (مثل سیستم‌های موبایلی، فروشگاه‌های اینترنتی، سیستم‌های بانکی و ...)

در شکل بالا خروجی هر پورت رو به یک ورودی SAN Switch می‌دیم

شما پشت SAN Storage‌اتون هم ۲ تا کنترلر دارید هر کنترلری بسته به مدل SAN Storage اتون حداقل ۲ تا پورت فیبرنوری داره یکیش رو میزنید به یک SAN Switch و یکی رو میزنید به یک SAN Switch دیگه و آخرش هم SAN Switch ها رو به هم وصل می‌کنید

در این سناریو اگر یک پورت بسوزه شما از یک پورت دیگه به Storage ارتباط دارید حتی اگه یکی از پورت‌های SAN Storage بسوزه یکی دیگه دارید ولی اگه کل SAN Storage بسوزه کل سیستم خراب میشه

یادتون باشه شما توی SAN Storage به تعداد n تا دیسک دارید پس ممکنه ۱۰۰ تا دیسک با سایزهای مختلف داشته باشید پس چجوری میایم تخصیص فضا می‌دیم مثلاً ۵۰۰ گیگ به سرور A می‌دیم، شما اصطلاحاً توی نرم‌افزار SAN Storageاتون میاین میگین که ۵۰۰ گیگ به فلان WWN اختصاص بده اصلاحاً به این اختصاص داد(معرفی کردن این ۵۰۰ گیگ به فلان WWN) میگن LUN یا Logical Unit Number

شما به عنوان یک DBA باید اینها رو بدونید چون وقتی می‌رید توی یک سازمان و کلاسترتون رو نصب کنید باید اعلام کنید که چقدر دیسک رو نیاز دارید و فضا چقدر باشه

مثلا شما به SAN MAN سازمان اعلام می‌کنید که ۵ تا دیسک ۵۰۰ گیگی بهتون بده این درسته نه اینکه یهو درخواست ۳ ترا هارد کنید چون شما توی کلاستر باید فضاها رو تیکه تیکه کنید و best practice اینه که هر فضا اندازه یک دیسک باشه

مثلاً اگه یک دیسکتون ۶۰۰ گیگ‌ه به SAN Man می‌گید که ۵-۶ تا LUN برای این سرور بده که هرکدوم ۶۰۰ گیگ باشه خب بریم اینور قضیه شما ۲ تا پورت توی سرورتون دارید پس باید LUNها رو فقط به یکی از WWNها معرفی کنه چون اگه به هر دو معرفی کنه شما توی سیستم‌عامل ۲ تا هارد ۵۰۰ گیگی می‌بینید در صورتی که این فضا یک آدرسه

خب به این کار یعنی معرفی یک فضا به هر دو پورت میگن Multipath چون از چند مسیر اون فضا رو می‌بینه شما اگه خواستید تعداد Multipath ها رو ببینید باید تعداد کارت‌های hba سرور رو با تعداد پورت‌های SAN Switch ببینید از SAN Storage چندتا فیبرنوری به SAN Switch زدید

تو شکل بالا اگه بخواین حساب کنید ۲ تا کابل از هر SAN Switch به سرورها داریم و از SAN Storage‌ هم ۲ تا کابل به SAN Switch ها داریم پس ۲*۲ میشه 4 تا مسیر که شما می‌تونید فضا رو ببینید

نکته: توی Virtual Machineهای تستی (مثلاً روی لپ‌تاپ یا PC) نمیشه Multipath رو راه‌اندازی کرد اما توی محیط عملیاتی حتماً راه‌اندازی کنید

یادتون باشه توی SAN Storage می‌تونید هر دیسک رو تکی ببینید بعد روی اونها pool تعریف کنید مثلاً یک pool به اندازه ۵۰۰ گیگ ولی بعداً که raid می‌کنید بسته به raid اتون می‌تونید به صورت دسته‌ای روی یک disk array مجموعه‌ای از هاردها رو یک pool تعریف کنید شما حتی می‌تونید کل SAN Storage رو یک pool تعریف کنید و مدیریتها رو تیکه تیکه انجام بدید.

High availability for SAN Network

تو شکل بالا HA رو برای SAN Network می‌بینید پس نیاز به:

  • کارت‌های hba دو پورت
  • ۲ تا SAN Switch
  • یک SAN Storage

best practice اینه که اگه pool دارید ۲ تا SAN Storage باید بخرید و شما می‌تونید با ۲ تا SAN Storage برای کلاسترتون FailOver ایجاد بکنید پس اگه کل یک SAN اتون بره اونیکی سرویس رو میده (و در حقیقت وقتی یک تراکنش روی دیتابیس ایجاد میشه به صورت خودکار روی هر دوتا SAN Storage داده به صورت پارالل نوشته میشه(تو تنظیمات ASM این موضوع تنظیم میشه)) ولی از اونجایی که هزینه‌بر هستش یکدونه‌اش هم به زور خریداری میشه

توپولوژی شبکه‌ی کلاستر اوراکل

سروها میتونه ۲ تا یا ۳ تا باشه هیچ فرقی نمیکنه

نکته: به هر سرور در کلاستر اوراکل یک node گفته میشه که میتونه حداقل ۲ یا حداکثر ۲۵۵ تا node باشه

سمت چپ تو عکس بالا شما یک کلاینت می‌بینید این کسیه که میخواد سرویس بگیره تو این حالت شما ۳ تا سرور دارید و حداقل هر سرور باید ۲ تا کارت شبکه داشته باشه تو این حالت یکدونه از شبکه‌ها در هر ۳ سرور به یکی از switchهای شبکه وصل میشه که اصطلاحاً بهش می‌گیم public یادتون باشه application serverها و switchهای دیگه نیز ممکنه به این سوییچ وصل بشن

یه قسمت دیگه از شبکه شما ارتباط بین خود سرورها هست یعنی کلاستر اوراکل یکسری اطلاعات رو باید بین nodeهای خودش رد و بدل کنه مثلاً یکیش اینه که وضعیت همدیگه رو بهم خبر میدن یا وقتی یک کلاینت به یک node وصل میشه چون به اون node وصل شده پس فقط اطلاعات اون سرور رو میخونه پس موقع کوئری زدن node 1 اطلاعات رو از دیسک میخونه و میاره تو RAM

حالا یک کلاینت دیگه وصل میشه به یک node دیگه اونم همین کوئری رو اجرا میکنه اینجا کلاستر اوراکل نمیاد دوباره به دیسک io بزنه node 2 میره اطلاعات رو از حافظه‌ی node 1 میگیره و به کاربر نشون میده

بابت اینجور کارها کلاستر اوراکل به یک پورت شبکه و فقط و فقط به صورت internal ای نیاز داره که بهش می‌گیم interconnect یا همون Private Network مرسوم

ویژگی‌های سوییچ شبکه private

  • برای اینکه اطلاعات زیادی بین node ها رد و بدل میشه best practice‌ می‌گیم که حتما سوییچ باید Gig باشه
  • از Hub استفاده نکنید و حتما سازمان رو توجیه کنید که سخت‌افزار مناسب این قضیه نیست
  • نگهداری کلاستر بسیار سخت‌تر از نگهداری یک سرور SI است پس هزینه بر و گرونه (در حال حاضر به صورت عرفی زیر ۱۵ میلیون نیست)

نکته: توصیه میشه از ۴ پورت سرور برای کلاستر استفاده کنید، چون اگه ۲ تا باشه اگه حتی یکی از کارت شبکه‌ها هم براش مشکل کوچیکی پیش بیاد کل کلاستر میخوابه

نکته: اگه شبکه‌ی private بخوابه اوراکل یکسره به nodeهای دیگه پیغام میده که خودتون رو ریستارت کنید برای همین یکهو ناپایداری ایجاد میشه

سایز پکت فریم‌های معمولی در شبکه ۱۵۰۰ بایت‌ه ولی یکسری سوییچ‌ها قابلیت Jumbo frame رو دارند و اوراکل نیز اینو ساپورت میکنه پس

برای شبکه‌ی private می‌تونید از Jumbo frame استفاده کنید، سایز این فریم‌ها 9K است (9000 بایت) ولی یادتون باشه Jumbo frame جزو استانداردهای IEEE نیست.

اگه بخواین Jumbo frame رو پیاده‌سازی کنید باید تو خرید سوییچ خیلی دقت کنید که این قابلیت رو ساپورت کنه

با Jumbo frame سرعت و کارایی کلاستر شما بالاتر میره چون سایز ارسال پکیج‌ها 9K میشه

سوییچ‌هایی که در حال حاضر بیشتر مورد استفاده قرار میگیره از سری 2960 سیسکو است که از Jumbo frame ساپورت میکنه ولی نه روی یک پورت در حقیقت روی کل پورت‌ها از Jumbo frame ساپورت میکنه توی این حالت باقی پورت‌هاتون غیرقابل استفاده میشه

پس بهتره برای RAC اتون یک سوییچ جدا با پورت‌های کم مثلاً 8 پورت تهیه کنید که بتونید از Jumbo frame هم استفاده کنید

نکته: Jumbo frame همه جا الزامی نداره فقط جاهایی که بار روی سرورتون به شدت زیاده یکی از best practice ها برای بالابردن سرعت و کارایی Jumbo frame است.

نکته: سوییچ‌هایی که روی تک پورت Jumbo frame رو ساپورت میکنن بسیار گرونن ولی بسته به کار سازمان میتونید پیشنهاد بدید.

سازمانهایی که فقط ۱ سوییچ دارند و اصلاً ۲ تا سوییچ ندارند

بعضی سازمان‌ها هستند که فقط یکدونه سوییچ 24 - 48 پورت دارند و قدرت خرید یک سوییچ دیگه رو ندارند تو این حالت برای پیاده‌سازی private امون vlan ها رو جدا می‌کنیم تا هیچ ارتباطی بین public و private ایجاد نشه

IPهای مورد نیاز

  • ۳ آی‌پی public
  • ۱ آی‌پی private

public

به طور معمول برای هر سرور ۳ تا IP که توی شبکمون موجوده و از بیرون می‌تونیم بهش وصل بشیم(رنج IP های public) نیاز داریم نکته اینه که هیچ کس دیگه‌ای تو شبکه‌مون این IP ها رو نداشته باشه نیاز داریم

نکته: توی کلاستر اوراکل اگه IP Conflict داشته باشیم کلاستر خودش به طور خودکار میخوابه، پس IPهاتون رو رزرو کنید و نذارید DHCP این IPها رو به کسی بده

  • Public
  • VirtualIP
  • RAC Scan

Private

اگه قصد دارید فقط از یک پورت شبکه برای private اتون استفاده کنید ۱ آی‌پی کافیه

یادتون باشه IPهای Private‌ اصلاً‌ نباید تو رنج شبکه باشند (مثلاً اگه شبکه‌تون تو رنج 172 آی‌پی میگیره برای private بهرته رنج رو 10 ای بذارید)

نکته: اگه به اشتباه IPهای شبکه‌ی Private‌ رو تو رنج IPهای مورد استفاده در شبکه بدید اون کلاینت‌هایی که IPهاشون تو رنج IP شبکه‌ی private اتون است نمی‌تونن به کلاستر وصل بشن چون از کلاینت بسته به سرور می‌رسه ولی موقعی که پکت به سرور میرسه سرور باید جواب پکت رو برگردونه ولی OSها اگه رنج IP خودشون رو نگاه بکنن حتی اگه به یک IP دیگه پکت رو بفرستن (مثلا از ۱۹۲ به ۱۷۲) سرور با ۱۷۲ به کلاینت درخواست رو برنمیگردونه چون OS سرور میاد نگاه میکنه source ip رو و میگه خب من که ۱۹۲ رو دارم پس رو این شبکه درخواست رو برمیگدونم (چون private امون ۱۹۲ ست شده) و وقتی پکت به شبکه‌ی interconnect میرسه پکت drop میشه پس درخواستی برنمیگرده

یکی کردن پورت‌ها

وقتی ۲ تا پورت رو باهمدیگه تو سیتسم‌عامل یکی می‌کنیم تو ویندوز بهش می‌گیم thin و تو لینوکس بهش می‌گیم bond 

اینجا از لحاظ فیزیکی ۲ تا پورت‌اند ولی از لحاظ منطقی توی سیستم‌عامل و توی سوییچ این کانفیگ باید انجام بشه

(سعی می‌کنم یک نوشته رو به bond کردن ۲ تا کارت شبکه توی لینوکس اختصاص بدم)

bond کردن به معنی همزمان کارکردن هر دو کارت شبکه نیست اینا به صورت active/passive هستند یعنی یکی کار میکنه اگه یکی fail شد سریع سوییچ میکنه روی دومی پس bond‌کردن پهنای باند رو زیاد نمیکنه فقط به درد HA‌ میخوره

نکته: bond کردن رو فقط برای public انجام بدید ولی برای private بهتره bond نکنید چون منطقی‌تره که از هر ۲ پهنای‌باند ۲ کارت شبکه‌مون استفاده کنیم (توی این حالت به private هامون ۲ تا رنج IP‌ می‌دیم، در این سناریو هر دو کارت active‌هستند و کلاستر اوراکل از هر ۲ پورت اطلاعات رو رد و بدل میکنه (یکسری پکت‌ها از یه کارت شبکه میرن و یکسری از اونیکی کارت شبکه) تو این حالت اگه یکی از کارت شبکه‌ها هم قطع بشه از کارت دوم کلاستر استفاده میکنه پس HA سرجاشه)

معماری HA در کلاستر اوراکل

تو شکل بالا ما

۲ تا سرور داریم سمت چپ و راست

۱ دیوایس SAN Storage‌ داریم با ۲ تا کنترلر A , B (هر کنترلری خودش یک سیستم‌عامل داره و سرویس رو میده)

(توی SAN Storage کنترلرها به صورت Active/Passive هستند)

ما ۳ نوع SAN Storage داریم:

  • entry level san storage (برای سازمانها و شرکتهای کوچک مثل hp p2000)
  • middle level san storage (برای سازمانهای متوسط)
  • enterprise level san storage (برای سازمانها و کارهای خیلی بزرگ در سطح اینترپرایز - فقط در این مدل san storage کنترلرها active/active‌هستند یعنی هر ۲ کنترلر همزمان سرویس میدن و پهنای باند ارتباطی هم بیشتر میشه)

هر کنترلر ۲ تا خروجی داره

پس ما ۲ تا SAN Switch می‌گیریم (SAN Switchها شبیه switchهای شبکه هستند ولی پورت‌هاشون همه فیبر نوریه - یادتون باشه SAN Switch و کابلهای فیبرنوریتون باید یک سرعت داشته باشند)

خود SAN Switchها رو هم می‌تونید با ۱ یا ۲ تا فیبرنوری به هم وصل کنید

با کابلهای فیبرنوری اتصال SAN Switchها رو با HBAهامون برقرار می‌کنیم

تو لایه بالاتر کارت شبکه‌هامون رو برای لایه public و private وصل می‌کنیم و از هر switch شبکه ارتباطها رو با سرورهامون برقرار می‌کنیم همچنین multipath رو هم راه میندازیم

روی هر سرور سیستم‌عاملتون رو نصب می‌کنید و روی سیستم‌عامل‌ها هم grid و oracle db رو

کل عکس بالا میشه HA در کلاستر اوراکل 

چرا SAN Storage نیاز داریم

شما بین ۳ سرور باید یک دیسک مشترک داشته باشید که دیتابیس رو روی اون نصب کنید اگه روی سرور ۱ نصب کنید سرور ۲ نمیتونه بهش دسترسی فیزیکی داشته باشه البته می‌تونید NAS راه‌اندازی کنید و به دیسک سرور که به صورت DAS ه دسترسی داشته باشید ولی به شدت کارایی افت میکنه

SAN Storage تو کلاستر نقش share disk‌ رو بازی میکنه یعنی دیسکی که به تمام سرورها یک فضا رو به طور همزمان آدرس‌دهی میکنه

نکته: وقتی فضای اختصاص یافته شده و اشتراک‌گذاری شده از SAN Storage‌ به سرورها رو میخوایم format‌ کنیم در هر سیستم‌عاملی format صورت بگیرد فقط همون سیستم‌عامل دیسک رو فرمت شده می‌بینه و باقی سیستم‌عاملها دیسک رو خام و فرمت نشده می‌بینن برای حل این مشکل سیستم‌عامل باید کانفیگ بشه ولی توی اوراکل بعد از نصب grid خود asm این قابلیت رو به شما میده.

نکته: شما می‌تونید سرور بدون هارد بخرید یعنی فقط HBA داشته باشه و SAN Storage رو معرفی کنید و فضا اختصاص بدید و موقع نصب لینوکس به جای local گزینه‌ی SAN Storage رو انتخاب کنید اینجوری لینوکس شما روی فضای SAN Storage اتون نصب میشه اما معمولاً os, grid, oracle db رو روی هاردهای لوکال نصب می‌کنیم و فقط دیتابیس(با DBCA) رو روی SAN Storage میسازیم تا همه سرورها بهش دسترسی داشته باشند.

بستن یک List Of building Materials

۳۰ گیگ سیستم‌عامل

۱۵ گیگ oracle grid

۱۵ گیگ oracle db

-> پس حداقل یک هارد ۱۴۶ گیگ هر سرور به صورت لوکال نیاز داره

هر سرور حداقل ۲ تا پورت باید داشته باشه (ولی بهتره از هر ۴ تای سرور استفاده کنید)

SAN Switch حداقل یکدونه (برای redundant بهتره ۲ تا باشه)

یک SAN Storage میخوایم

Switch شبکه حداقل یکی میخوایم (برای redundant بهتره ۲ تا باشه با vlan کردن)

۲ سرور دیگه هم برای کلاستر کردن اوراکل نیاز داریم:

  • DNS Server: برای load balancing
  • NTP Server: اگه ساعت‌های سرورها sync نباشه اوراکل جلوی نصب رو میگیره و یادتون باشه ntp‌ برای کلاستر اوراکل خیلی مهمه اگه ۱ دقیقه زمان سرورها با هم اختلاف داشته باشه اوراکل به nodeها فرمان ریبوت ماشین رو میده

نکته: تو سازمانها ممکنه از روتر یا یک دیوایس embed برای NTP سرورشون استفاده کنند تا زمان رو بین سرورها و کلاینت‌هاشون sync کنن - یادتون باشه سرورهای ntp مایکروسافتی به درد ntp سرور، سرورهای لینوکسی نمیخوره همچنین vm به درد ntp نمیخوره چون تایم رو درست از سخت‌افزار فیزیکی نمیگیره حتماً بهتره یک ماشین فیزیکی باشه