Страница 1 из 2

hastd: da vs zvol

Добавлено: 2016-07-10 6:15:13
dekloper
товаГищи, ставлю вопрос на голосование: за и против двух принципиально разных\парадоксальных схем построения HA-хранилища

1. пул строится поверх хаст девайса (первична репликация девайса)
2. строится пул девайсов (где сущность для реплицирования - есть звол)

доклад окончил :bn:

hastd: da vs zvol

Добавлено: 2016-07-10 13:24:27
Neus
садись 2 :)

hastd: da vs zvol

Добавлено: 2016-07-11 7:30:30
dekloper
сенсей знает другие варианты построения HA?
==

навыки чтения хендбука это канэшн хорошо, но до тех пор пока объект для репликации - не более одного девайса..
если же их da0-daX, возникает парадокс (зависимость целостности пула от стабильности\корректности репликации каждого из da0-daX) и.. другие схемы построения HA..

собственно, плюсы очевидны
+ no need to hast each individual disk in the zpool so you can access all
available storage on either storage unit
+ maintaining storage units remains functionally consistent between them
+ once setup, zvols are easily migrated to new storage environments in real-time
since there is only a single zvol hast resource to replicate. (no need
to have all
matching zpool hast members, just reconfigure the primary zvol hast
resource to point to
a new secondary server and swap roles/failover when ready)
+ can have active hast zvols on each unit to distribute IO
+ no need for zpool export/import on failover
+ hast easily added to current zvols
+ retains performance of entire zpool
+ zpool can be expanded without changing hast config
+ minimizes hast replication traffic between storage units
+ hast split-brain localized to specific zvol's
+ can use ufs on hast zvol resource for things like samba and nfs
давайте поговорим о минусах.. господа "отличники"))

hastd: da vs zvol

Добавлено: 2016-07-11 8:31:55
Neus
dekloper писал(а): сенсей знает другие варианты построения HA?
сенсей имел ввиду вариант 2
из минусов hast - replication factor = 2, а бывает надо 3.

hastd: da vs zvol

Добавлено: 2016-07-11 8:31:55
Neus
dekloper писал(а): сенсей знает другие варианты построения HA?
сенсей имел ввиду вариант 2
из минусов hast - replication factor = 2, а бывает надо 3.

hastd: da vs zvol

Добавлено: 2016-07-11 9:21:36
dekloper
воть-воть, и я ап томже..
парадокс, аднака.. :bn:

hastd: da vs zvol

Добавлено: 2016-07-11 9:24:25
Neus
а всякие DFS не вариант?

hastd: da vs zvol

Добавлено: 2016-07-11 9:33:17
dekloper
дфс вражьи поделия - в пентагон фашистам всё уйдет, че я буду делать..

hastd: da vs zvol

Добавлено: 2016-07-11 10:51:16
Neus
да нужен ты пентагону как 5 колесо телеге

Отправлено спустя 19 минут 51 секунду:
а фряха чо, у нас разрабатывается?
а не боишься же юзать :)

Отправлено спустя :
а фряха чо, у нас разрабатывается?
а не боишься же юзать :)

hastd: da vs zvol

Добавлено: 2016-07-11 11:27:05
dekloper
Neus писал(а): а фряха чо, у нас разрабатывается?
ну наших людей в коллективе не мало..
и код никто не скрывает..
в отличие от тех падонкав, что пиздят код XEN-а обильно приправляя его всевозможными закладками\бэкдорами и называя всю эту страшную "красоту" гиперВИ.... :evil:

hastd: da vs zvol

Добавлено: 2016-07-11 13:02:40
Neus
а причем тут "мелкий софт" (R)?
я не про его DFS говорил, а про вообще DFS - OpenAFS, GlusterFS, LeoFS все это лежит в портах.

hastd: da vs zvol

Добавлено: 2016-07-11 14:28:08
dekloper
да как то не суръезно все эти btrfs и иже с ними дфс-ы.. в работе под нагрузкой я их не видел..
а вот зрейд ахота потерзать, не зря ж контроллер покупал)
зы. мож соляру\индиану ради такого дела воткну)

hastd: da vs zvol

Добавлено: 2016-07-11 20:21:43
Neus
Мои девайс скромнее, btrfs его вешает.
ZFS легко держит 25к iops (на запись).
Индиану не ставь, это девелоперский полигон.
OmniOS + nappit -- клевый сторадж получается.

hastd: da vs zvol

Добавлено: 2016-07-24 19:27:08
dekloper
ну вот оно.. ращепление мозга :cz2:
похоже в стабильной ветке чота с сис.переменными наслучалось..
на обоих нодах net.inet.carp.preempt=0
тоесть, принудительно мастер-роль у бэкапа (если он стал таковым по выпадению мастера) не забирается

экперимент проводим на стабле-11
1. кладем карп-иф на мастере
логи на бэкапе (стал мастером, сервисы есть, пул есть)

Код: Выделить всё

Jul 24 21:50:34 free02 kernel: carp: 55@ix1: BACKUP -> MASTER (master timed out)
Jul 24 21:50:34 free02 kernel: ifa_maintain_loopback_route: insertion failed for interface ix1: 17
Jul 24 21:50:34 free02 Zcontrol_2.sh: Caught MASTER from 55@ix1
Jul 24 21:50:54 free02 hastd[1932]: [zvol] (primary) Unable to connect to 10.5.5.1: Operation timed out.
Jul 24 21:50:55 free02 Zcontrol_2.sh: HAST role changed to primary
Jul 24 21:50:56 free02 Zcontrol_2.sh: ZFS pool for resource zvol imported.
Jul 24 21:50:56 free02 Zcontrol_2.sh: Starting inetd in master-mode
Jul 24 21:50:56 free02 Zcontrol_2.sh: Starting ntpd in master-mode
Jul 24 21:50:56 free02 ntpd[1984]: ntpd 4.2.8p8-a (1): Starting
2. поднимаем иф на мастере
логи на бэкапе (моск ращепился - какого хрена он отдает роль???)

Код: Выделить всё

Jul 24 21:51:36 free02 kernel: carp: 55@ix1: MASTER -> INIT (hardware interface down)
Jul 24 21:51:36 free02 kernel: carp: demoted by 240 to 240 (interface down)
Jul 24 21:51:36 free02 kernel: ix1: link state changed to DOWN
Jul 24 21:51:36 free02 kernel: carp: 55@ix1: INIT -> BACKUP (initialization complete)
Jul 24 21:51:36 free02 kernel: carp: demoted by -240 to 0 (interface up)
Jul 24 21:51:36 free02 kernel: ix1: link state changed to UP
Jul 24 21:51:36 free02 Zcontrol_2.sh: Caught BACKUP from 55@ix1
Jul 24 21:51:36 free02 ntpd[1985]: ntpd exiting on signal 15 (Terminated)
Jul 24 21:51:37 free02 kernel: carp: 55@ix1: BACKUP -> INIT (hardware interface down)
Jul 24 21:51:37 free02 kernel: carp: demoted by 240 to 240 (interface down)
Jul 24 21:51:37 free02 kernel: ix1: link state changed to DOWN
Jul 24 21:51:38 free02 Zcontrol_2.sh: ZFS pool for resource zvol exported.
Jul 24 21:51:41 free02 kernel: carp: 55@ix1: INIT -> BACKUP (initialization complete)
Jul 24 21:51:41 free02 kernel: carp: demoted by -240 to 0 (interface up)
Jul 24 21:51:41 free02 kernel: ix1: link state changed to UP
Jul 24 21:51:42 free02 hastd[1932]: [zvol] (primary) Remote node acts as primary for the resource and not as secondary.
Jul 24 21:51:42 free02 Zcontrol_2.sh: HAST role changed to secondary
Jul 24 21:51:42 free02 Zcontrol_2.sh: Caught BACKUP from 55@ix1
Jul 24 21:51:42 free02 Zcontrol_2.sh: HAST role changed to secondary
Jul 24 21:51:55 free02 hastd[2082]: [zvol] (secondary) Split-brain detected, exiting.
Jul 24 21:52:00 free02 hastd[1867]: [zvol] (secondary) Worker process exited ungracefully (pid=2082, exitcode=78).
Jul 24 21:52:05 free02 hastd[2094]: [zvol] (secondary) Split-brain detected, exiting.
Jul 24 21:52:10 free02 hastd[1867]: [zvol] (secondary) Worker process exited ungracefully (pid=2094, exitcode=78).
лог на мастере (в момент поднятия интерфейса - какого хрена он забирает себе роль, неглядя на сисцтл???)

Код: Выделить всё

Jul 24 21:51:42 free01 hastd[1657]: [zvol] (primary) We act as primary for the resource and not as secondary as requested by tcp://10.5.5.2:20792.
Jul 24 21:51:44 free01 kernel: carp: 55@ix1: BACKUP -> MASTER (master timed out)
Jul 24 21:51:44 free01 kernel: ifa_maintain_loopback_route: insertion failed for interface ix1: 17
Jul 24 21:51:54 free01 hastd[1671]: [zvol] (primary) Unable to receive reply header: Socket is not connected.
Jul 24 21:51:54 free01 hastd[1671]: [zvol] (primary) Disconnected from 10.5.5.2.
Jul 24 21:51:54 free01 Zcontrol_2.sh: ZFS pool for resource zvol exported.
Jul 24 21:51:54 free01 Zcontrol_2.sh: HAST role changed to secondary
Jul 24 21:51:54 free01 Zcontrol_2.sh: Caught MASTER from 55@ix1
Jul 24 21:51:55 free01 hastd[1806]: [zvol] (primary) Split-brain condition!
Jul 24 21:51:55 free01 Zcontrol_2.sh: HAST role changed to primary
Jul 24 21:51:56 free01 Zcontrol_2.sh: ZFS pool for resource zvol imported.
Jul 24 21:51:56 free01 Zcontrol_2.sh: Starting inetd in master-mode
Jul 24 21:51:56 free01 Zcontrol_2.sh: Starting ntpd in master-mode
==
пс. на курренте (который теперь уже 12) такой хирни нет, всё работает как положено..!

hastd: da vs zvol

Добавлено: 2016-07-25 15:11:46
lazhu
dekloper писал(а):сенсей знает другие варианты построения HA?

Код: Выделить всё

zpool create tank mirror <iscsi_1> <iscsi_2> ... <iscsi_n>
.
давайте поговорим о минусах.. господа "отличники"))
юзерленд-демон считается минусом?

hastd: da vs zvol

Добавлено: 2016-07-26 8:48:41
dekloper
lazhu писал(а): юзерленд-демон считается минусом?
а че хорошего?
сессия порвется
как делать синхронизацию состояний?

hastd: da vs zvol

Добавлено: 2016-07-26 9:35:51
lazhu
dekloper писал(а):
lazhu писал(а): юзерленд-демон считается минусом?
а че хорошего?
сессия порвется
как делать синхронизацию состояний?
об чем и речь. зачем хаст, когда можно сделать все руками через iscsi, не выходя при этом из ядра?

hastd: da vs zvol

Добавлено: 2016-07-27 10:30:28
dekloper
lazhu писал(а): об чем и речь. зачем хаст, когда можно сделать все руками через iscsi, не выходя при этом из ядра?
непонял
я вобщето про пфсинк...
хаст нужен, как без него
кто будет репу складывать прозапас?

hastd: da vs zvol

Добавлено: 2016-07-27 13:00:14
lazhu
dekloper писал(а):
lazhu писал(а): об чем и речь. зачем хаст, когда можно сделать все руками через iscsi, не выходя при этом из ядра?
непонял
я вобщето про пфсинк...
хаст нужен, как без него
кто будет репу складывать прозапас?
Зеркало из iscsi с разных серверов. Вот вам репликация в реальном времени. Хаст можно при этом использовать для передачи адреса. Только экспортировать/импортировать пул при up/down

hastd: da vs zvol

Добавлено: 2016-07-29 5:37:54
dekloper
lazhu писал(а): Хаст можно при этом использовать для передачи адреса.
в смысле - карп, в той конструкции что вы озвучили, хаст действительно - не нужен.
остается главный вопрос - кто будит следить за состоянием мозга - вдруг ращепится..
хаст по крайней мере об этом рассказывал, на основани чего можно было скорректировать скрипт..
а тут какбе сказе покласть - что упало то пропало..

hastd: da vs zvol

Добавлено: 2016-07-29 8:45:35
lazhu
dekloper писал(а):
lazhu писал(а): Хаст можно при этом использовать для передачи адреса.
в смысле - карп, в той конструкции что вы озвучили, хаст действительно - не нужен.
остается главный вопрос - кто будит следить за состоянием мозга - вдруг ращепится..
хаст по крайней мере об этом рассказывал, на основани чего можно было скорректировать скрипт..
а тут какбе сказе покласть - что упало то пропало..
Делаем флаговый звол символического размера, скажем 10Мб. Настраиваем на нем хаст+карп для корректного фэйловера. Для этого даже не надо выделенного интерфейса, никаких данных тут не будет. Главное, не забыть в ап/даун скриптах прописать импорт/экспорт iscsi-зеркала.

hastd: da vs zvol

Добавлено: 2016-08-01 10:28:35
dekloper
идея поюзать айскази (в не профильных целях) канешн интересная.. но.., вы пробовали на практике\продакшн? иль чисто теоретически? в "лабораторных" условиях оно какбе можно..
lazhu писал(а): Главное, не забыть в ап/даун скриптах прописать импорт/экспорт iscsi-зеркала.
не главное. до импорта\экспорта надо еще фейл сеансов таргет\инициатор обработать..
потом сказать что один из дисков зеркала в оффлайне (иначе до пула не достучаться, будет вечная попытка синхронизироваться с трупом)

может возникнуть еще куча непредусмотренных\необработанных фейлов, после чего пул можно похоронить..
сцыкотно аднака..

hastd: da vs zvol

Добавлено: 2016-08-01 14:39:30
lazhu
Все в одну кучу смешали. Зеркало - котлеты, HA - мухи. Есть 4 хоста, A и B предоставляют iscsi-таргеты. C и D предоставляют HA-зеркало клиентам. При работе хотя бы одного хоста из каждой пары доступ к данным сохраняется. На C и D при старте запускаем

Код: Выделить всё

hastctl role secondary resource
iscsictl - Aa
При старте/ребуте обоих хостов одновременно назначаем мастера вручную/скриптом.

hastd: da vs zvol

Добавлено: 2016-08-02 8:44:22
dekloper
этак и я могу (С)
с 4-мя хостами то..
в условии задачи - 2 железки
у меня каждый хост однвременно является отдающим звол соседу и принимающим соседский звол
к тому же каждый хост отдает собственный звол самому себе %) (ибо зеркало между зволом и блочным девайсом не построить)
вот так и жрут мухи котлеты)
==
придется вертать к изначальной схеме..

hastd: da vs zvol

Добавлено: 2016-08-05 9:05:16
lazhu
С 2-мя хостами кроме хаста ничего не сделать. Не самая надежная система, ибо, как уже говорилось, хаст это юзерленд.