Проблем с основния сървър може да направи сайта недостъпен и да прекъсне продажби, заявки от клиенти или други важни онлайн услуги. Server failover ограничава този риск, като при установен проблем пренасочва трафика към предварително подготвена резервна среда.
Самото наличие на втори сървър обаче не е достатъчно. За да работи резервното превключване надеждно, са необходими наблюдение на основната система, актуални данни в резервната среда и механизъм за пренасочване на трафика.
В следващите редове ще обясним как протича целият процес, какви компоненти са необходими и какво се случва след възстановяването на основния сървър.
Основен извод:
Failover системата засича проблем с основния сървър и пренасочва трафика към предварително подготвен резервен сървър или друга работеща среда. За да продължи сайтът да функционира нормално, резервната среда трябва да разполага с актуални данни, необходимите ресурси и достъп до всички важни услуги, включително базата данни. Failover значително намалява времето, през което сайтът е недостъпен, но не гарантира напълно непрекъсната работа.
Каква е ролята на сървъра при уеб хостинга?
При уеб хостинга сървърът осигурява ресурсите, необходими за работата на сайта. На него могат да се съхраняват файловете, да се изпълняват приложенията и да се обработват заявките, които посетителите изпращат при отваряне на страници или използване на различни функции.
В зависимост от хостинг средата това може да бъде физически сървър, виртуален частен сървър (VPS), облачна инстанция или част от по-голяма инфраструктура. По-сложните сайтове могат да използват отделни сървъри или услуги за приложението, базата данни, файловете и други компоненти.
За да е възможно резервно превключване, един работещ сървър не е достатъчен. Необходима е резервна среда, която може да поеме обслужването при проблем, както и система, която следи състоянието на основния сървър и при необходимост пренасочва трафика към нея.
Как работи резервното превключване на сървър?
Резервното превключване (failover) се задейства, когато основният сървър стане недостъпен или не може да обслужва заявките нормално. Трафикът се пренасочва към предварително подготвена резервна среда, например VPS, облачна инстанция или друг работещ сървър.
Резервното превключване не трябва да се бърка с резервното копие (backup). Backup съхранява копие на данните за последващо възстановяване, докато превключването цели сайтът да продължи да работи при проблем с основния сървър. Той може да бъде част и от по-широк план за аварийно възстановяване (disaster recovery), който включва възстановяване на данни и услуги при по-сериозни инциденти.
Откриване на проблема
Проверките за работоспособност (health checks) следят дали сървърът, приложението и свързаните услуги отговарят нормално. Обикновено превключването се задейства след няколко последователни неуспешни проверки, за да се избегне ненужно превключване при кратко забавяне или временен мрежов проблем.
Изключване на проблемния сървър
След потвърждаване на проблема системата спира да насочва нови заявки към засегнатия сървър. При active-active конфигурация трафикът се поема от останалите работещи сървъри, а при active-passive се активира резервната среда.
Активиране на резервната среда
Резервната среда трябва да разполага с актуалните файлове и конфигурация на сайта, достатъчно ресурси и достъп до необходимите услуги. Ако например базата данни остане недостъпна, работещият резервен сървър сам по себе си няма да е достатъчен за нормалната работа на сайта.
Пренасочване на трафика
При използване на load balancer новите заявки могат бързо да бъдат насочени към работещите сървъри. При DNS failover промяната може да отнеме повече време заради кешираните DNS записи, които част от посетителите все още използват.
Проверка след превключването
След пренасочването се проверява дали сайтът и основните му функции работят нормално, включително връзката с базата данни, формите и потребителските сесии. Проблемният сървър остава извън обслужването, докато причината за отказа не бъде установена и отстранена.
Как изглежда това на практика?
Представете си онлайн магазин, който работи на основен сървър и има подготвена резервна среда. В 14:00 ч. основният сървър спира да отговаря заради хардуерен или мрежов проблем. След няколко неуспешни проверки системата го изключва от обслужването и пренасочва новите посетители към резервния сървър.
Ако файловете, базата данни и останалите необходими услуги са синхронизирани и достъпни, клиентите могат да продължат да разглеждат продукти и да правят поръчки, докато техническият екип отстранява проблема.
Част от посетителите може да усетят кратко забавяне или да се наложи да презаредят страницата, но сайтът няма да остане недостъпен до възстановяването на основния сървър.
Ще усетят ли посетителите прекъсването?
При добре настроена система повечето посетители могат изобщо да не забележат проблема. Възможно е обаче за кратко да видят грешка, страницата да се зареди по-бавно или да се наложи да я презаредят.
В някои случаи активните потребителски сесии също могат да бъдат прекъснати и посетителят да трябва да влезе отново в профила си. Колко осезаемо ще бъде прекъсването зависи от начина, по който е изградена и тествана резервната конфигурация. Затова целта е времето на недостъпност да бъде сведено до минимум, а не да се обещава абсолютна липса на прекъсвания.
Два начина за организиране на резервното превключване
Активен и резервен сървър (Active-Passive)
При този модел основният сървър обслужва посетителите, а вторият остава в готовност. Ако основният откаже, резервният се активира и поема трафика. Конфигурацията е сравнително лесна за управление, но резервният сървър трябва да бъде актуален, редовно тестван и достатъчно мощен, за да поеме целия трафик.
Пример: Онлайн магазин работи на основен VPS, а втори VPS поддържа синхронизирана резервна среда. При проблем с основния сървър трафикът се пренасочва към резервния и магазинът продължава да приема посетители и поръчки, докато повредата бъде отстранена.
Няколко активни сървъра (Active-Active)
При този модел два или повече сървъра обслужват посетителите едновременно. Ако един от тях откаже, той се изключва от разпределението на трафика, а останалите продължават да обработват заявките. Така натоварването се разпределя между няколко сървъра, но конфигурацията и синхронизацията между тях са по-сложни.
Пример: Сайт с голям трафик използва три активни сървъра, между които load balancer разпределя заявките. Ако единият спре да отговаря, той автоматично се изключва от разпределението, а другите два продължават да обслужват посетителите. След отстраняване на проблема сървърът може отново да бъде включен в системата.
Какво е необходимо за надеждно резервно превключване?
Вторият сървър е само една част от системата. За да продължи сайтът да работи при проблем, резервната среда трябва да е подготвена да поеме трафика и да разполага с актуални данни и достъп до необходимите услуги.
Подготвена резервна инфраструктура
Резервният сървър трябва да разполага с достатъчно ресурси, за да поеме необходимото натоварване. Когато е възможно, основната и резервната среда могат да бъдат разположени в различни зони на достъпност (availability zones) или центрове за данни, така че един инфраструктурен проблем да не засегне и двете.
Наблюдение на системата
Проверките за работоспособност (health checks) следят не само дали сървърът е достъпен, но и дали основните услуги работят нормално. Така проблемът може да бъде установен навреме и да се задейства превключването към резервната среда.
В Delta.BG наблюдаваме състоянието на сървърното и мрежовото оборудване, както и условията в средата, в която то работи, като осигуряваме наличност на услугите >99,9%.
При необходимост клиентите могат да използват и допълнителна услуга за системна администрация на своите сървъри и cloud инфраструктура.
Пренасочване на трафика
Load balancer или DNS failover насочва посетителите към работещата среда. При DNS промяната може да достигне по-бавно до част от тях заради кешираните записи.
Актуални данни и услуги
Резервната среда трябва да има актуални файлове, конфигурация и достъп до базата данни и останалите необходими услуги. Без добра синхронизация сайтът може да бъде достъпен, но да показва остаряла информация или да не обработва правилно заявки и транзакции.
Как сървърът се връща в експлоатация?
След отстраняване на проблема сървърът не трябва веднага да започне отново да обслужва трафик. Преди това хостинг екипът трябва да:
- установи и отстрани причината за проблема;
- провери дали сървърът работи стабилно;
- синхронизира файловете, конфигурацията и данните с активната среда;
- провери достъпа до необходимите услуги, включително базата данни;
- тества сайта и основните му функции, преди сървърът отново да поеме реален трафик.
След успешните проверки сървърът може да бъде върнат в активната инфраструктура или отново да стане резервен. Връщането на трафика към възстановения сървър се нарича failback и може да бъде автоматично или ръчно.
Заключение
Най-важното при резервното превключване е подготовката да се направи преди да възникне реален проблем. Резервна среда, която не е синхронизирана или никога не е тествана под реално натоварване, може да създаде допълнителни проблеми точно когато е най-необходима.
Затова при планиране на хостинг инфраструктурата е добре да се прецени не само какъв сървър е необходим при нормална работа, но и как сайтът ще продължи да функционира при отказ на основната система. Колкото по-критична е достъпността на сайта за бизнеса, толкова по-важни са предварително подготвеният план за превключване и редовните тестове.
Ние от Delta.bg предлагаме Cloud VPS платформа, която осигурява устойчива основа за изграждането на подобна хостинг архитектура. Cloud VPS сървърите, базирани на OpenStack, работят върху NVMe инфраструктура с тройна репликация на данните чрез Ceph и резервирана мрежова свързаност, което помага за намаляване на рисковете на инфраструктурно ниво.
Инфраструктурата на Delta.BG се наблюдава постоянно, включително мрежовата свързаност, състоянието на сървърното и мрежовото оборудване и условията в центъра за данни. Осигуряваме 99,9% uptime на услугите ни, а при необходимост клиентите ни могат да се възползват и от допълнителни услуги за системна администрация.
За помощ при избора на Cloud VPS конфигурация за вашия уебсайт се свържете с нас на support@delta.bg или на телефон +359 2 4 288 288.