در مقالات گذشته، شروع کردیم به صحبت در مورد اینکه Proxmox VE چیست و چگونه کار می کند. امروز در مورد چگونگی استفاده از امکان خوشه بندی صحبت خواهیم کرد و نشان خواهیم داد که چه مزایایی دارد.
خوشه چیست و چرا به آن نیاز است؟ خوشه (از خوشه انگلیسی) گروهی از سرورها است که توسط کانال های ارتباطی پرسرعت متحد شده اند و به عنوان یک کل واحد کار می کنند و برای کاربر ظاهر می شوند. چندین سناریو اصلی برای استفاده از یک خوشه وجود دارد:
ارائه تحمل خطا (در دسترس بودن بالا).
تعادل بار (تعادل بار).
افزایش بهره وری (عملکرد بالا).
انجام محاسبات توزیع شده (محاسبات توزیع شده).
هر سناریو الزامات خاص خود را برای اعضای خوشه دارد. به عنوان مثال، برای خوشه ای که محاسبات توزیع شده را انجام می دهد، نیاز اصلی سرعت بالای عملیات ممیز شناور و تاخیر شبکه کم است. این گونه خوشه ها اغلب برای اهداف تحقیقاتی استفاده می شوند.
از آنجایی که ما به موضوع محاسبات توزیع شده پرداختیم، می خواهم توجه داشته باشم که چیزی مانند سیستم شبکه ای (از شبکه انگلیسی - شبکه، شبکه). با وجود شباهت کلی، سیستم شبکه و خوشه را اشتباه نگیرید. گرید یک خوشه به معنای معمولی نیست. برخلاف یک خوشه، گره های موجود در شبکه اغلب ناهمگن هستند و با در دسترس بودن کم مشخص می شوند. این رویکرد حل مشکلات محاسباتی توزیع شده را ساده می کند، اما اجازه ایجاد یک کل واحد از گره ها را نمی دهد.
نمونه بارز یک سیستم شبکه ای یک پلت فرم محاسباتی محبوب است BOIN (زیرساخت باز برکلی برای محاسبات شبکه). این پلتفرم در ابتدا برای این پروژه ایجاد شد SETI @ خانه (جستجوی هوش فرازمینی در خانه)، مقابله با مشکل یافتن هوش فرازمینی با تجزیه و تحلیل سیگنال های رادیویی.
چطور کار می کند؟مجموعه عظیمی از دادههای دریافتی از تلسکوپهای رادیویی به قطعات کوچک زیادی تقسیم میشوند و به گرههای سیستم شبکه ارسال میشوند (در پروژه SETI@home، رایانههای داوطلب نقش چنین گرههایی را بازی میکنند). داده ها در گره ها پردازش شده و پس از تکمیل پردازش، به سرور مرکزی پروژه SETI ارسال می شود. بنابراین، این پروژه پیچیده ترین مشکل جهانی را بدون داشتن قدرت محاسباتی مورد نیاز در اختیار خود حل می کند.
اکنون که درک روشنی از چیستی خوشه داریم، پیشنهاد می کنیم نحوه ایجاد و استفاده از آن را در نظر بگیریم. ما از یک سیستم مجازی سازی منبع باز استفاده خواهیم کرد Proxmox VE.
به ویژه مهم است که به وضوح محدودیت ها و سیستم مورد نیاز Proxmox را قبل از شروع به ایجاد یک خوشه درک کنید، یعنی:
حداکثر تعداد گره ها در یک خوشه - 32;
همه گره ها باید داشته باشند همان نسخه Proxmox (استثناهایی وجود دارد، اما آنها برای تولید توصیه نمی شوند).
اگر در آینده قرار است از قابلیت دسترسی بالا استفاده شود، خوشه باید داشته باشد حداقل 3 گره;
پورت ها باید برای ارتباط گره ها با یکدیگر باز باشند UDP/5404, UDP/5405 برای corosync و TCP/22 برای SSH؛
تاخیر شبکه بین گره ها نباید بیشتر شود 2 ms.
یک خوشه ایجاد کنید
مهم! پیکربندی زیر یک پیکربندی آزمایشی است. فراموش نکنید که چک کنید مستندات رسمی Proxmox V.E.
برای اجرای یک خوشه آزمایشی، ما سه سرور را با هایپروایزر Proxmox با همان پیکربندی (2 هسته، 2 گیگابایت رم) نصب کردیم.
در ابتدا، پس از نصب سیستم عامل، یک سرور واحد اجرا می شود حالت مستقل.
با کلیک بر روی دکمه یک خوشه ایجاد کنید ایجاد خوشه در بخش مربوطه
ما یک نام برای خوشه آینده تعیین می کنیم و یک اتصال شبکه فعال را انتخاب می کنیم.
روی دکمه Create کلیک کنید. سرور یک کلید 2048 بیتی تولید می کند و آن را همراه با پارامترهای خوشه جدید در فایل های پیکربندی می نویسد.
عنوان وظیفه درست است نشان دهنده اتمام موفقیت آمیز عملیات است. حال با نگاهی به اطلاعات کلی سیستم می توان دریافت که سرور به حالت خوشه ای سوئیچ شده است. تا اینجای کار، خوشه فقط از یک گره تشکیل شده است، یعنی هنوز قابلیت هایی که برای آن خوشه نیاز است را ندارد.
پیوستن به یک خوشه
قبل از اتصال به خوشه ایجاد شده، باید اطلاعاتی را برای تکمیل اتصال به دست آوریم. برای این کار به بخش مراجعه کنید خوشه و دکمه را فشار دهید اطلاعات عضویت.
در پنجره باز شده به محتویات فیلد به همین نام علاقه مندیم. باید کپی شود.
تمام پارامترهای اتصال لازم در اینجا کدگذاری می شوند: آدرس سرور برای اتصال و اثر انگشت دیجیتال. ما به سمت سروری می رویم که باید در خوشه گنجانده شود. دکمه را فشار می دهیم به Cluster بپیوندید و در پنجره باز شده محتوای کپی شده را Paste کنید.
زمینه آدرس همتا и اثر انگشت به صورت خودکار پر می شود. رمز عبور اصلی گره شماره 1 را وارد کنید، اتصال شبکه را انتخاب کرده و دکمه را فشار دهید پیوستن.
در طول فرآیند پیوستن به یک خوشه، ممکن است به روز رسانی صفحه وب رابط کاربری گرافیکی متوقف شود. اشکالی ندارد، فقط صفحه را دوباره بارگذاری کنید. دقیقاً به همین ترتیب، یک گره دیگر اضافه می کنیم و در نتیجه یک خوشه کامل از 3 گره کار می کنیم.
اکنون می توانیم تمام گره های خوشه ای را از یک رابط کاربری گرافیکی کنترل کنیم.
سازمان با دسترسی بالا
Proxmox خارج از جعبه از عملکرد سازمان HA برای ماشین های مجازی و کانتینرهای LXC پشتیبانی می کند. سودمند ها-مدیر خطاها و خرابیها را شناسایی کرده و مدیریت میکند و یک Failover از یک گره شکست خورده به یک گره در حال کار انجام میدهد. برای اینکه مکانیزم به درستی کار کند، لازم است ماشینهای مجازی و کانتینرها دارای یک ذخیرهسازی فایل مشترک باشند.
پس از فعالسازی عملکرد High Availability، پشته نرمافزار ha-manager به طور مداوم وضعیت ماشین مجازی یا کانتینر را کنترل میکند و به صورت ناهمزمان با سایر گرههای خوشهای تعامل دارد.
در حال پیوست کردن فضای ذخیرهسازی مشترک
به عنوان مثال، ما یک اشتراک فایل NFS کوچک را در 192.168.88.18 مستقر کردیم. برای اینکه همه گره های خوشه بتوانند از آن استفاده کنند، باید دستکاری های زیر را انجام دهید.
از منوی رابط وب انتخاب کنید Datacenter - Storage - Add - NFS.
فیلدها را پر کنید ID и سرور. در لیست کشویی صادرات دایرکتوری مورد نظر را از میان موارد موجود و در لیست انتخاب کنید محتوا - انواع داده های مورد نیاز پس از فشار دادن دکمه اضافه کردن ذخیره سازی به تمام گره های خوشه ای متصل خواهد شد.
هنگام ایجاد ماشین های مجازی و کانتینرها در هر یک از گره ها، ما را مشخص می کنیم ذخیره سازی به عنوان ذخیره سازی
راه اندازی HA
به عنوان مثال، اجازه دهید یک ظرف با اوبونتو 18.04 ایجاد کنیم و High Availability را برای آن پیکربندی کنیم. پس از ایجاد و اجرای کانتینر به قسمت بروید Datacenter-HA-Add. در فیلدی که باز می شود، شناسه ماشین مجازی/کانتینر و حداکثر تعداد تلاش برای راه اندازی مجدد و حرکت بین گره ها را مشخص کنید.
در صورت تجاوز از این عدد، هایپروایزر ماشین مجازی را به عنوان ناموفق علامت گذاری می کند و آن را در حالت Error قرار می دهد و پس از آن، انجام هرگونه عملی با آن را متوقف می کند.
پس از فشار دادن دکمه اضافه کردن ابزار ها-مدیر به تمام گره های خوشه اطلاع می دهد که اکنون ماشین مجازی با شناسه مشخص شده کنترل می شود و در صورت خرابی باید روی گره دیگری راه اندازی مجدد شود.
بیا تصادف کنیم
برای اینکه ببینیم مکانیسم سوئیچینگ دقیقا چگونه کار می کند، اجازه دهید منبع تغذیه node1 را به طور غیر عادی خاموش کنیم. ما از گره دیگری نگاه می کنیم که چه اتفاقی در خوشه می افتد. می بینیم که سیستم یک نقص را برطرف کرده است.
عملکرد مکانیسم HA به معنای تداوم VM نیست. به محض سقوط گره، عملیات VM به طور موقت متوقف می شود تا زمانی که به طور خودکار در گره دیگری راه اندازی مجدد شود.
و اینجاست که "جادو" شروع می شود - خوشه به طور خودکار گره را برای اجرای VM ما دوباره اختصاص داد و در عرض 120 ثانیه کار به طور خودکار بازیابی شد.
گره 2 را روی تغذیه خاموش می کنیم. بیایید ببینیم که آیا خوشه زنده خواهد ماند و آیا ماشین مجازی به طور خودکار به حالت کار باز می گردد.
افسوس، همانطور که می بینیم، ما با این واقعیت مشکل داریم که دیگر حد نصابی در تنها گره باقی مانده وجود ندارد، که به طور خودکار HA را غیرفعال می کند. ما دستور نصب اجباری حد نصاب را در کنسول می دهیم.
pvecm expected 1
پس از 2 دقیقه، مکانیسم HA به درستی کار کرد و با پیدا نکردن node2، VM ما را روی node3 راه اندازی کرد.
به محض اینکه node1 و node2 را دوباره روشن کردیم، خوشه به طور کامل بازیابی شد. لطفاً توجه داشته باشید که VM به تنهایی به node1 منتقل نمی شود، اما این کار را می توان به صورت دستی انجام داد.
جمعبندی
ما در مورد نحوه عملکرد مکانیسم خوشه بندی Proxmox به شما گفتیم و همچنین نحوه پیکربندی HA برای ماشین های مجازی و کانتینرها را به شما نشان دادیم. استفاده مناسب از خوشه بندی و HA تا حد زیادی قابلیت اطمینان زیرساخت را افزایش می دهد و همچنین امکان بازیابی بلایا را فراهم می کند.
قبل از ایجاد یک خوشه، باید فوراً برنامهریزی کنید که برای چه اهدافی از آن استفاده میشود و در آینده چقدر باید مقیاسبندی شود. همچنین باید زیرساخت شبکه را از نظر آمادگی برای کار با کمترین تاخیر بررسی کنید تا خوشه آینده بدون خرابی کار کند.
به ما بگویید - آیا از قابلیت های خوشه بندی Proxmox استفاده می کنید؟ در نظرات منتظر شما هستیم.