LINUX.ORG.RU
ФорумAdmin

Посоветуйте, покритикуйте, виртуализация, архитектура.

 


5

5

Доброго всем вечера!

dyasny, справедливо посоветовал мне создать отдельный топик, и собственно по-делу тоже обещал высказаться. Прошу совета, и адекватной критики.

Задача: обслуживать сеть, на 200 персон. С примерным набором ПО: Oracle, apache, samba, 1C, ejabberd, openmeeting, freeradius, postgesql, postfix и проч. - Сервисов очень прилично, но они все не высоконагруженные, они просто разные.

Хочется: как можно меньше ломаться, и после сбоя быстро подниматься. Как можно проще управляться. Как можно дешевле обходиться. И как можно проще отлаживаться/обновляться - т.е. иметь возможность поднять копию любого виртуализованного сервиса.

Есть несколько географически разнесённых комнатушек/серверных, соединенных между собой 1гбит. сетью общего пользования (в разных зданиях).

Есть 2 сервера, с 32гб. ОЗУ, одна машинка без ECC с 64 гб., и пару машинок с 16гб. ОЗУ.

Как можно организовать то, что я хочу имея то, что имею сейчас? То есть без покупки: NAS или построения SAN. Без покупки свитчей с поддержкой больших кадров, и скоростями 10гбит/сек.

Сейчас, мне всё это видится следующим образом:

Сервер с 64гб. озу, выделяется под backup. + на нём выполняются не критичные VM, не требующие backup - учебные машины, или копии продуктивных систем для тестов.

ansible, который может управлять узлами с KVM + к нему: rundesk. Web лицо для kvm: WebVirtMgr.

На узлах с KVM, будет использована zfs, при помощи которой раз в некоторое время я буду получать снепшоты, и передавать их по LAN, на сервер backup. + На сервер backup передавать xml определения libvirt от машин.

Если у меня выйдет из строя совсем что-то жёстко, то я смогу подняться с backup. Если мне нужно перенести машину с железа, на железо: то можно использовать или сам kvm, он умеет вроде что-то делать. Или выключить VM, и перенести дельту снепшота и подняться на backup сервере временно. - В общем такие нюансы устраивают Руководство, но всё же, мне хочется подумать, над вариантами.

Какие варианты я рассматривал:

купить дублированную SAN, ПО для виртуализации, сервера для архивации - дорого.

oVirt, с GlusterFS, но... Тут возникает вопрос, что ей нужна очень хорошая сеть, чего я тоже не могу предоставить, даже если я всё поставлю в одной серверной комнате, то, у меня я думаю гагибита моего не хватит. И плюс ко всему меня настораживает, что oVirt, всё же полигон для RHEVа. И БОЛЬШЕ всего мне не понятен тут вопрос с резервированием образов виртуальных машин при таком раскладе, а именно: не ясно, что делать в случае повреждения GlusterFS? Ведь она получается вообще никак не резервируется, и если у меня побьётся по какой-либо причине образ VM, мне не откуда будет взять резервный образ. Зато появится онлайн миграция, и удобная управлялка, ну и ввод в строй нового узла - будет очень простым делом. Но прибавится гемор по сопровождению версий ovirt + резервирования engine. - В общем, на мой взгляд тут больше оверхеда и минусов, чем плюсов реальных для меня.

облака: не подходят, ибо дорого. Облачные машинки с 12 гб ОЗУ и 500 гб стораджа - нынче очень не дешёвые. Так же все перенести в облако не получится, а гибридное облако тоже те ещё страдания... Интернет канал не быстрый. В основном все работают из одной точки. А облака, это больше для паблик сервисов - ИМХО.

Особых идей больше нету. Что скажет уважаемый all?

★★★★★

oVirt, с GlusterFS, но...

This. У нас аналогичная схема используется (только вместо ovirt - голый libvirt). То есть если смущает ovirt и никаких киллер-фич не планируется использовать - его можно заменить просто libvirt'ом.

ansible

Правильно.

к нему: rundesk

Зачем?

Web лицо для kvm: WebVirtMgr.

Зачем?

На узлах с KVM, будет использована zfs, при помощи которой раз в некоторое время я буду получать снепшоты, и передавать их по LAN, на сервер backup. + На сервер backup передавать xml определения libvirt от машин.

Использовать ZFS - хорошее решение. Предупреждаю что набегут местные кукаретики и будут кричать НЕНУЖНО - не слушай их.

Особых идей больше нету. Что скажет уважаемый all?

Будут еще вопросы - кастуй.

dvrts ★★★
()
Ответ на: комментарий от dvrts

В rundesk планирую создать кнопки для ansible, которые будут исполнять playbook, для тестировщиков, ну и можно туда положить часто используемые кнопки для виртуализации по надобности.

Вебморда - для коллег, чтобы тестировщики могли сами откатываться из снепшотов виртуальных машин, например.

Эти пункты опциональны. Такой скажем бантик. Ну и когда я в отпуске буду, чтобы кто-то присматривать мог удобно.

Да, вопрос есть. Подскажи, как бы мне организовать общее для всех iso хранилище образов мне нужных, для виртуалок? Сейчас планирую пока WebDav, ибо он скачивает файлы вроде в кеш перед использованием. - А мне важно, чтобы iso образы располагались локально. - Ну по крайней мере Oracle настоятельно это рекомендует. Ну можно конечно рассмотреть ещё варианты с NFS/CIFS. В общем каким образом централизованно доставить iso на все KVM узлы?

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

В rundesk планирую создать кнопки для ansible, которые будут

исполнять playbook, для тестировщиков, ну и можно туда положить часто используемые кнопки для виртуализации по надобности.

Ansible Tower до десяти машин бесплатен.

Ну можно конечно рассмотреть ещё варианты с NFS/CIFS. В общем каким образом централизованно доставить iso на все KVM узлы?

Если будет Gluster, то вполне можно его использовать. Как альтернативу Gluster можно рассмотреть еще Ceph.

dvrts ★★★
()
Ответ на: комментарий от anton_jugatsu

Разработчикам требуются все реальные данные. На локальных своих машинах, они могут творить чего хотят. В любом случае деплой надо как-то делать на боевые машины. Посмотрел на jenkins, это слишком гиково, а вот rundesk - самое то.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Посмотрел на jenkins, это слишком гиково

Jenkins - это вообще-то чуть ли не дефолт-мейнстрим для CI.

dvrts ★★★
()
Ответ на: комментарий от dvrts

Ansible Tower до десяти машин бесплатен.

Я хочу управлять им своими терминалами, и прочие плюшки делать, так что у меня машин поболее десяти будет. Ну и не очень нравится, идея складывать id_rsa в облако к ним.

Если будет Gluster, то вполне можно его использовать.

Я с кластером не очень понял, что на счёт снепшотов/бекапов..? Похоже особо ничего, насколько я понимаю. Я боюсь не сколько за порчу данных даже на уровне фс. А на уровне порчи логической целостности образа qcow скажем. Всё же должен быть какой-то надёжный backup, который вот он лежит, и есть понимание, что с этим делать. Или я что-то не понимаю в этом..? Городить распределённую файловую систему для хранения iso можно конечно. :) Но вот насколько это целесообразно - не знаю. :)

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dvrts

Угу. Ну ничего супер нового в целом я не увидел там - хотя кое-чего в ansible нового я углядел :), так что спасибо. У меня просто много заморочек со всякими ldap, kerberos, всё это надо для тестировщиков. Тут пока речь в целом не об этом. Можно конечно поднять докеры, но мне нужны строго реальные ip адреса, контейнеры у меня будут очень большие, и.т.д. В общем пока не до этого. KVM меня устраивает в целом, хотя это и оверхед, конечно.

DALDON ★★★★★
() автор топика

А может здесь proxmox использовать для KVM, там же и бекапы можно настроить и кластер по надобности?

kiotoze ★★★★
()
Ответ на: комментарий от kiotoze

Я смотрел. Бекапы там очень унылые. С такой политикой как у них, это мне в сутки надо будет по 400 гиг копировать с места на место... Можно конечно самому поизвращаться, и прикрутить zfs, там уже вроде что-то подпилили на эту тему даже, но при всей своей удобности, всё же он привязывает меня к debian, навязывает свои платные репозитарии, и не использует libvirt. Тогда как живая миграция всё же требует общего стораджа, тут чуда то они не сделали. - В общем обновляться сложнее будет на нём, чем обновить просто kvm+libvirt стек, к примеру.

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

Ну и не очень нравится, идея складывать id_rsa в облако к ним.

Какое облако? Деплой у себя локально в инфраструктуре и все.

dvrts ★★★
()
Ответ на: комментарий от DALDON

Всё же должен быть какой-то надёжный backup, который вот он лежит

Ты-то понимаешь вообще принципы по которым нужно создавать и хранить бекапы?

dvrts ★★★
()
Ответ на: комментарий от DALDON

но мне нужны строго реальные ip адреса, контейнеры у меня будут очень большие, и.т.д. В общем пока не до этого. KVM меня устраивает в целом, хотя это и оверхед, конечно.

Почему ты думаешь что контейнерам нельзя назначить реальные адреса и в чем такая острая необходимость использовать именно полную виртуализацию?

dvrts ★★★
()
Ответ на: комментарий от dvrts

Ты-то понимаешь вообще принципы по которым нужно создавать и хранить бекапы?

На мой взгляд, backup должен быть: легкодоступным, актуальным, консистентным, легко применяемым. С GlusterFS, я не очень понимаю, как это будет выглядеть, если у меня рассыпется FS, или на логическом уровне повредится файл. - Я ж не спорю. Gluster скорее всего вполне годная штука. Просто я может чего-то не понимаю..? Ну и малость ещё пугает, что оно через FUSE работает, насколько я понимаю. С Gluster я пока в живую пробовал ничего делать. Зато вот zfs, меня полностью порадовал.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Можешь снапшотить ZFS и держать снапшоты там, где тебе удобно.

И что очевидно, бекапы критических данных стоит хранить более чем в одном месте и более чем в одной физической локации. Я бы хранил их на amazon s3 например (в зашифрованном виде).

dvrts ★★★
()
Ответ на: комментарий от dvrts

Какое облако? Деплой у себя локально в инфраструктуре и все.

Ой. Был не прав. Когда я смотрел ихние демки, они говорили, что только cloud only их решение.

Всё вот это:

/ Role-based access control / Ansible job scheduling / Full Ansible job history for an audit trail / Real-time output of playbook runs

Умеет rundesk насколько я понимаю, а всё остальное, в целом не нужно.

Ну это не суть. Мы ушли от темы.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dvrts

насколько я понял, тебе нужно хранить iso, тебе для этого gluster хватит с головой

Да, iso, шарить между KVM нодами, чтобы в одно место кинул - появилось везде. Я думал ты про основной сторадж для образов VM. А как Gluster относится к тому, что его члены будут бежать на разной его версии..? Через какое-то время, я неизбежно отстану в версиях узлов. Новые узлы будут бежать под более новой версией, чем старые.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dvrts

Согласен, по-этому я и не хочу складывать все яйца в одну корзину. Я могу отдавать снепшоты от zfs, сразу хоть в три места. :)

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dvrts

Почему ты думаешь что контейнерам нельзя назначить реальные адреса и в чем такая острая необходимость использовать именно полную виртуализацию?

Всё это сделать можно! Вопрос не в этом... Вопрос в том, как я в контейнере разверну Oracle 10g - ответ, никак. Ему нужен низкоуровневый доступ к памяти, и куча других плюшек, которые docker не умеет, или умеет плохо. У меня просто нет на это времени, все эти нюансы выяснять. Ну и вообще у меня не только linux, но и FreeBSD. Так что мне хочется более универсального решения просто. Но в целом docker - это очень, очень круто, и перспективно. Но не для всего оно подходит, всё же это контейнерная виртуализация, со всеми её недостатками, а не только достоинствами.

DALDON ★★★★★
() автор топика

1. Vmware esxi
Берем 2 сервера с 32GB озу, ставим на них по ESXi Free

Внутри ставим N vm с любимыми ОС с указанными сервисами,
в идеале 1vm на 1 сервис. Конфигурируем сети, как нам нравится.

Берем третий сервер под backup поднимаем на нем nfs/iscsi.

Запихиваем в крон на 1й сервер создание и сброс снепшотов по nfs/iscsi от vm на сервер backup.

Запихиваем в крон на 2й сервер загрузку снепшотов по nfs/iscsi и регистрацию vm на 2м сервере.

В любой момент перед изменениями продакшн систем можешь снимать снепшоты и откатываться на них в единицы минут. (только с sql сложно)
Подняться на копиях vm можешь не в realtime, но близко к тому. (потушить старое - стартануть новое)
Ничего не будет стоить по сути.

Подобную же схему можно организовать на Xen или что тебе там больше нравиться из полноценных систем виртуализации.

zgen ★★★★★
()
Последнее исправление: zgen (всего исправлений: 1)
Ответ на: комментарий от DALDON

В любом случае ты можешь использовать контейнеры для тех сервисов, которым будет этого достаточно. Зачем оверхед если его можно избежать?

dvrts ★★★
()
Ответ на: комментарий от zgen

только с sql сложно

Percona/MariaDB решают вопрос в случае с mysql.

dvrts ★★★
()
Ответ на: комментарий от zgen

Сейчас использую Esx Free, не очень удобно, что нету централизованного менеджмента, то есть надо ручками ходить с хоста на хост. Ну и аппликация только под винды. - Но у меня версия старая, 5,0 какая-то, может сейчас всё уже изменилось? И в Esxi - не нравилось то, что она не всеядная, и приходилось под неё компилировать драйвера для сетевых, и дисковых контроллеров. Даже для серверных, оно там не умело, 3ware, кажется...

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dvrts

Зачем оверхед если его можно избежать?

Затем, что docker не для меня же... Он для тех, кому надо поднять 100 машин с apache, из дефолтного репозитория, и быстро горизонтально отмасштабироваться. А у меня - самая маленькая единица - это виртуальная машина, и мне удобно переносить сервисы в случае чего, сперва одно перенёс, потом другое... - А если мне надо будет потушить виртуалку с десятком контейнеров - это будет уже намного хуже. Намного. Для тестирования - это гуд, для горизонтального масшатбирования тоже. Но когда есть FreeBSD 6-8, offtopic, Linux (CentOS, ORACLE, Ubuntu) - проще оперировать единицами - виртуальными машинами. Впрочем, это не означает, что я отметаю докер. Он отлично сгодится для каких-то вещей! Просто это надо поднимать репозитарий егойный, сопровождать как-то... Из webgui его не поменеджментить... А с KVM в этом плане попроще всё же. Зашёл, потыкал, забыл. А тут придётся писать плейбуки, городить огороды ради пяти докеров... Не стоит игра свеч.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dyasny

У меня то..? Ой, да никак. Часть на Esxi, часть на VirtualBox, часть на KVM, а основная часть - на голом железе. Всё это уже давно бегает в таком виде.

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)

Насчёт гластера непонятно, чего ты боишься. От физики спасает рейд6. Доступность висит на replicated-volume самого гластера. От порчи спасают периодические бекапы.

post-factum ★★★★★
()
Ответ на: комментарий от DALDON

что нету централизованного менеджмента,

Есть но платно. При наличии ESXi на 2х хостах всего и отсутствии дополнительных функций особого смысла в централизованном управлении не видно.

Ну и аппликация только под винды. - Но у меня версия старая, 5,0 какая-то, может сейчас всё уже изменилось?

Есть vmware workstation под linux, последняя версия умеет цепляться к esxi хосту.

И в Esxi - не нравилось

Про нравится-не нравится условий не было. Конфигурация серверов покомпонентно тоже не расписана.

она не всеядная

Зато протестированная лишний раз.

Плюсы - схема простая, как 2 копейки и дешевая.
И никто не мешает подобную же схему реализовать на другом гипервизоре.

zgen ★★★★★
()
Ответ на: комментарий от zgen

Есть vmware workstation под linux, последняя версия умеет цепляться к esxi хосту.

Да как-бы вебу уже хочется! Вебу! Чтобы не надо было объяснять Руководителю, как и куда надо войти, а просто дать бы ссылкой в него на отмаш вебовской, и всё чтобы там было понятно... :)

DALDON ★★★★★
() автор топика
Ответ на: комментарий от zgen

Проблема в том, что это для двух нод, просто перекрёстное резервное копирование. А если нод больше двух? У меня будет в среднем пять нод под kvm

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dvrts

Не пользовался. Разработчик наш, Русский, ведёт проект в одиночку. Принимает патчи, проекту уже несколько лет. Как оно в бою - не ведаю. Но оно умеет ldap, и прочие плюшки. Можно посмотреть. Я в целом так и хочу сделать, просто пока на посмотреть.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dvrts

А я так подумал, и решил, что вполне возможно, можно выдрать docker файлы, и переделать их за пять минут в ansible, и им уже развернуть где угодно, что вполне мне подходит. :)

DALDON ★★★★★
() автор топика
Ответ на: комментарий от post-factum

Ну да, можно бекапить replicated-volume - саму же, если положить её на zfs.

А как по скорости то? Как себя поведёт гластер, на унылом гигабите? Я так понимаю, что будет всё плохо..?

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от dvrts

Таких вещей там с роду нету... Там даже не было Libreoffice и вообще очень много всего кривого. По сему я скачиваю, правлю и пользуюсь :) Но уж такого там нету даже и близко.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dvrts

Ну я пробовал в работе drbd - впечатления были ужасными. В том плане, что очень меееедлено всё работало, даже на двухгигабитном линке. По сему я понимаю, что чуда НЕ произойдёт, и судя по ЛОГИКЕ, я должен выбрать два-три пункта из этого: простоты, надёжности, удобства, цены. И вариант с gluster, всё же должен включать в себя цену наверно... Цену сетевого оборудования, должно ведь там же все блоки успевать по сети синхронизироваться...

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dvrts

Мне нужно было: libreoffice, webvirtmgr, и что-то ещё искал... Нету. Да, Libreoffice нужен исключительно для сервера. Например для openmeeting или для alfresco. А ннету, да блин, даже java от AXNS, подвела... Не смогло оно лицензию принять за меня. Пришлось допиливать. Хотя уж AXNS хорошо собирает роли.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от dvrts

Ну мне пока virsh с головой хватает

До тех пор, пока ТЫ знаешь на какой машине у тебя чего выполняется, до тех пор пока ты готов в случае чего в отпуске/болезни - помогать коллеге доступиться (ведь документацию обновлять наверняка лениво...) до твоих хостов - хорош. Да. Но когда машин больше трёх... Уже не очень комфортно.

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

Ну рекомендуется, конечно, гигабит и выше, но мы тут гоняем по 10G, так что даже не скажу.

Единственная головная боль с гластером — это высокоиопсовые штуки типа нагруженного мускуля или, например, jflow.

post-factum ★★★★★
()
Последнее исправление: post-factum (всего исправлений: 1)
Ответ на: комментарий от post-factum

Ок! Спасибо. В гластере ещё минус в том, что нагрузка на один узел, сразу будет бить по iops других узлов...

DALDON ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.