با سلام در این مقاله قصد دارم تا به یکسری از مفاهیم مهم در HA در مجازی سازی بپردازم و شما را با این مفاهیم آشنا کنم. در مقلات قبلی ما شما را با اجزای HA آشنا کردیم و در این مقاله مواد باقیمانده را توضیح خواهیم داد.
همچنین توصیه میشود مطالعه کنید.
معرفی HA (High Availability) در vSphere 6.7 (بخش اول)
معرفی اجزای HA و نحوه فعال سازی HA بر روی Cluster (بخش دوم)
بررسی Partition و Isolated شدن و VM Protection (بخش چهارم)
Master and Slave
یکی از مفاهیم اصلی در HA، به Master و Slave مربوط میشود. در HA شما در یک زمان فقط یک عدد Master خواهید داشت و باقی سرور ها به عنوان Slave قرار خواهند گرفت. از وظایف اصلی Master میتوان به مانیتورینگ ماشین های مجازی و همچنین ارسال دستور ریستارت ماشین ها بر روی سرور های دیگر اشاره کرد. اما Slave ها وظیفه ارسال اطلاعات ماشین های مجازی شان و همچنین ریستارت کردن ماشین های مجازی را بر عهده خواهند داشت.
نکته : به غیر از زمانی که Network partition( در مقاله بعدی این مفهوم بررسی خواهد شد) اتفاق میوفتد، در باقی زمان ها فقط یک Master خواهیم داشت.
به پروسه انتخاب Master میگویند Election، که در ادامه بررسی خواهیم کرد. Election زمانیکه اتفاق میوفتد که برای بار اول HA بر روی کلاستر فعال شود و همچنین زمانی که برای Master موارد زیر اتفاق بیوفتد :
در حین انتخاب Master به هیچ عنوان Failure تشخیص داده نمیشود، بلکه بعد از انتخاب Master هر گونه Failure که قبل از پروسه Election و در حین پروسه Election اتفاق افتاده باشد بررسی خواهد شد و عمل ریستارت کردن ماشین های مجازی انجام خواهد شد.
نکته : نحوه انتخاب Master به اینصورت بوده که، اگر برای بار اول بر روی Cluster خودتان HA فعال میکنید و در Cluster سروری موجود نباشد اولین سرور که به HA اضافه میشود به عنوان Master قرار میگیرد، اما در مواردی مانند اینکه شما از قبل چندین سرور در کلاستر دارید و بعد HA را بر روی کلاستر فعال کنید، سروری به عنوان Master انتخاب خواهد شد که بیشترین Datastore را داشته باشد، اگر چندین سرور موجود باشد که تعداد Datastore های یکسان داشته باشد، سروری به عنوان Master انتخاب خواهد شد که تعداد Object های بیشتری داشته باشد. بعد از اینکه Master انتخاب شد، سرور های Slave به صورت کاملا امن با Master ارتباط برقرار خواهند کرد اما Slave ها با یکدیگر ارتباطی نخواهند داشت.
برای مشاهده اینکه یک سرور Master بوده یا Slave، اول سرور خود را انتخاب و در سربرگ Summary و بعد در بخش Configuration وارد قسمت vSphere HA State شوید تا ببینید که سرور شما Master بوده یا در Slave است.
Heartbeating
در مقالات قبلی چندین بار در مورد اهمیت Heartbeating صحبت شده است. Heartbeating مکانیزمی بوده که HA از آن استفاده خواهد کرد تا تشخیص دهد که برای کدام سرور ها مشکل ایجاد شده و در حالت Failure قرار دارد. HA از دو مکانیزم برای Heartbeating استفاده میکند که در ادامه بررسی خواهیم کرد.
Network Heartbeating
همانطور که قبلا اشاره کردم، ترافیک مربوط به heartbeat ها از Management VMkernel ارسال و دریافت خواهند شد. نحوه کار به این صورت بوده که Slave ها یک بسته heartbeat برای Master ارسال خواهند کرد و همچنین Master برای Slave ها ارسال میکند تا مطمئن شود که تمام سرور ها بدون مشکل بوده و در حال سرویس دهی هستند.
Datastore Heartbeating
در بعضی از موارد امکان دارد که پورت Management به هر دلیلی دچار مشکل شده باشد و امکان دریافت و ارسال heartbeat وجود نداشته باشد، لذا با اینکه سرور Fail نشده و ماشین های مجازی در حال سرویس دهی هستند، HA اقدام به ریستارت کردن ماشین های مجازی خواهد کرد بدلیل اینکه heartbeat از یکی از slave ها دریافت نخواهد کرد.
راه حل استفاده از Datastore Heartbeating بوده، نحوه کار به این صورت بوده که شما Datastore هایی را مشخص میکنید که تمام سرور های Host به آن دسترسی داشته، چیزی که اتفاق میوفتد این بوده که، هر سرور یک فایل در آن دیتاستور ایجاد خواهد کرد و لیست ماشین های مجازی روشن خود را در آن قرار خواهد داد. حالا اگر Management VMkernel به هر دلیل بین Master و یکی از Slave ها دچار مشکل شود و امکان ارسال heartbeat نباشد، Master بلافاصله سرور را به عنوان سرور Fail تشخیص نداده بلکه وارد آن Datastore میشود و بررسی میکند که سرور در حال Update فایل موجود در Datastore heartbeat است یا نه، اگر آپدیت کرده بوده پس به این نتیجه خواهد رسید که Management VMkernel دچار مشکل شده است و سرور در سلامتی کامل بوده.
نکته : HA بصورت پیشفرض برای Datastore heartbeating دو عدد Datastore انتخاب خواهد کرد که تمام سرور ها به آن ها دسترسی داشته باشند. البته شما میتوانید این تعداد را افزایش یا کاهش دهید.
برای مشاهده تنظیمات مربوط به Datastore Heartbeating شما باید وارد تنظیمات HA شوید و در بخش Datastore heartbeating اقدام به تنظیمات مورد نیاز خود کنید که در ادامه بررسی خواهیم کرد.
Automatically select datastores accessible from the host
بصورت اتوماتیک دو عدد Datastore توسط vSphere HA انتخاب خواهد شد.
Use datastores only from the specified list
اگر این گزینه را انتخاب کنید اتفاقی که خواهد افتاد این است که، شما دو عدد Datastore از لیست زیر انتخاب خواهید کرد. اما نکته مهم این بوده که اگر یکی از Datastore ها از دسترس خارج شود، vSphere HA خودش Datastore دیگری برای جایگزین کردن انتخاب نخواهد کرد.
Use datastores from the specified list and complement automatically if needed
مشابه گزینه بالا با این تفاوت که در صورت از دست رفتن یکی از دیتاستور ها خود vSphere HA یک دیتاستور دیگر را جایگزین خواهد کرد.
نکته : پیشنهاد میشود که بگذارید خود vSphere HA بر اساس پارامتر های خودش Datastore ها را انتخاب کند.
برای مشاهده Datastore های انتخاب شده توسط vSphere HA، بر روی کلاستر خود کلیک کرده و وارد بخش Monitor شوید و از سربرگ های زیر Monitor وارد سربرگ vSphere HA شوید و در اخر Heartbeat، که لیست Datastore ها را نشان میدهد.
به عنوان مورد آخر در این مقاله، یک نگاهی به فایل هایی که سرور ها در Datastore heartbeat آپدیت میکنند بیندازیم.
فقط کافی است که بر روی Datastore هایی که برای heartbeat مورد استفاده قرا میگیرند Browse کرده، و دنبال یک فولدر با نام vSphere-HA بگردید. این فولدر مکانی است که سرور فایل های خود را ایجاد کرده و اقدام به آپدیت کردن میکنند.
در فولدر vsphere-ha یک فولدر دیگری وجود دارد که با FDM شروع شده است. وارد این فولدر شوید، یک سری فایل مشاهده خواهید کرد که به poweron ختم میشوند و این فایل ها در اصل فایل هایی هستند که سرور ها استفاده خواهند کرد.
امیدوارم مفید واقع شده باشد.
همچنین توصیه میشود مطالعه کنید.
معرفی HA (High Availability) در vSphere 6.7 (بخش اول)
معرفی اجزای HA و نحوه فعال سازی HA بر روی Cluster (بخش دوم)
بررسی Partition و Isolated شدن و VM Protection (بخش چهارم)
Master and Slave
یکی از مفاهیم اصلی در HA، به Master و Slave مربوط میشود. در HA شما در یک زمان فقط یک عدد Master خواهید داشت و باقی سرور ها به عنوان Slave قرار خواهند گرفت. از وظایف اصلی Master میتوان به مانیتورینگ ماشین های مجازی و همچنین ارسال دستور ریستارت ماشین ها بر روی سرور های دیگر اشاره کرد. اما Slave ها وظیفه ارسال اطلاعات ماشین های مجازی شان و همچنین ریستارت کردن ماشین های مجازی را بر عهده خواهند داشت.
نکته : به غیر از زمانی که Network partition( در مقاله بعدی این مفهوم بررسی خواهد شد) اتفاق میوفتد، در باقی زمان ها فقط یک Master خواهیم داشت.
به پروسه انتخاب Master میگویند Election، که در ادامه بررسی خواهیم کرد. Election زمانیکه اتفاق میوفتد که برای بار اول HA بر روی کلاستر فعال شود و همچنین زمانی که برای Master موارد زیر اتفاق بیوفتد :
- زمانی که Master از کار افتاده است یا در Fail قرار گرفته باشد.
- زمانی که Network partition / isolated اتفاق بیوفتد.
- سرور Master از vCenter سرور Disconnect شود.
- سرور Master در حالت Maintenance mode قرار بگیرد.
- زمانی که HA را از دوباره تنظیم کنید یا به اصطلاح Reconfigure کنید.
در حین انتخاب Master به هیچ عنوان Failure تشخیص داده نمیشود، بلکه بعد از انتخاب Master هر گونه Failure که قبل از پروسه Election و در حین پروسه Election اتفاق افتاده باشد بررسی خواهد شد و عمل ریستارت کردن ماشین های مجازی انجام خواهد شد.
نکته : نحوه انتخاب Master به اینصورت بوده که، اگر برای بار اول بر روی Cluster خودتان HA فعال میکنید و در Cluster سروری موجود نباشد اولین سرور که به HA اضافه میشود به عنوان Master قرار میگیرد، اما در مواردی مانند اینکه شما از قبل چندین سرور در کلاستر دارید و بعد HA را بر روی کلاستر فعال کنید، سروری به عنوان Master انتخاب خواهد شد که بیشترین Datastore را داشته باشد، اگر چندین سرور موجود باشد که تعداد Datastore های یکسان داشته باشد، سروری به عنوان Master انتخاب خواهد شد که تعداد Object های بیشتری داشته باشد. بعد از اینکه Master انتخاب شد، سرور های Slave به صورت کاملا امن با Master ارتباط برقرار خواهند کرد اما Slave ها با یکدیگر ارتباطی نخواهند داشت.
برای مشاهده اینکه یک سرور Master بوده یا Slave، اول سرور خود را انتخاب و در سربرگ Summary و بعد در بخش Configuration وارد قسمت vSphere HA State شوید تا ببینید که سرور شما Master بوده یا در Slave است.
Heartbeating
در مقالات قبلی چندین بار در مورد اهمیت Heartbeating صحبت شده است. Heartbeating مکانیزمی بوده که HA از آن استفاده خواهد کرد تا تشخیص دهد که برای کدام سرور ها مشکل ایجاد شده و در حالت Failure قرار دارد. HA از دو مکانیزم برای Heartbeating استفاده میکند که در ادامه بررسی خواهیم کرد.
Network Heartbeating
همانطور که قبلا اشاره کردم، ترافیک مربوط به heartbeat ها از Management VMkernel ارسال و دریافت خواهند شد. نحوه کار به این صورت بوده که Slave ها یک بسته heartbeat برای Master ارسال خواهند کرد و همچنین Master برای Slave ها ارسال میکند تا مطمئن شود که تمام سرور ها بدون مشکل بوده و در حال سرویس دهی هستند.
Datastore Heartbeating
در بعضی از موارد امکان دارد که پورت Management به هر دلیلی دچار مشکل شده باشد و امکان دریافت و ارسال heartbeat وجود نداشته باشد، لذا با اینکه سرور Fail نشده و ماشین های مجازی در حال سرویس دهی هستند، HA اقدام به ریستارت کردن ماشین های مجازی خواهد کرد بدلیل اینکه heartbeat از یکی از slave ها دریافت نخواهد کرد.
راه حل استفاده از Datastore Heartbeating بوده، نحوه کار به این صورت بوده که شما Datastore هایی را مشخص میکنید که تمام سرور های Host به آن دسترسی داشته، چیزی که اتفاق میوفتد این بوده که، هر سرور یک فایل در آن دیتاستور ایجاد خواهد کرد و لیست ماشین های مجازی روشن خود را در آن قرار خواهد داد. حالا اگر Management VMkernel به هر دلیل بین Master و یکی از Slave ها دچار مشکل شود و امکان ارسال heartbeat نباشد، Master بلافاصله سرور را به عنوان سرور Fail تشخیص نداده بلکه وارد آن Datastore میشود و بررسی میکند که سرور در حال Update فایل موجود در Datastore heartbeat است یا نه، اگر آپدیت کرده بوده پس به این نتیجه خواهد رسید که Management VMkernel دچار مشکل شده است و سرور در سلامتی کامل بوده.
نکته : HA بصورت پیشفرض برای Datastore heartbeating دو عدد Datastore انتخاب خواهد کرد که تمام سرور ها به آن ها دسترسی داشته باشند. البته شما میتوانید این تعداد را افزایش یا کاهش دهید.
برای مشاهده تنظیمات مربوط به Datastore Heartbeating شما باید وارد تنظیمات HA شوید و در بخش Datastore heartbeating اقدام به تنظیمات مورد نیاز خود کنید که در ادامه بررسی خواهیم کرد.
Automatically select datastores accessible from the host
بصورت اتوماتیک دو عدد Datastore توسط vSphere HA انتخاب خواهد شد.
Use datastores only from the specified list
اگر این گزینه را انتخاب کنید اتفاقی که خواهد افتاد این است که، شما دو عدد Datastore از لیست زیر انتخاب خواهید کرد. اما نکته مهم این بوده که اگر یکی از Datastore ها از دسترس خارج شود، vSphere HA خودش Datastore دیگری برای جایگزین کردن انتخاب نخواهد کرد.
Use datastores from the specified list and complement automatically if needed
مشابه گزینه بالا با این تفاوت که در صورت از دست رفتن یکی از دیتاستور ها خود vSphere HA یک دیتاستور دیگر را جایگزین خواهد کرد.
نکته : پیشنهاد میشود که بگذارید خود vSphere HA بر اساس پارامتر های خودش Datastore ها را انتخاب کند.
برای مشاهده Datastore های انتخاب شده توسط vSphere HA، بر روی کلاستر خود کلیک کرده و وارد بخش Monitor شوید و از سربرگ های زیر Monitor وارد سربرگ vSphere HA شوید و در اخر Heartbeat، که لیست Datastore ها را نشان میدهد.
به عنوان مورد آخر در این مقاله، یک نگاهی به فایل هایی که سرور ها در Datastore heartbeat آپدیت میکنند بیندازیم.
فقط کافی است که بر روی Datastore هایی که برای heartbeat مورد استفاده قرا میگیرند Browse کرده، و دنبال یک فولدر با نام vSphere-HA بگردید. این فولدر مکانی است که سرور فایل های خود را ایجاد کرده و اقدام به آپدیت کردن میکنند.
در فولدر vsphere-ha یک فولدر دیگری وجود دارد که با FDM شروع شده است. وارد این فولدر شوید، یک سری فایل مشاهده خواهید کرد که به poweron ختم میشوند و این فایل ها در اصل فایل هایی هستند که سرور ها استفاده خواهند کرد.
امیدوارم مفید واقع شده باشد.