Slave-сервер
-
- Сообщения: 45
- Зарегистрирован: Чт мар 16, 2017 12:42
Slave-сервер
Добрый день. Есть виртуальная машина, на ней стоит centos 6. Можно ли на ней развернуть slave-сервер UTM5 и настроить синхронизацию с боевым сервером? При этом залив на слейв-сервак лицензионный ключ от боевого?
-
- Сообщения: 45
- Зарегистрирован: Чт мар 16, 2017 12:42
Не подскажешь как это сделать? я хочу не просто создать реплику базы, а по сути запустить серв с UTM5, который будет резервом, чтобы на нем можно было и проводить тесты (к примеру с URFA Client'ом) и в случае чего восстановить с него боевой сервак, а на время восстановления сделать его "основным", если такое возможно. Я просто прежде не занимался подобными вещами, и не особо знаком с технологией.RuffiAn писал(а):Можно
Для тестов лучше отдельную машину раз собираешься если что восстанавливать как боевой.
У меня сделано как. Настроена реплика между двумя серверами. Настроены оба идентично. Бекап делается только со второго сервера (slave) В случаем проблем с первый сервером запускаются сервисы на втором ядро и радиус
У меня сделано как. Настроена реплика между двумя серверами. Настроены оба идентично. Бекап делается только со второго сервера (slave) В случаем проблем с первый сервером запускаются сервисы на втором ядро и радиус
-
- Сообщения: 45
- Зарегистрирован: Чт мар 16, 2017 12:42
собрал второй сервак, установил на него ту же операционку что и на боевом NetUP'e, подскажи что делать дальше? Установить руками биллинг? или как-то его перенести с боевой машины?RuffiAn писал(а):Для тестов лучше отдельную машину раз собираешься если что восстанавливать как боевой.
У меня сделано как. Настроена реплика между двумя серверами. Настроены оба идентично. Бекап делается только со второго сервера (slave) В случаем проблем с первый сервером запускаются сервисы на втором ядро и радиус
-
- Сообщения: 45
- Зарегистрирован: Чт мар 16, 2017 12:42
-
- Сообщения: 45
- Зарегистрирован: Чт мар 16, 2017 12:42
ну, это для тестового серва, а если мне надо чтобы этот сервак был репликой боевого, что тогда? делать точно также? а как автоматизировать синхронизацию боевого и бекапного серва, в том плане чтобы база и настройки бекапного серва всегда были актуальны. Делать это с помощью crontab? И что насчет mysqldump? при запуске данной процедуры есть необходимость останавливать ядро на боевом серве?Nik0n писал(а):Есть!georgepapaskiri писал(а):
а нет специальных инструментов для переноса настроек или базы UTM5?
1) scp /netup/utm5/utm5.cfg test-host:/netup/utm5/utm5.cfg
vim /netup/utm5/utm5.cfg
2) mysqldump
По сути синхронизация файлов нафиг не нужна, нужна только синхронизация базы, файлы можно синкать только между обновлениями версий, либо раз в сутки по крону. С базой интересней, есть вариант резвернуть кластерный mysql, жрет больше ресурсов чем обычный, но работает сносно, можно сделать репликацию мастер-мастер с чередованием индексов, но работает очень нестабильно и куча глюков, классический вариант с master-slave (тоже местами крашится, надо контролировать, но в целом сносно). Можно вообще реализовать VRRP для серваков с файлами, общающихся с кластером баз, так что тут уж на что хватит фантазии.georgepapaskiri писал(а):ну, это для тестового серва, а если мне надо чтобы этот сервак был репликой боевого, что тогда? делать точно также? а как автоматизировать синхронизацию боевого и бекапного серва, в том плане чтобы база и настройки бекапного серва всегда были актуальны. Делать это с помощью crontab? И что насчет mysqldump? при запуске данной процедуры есть необходимость останавливать ядро на боевом серве?Nik0n писал(а):Есть!georgepapaskiri писал(а):
а нет специальных инструментов для переноса настроек или базы UTM5?
1) scp /netup/utm5/utm5.cfg test-host:/netup/utm5/utm5.cfg
vim /netup/utm5/utm5.cfg
2) mysqldump
Почитайте про решения percona. как в плане дампов так и в плане кластеризации, думаю натолкнет на нужные мысли.
-
- Сообщения: 45
- Зарегистрирован: Чт мар 16, 2017 12:42
Нашел такую статью: https://ruhighload.com/post/%D0%9A%D0%B ... 0%B8%D1%8E подойдет ли она мне для настройки master-slave? железо на мастер сервере и слейв сервере разное.Rico-X писал(а):По сути синхронизация файлов нафиг не нужна, нужна только синхронизация базы, файлы можно синкать только между обновлениями версий, либо раз в сутки по крону. С базой интересней, есть вариант резвернуть кластерный mysql, жрет больше ресурсов чем обычный, но работает сносно, можно сделать репликацию мастер-мастер с чередованием индексов, но работает очень нестабильно и куча глюков, классический вариант с master-slave (тоже местами крашится, надо контролировать, но в целом сносно). Можно вообще реализовать VRRP для серваков с файлами, общающихся с кластером баз, так что тут уж на что хватит фантазии.georgepapaskiri писал(а):ну, это для тестового серва, а если мне надо чтобы этот сервак был репликой боевого, что тогда? делать точно также? а как автоматизировать синхронизацию боевого и бекапного серва, в том плане чтобы база и настройки бекапного серва всегда были актуальны. Делать это с помощью crontab? И что насчет mysqldump? при запуске данной процедуры есть необходимость останавливать ядро на боевом серве?Nik0n писал(а):Есть!georgepapaskiri писал(а):
а нет специальных инструментов для переноса настроек или базы UTM5?
1) scp /netup/utm5/utm5.cfg test-host:/netup/utm5/utm5.cfg
vim /netup/utm5/utm5.cfg
2) mysqldump
Почитайте про решения percona. как в плане дампов так и в плане кластеризации, думаю натолкнет на нужные мысли.
Пойдет, как и любая другая, какое железо значения не имеет, репликация работает через пересылку транзакций самим мускулем и к железу не привязана. При такой реплике не забудьте сделать контроль ее работы, уж очень она любит разваливаться в самые неподходящие моменты, так что можно остаться со старыми данными прибывая в уверенности что реплика пашет.georgepapaskiri писал(а): Нашел такую статью: https://ruhighload.com/post/%D0%9A%D0%B ... 0%B8%D1%8E подойдет ли она мне для настройки master-slave? железо на мастер сервере и слейв сервере разное.
-
- Сообщения: 45
- Зарегистрирован: Чт мар 16, 2017 12:42
а как организовать контроль этой работы?Rico-X писал(а):Пойдет, как и любая другая, какое железо значения не имеет, репликация работает через пересылку транзакций самим мускулем и к железу не привязана. При такой реплике не забудьте сделать контроль ее работы, уж очень она любит разваливаться в самые неподходящие моменты, так что можно остаться со старыми данными прибывая в уверенности что реплика пашет.georgepapaskiri писал(а): Нашел такую статью: https://ruhighload.com/post/%D0%9A%D0%B ... 0%B8%D1%8E подойдет ли она мне для настройки master-slave? железо на мастер сервере и слейв сервере разное.
Да как больше нравится, от централизованных систем мониторинга серверов типа zabbix, до самописных скриптов. Соль в том что она распадается всегда по-разному при глюках и сделать какой-то универсальный скрипт, чтоб само подымалось очень сложно, так что проще мониторить и раз в пару месяцев лазить туда ручками поправлять развалившуюся реплику.georgepapaskiri писал(а): а как организовать контроль этой работы?
-
- Сообщения: 45
- Зарегистрирован: Чт мар 16, 2017 12:42
Rico-X писал(а):Да как больше нравится, от централизованных систем мониторинга серверов типа zabbix, до самописных скриптов. Соль в том что она распадается всегда по-разному при глюках и сделать какой-то универсальный скрипт, чтоб само подымалось очень сложно, так что проще мониторить и раз в пару месяцев лазить туда ручками поправлять развалившуюся реплику.georgepapaskiri писал(а): а как организовать контроль этой работы?
Заходил на слейв сервер, проверял как он работает, что-то не похоже чтоб нормально. У меня на боевой машине заведено 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)