Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

Значајан број Ентерприсе апликација и система виртуелизације има своје механизме за изградњу решења отпорних на грешке. Конкретно, Орацле РАЦ (Орацле Реал Апплицатион Цлустер) је кластер два или више Орацле сервера база података који раде заједно како би уравнотежили оптерећење и обезбедили толеранцију грешака на нивоу сервера/апликације. Да бисте радили у овом режиму, потребно вам је заједничко складиште, што је обично систем за складиштење.

Као што смо већ расправљали у једном од наших чланци, сам систем складиштења, упркос присуству дуплираних компоненти (укључујући и контролере), и даље има тачке квара - углавном у облику једног скупа података. Стога, да би се изградило Орацле решење са повећаним захтевима за поузданост, шема „Н сервери – један систем за складиштење“ мора да буде компликована.

Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

Прво, наравно, треба да одлучимо од којих ризика покушавамо да се осигурамо. У овом чланку нећемо разматрати заштиту од претњи као што је „метеорит је стигао“. Стога ће изградња географски распршеног решења за опоравак од катастрофе остати тема за један од следећих чланака. Овде ћемо погледати такозвано Цросс-Рацк решење за опоравак од катастрофе, када је заштита изграђена на нивоу серверских ормара. Сами ормари могу се налазити у истој просторији или у различитим, али обично у истој згради.

Ови ормари морају да садрже цео неопходан сет опреме и софтвера који ће омогућити рад Орацле база података без обзира на стање „суседа“. Другим речима, користећи Цросс-Рацк решење за опоравак од катастрофе, елиминишемо ризике од неуспеха:

  • Орацле апликацијски сервери
  • Системи складиштења
  • Преклопни системи
  • Потпуни квар све опреме у ормару:
    • Одбијање снаге
    • Квар расхладног система
    • Спољни фактори (људ, природа, итд.)

Дуплирање Орацле сервера подразумева сам принцип рада Орацле РАЦ-а и имплементира се кроз апликацију. Дуплирање комутационих објеката такође није проблем. Али са дуплирањем система за складиштење, све није тако једноставно.

Најједноставнија опција је репликација података из главног система за складиштење у резервни. Синхрони или асинхрони, у зависности од могућности система за складиштење података. Код асинхроне репликације, одмах се поставља питање обезбеђивања конзистентности података у односу на Орацле. Али чак и ако постоји интеграција софтвера са апликацијом, у сваком случају, ако дође до квара на главном систему складиштења, биће потребна ручна интервенција администратора како би се кластер пребацио на резервно складиште.

Сложенија опција су софтверски и/или хардверски „виртуализатори“ за складиштење који ће елиминисати проблеме конзистентности и ручне интервенције. Али сложеност постављања и накнадне администрације, као и веома непристојна цена таквих решења, плаши многе.

Решење АццелСтор НеоСаппхире™ Алл Фласх низ је савршено за сценарије као што је опоравак од катастрофе са више регала ХКСНУМКС користећи архитектуру Схаред-Нотхинг. Овај модел је систем за складиштење са два чвора који користи власничку технологију ФлекиРемап® за рад са флеш дисковима. Захваљујући ФлекиРемап® НеоСаппхире™ Х710 је способан да испоручи перформансе до 600К ИОПС@4К насумично уписивање и 1М+ ИОПС@4К насумично читање, што је недостижно када се користе класични РАИД системи за складиштење података.

Али главна карактеристика НеоСаппхире™ Х710 је извршавање два чвора у облику одвојених кућишта, од којих сваки има своју копију података. Синхронизација чворова се врши преко екстерног ИнфиниБанд интерфејса. Захваљујући овој архитектури, могуће је дистрибуирати чворове на различите локације на удаљености до 100м, чиме се обезбеђује Цросс-Рацк решење за опоравак од катастрофе. Оба чвора раде потпуно синхроно. Са стране домаћина, Х710 изгледа као обичан систем за складиштење са два контролера. Због тога нема потребе за додатним софтверским или хардверским опцијама или посебно сложеним подешавањима.

Ако упоредимо сва решења за опоравак од катастрофе која су описана изнад, онда се опција АццелСтор-а приметно издваја од осталих:

Архитектура АццелСтор НеоСаппхире™ Схаред Нотхинг
Систем за складиштење софтвера или хардвера „виртуализатор“.
Решење засновано на репликацији

Доступност

Грешка сервера
Нема застоја
Нема застоја
Нема застоја

Квар прекидача
Нема застоја
Нема застоја
Нема застоја

Квар система за складиштење података
Нема застоја
Нема застоја
Довнтиме

Неисправност читавог кабинета
Нема застоја
Нема застоја
Довнтиме

Цена и сложеност

Цена решења
ниско*
Висок
Висок

Сложеност примене
Низкаа
Висок
Висок

*АццелСтор НеоСаппхире™ је и даље Алл Фласх низ, који по дефиницији не кошта „3 копејке“, посебно зато што има дуплу резерву капацитета. Међутим, када се упореди коначна цена решења заснованог на њему са сличним решењима других произвођача, цена се може сматрати ниском.

Топологија за повезивање сервера апликација и свих чворова Фласх низа ће изгледати овако:

Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

Приликом планирања топологије, такође се препоручује дуплирање управљачких прекидача и сервера за међусобно повезивање.

Овде и даље ћемо причати о повезивању преко Фибре Цханнел-а. Ако користите иСЦСИ, све ће бити исто, прилагођено типовима коришћених прекидача и мало другачијим подешавањима низа.

Припремни радови на низу

Коришћена опрема и софтвер

Спецификације сервера и прекидача

Компоненте
Опис

Орацле Датабасе 11г сервери
Два

Серверски оперативни систем
Орацле Линук

Верзија базе података Орацле
11 г (РАЦ)

Процесори по серверу
Два 16 језгра Интел® Ксеон® ЦПУ Е5-2667 в2 на 3.30 ГХз

Физичка меморија по серверу
КСНУМКСГБ

ФЦ мрежа
16Гб/с ФЦ са вишеструким путем

ФЦ ХБА
Емулек Лпе-16002Б

Наменски јавни 1ГбЕ портови за управљање кластерима
Интел Етхернет адаптер РЈ45

16Гб/с ФЦ прекидач
Брокат 6505

Наменски приватни 10ГбЕ портови за синхронизацију података
Интел КСКСНУМКС

АццелСтор НеоСаппхире™ Алл Фласх Арраи Спецификација

Компоненте
Опис

Систем за складиштење
НеоСаппхире™ модел високе доступности: Х710

Верзија слике
4.0.1

Укупан број дискова
48

Величина диска
КСНУМКСТБ

Тип погона
ССД

ФЦ циљни портови
16к 16Гб портова (8 по чвору)

Управљачке луке
1ГбЕ етернет кабл који се повезује са домаћинима преко етернет прекидача

Порт за откуцаје срца
1ГбЕ етернет кабл који повезује два чвора за складиштење

Порт за синхронизацију података
56Гб/с ИнфиниБанд кабл

Пре него што будете могли да користите низ, морате га иницијализовати. Подразумевано, контролна адреса оба чвора је иста (192.168.1.1). Потребно је да се повежете са њима један по један и подесите нове (већ различите) адресе управљања и подесите временску синхронизацију, након чега се портови за управљање могу повезати на једну мрежу. Након тога, чворови се комбинују у ХА пар додељивањем подмрежа за интерлинк везе.

Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

Након што је иницијализација завршена, можете управљати низом са било ког чвора.

Затим креирамо потребне томове и објављујемо их на серверима апликација.

Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

Веома је препоручљиво креирати више волумена за Орацле АСМ јер ће то повећати број циљева за сервере, што ће на крају побољшати укупне перформансе (више о редовима у другом Чланак).

Тест конфигурација

Назив запремине складишта
Волуме Сизе

Дата01
КСНУМКСГБ

Дата02
КСНУМКСГБ

Дата03
КСНУМКСГБ

Дата04
КСНУМКСГБ

Дата05
КСНУМКСГБ

Дата06
КСНУМКСГБ

Дата07
КСНУМКСГБ

Дата08
КСНУМКСГБ

Дата09
КСНУМКСГБ

Дата10
КСНУМКСГБ

ГридКСНУМКС
КСНУМКСГБ

ГридКСНУМКС
КСНУМКСГБ

ГридКСНУМКС
КСНУМКСГБ

ГридКСНУМКС
КСНУМКСГБ

ГридКСНУМКС
КСНУМКСГБ

ГридКСНУМКС
КСНУМКСГБ

Редо01
КСНУМКСГБ

Редо02
КСНУМКСГБ

Редо03
КСНУМКСГБ

Редо04
КСНУМКСГБ

Редо05
КСНУМКСГБ

Редо06
КСНУМКСГБ

Редо07
КСНУМКСГБ

Редо08
КСНУМКСГБ

Редо09
КСНУМКСГБ

Редо10
КСНУМКСГБ

Нека објашњења о режимима рада низа и процесима који се дешавају у ванредним ситуацијама

Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

Скуп података сваког чвора има параметар „број верзије“. Након почетне иницијализације, она је иста и једнака је 1. Ако је из неког разлога број верзије другачији, тада се подаци увек синхронизују са старије верзије на млађу, након чега се поравнава број млађе верзије, тј. то значи да су копије идентичне. Разлози зашто се верзије могу разликовати:

  • Планирано поновно покретање једног од чворова
  • Несрећа на једном од чворова због изненадног искључивања (напајање, прегревање, итд.).
  • Изгубљена ИнфиниБанд веза са немогућношћу синхронизације
  • Пад на једном од чворова због оштећења података. Овде ћете морати да креирате нову ХА групу и завршите синхронизацију скупа података.

У сваком случају, чвор који остаје на мрежи повећава број своје верзије за један да би синхронизовао свој скуп података након што се веза са паром обнови.

Ако се веза преко Етхернет везе изгуби, Хеартбеат се привремено пребацује на ИнфиниБанд и враћа се у року од 10 секунди када се врати.

Постављање домаћина

Да бисте осигурали толеранцију грешака и побољшали перформансе, морате омогућити МПИО подршку за низ. Да бисте то урадили, потребно је да додате линије у датотеку /етц/мултипатх.цонф, а затим поново покренете услугу вишеструке путање

Скривени текстуређаји {
уређај {
продавац "АСтор"
патх_гроупинг_полици "гроуп_би_прио"
селектор путање "дужина реда 0"
патх_цхецкер "тур"
карактеристике "0"
хардваре_хандлер "0"
прио "цонст"
хитан повратак на грешку
фаст_ио_фаил_тмо 5
дев_лосс_тмо 60
усер_фриендли_намес да
детектовати_прио да
рр_мин_ио_рк 1
но_патх_ретри 0
}
}

Затим, да би АСМ радио са МПИО преко АСМЛиб-а, потребно је да промените /етц/сисцонфиг/орацлеасм датотеку и затим покренете /етц/инит.д/орацлеасм сцандискс

Скривени текст

# ОРАЦЛЕАСМ_СЦАНОРДЕР: Поклапање образаца за наручивање скенирања диска
ОРАЦЛЕАСМ_СЦАНОРДЕР="дм"

# ОРАЦЛЕАСМ_СЦАНЕКСЦЛУДЕ: Поклапање узорака за изузимање дискова из скенирања
ОРАЦЛЕАСМ_СЦАНЕКСЦЛУДЕ="сд"

Приметити

Ако не желите да користите АСМЛиб, можете користити УДЕВ правила, која су основа за АСМЛиб.

Почевши од верзије 12.1.0.2 Орацле базе података, опција је доступна за инсталацију као део АСМФД софтвера.

Неопходно је осигурати да дискови креирани за Орацле АСМ буду усклађени са величином блока са којом низ физички ради (4К). У супротном, може доћи до проблема са перформансама. Због тога је потребно креирати волумене са одговарајућим параметрима:

партед /дев/маппер/девице-наме мклабел гпт мкпарт примарни 2048с 100% алигн-цхецк оптимално 1

Дистрибуција база података по креираним волуменима за нашу тестну конфигурацију

Назив запремине складишта
Волуме Сизе
Мапирање ЛУН-ова запремине
АСМ Волуме Девице Девице
Алокација јединица величина

Дата01
КСНУМКСГБ
Мапирајте све запремине складиштења на све портове података система за складиштење
Редундантност: Нормална
Име: ДГДАТА
Сврха: Датотеке са подацима

4МВ

Дата02
КСНУМКСГБ

Дата03
КСНУМКСГБ

Дата04
КСНУМКСГБ

Дата05
КСНУМКСГБ

Дата06
КСНУМКСГБ

Дата07
КСНУМКСГБ

Дата08
КСНУМКСГБ

Дата09
КСНУМКСГБ

Дата10
КСНУМКСГБ

ГридКСНУМКС
КСНУМКСГБ
Редундантност: Нормална
Име: ДГГРИД1
Сврха: Мрежа: ЦРС и гласање

4МВ

ГридКСНУМКС
КСНУМКСГБ

ГридКСНУМКС
КСНУМКСГБ

ГридКСНУМКС
КСНУМКСГБ
Редундантност: Нормална
Име: ДГГРИД2
Сврха: Мрежа: ЦРС и гласање

4МВ

ГридКСНУМКС
КСНУМКСГБ

ГридКСНУМКС
КСНУМКСГБ

Редо01
КСНУМКСГБ
Редундантност: Нормална
Назив: ДГРЕДО1
Сврха: Поновите евиденцију нити 1

4МВ

Редо02
КСНУМКСГБ

Редо03
КСНУМКСГБ

Редо04
КСНУМКСГБ

Редо05
КСНУМКСГБ

Редо06
КСНУМКСГБ
Редундантност: Нормална
Назив: ДГРЕДО2
Сврха: Поновите евиденцију нити 2

4МВ

Редо07
КСНУМКСГБ

Редо08
КСНУМКСГБ

Редо09
КСНУМКСГБ

Редо10
КСНУМКСГБ

Подешавања базе података

  • Величина блока = 8К
  • Простор за замену = 16 ГБ
  • Онемогућите АММ (аутоматско управљање меморијом)
  • Онемогућите Транспарентне огромне странице

Остала подешавања

# ви /етц/сисцтл.цонф
✓ фс.аио-мак-нр = 1048576
✓ фс.филе-мак = 6815744
✓ кернел.схммак 103079215104
✓ кернел.схмалл 31457280
✓ кернел.схммн 4096
✓ кернел.сем = 250 32000 100 128
✓ нет.ипв4.ип_лоцал_порт_ранге = 9000 65500
✓ нет.цоре.рмем_дефаулт = 262144
✓ нет.цоре.рмем_мак = 4194304
✓ нет.цоре.вмем_дефаулт = 262144
✓ нет.цоре.вмем_мак = 1048586
✓вм.сваппинесс=10
✓ вм.мин_фрее_кбитес=524288 # не постављајте ово ако користите Линук к86
✓ вм.вфс_цацхе_прессуре=200
✓ вм.нр_хугепагес = 57000

# ви /етц/сецурити/лимитс.цонф
✓ мекана мрежа нпроц 2047
✓ грид хард нпроц 16384
✓ грид софт нофиле 1024
✓ грид хард нофиле 65536
✓ мекана мрежа 10240
✓ решетка хард стацк 32768
✓ орацле софт нпроц 2047
✓ орацле хард нпроц 16384
✓ Орацле софт нофиле 1024
✓ орацле хард нофиле 65536
✓ Орацле софт стацк 10240
✓ Орацле хард стацк 32768
✓ меки мемлоцк 120795954
✓ тврди мемлоцк 120795954

склплус “/ас сисдба”
алтер систем сет процессс=2000 сцопе=спфиле;
алтер систем сет опен_цурсорс=2000 сцопе=спфиле;
алтер систем сет сессион_цацхед_цурсорс=300 сцопе=спфиле;
алтер систем сет дб_филес=8192 сцопе=спфиле;

Тест неуспеха

За потребе демонстрације, ХаммерДБ је коришћен за емулацију ОЛТП оптерећења. ХаммерДБ конфигурација:

Број складишта
256

Укупан број трансакција по кориснику
1000000000000

Виртуелни корисници
256

Резултат је био 2.1 милиона ТПМ, што је далеко од границе перформанси низа ХКСНУМКС, али је „плафон“ за тренутну хардверску конфигурацију сервера (пре свега због процесора) и њихов број. Сврха овог теста је и даље да покаже толеранцију на грешке решења у целини, а не да постигне максималне перформансе. Стога ћемо једноставно градити на овој цифри.

Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

Тестирајте квар једног од чворова

Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

Домаћини су изгубили део стаза до складишта, настављајући да раде кроз преостале са другим чвором. Перформансе су пале на неколико секунди због обнављања стаза, а затим су се вратиле у нормалу. Није било прекида у служби.

Тест квара ормана са свом опремом

Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

Изградња решења отпорног на грешке заснованог на Орацле РАЦ и АццелСтор Схаред-Нотхинг архитектури

У овом случају, учинак је такође опао на неколико секунди због реструктурирања путања, а затим се вратио на половину првобитне вредности. Резултат је преполовљен у односу на почетни због искључења једног сервера апликација из рада. Није било ни прекида у служби.

Ако постоји потреба да се имплементира решење за опоравак од катастрофе које је толерантно на грешке за Орацле по разумној цени и уз мало напора при постављању/администрирању, онда Орацле РАЦ и архитектура раде заједно АццелСтор Схаред-Нотхинг биће једна од најбољих опција. Уместо Орацле РАЦ-а, може постојати било који други софтвер који обезбеђује груписање, исти ДБМС или виртуелизациони системи, на пример. Принцип конструисања решења ће остати исти. А доња линија је нула за РТО и РПО.

Извор: ввв.хабр.цом

Додај коментар