Прекъсванията и отказите на системата са болезнени за администраторите на база данни, но още повече за клиентите. Днешните потребители очакват почти 100 процента наличност и всичко по-малко е причина за раздразнение, ако имате късмет и загуба на клиент, ако не сте.
Една от основните цели на DBA е да помогне да се гарантира, че екземплярите на SQL Server и базите данни остават онлайн и функционират след повреда или прекъсване. Един от методите за осигуряване на наличност е настройката на Windows Server Failover Clusters със SQL Server.
Аварийният клъстер е група от сървъри, които работят заедно, за да поддържат наличността на вашите приложения и услуги в случай на прекъсване или повреда. По принцип клъстерът за преодоляване на срив взема всички данни, съхранявани в екземпляр на SQL Server и ги инсталира в споделено хранилище – обикновено в SAN – до което може да се осъществява достъп от различни сървъри.
За да ви помогнем да тръгнете по пътя към високата наличност, ние съставихме деветте най-добри правила за настройка на клъстера за отказване на SQL Server, така че да можете да сведете до минимум времето за престой на базата данни.
1. Не пропускайте проверката на клъстера.
Преди да инсталирате клъстер, е задължително да стартирате проверка, за да проверите конфигурацията. Ако това е нов клъстер, ще искате да изпълните всички тестове.
След като клъстерът е настроен и сте напълно инсталирали и конфигурирали своите екземпляри на SQL Server в клъстера, стартирайте проверка всеки път, когато правите промени. Важно е да се уверите, че резултатите от проверката са правилни, преди да активирате своя клъстер за преодоляване на отказ на SQL Server, така че да не се налага да планирате престой, за да коригирате пропуснати проблеми.
2. Направете добре конфигуриране на кворума.
Ако искате да запазите своя SQL Server онлайн, уверете се, че сте конфигурирали правилно кворума в клъстера за отказване. Тази документация на Microsoft предоставя задълбочени инструкции как да постигнете това, но лентата с акценти включва следните най-добри практики:
- Преоценявайте отново кворума всеки път, когато конфигурацията на клъстера се промени
- Определете свидетел, за да получите нечетен брой гласове
- Премахване на гласовете, когато е подходящо
- Използвайте функцията „Динамичен кворум“, за да коригирате динамично гласовете на възли
Важно е да се отбележи, че най-ефективният начин за конфигуриране на кворума ще варира в зависимост от версията на Windows, броя на възлите и колко надеждна е мрежовата комуникация между възлите,
3. Не избирайте грешната версия на Windows или SQL Server.
Това звучи като безсмислено, но винаги си струва да се повтаря. Уверете се, че сте избрали най-новата версия на Windows Server и се уверете, че използвате версията Enterprise или Datacenter. Освен това се придържайте към една версия на SQL Server, за да поддържате нещата прости. Придържането към тези две практики ще направи клъстера ви по-лесен за управление и поддържане онлайн.
4. Купете правилния хардуер.
Правилното оразмеряване на вашия хардуер за клъстер на SQL Server може да бъде трудно. Например, не искате да губите пари за твърде много памет, но ако имате твърде малко, това може да повлияе на производителността.
Докато разработвате плана си за създаване на своя SQL Server клъстер, не забравяйте да потвърдите, че вашите хардуерни нужди са задоволени за точното количество памет, вашият мрежов път е излишен и сте оценили точно нуждите си от SSD.
5. Не поставяйте твърде много възли в един клъстер.
Може да се изкушите да поставите всичките си възли в един клъстер, но е по-добре да се придържате към един до два възела на клъстер. Не забравяйте, че всеки път, когато приложите корекция или актуализация към клъстер, ще трябва да тествате дали всеки екземпляр все още работи на всеки възел. Колкото по-малко възли в клъстер, толкова по-малко време за престой за всеки екземпляр, когато го провалите върху всеки възел.
6. Планирайте своите възли и екземпляри.
Клъстерите при отказ не са универсални, така че ще трябва да оцените нуждите си и да планирате съответно. Страхотно място да започнете е да отговорите на тези въпроси и да приспособите своя клъстер според случая:
- Колко клъстерни възли са ни необходими?
- Колко екземпляра на SQL Server ще инсталираме?
- Колко клъстера за отказване на Windows отговарят на нашите нужди и бюджет?
- Какъв вид хранилище ще използваме?
- Как изглежда нашата сценична среда?
7. Не предполагайте, че приложенията ви ще превключват изящно.
Никога не се доверявайте, че вашият екземпляр на SQL Server работи както преди да се случи отказ. Някои приложения може да не се върнат автоматично онлайн след това и в зависимост от приложението може да отнеме известно време, докато забележите.
Направете стандартна практика да включвате тестване на приложения с всяка миграция към отказен клъстер.
8. Преоценете настройките за конфигурация на SQL Server.
Когато започнете фазата на планиране за създаване на клъстери за преодоляване на отказ на SQL Server, е подходящ момент да разгледате отново настройките си за конфигурация. Например, проверете дали използвате най-добрите настройки за неща като разпределяне на паметта в клъстери с множество екземпляри.
9. Не се бавете с конвенцията за именуване.
Отделете време сега, за да наименувате внимателно компонентите на клъстера си и да си спестите огромно главоболие, когато се опитвате да се свържете със сървъра по-късно. Ето няколко идеи, които да ви помогнат да установите ефективна конвенция за именуване:
- Уверете се, че името идентифицира типа на компонента, който етикетирате. Това е клъстер, физически сървър, екземпляр на SQL Server или координатор на разпределени транзакции?
- Инсталирайте BGINFO, за да покажете името на сървъра на работния плот за всеки сървър в клъстера. Това прави намирането на правилните бази данни лесно.
- Бъдете последователни, когато добавяте допълнителни възли или инсталирате друг екземпляр на SQL Server в клъстера. Ако се придържате към конвенцията си за именуване, това не само ще опрости нещата за вас сега, но и ще улесни намирането на сървъри за тези, които се нуждаят от тях по-късно.