Розроблена інженерами Über система зберігання даних Schemaless використовується в декількох найважливіших і великих сервісах нашої компанії (наприклад, Mezzanine). Schemaless — це масштабоване та надійне сховище даних, що працює поверх кластерів MySQL1. Коли цих кластерів було 16, керування ними була нескладною справою. Але зараз у нас їх понад 1 000, і в них розгорнуто не менше 4 000 серверів баз даних. Управління такою системою вимагає інструментів зовсім іншого класу.
З безлічі компонентів, що входять до Schemadock, порівняно невеликий, але дуже важливою частиною є Docker. Перехід на більш масштабоване рішення став для нас знаковою подією, і в даній статті ми розповіли про те, як Docker допоміг нам цього домогтися.
Читати далі →

Інфраструктура онлайн ігри

image
Привіт, мене звуть Олександр Зеленін я на дуді грець веб-розробник. Півтора року тому я розповідав про розробку онлайн ігри. Так ось, вона трохи розрослася… Сумарний обсяг вихідного коду перевищив «Війну і мир» вдвічі. Однак у даній статті я хочу розповісти не про коді, а про організацію інфраструктури проекту.
Читати далі →

Як я зробив віддзеркалення віртуальних машин для Free ESXi

У своїй домашній лабораторії я використовую безкоштовну віртуалізацію від VMware – це дешево і надійно. Спочатку був один сервер, потім у нього почав додавати локальні датасторы, потім зібрав другий сервер… Стандартною проблемою при цьому був переїзд віртуальної машини. Роблячи ці операції вручну, я натрапив на один спосіб, який дозволяв переключити працюючу віртуальну машину на копії флэтов зовсім в іншому місці. Спосіб дуже простий: досить створити снапшот віртуальної машини, скопіювати флэты в нове місце, а потім в дельті перебити посилання на батьківський диск. Гіпервізор не тримає файли метаданих диска відкритими, тому при видаленні снапшота відбувається зливання з новим диском, а старий можна спокійно видаляти. Цей спосіб прекрасно працює без всякого VDDK, який недоступний на безкоштовних гипервизорах і яким користується, наприклад, Veeam в схожій ситуації.
Я без праці автоматизував цю процедуру на python, застосувавши ще кілька трюків, які, при наявності запитів, зможу розкрити в наступних статтях. Трохи пізніше знайшовся добрий чоловік з моїх колишніх колег по цеху, який погодився написати гуй, останній, правда, реалізований на Unity, але для отриманого безкоштовного солюшена, названого нами Extrasphere, це було зовсім не погано. Чим не іграшка для адміна?
Читати далі →

Асинхронна реплікація без цензури



Олег Царьов ( zabivator
Є майстер, майстер несподівано впав, але система продовжує працювати. Клієнти мігрують на другу базу. Потрібно робити резервні копії бази. Якщо робити резервні копії на основній базі, ми можемо отримати якісь проблеми продуктивності, збільшення часу відгуку. Це погано. Тому досить поширений приклад асинхронної реплікації — це зняття резервної копії з слэйва. Інший приклад — це міграція важких запитів з майстра на слэйв, з основної бази на другу. Наприклад, побудова звітів.

Іноді буває необхідно, щоб програма могла отримувати всі оновлення з бази і бажано в режимі реального часу. Цим займається ореп source бібліотека, яка називається libslave.

Читати далі →

Як влаштована MySQL-реплікація

Андрій Аксьонов
Андрій Аксьонов (Sphinx), shodan
Мій доповідь призначений для тих людей, які знають слово «реплікація», навіть знають, що в MySQL вона є, і, можливо, один раз її налаштували, 15 хвилин витратили і забули. Більше про неї вони не знають нічого.
Ми трохи пройдемося по теорії, спробуємо пояснити, як це все працює всередині, а після цього ви з потрійними силами зможете самі пірнути в документацію.
Що таке реплікація, в принципі? Це копіювання змін. У нас є одна копія БД, ми хочемо з якоюсь метою ще одну копію.
Реплікація буває різних видів. Різні осі порівняння:
  • ступінь синхронізації змін (sync, async, semisync);
  • кількість серверів записи (M/S, M/M);
  • формат змін (statement-based (SBR), row-based (RBR), mixed);
  • теоретично, модель передачі змін (push, pull).

Читати далі →

Як ми NoSQL в «реляционку» реплицировали

У наші дні NoSQL продовжує набирати популярність, але мало хто знає, що нереляційні СУБД з'явилися набагато раніше навіть самої реляційної алгебри. 40 і навіть 50 років тому в первинному «бульйоні», що зароджується IT індустрії «варилися» тільки NoSQL-продукти. І що найцікавіше – продукти, народжені в ті складні часи, живі до цих пір і прекрасно себе почувають.
Одним з таких продуктів стала СУБД GT.m, розроблена компанією Graystone Tehnologies в 70-80-х роках минулого століття. СУБД знайшла широке застосування в медицині, страхування та банківській сфері.

У нашому банку ми теж використовуємо GT.m, і цей інструмент прекрасно справляється з обробкою великої кількості транзакцій. Але… Є одна проблема: GT.m ніякої для аналітики, в ньому немає SQL, аналітичних запитів і всього того, що робить фінансового аналітика щасливим. Тому ми розробили власний «велосипед» для реплікації даних GT.m в «реляційні» СУБД.


А ось тут повинна була бути картинка з літаючим велосипедом

Всіх зацікавлених запрошуємо під кат.


Читати далі →

Як ми перенесли дисковий простір сотень філій банку в одну СГД в Москві без втрати LAN-швидкостей на місцях

Дано: банк з дата-центром у Москві та безліччю філій.

У дата-центрі стоїть купа x86-машин і серйозна хайэндовая система зберігання даних (СЗД). У філіях реалізована мережі з центральним сервером або міні-кластером (+ резервним сервером і low-end сховищем), з дисковою кошиком. Бекап загальних даних робиться на стрічці і ввечері сейф) або ж на інший сервак поруч з першим. Критичні дані (фінансові транзакції, наприклад), асинхронно реплікуються в центр. На сервері працює Exchange, AD, антивірус, файловий сервер і так далі. Є ще дані, які не є критичними для банківської мережі (це не прямі транзакції), але все ще дуже важливі — наприклад, документи. Вони не реплікуються, але іноді бекапятся ночами, коли філія не працює. Через півгодини після закінчення робочого дня всі сесії гасяться, і починається велика копіювання.


Ось приблизно так це було влаштовано до початку робіт

Проблема, звичайно, в тому, що все це починає повільно збільшувати технологічний борг. Хорошим рішенням було б зробити VDI-доступ (це позбавило б від необхідності тримати величезну сервісну команду і сильно полегшило б адміністрування), але VDI вимагає широких каналів та малих затримок. А це в Росії не завжди виходить елементарно через відсутність магістральної оптики в ряді міст. З кожним місяцем збільшується кількість неприємних «передаварійних» інцидентів, постійно заважають обмеження заліза.

І ось банк вирішив зробити те, що, начебто, дорожче за впровадження, якщо вважати безпосередньо, але сильно спрощує обслуговування серверної інфраструктури у філіях і гарантує схоронність даних філії: консолідувати всі дані в одну центральну СГД. Тільки не просту, а ще з розумним локальним кешем.
Читати далі →

Як «бути готовим» або DR на Nutanix: асинхронна реплікація



Тема побудови відмовостійких ЦОД з використанням гиперконвергентных систем Nutanix досить велика, тому, щоб, з одного боку, «не скакати по верхівках», а з іншого — не заглиблюватися в занудность, розіб'ємо її на дві частини. У першій розглянемо теорію і «класичні» методи реплікації, у другій — нашу нову фішку, так звану Metro Availability, можливість побудови синхронно-реплицируемого метрокластера (metropolitan-area, масштабу великого міста і навіть більше) на відстані розносу датацентрів до 400 кілометрів.

Сьогодні вже дуже рідко доводиться починати з самого початку» і пояснювати, навіщо взагалі потрібен резервний датацентр. Сьогодні, коли, з одного боку, зросли обсяги і цінність зберігається в ЦОДах інформації, з іншого — подешевшали і отримали широке поширення багато рішень для організації розподіленого зберігання і обробки даних, зазвичай вже не треба пояснювати навіщо компанії потрібен резервний ЦОД. Але все ще доводиться дивитися на те, «як саме» і який він потрібен.

Читати далі →

Як я перестав хвилюватися і полюбив реплікацію Hyper-V

Можливо, це дивно, але в перші дні на роботі після новорічних канікул, коли всі впало за свята вже успішно повернуто до життя, у багатьох виникає бажання якось впорядкувати інформацію в своїй голові, щоб привести її до систематизованого вигляду. Хорошим каталізатором цього процесу є усвідомлення факту, що начебто і маєш багажем знань, але бабусі з вулиці або шестирічному дитині в простих словах цей багаж ну ніяк не вийде пояснити. Бо, як говорить народна мудрість, не зміг пояснити дитині — значить, сам не знаєш. Та й взагалі, дефрагментація інформації ще нікому не шкодила.
Але у нас не курс прикладної психології, тому сьогодні я просто викладу в систематизованому вигляді набору пікселів максимальна кількість корисної інформації про функції реплікації віртуальних машин в середовищі гіпервізора Hyper-V на прикладі поточної версії Windows Server 2012 R2.

Отже, на що я хочу витратити приблизно годину вашого часу:
  • Треба зрозуміти, навіщо взагалі потрібна реплікації в умовах сучасного світу
  • Скласти чек лист з очевидних і не дуже пунктів, що передують налаштування серверів
  • Як правильно і швидко налаштувати реплікацію вбудованими засобами. Досить докладно, але без води
  • Кілька порад по оптимізації процесу реплікації.
  • Ні слова про продукти Veeam або інших вендорів.

Читати далі →