Slave-сервер

Технические вопросы по UTM 5.0
georgepapaskiri
Сообщения: 45
Зарегистрирован: Чт мар 16, 2017 12:42

Slave-сервер

Сообщение georgepapaskiri »

Добрый день. Есть виртуальная машина, на ней стоит centos 6. Можно ли на ней развернуть slave-сервер UTM5 и настроить синхронизацию с боевым сервером? При этом залив на слейв-сервак лицензионный ключ от боевого?

RuffiAn
Сообщения: 107
Зарегистрирован: Пн янв 24, 2011 16:11

Сообщение RuffiAn »

Можно

georgepapaskiri
Сообщения: 45
Зарегистрирован: Чт мар 16, 2017 12:42

Сообщение georgepapaskiri »

RuffiAn писал(а):Можно
Не подскажешь как это сделать? я хочу не просто создать реплику базы, а по сути запустить серв с UTM5, который будет резервом, чтобы на нем можно было и проводить тесты (к примеру с URFA Client'ом) и в случае чего восстановить с него боевой сервак, а на время восстановления сделать его "основным", если такое возможно. Я просто прежде не занимался подобными вещами, и не особо знаком с технологией.

RuffiAn
Сообщения: 107
Зарегистрирован: Пн янв 24, 2011 16:11

Сообщение RuffiAn »

Для тестов лучше отдельную машину раз собираешься если что восстанавливать как боевой.
У меня сделано как. Настроена реплика между двумя серверами. Настроены оба идентично. Бекап делается только со второго сервера (slave) В случаем проблем с первый сервером запускаются сервисы на втором ядро и радиус

georgepapaskiri
Сообщения: 45
Зарегистрирован: Чт мар 16, 2017 12:42

Сообщение georgepapaskiri »

RuffiAn писал(а):Для тестов лучше отдельную машину раз собираешься если что восстанавливать как боевой.
У меня сделано как. Настроена реплика между двумя серверами. Настроены оба идентично. Бекап делается только со второго сервера (slave) В случаем проблем с первый сервером запускаются сервисы на втором ядро и радиус
собрал второй сервак, установил на него ту же операционку что и на боевом NetUP'e, подскажи что делать дальше? Установить руками биллинг? или как-то его перенести с боевой машины?

Nik0n
Сообщения: 77
Зарегистрирован: Пн сен 14, 2009 13:53
Откуда: Екатеринбург
Контактная информация:

Сообщение Nik0n »

Самое простое решение (для тестов) в лоб:
1) Сделать дамп БД с боевой БД
2) Загрузить его в БД на тестовом сервере
3) Установить туже версию Netup (на тестовом сервере) и настроить его на доступ в тестовую БД.

georgepapaskiri
Сообщения: 45
Зарегистрирован: Чт мар 16, 2017 12:42

Сообщение georgepapaskiri »

Nik0n писал(а):Самое простое решение (для тестов) в лоб:
1) Сделать дамп БД с боевой БД
2) Загрузить его в БД на тестовом сервере
3) Установить туже версию Netup (на тестовом сервере) и настроить его на доступ в тестовую БД.
а нет специальных инструментов для переноса настроек или базы UTM5?

Nik0n
Сообщения: 77
Зарегистрирован: Пн сен 14, 2009 13:53
Откуда: Екатеринбург
Контактная информация:

Сообщение Nik0n »

georgepapaskiri писал(а):
а нет специальных инструментов для переноса настроек или базы UTM5?
Есть!
1) scp /netup/utm5/utm5.cfg test-host:/netup/utm5/utm5.cfg
vim /netup/utm5/utm5.cfg

2) mysqldump

:lol:

georgepapaskiri
Сообщения: 45
Зарегистрирован: Чт мар 16, 2017 12:42

Сообщение georgepapaskiri »

Nik0n писал(а):
georgepapaskiri писал(а):
а нет специальных инструментов для переноса настроек или базы UTM5?
Есть!
1) scp /netup/utm5/utm5.cfg test-host:/netup/utm5/utm5.cfg
vim /netup/utm5/utm5.cfg

2) mysqldump

:lol:
ну, это для тестового серва, а если мне надо чтобы этот сервак был репликой боевого, что тогда? делать точно также? а как автоматизировать синхронизацию боевого и бекапного серва, в том плане чтобы база и настройки бекапного серва всегда были актуальны. Делать это с помощью crontab? И что насчет mysqldump? при запуске данной процедуры есть необходимость останавливать ядро на боевом серве?

Rico-X
Сообщения: 164
Зарегистрирован: Вт окт 25, 2011 12:04

Сообщение Rico-X »

georgepapaskiri писал(а):
Nik0n писал(а):
georgepapaskiri писал(а):
а нет специальных инструментов для переноса настроек или базы UTM5?
Есть!
1) scp /netup/utm5/utm5.cfg test-host:/netup/utm5/utm5.cfg
vim /netup/utm5/utm5.cfg

2) mysqldump

:lol:
ну, это для тестового серва, а если мне надо чтобы этот сервак был репликой боевого, что тогда? делать точно также? а как автоматизировать синхронизацию боевого и бекапного серва, в том плане чтобы база и настройки бекапного серва всегда были актуальны. Делать это с помощью crontab? И что насчет mysqldump? при запуске данной процедуры есть необходимость останавливать ядро на боевом серве?
По сути синхронизация файлов нафиг не нужна, нужна только синхронизация базы, файлы можно синкать только между обновлениями версий, либо раз в сутки по крону. С базой интересней, есть вариант резвернуть кластерный mysql, жрет больше ресурсов чем обычный, но работает сносно, можно сделать репликацию мастер-мастер с чередованием индексов, но работает очень нестабильно и куча глюков, классический вариант с master-slave (тоже местами крашится, надо контролировать, но в целом сносно). Можно вообще реализовать VRRP для серваков с файлами, общающихся с кластером баз, так что тут уж на что хватит фантазии.
Почитайте про решения percona. как в плане дампов так и в плане кластеризации, думаю натолкнет на нужные мысли.

georgepapaskiri
Сообщения: 45
Зарегистрирован: Чт мар 16, 2017 12:42

Сообщение georgepapaskiri »

Rico-X писал(а):
georgepapaskiri писал(а):
Nik0n писал(а):
georgepapaskiri писал(а):
а нет специальных инструментов для переноса настроек или базы UTM5?
Есть!
1) scp /netup/utm5/utm5.cfg test-host:/netup/utm5/utm5.cfg
vim /netup/utm5/utm5.cfg

2) mysqldump

:lol:
ну, это для тестового серва, а если мне надо чтобы этот сервак был репликой боевого, что тогда? делать точно также? а как автоматизировать синхронизацию боевого и бекапного серва, в том плане чтобы база и настройки бекапного серва всегда были актуальны. Делать это с помощью crontab? И что насчет mysqldump? при запуске данной процедуры есть необходимость останавливать ядро на боевом серве?
По сути синхронизация файлов нафиг не нужна, нужна только синхронизация базы, файлы можно синкать только между обновлениями версий, либо раз в сутки по крону. С базой интересней, есть вариант резвернуть кластерный mysql, жрет больше ресурсов чем обычный, но работает сносно, можно сделать репликацию мастер-мастер с чередованием индексов, но работает очень нестабильно и куча глюков, классический вариант с master-slave (тоже местами крашится, надо контролировать, но в целом сносно). Можно вообще реализовать VRRP для серваков с файлами, общающихся с кластером баз, так что тут уж на что хватит фантазии.
Почитайте про решения percona. как в плане дампов так и в плане кластеризации, думаю натолкнет на нужные мысли.
Нашел такую статью: https://ruhighload.com/post/%D0%9A%D0%B ... 0%B8%D1%8E подойдет ли она мне для настройки master-slave? железо на мастер сервере и слейв сервере разное.

Rico-X
Сообщения: 164
Зарегистрирован: Вт окт 25, 2011 12:04

Сообщение Rico-X »

georgepapaskiri писал(а): Нашел такую статью: https://ruhighload.com/post/%D0%9A%D0%B ... 0%B8%D1%8E подойдет ли она мне для настройки master-slave? железо на мастер сервере и слейв сервере разное.
Пойдет, как и любая другая, какое железо значения не имеет, репликация работает через пересылку транзакций самим мускулем и к железу не привязана. При такой реплике не забудьте сделать контроль ее работы, уж очень она любит разваливаться в самые неподходящие моменты, так что можно остаться со старыми данными прибывая в уверенности что реплика пашет.

georgepapaskiri
Сообщения: 45
Зарегистрирован: Чт мар 16, 2017 12:42

Сообщение georgepapaskiri »

Rico-X писал(а):
georgepapaskiri писал(а): Нашел такую статью: https://ruhighload.com/post/%D0%9A%D0%B ... 0%B8%D1%8E подойдет ли она мне для настройки master-slave? железо на мастер сервере и слейв сервере разное.
Пойдет, как и любая другая, какое железо значения не имеет, репликация работает через пересылку транзакций самим мускулем и к железу не привязана. При такой реплике не забудьте сделать контроль ее работы, уж очень она любит разваливаться в самые неподходящие моменты, так что можно остаться со старыми данными прибывая в уверенности что реплика пашет.
а как организовать контроль этой работы?

Rico-X
Сообщения: 164
Зарегистрирован: Вт окт 25, 2011 12:04

Сообщение Rico-X »

georgepapaskiri писал(а): а как организовать контроль этой работы?
Да как больше нравится, от централизованных систем мониторинга серверов типа zabbix, до самописных скриптов. Соль в том что она распадается всегда по-разному при глюках и сделать какой-то универсальный скрипт, чтоб само подымалось очень сложно, так что проще мониторить и раз в пару месяцев лазить туда ручками поправлять развалившуюся реплику.

georgepapaskiri
Сообщения: 45
Зарегистрирован: Чт мар 16, 2017 12:42

Сообщение georgepapaskiri »

Rico-X писал(а):
georgepapaskiri писал(а): а как организовать контроль этой работы?
Да как больше нравится, от централизованных систем мониторинга серверов типа zabbix, до самописных скриптов. Соль в том что она распадается всегда по-разному при глюках и сделать какой-то универсальный скрипт, чтоб само подымалось очень сложно, так что проще мониторить и раз в пару месяцев лазить туда ручками поправлять развалившуюся реплику.

Заходил на слейв сервер, проверял как он работает, что-то не похоже чтоб нормально. У меня на боевой машине заведено 1240 пользователей, а на тестовом только 1081. Выполнил на слейве команду SHOW SLAVE STATUS\G, результат следующий:

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

*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.30.31.253
                  Master_User: slave_user
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: centos642-bin.000002
          Read_Master_Log_Pos: 97293472
               Relay_Log_File: centos64raidlvm-relay-bin.000002
                Relay_Log_Pos: 259387
        Relay_Master_Log_File: centos642-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: No
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 1146
                   Last_Error: Error 'Table 'PAYMENT_SYSTEMS.processed_events' doesn't exist' on query. Default database: 'PAYMENT_SYSTEMS'. Query: 'INSERT INTO processed_events ( processed_events.family,  processed_events.name,  processed_events.version,  processed_events.processing_state,  processed_events.processing_instant,  created,  created_by) VALUES (131436, 132346, 134669, 32768027, 1505108764, 1505108800, 0)'
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 347505
              Relay_Log_Space: 1170948555
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 1146
               Last_SQL_Error: Error 'Table 'PAYMENT_SYSTEMS.processed_events' doesn't exist' on query. Default database: 'PAYMENT_SYSTEMS'. Query: 'INSERT INTO processed_events ( processed_events.family,  processed_events.name,  processed_events.version,  processed_events.processing_state,  processed_events.processing_instant,  created,  created_by) VALUES (131436, 132346, 134669, 32768027, 1505108764, 1505108800, 0)'
1 row in set (0.00 sec)
можешь помочь разобраться в чем дело?

Ответить