Название: Миграция с 50.32 Отправлено: Efendy от 16 Ноября 2012, 23:25:39 В прикреплении sql-файл для миграции базы данных с 50.32/49.32 до N+ ревизии 23.
Это начальная тестовая версия. Со временем я буду его совершенствовать. Было бы неплохо если бы вы помогли в этом. Перед запуском файла проверить: 1) не должны быть карточки в состоянии перемещения 2) не должно быть временных платежей Допданные пока не переносятся. Протестите кто-нибудь, после чего перейдем к этому шагу UPD: файлы миграции теперь есть в поставке биллинга Название: Re: Миграция с 50.32 Отправлено: Redmen от 20 Ноября 2012, 12:42:58 потестил! Всё ОК!
делал через phpmyadmin скопировал старую базу 49.32 сделал бекап Нодени + в старой базе выполнил переход успешно всё кроме тригеров (в phpmyadmin они никак не хотят создаватся) импортировал старую (обновлённую) базу в новую (чтоб тригери не мучить) добавил конфиг с бекапа и всё завилось (если есть одинаковый логин админа и клиента, бутет лажа, зайдёт под клиентом; нужно в базе переименовать админа и удалить пароль, после чего успешный вход админа без пароля) Название: Re: Миграция с 50.32 Отправлено: vddav от 11 Декабря 2012, 17:00:13 начало ругаться:
Код: ]# perl nokernel.pl -v Название: Re: Миграция с 50.32 Отправлено: stix от 11 Декабря 2012, 17:06:33 INSERT INTO config SET `data`="package cfg; $img_dir = ''; 1;", time=1;
Название: Re: Миграция с 50.32 Отправлено: vddav от 11 Декабря 2012, 17:30:28 чего то после этого браузеры стали ругаться на отсутствие ява скриптов(
Код: INSERT INTO config SET `data`="package cfg; $img_dir = ''; 1;", time=1; Название: Re: Миграция с 50.32 Отправлено: Efendy от 11 Декабря 2012, 17:52:53 чего то после этого браузеры стали ругаться на отсутствие ява скриптов( в stat.pl в самом начале установи debug в 1 и приведи дебаг Код: INSERT INTO config SET `data`="package cfg; $img_dir = ''; 1;", time=1; Название: Re: Миграция с 50.32 Отправлено: vddav от 11 Декабря 2012, 18:18:07 Код: INSERT INTO config SET `data`="package cfg; $img_dir = ''; 1;", time=1; Название: Re: Миграция с 50.32 Отправлено: Efendy от 11 Декабря 2012, 19:02:00 Код: INSERT INTO config SET `data`="package cfg; $img_dir = ''; 1;", time=1; Название: Re: Миграция с 50.32 Отправлено: vddav от 11 Декабря 2012, 19:18:42 запустилось)))
надо еще добавить админа c привилегиями и из под него по устанавливать привилегии другим Код: INSERT INTO admin SET login='admin', name='', post='', privil=',1,3,2,17,20,11,12,13,27,30,31,32,50,51,52,55,100,61,90,69,70,71,72,73,74,75,76,77,78,79,80,81,94,95,', usr_grps='', passwd=AES_ENCRYPT('33', 'BIGint'); доп данные тоже допилить миграцию (так понимаю там адреса,маки, телефоны, явки и т.д.))) пулы адресов так понимаю ручками забивать( или как то из точек топологии тянуть на вскидку пока все, продолжение следует))) еще надо кнопочку удалить все пулы, ща их насоздавалось стопитсот штук, есть по одному два ипа, видимо по базе абонов создавалось по непрерывным групкам, а если брать из групп - возможен косяк типа можно любые ипы.. Название: Re: Миграция с 50.32 Отправлено: poxy. от 11 Декабря 2012, 19:38:26 запустилось))) надо еще добавить админа c привилегиями и из под него по устанавливать привилегии другим Код: INSERT INTO admin SET login='admin', name='', post='', privil=',1,3,2,17,20,11,12,13,27,30,31,32,50,51,52,55,100,61,90,69,70,71,72,73,74,75,76,77,78,79,80,81,94,95,', usr_grps='', passwd=AES_ENCRYPT('33', 'BIGint'); доп данные тоже допилить миграцию (так понимаю там адреса,маки, телефоны, явки и т.д.))) пулы адресов так понимаю ручками забивать( или как то из точек топологии тянуть на вскидку пока все, продолжение следует))) еще надо кнопочку удалить все пулы, ща их насоздавалось стопитсот штук, есть по одному два ипа, видимо по базе абонов создавалось по непрерывным групкам, а если брать из групп - возможен косяк типа можно любые ипы.. Бинарный перенос для паролей или AES_DECRYPT -> AES_ENCRYPT с тем же ключом залить в новую базу. Название: Re: Миграция с 50.32 Отправлено: Efendy от 11 Декабря 2012, 19:42:20 Да, удаление пулов ip сделаю
Название: Re: Миграция с 50.32 Отправлено: vddav от 12 Декабря 2012, 11:50:27 это по ходу это:
Код: ALTER TABLE `users` CHANGE `passwd` `passwd` VARCHAR( 64 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL; с этим: Код: AES_DECRYPT -> AES_ENCRYPT Название: Re: Миграция с 50.32 Отправлено: poxy. от 12 Декабря 2012, 12:22:55 это по ходу это: Пароли в старой базе хранятся в зашифрованном виде, надо их вытащить расшифрованными (ключ шифрования) -> залить в новую базу.Код: ALTER TABLE `users` CHANGE `passwd` `passwd` VARCHAR( 64 ) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL; с этим: Код: AES_DECRYPT -> AES_ENCRYPT ЗЫ я делал бинарный перенос у себя. Название: Re: Миграция с 50.32 Отправлено: Efendy от 12 Декабря 2012, 12:28:01 А если просто тотже ключ шифрования указать в sat.cfg?
Название: Re: Миграция с 50.32 Отправлено: vddav от 12 Декабря 2012, 13:52:51 А если просто тотже ключ шифрования указать в sat.cfg? повтроил всю процедуру с начала, с одинаковыми Passwd_Key, дабы исключить какие либо влияния моих изменений на базу - пароли в вебке пусты, в таблице поля заполнены чем-то ))))Название: Re: Миграция с 50.32 Отправлено: stix от 12 Декабря 2012, 14:10:28 http://forum.nodeny.com.ua/index.php?topic=2016.75
читай Название: Re: Миграция с 50.32 Отправлено: Efendy от 12 Декабря 2012, 18:53:10 Код: INSERT INTO config SET `data`="package cfg; $img_dir = ''; 1;", time=1; Цитировать установите "да" если путь к изображениям корректен - это ускорит загрузку некоторых файлов, в противном случае некоторые файлы будут отдаваться скриптом stat.pl, а не вебсервером файлы будут браться там где обычно Название: Re: Миграция с 50.32 Отправлено: 0xbad0c0d3 от 12 Декабря 2012, 23:05:19 Код: vim bill.sql Код: dos2unix bill.sql Название: Re: Миграция с 50.32 Отправлено: vddav от 13 Декабря 2012, 13:26:33 Цитировать Как раз для таких случаев сделал отдельный режим работы: если путь не указан, то N+ будет запрашивать js файлы через stat.pl. Это, конечно, медленнее, но зато проще стартануть. Если в настройках указан путь и поставить "да" на параметре интересно получилось - без $img_dir = '/htdocs' ругается на отсутствие ява скриптов, а если поставить "Да" то не авторизует( и тоже на яву ругается. пароли получилось вернуть закоментировав в миграторе строки касающиеся полей с паролями) как то туповато но сработало), тока теперь даже с полными привилегиями не получается изменить привилегии других админов и установить доступ к группам( Название: Re: Миграция с 50.32 Отправлено: Efendy от 13 Декабря 2012, 14:35:07 интересно получилось большое спасибо за отсутствие конкретики. Ну, я привык что получается выуживать инфу раскаленным железом. Включаем фаербаг и смотрим куда идут запросы на файлы?что выдает: http://server/cgi-bin/stat.pl?a=_css&file=nody Название: Re: Миграция с 50.32 Отправлено: vddav от 13 Декабря 2012, 15:32:01 не совсем понял что за фаербаг, по запросу server/cgi-bin/stat.pl?a=_css&file=nody выдает:
Код: .main_bg { Код: 159 stat.pl Название: Re: Миграция с 50.32 Отправлено: vddav от 13 Декабря 2012, 15:46:48 дико извиняюсь, нашел ошибку - в днк))))
надо было установить права на файлы, еще раз извиняюсь. Название: Re: Миграция с 50.32 Отправлено: Efendy от 13 Декабря 2012, 16:27:07 http://ru.wikipedia.org/wiki/Firebug
Название: Re: Миграция с 50.32 Отправлено: vddav от 13 Декабря 2012, 16:41:00 http: //ru.wikipedia.org/wiki/Firebug спс) буду знать);)при добавлении ип-пулов существующие, похожие пулы обеденяются, так что созданные стопитсот пулов(там где были пробелы по ипам), чуть заморочившись приходят к нужному виду) Название: Re: Миграция с 50.32 Отправлено: Efendy от 13 Декабря 2012, 17:45:17 Сделаю чтоб вместо указания последнего ip в пуле, _можно_ было указать количество ip
Название: Re: Миграция с 50.32 Отправлено: vddav от 15 Декабря 2012, 12:47:59 а есть варианты как быть с допданными? и не скромный вопрос - дхцп сервер сильно далеко заброшен?)
Название: Re: Миграция с 50.32 Отправлено: goletsa от 20 Декабря 2012, 01:48:42 Пытаюсь поднять копию базы на новой версии, столкнулся с небольшими ошибками при миграции:
Код: mysql> source nodeny_plus/from_50.32_to_n_plus.txt PS: traf_info в бекапе и правда скорее всего нету(сокращенный использую для тестов), а вот остальных я вообще не помню на живой системе. Название: Re: Миграция с 50.32 Отправлено: Efendy от 20 Декабря 2012, 11:10:16 Я тестировал переход с 49.33 и 50.33. Посмотрю сегодня какие таблицы в 50.32. Ну и допданные ессно пока тоже не переносятся из 50.32,тока из 50.33
Название: Re: Миграция с 50.32 Отправлено: goletsa от 20 Декабря 2012, 12:11:12 Я тестировал переход с 49.33 и 50.33. Посмотрю сегодня какие таблицы в 50.32. Ну и допданные ессно пока тоже не переносятся из 50.32,тока из 50.33 А можно тогда както 32->33->n+?Или при переносе на 33 они тоже терялись? Название: Re: Миграция с 50.32 Отправлено: Efendy от 20 Декабря 2012, 13:45:46 Я тестировал переход с 49.33 и 50.33. Посмотрю сегодня какие таблицы в 50.32. Ну и допданные ессно пока тоже не переносятся из 50.32,тока из 50.33 А можно тогда както 32->33->n+?Или при переносе на 33 они тоже терялись? Название: Re: Миграция с 50.32 Отправлено: Efendy от 20 Декабря 2012, 19:23:16 Я тестировал переход с 49.33 и 50.33. Посмотрю сегодня какие таблицы в 50.32. Ну и допданные ессно пока тоже не переносятся из 50.32,тока из 50.33 А можно тогда както 32->33->n+?Или при переносе на 33 они тоже терялись? Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 14:54:43 Я тестировал переход с 49.33 и 50.33. Посмотрю сегодня какие таблицы в 50.32. Ну и допданные ессно пока тоже не переносятся из 50.32,тока из 50.33 А можно тогда както 32->33->n+?Или при переносе на 33 они тоже терялись? Код: # mysql -p nodeny < from_50.32_to_n_plus.txt > sql.log Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 15:09:18 Код: cat /tmp/nodeny_1356095209_3585474.log Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 15:14:17 Код: # perl install.pl -a=admin -p=pass -v Название: Re: Миграция с 50.32 Отправлено: Demeo от 21 Декабря 2012, 15:16:50 заапдейтся и попробуй Код: ERROR 1146 (42S02) at line 3: Table 'nodeny.dopvalues' doesn't exist Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 15:22:00 Вопрос, надо ли выполнять bill.sql(весь) после применения апдейта?
Название: Re: Миграция с 50.32 Отправлено: Efendy от 21 Декабря 2012, 15:28:19 Вопрос, надо ли выполнять bill.sql(весь) после применения апдейта? нет.А какая именно 50.32.xx ? Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 15:37:12 50.32.3 скорее всего, не помню точной минорной версии.
Мне приходила 50.32.10 но из-за своих фиксов я скорее всего до нее не обновился, максимум diff файлов делал для апдейта. Название: Re: Миграция с 50.32 Отправлено: Efendy от 21 Декабря 2012, 15:48:32 50.32.3 скорее всего, не помню точной минорной версии. надо накатывать sql запросы до получения 50.32.7Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 15:55:22 50.32.3 скорее всего, не помню точной минорной версии. надо накатывать sql запросы до получения 50.32.7Достаточно sql или еще накатить на файлы. 50.32.10 последняя в 50 ветке? Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 15:57:53 Хотя о чем я, можно же на бекап бд просто sql применить. Основную не трогая.
Т.е. обновить бд 32.3->32.10, потом сделать sql миграции на n+, этого достаточно? Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 16:14:50 Хм, и как это выполнить?
Код: #perl Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 16:44:42 Применилось с ошибками, лог в файле.
Базу проапдейтил инсталером 50.32.10, успешно сделало. Потом применил файл. Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 16:59:39 Ну в целом база вроде перенеслась. Я так понял задания по сети пока нереализованы?
Плюс потерялись услуги(тарифы). Название: Re: Миграция с 50.32 Отправлено: Efendy от 21 Декабря 2012, 17:30:09 Ну в целом база вроде перенеслась. Я так понял задания по сети пока нереализованы? тарифы по идее должны перенестись, ну хотя бы частично, все таки структура разная. А вот привязку к клиентам пока не получится, может и возможно, но не тривиально в sql Плюс потерялись услуги(тарифы). Название: Re: Миграция с 50.32 Отправлено: goletsa от 21 Декабря 2012, 18:11:42 Ну в целом база вроде перенеслась. Я так понял задания по сети пока нереализованы? тарифы по идее должны перенестись, ну хотя бы частично, все таки структура разная. А вот привязку к клиентам пока не получится, может и возможно, но не тривиально в sql Плюс потерялись услуги(тарифы). В принципе посравниваю структуру и попробую внешним скриптом это сделать. Среди плюсов - список клиентов грузится быстро относительно 32 версии, но пропала возможность выбирать номера домов при поиске по улице. Название: Re: Миграция с 50.32 Отправлено: vddav от 21 Декабря 2012, 19:10:16 а я вот так привязал тарифы, просьба сильно не пинать - первый раз))
Код: #!/usr/bin/perl Название: Re: Миграция с 50.32 Отправлено: 0xbad0c0d3 от 21 Декабря 2012, 20:13:57 Почему же? Я пока не смотрел что там к чему в 52-й. но если нет сложных парсов для переноса привязки, то наштампуй функцию в мускуле, даже временную, или не?
Название: Re: Миграция с 50.32 Отправлено: stix от 21 Декабря 2012, 20:17:21 конвертер данных сделать проще простого.
разве что дополнительные услуги не получится вычленить с пылу, с жару Название: Re: Миграция с 50.32 Отправлено: Efendy от 21 Декабря 2012, 23:07:39 но пропала возможность выбирать номера домов при поиске по улице. это можно запрограмить, просто не хочется хардкодить в коде имена полей, тогда биллинг будет абсолютно универсальным. Может какие-нибудь правила в конфиге будутНазвание: Re: Миграция с 50.32 Отправлено: boomer666 от 13 Февраля 2013, 15:07:06 Конвертировал базу
все хорошо кроме паролей у клиентов их в обще нет) тарифы частично перенеслись, ток у клиентов они не стоят можно ли конвертировать с паролями и привязкой к тарифу? Название: Re: Миграция с 50.32 Отправлено: Efendy от 13 Февраля 2013, 15:49:18 Конвертировал базу для паролей в sat.cfg установи тот же ключ шифрования, что и в старом NoDeny. Услуги напрямую не совместимы, поэтому надо писать скрипт. Могу посоветовать обратиться к Vitalvas, я думаю в состоянии написать за отдельную платувсе хорошо кроме паролей у клиентов их в обще нет) тарифы частично перенеслись, ток у клиентов они не стоят можно ли конвертировать с паролями и привязкой к тарифу? Название: Re: Миграция с 50.32 Отправлено: boomer666 от 13 Февраля 2013, 19:44:19 с паролями разобрался спасибо.
подскажите пожалуйста sql запрос чтобы поставить хотя бы одинаковые тарифы поставить? Название: Re: Миграция с 50.32 Отправлено: Efendy от 13 Февраля 2013, 20:51:05 с паролями разобрался спасибо. нету такого в принципе. В старом нодени услуга - это поле в таблице users, в новом - это запись в таблице users_services с ссылкой на сформированные специальным образом параметры в services. Чтобы их сконвертить нужно писать скрипт. Vitalvas сможет это сделать, естественно не за бесплатно ибо это его время подскажите пожалуйста sql запрос чтобы поставить хотя бы одинаковые тарифы поставить? Название: Re: Миграция с 50.32 Отправлено: boomer666 от 13 Февраля 2013, 21:18:33 INSERT INTO `nodeny`.`users_services` (
`id` , `uid` , `pay_id` , `service_id` , `tm_start` , `tm_end` , `next_service_id` , `tags` ) VALUES ( '5', '4', '110836', '22', '1360769455', '1362088800', '22', ',inet,speed,' ); а так нельзя? Название: Re: Миграция с 50.32 Отправлено: Efendy от 13 Февраля 2013, 22:10:18 ок. можно. делай.
Название: Re: Миграция с 50.32 Отправлено: stix от 01 Марта 2013, 10:32:43 при миграции карточек багнул со старой таблицей.
в результате чего, появились дубликаты карточек. Код: select cid,cod,alive,serial, count(cod) as dubcount из бэкапа тянуть нельзя, ибо много карт уже активировано. ALTER IGNORE TABLE cards ADD UNIQUE INDEX(cod); если сделаю так, то неизвестно, какая останется (активированная), а какая нет (чистая) Название: Re: Миграция с 50.32 Отправлено: Efendy от 01 Марта 2013, 11:28:31 Чистых одинаковых кодов нет, правильно? Иначе при активации какую активировать? Следовательно, тебе нужно сделать уникальными активированые карточки, например так:
cod=CONCAT(cid,'-',cod) Название: Re: Миграция с 50.32 Отправлено: stix от 01 Марта 2013, 11:30:45 вот в том то и беда, что cod повторяется.....
получается отличие в них это cid, alive впринципе т.к. cid автоинкрементное поле, то можно удалить все дубляжи, что после 30 000 cid (у меня к ним вставлялись) Название: Re: Миграция с 50.32 Отправлено: Efendy от 01 Марта 2013, 11:43:18 Ты смотрел на команду concat, что я написал выше или в этом-то и беда, что не смотрел? Или код повторяется для неактивированных? тогда это некорректно в любом случае, какой смысл что-то с этим делать вообще?
Название: Re: Миграция с 50.32 Отправлено: stix от 01 Марта 2013, 11:57:12 лан, короче тут походу грабли серьезные.
дублируются "уникальные" поля. в след раз надо будет уникальным поле cod делать Название: Re: Миграция с 50.32 Отправлено: Efendy от 01 Марта 2013, 13:08:52 лан, короче тут походу грабли серьезные. дублируются "уникальные" поля. в след раз надо будет уникальным поле cod делать CONCAT - функция конкатенации. Другими словами моя команда делает cod = cid . '-' . cod Поле cid уникальное. Следовательно гарантированно cod будет уникальным. Естественно при апдейте нужно делать where alive>0 (или как там в старом нодени активированность определяется) Название: Re: Миграция с 50.32 Отправлено: stix от 03 Марта 2013, 14:59:02 кстати подумав, что cid инкрементом же добавляется
запросом DELETE t1 from cards t1, cards t2 where t1.cod=t2.cod AND t1.cid > t2.cid; удалил все дубликаты кодов, где cid больше первого. т.к select выбирал первые, то с alive ничего не случилось Название: Re: Миграция с 50.32 Отправлено: Efendy от 03 Марта 2013, 19:01:24 клева, если это работает
Название: Re: Миграция с 50.32 Отправлено: Cell от 06 Марта 2013, 16:19:41 Обратил внимание что расположение скриптов /usr/local/nodeny захардкодено в stat.pl
И если у меня это место уже занято, возникает печалька. Есть предложение изменить дефолтное название каталога для Н+ или перенести конфиг в какое-нибудь стандартное для freebsd место и путь указывать в конфиге. Название: Re: Миграция с 50.32 Отправлено: Efendy от 06 Апреля 2013, 11:11:48 Я подумаю, возможно есть смысл перенести в переменные окружения.
Название: Re: Миграция с 50.32 Отправлено: Nafanya от 06 Июля 2013, 08:36:33 Прошу не пинать. Мускуле не силен но работаю.
Вопрос. Есть в старой нодени 50,33 паспортные данные.в базе мускула Нодену+ я их наблюдаю. Создал для паспортных данных в Нодену+. Как их перетянуть в Нодену+? Подскажите. Спасибо заранее. Думки есть но боюсь ошибиться. Название: Re: Миграция с 50.32 Отправлено: Efendy от 07 Июля 2013, 17:18:25 Прошу не пинать. Мускуле не силен но работаю. Ну, а слабо было сделать аналогично как, скажем, перенесен телефон? Смотрим в файл перехода:Вопрос. Есть в старой нодени 50,33 паспортные данные.в базе мускула Нодену+ я их наблюдаю. Создал для паспортных данных в Нодену+. Как их перетянуть в Нодену+? Подскажите. Спасибо заранее. Думки есть но боюсь ошибиться. Код: ALTER TABLE `data0` ADD `_adr_telefon` VARCHAR(255) NOT NULL; Название: Re: Миграция с 50.32 Отправлено: Nafanya от 07 Июля 2013, 18:09:55 Спасибо!!!
Думал делать немного не так, но суть у меня была такая же. Название: Re: Миграция с 50.32 Отправлено: Fredik от 16 Сентября 2013, 20:40:52 второй день воюю
подскажите пошагово как перенести 50.32 на Н+ Название: Re: Миграция с 50.32 Отправлено: Art1 от 16 Сентября 2013, 21:28:00 второй день воюю подскажите пошагово как перенести 50.32 на Н+ Конкретней задайте вопрос. Что именно не получается? Название: Re: Миграция с 50.32 Отправлено: Gosha от 16 Сентября 2013, 21:37:17 1. Устанавливаешь Nodeny+
2. Удаляешь таблицы из nodeny( удалял через phpmyadmin) 3. mysql -p use nodeny; source bill.sql; (бекап со старого биллинга) source from_50.32_to_n_plus.txt; 4. cd /usr/local/nodeny perl install.pl -x perl install.pl -w=www perl install.pl -m perl install.pl -p admin=12345 ( создать нового админа , логин не должен встречается в старом биллинге) 5. В sat.conf $Passwd_Key - состарого биллинга Название: Re: Миграция с 50.32 Отправлено: Fredik от 17 Сентября 2013, 12:32:00 спасибо, вроде перенесло, не нет в списке не одного клиента, доступ к группе есть. а список пуст, куда копнуть?
Название: Re: Миграция с 50.32 Отправлено: Gosha от 17 Сентября 2013, 14:00:47 Скорей всего нет прав. А в базе данных клиенты есть?
Название: Re: Миграция с 50.32 Отправлено: Fredik от 17 Сентября 2013, 17:53:08 да
Название: Re: Миграция с 50.32 Отправлено: Fredik от 17 Сентября 2013, 19:28:34 даже не выходит создать нового клиента, сразу после создания пишет что его айди не найден.
Название: Re: Миграция с 50.32 Отправлено: Fredik от 17 Сентября 2013, 20:47:07 и так что-то вырисовывается
source 5032.sql - бекап старой базы source bill.sql - чистая база Н+ source from_50.32_to_n_plus.txt; и 4. cd /usr/local/nodeny perl install.pl -x perl install.pl -w=www perl install.pl -m perl install.pl -p admin=12345 ( создать нового админа , логин не должен встречается в старом биллинге) 5. В sat.conf $Passwd_Key - состарого биллинга но что-то делаю не так, подскажите где? не перенеслись улицы, тарифы у клиентов, и может быть еще что-то. Название: Re: Миграция с 50.32 Отправлено: Gosha от 17 Сентября 2013, 21:09:19 Тарифы не переносятся. Пишется скрипт переноса тарифов( у меня нет).
А улицы должны были перенестись , посмотри в доп. поля. Я еще переносил МАС-адреса. А почему? Цитировать source 5032.sql - бекап старой базы Попробуй source bill.sql - чистая база Н+ source from_50.32_to_n_plus.txt; Цитировать drop database nodeny; И права на базу nodeny.create database nodeny; use nodeny; source 5032.sql; source /usr/local/nodeny/from_50.32_to_n_plus.txt; Название: Re: Миграция с 50.32 Отправлено: Art1 от 17 Сентября 2013, 21:58:30 Тарифы не переносятся. Пишется скрипт переноса тарифов( у меня нет). У меня перенеслись тарифы, просто как услуга к абоненту небыли подключены, надо скриптом прибивать... Скрипт есть, надо индивидуально подправлять под базу, чтоб правильно все было Название: Re: Миграция с 50.32 Отправлено: Fredik от 17 Сентября 2013, 22:14:49 Цитировать У меня перенеслись тарифы, просто как услуга к абоненту небыли подключены, надо скриптом прибивать... Скрипт есть, надо индивидуально подправлять под базу, чтоб правильно все было а дай пожалуйста я подправлю под себя Название: Re: Миграция с 50.32 Отправлено: Efendy от 17 Сентября 2013, 22:48:24 В install.pl
Код: # Конвертер: номер пакета => id услуги Название: Re: Миграция с 50.32 Отправлено: Art1 от 18 Сентября 2013, 08:23:10 Цитировать У меня перенеслись тарифы, просто как услуга к абоненту небыли подключены, надо скриптом прибивать... Скрипт есть, надо индивидуально подправлять под базу, чтоб правильно все было а дай пожалуйста я подправлю под себя Код: #!/usr/bin/perl Надо старую базу тоже залить Название: Re: Миграция с 50.32 Отправлено: Fredik от 18 Сентября 2013, 18:30:09 большое спасибо всем откликнувшимся, вроде все перенесло, только вот названия улиц не перенесло, но ничего страшного их не много можно и руками переписать.
Название: Re: Миграция с 50.32 Отправлено: Art1 от 19 Сентября 2013, 12:53:59 большое спасибо всем откликнувшимся, вроде все перенесло, только вот названия улиц не перенесло, но ничего страшного их не много можно и руками переписать. Проблем с улицами не было, у нас все перенеслось! У меня их дофига, руками бы долго перебивали Название: Re: Миграция с 50.32 Отправлено: Fredik от 20 Сентября 2013, 21:48:51 после первого коннекта юзеру заглушка пишет что у него не выбрана не одна услуга.
хотя услуга выбрана и не имеет конца, если её удалить и забить ту-же - то все ок и и нет есть. как быть? Название: Re: Миграция с 50.32 Отправлено: Fredik от 20 Сентября 2013, 22:32:07 а так же нет следующего пакета и не стоит цена за текущий
Название: Re: Миграция с 50.32 Отправлено: Efendy от 20 Сентября 2013, 22:39:19 после первого коннекта юзеру заглушка пишет что у него не выбрана не одна услуга. на скольких абонах проверил? может у него раньше была услуга без тега inetхотя услуга выбрана и не имеет конца, если её удалить и забить ту-же - то все ок и и нет есть. как быть? Название: Re: Миграция с 50.32 Отправлено: Fredik от 20 Сентября 2013, 22:49:51 после первого коннекта юзеру заглушка пишет что у него не выбрана не одна услуга. на скольких абонах проверил? может у него раньше была услуга без тега inetхотя услуга выбрана и не имеет конца, если её удалить и забить ту-же - то все ок и и нет есть. как быть? да поставил тег inet в интернет пустило, но вот что пишет Услуга Стоимость Безлимитный-50 0 $ Старт 01.01.1970 03:00 Не имеет срока действия Следующая услуга Нет а по факту услуга стоит 2 грн в сутки если выбрать руками этот же тариф то все ок и цену пишет что еще нужно добавить? Название: Re: Миграция с 50.32 Отправлено: Fredik от 20 Сентября 2013, 22:54:33 или если поставить начало , конец и след пакет то в конце времени оно его изменит и продлит само? и начнет снимать деньги?
Название: Re: Миграция с 50.32 Отправлено: Efendy от 20 Сентября 2013, 23:54:11 если ты прописал тег явно - значит ты заюзал не тот модуль услуг. Для инета нужно юзать inet_unlim
Название: Re: Миграция с 50.32 Отправлено: Efendy от 04 Октября 2013, 15:48:29 Забыл сообщить:
Код: perl install.pl -u добавит клиентам услуги, которые были в Н50, начиная с текущего дня и до конца месяца, причем сумма не будет уменьшена пропорционально дням. Т.е. на выходе у всех клиентов будет баланс такой же как и в Н50. Единственное, придется начислить бонусы клиентам, которые подключились в середине месяца. В предыдущей версии инсталятора нужно было самому указывать соответствие id старой услуги = новой, сейчас автоматом Название: Re: Миграция с 50.32 Отправлено: Groov от 23 Октября 2013, 08:35:04 подправите скрип перехода, он не создаёт таблицу links
Название: Re: Миграция с 50.32 Отправлено: Efendy от 23 Октября 2013, 09:07:21 подправите скрип перехода, он не создаёт таблицу links окНазвание: Re: Миграция с 50.32 Отправлено: SeMant от 23 Октября 2013, 10:33:20 Перехожу с 50,32 на Н+, сделал
use nodeny; source bill.sql; (бекап со старого биллинга) source from_50.32_to_n_plus.txt; cd /usr/local/nodeny perl install.pl -x perl install.pl -w=www perl install.pl -m perl install.pl -p sysop=12345 perl install.pl -u В админку захожу, данные вроде все перенеслись.Но вот только пытаюсь что-то где-то изменить получаю ошибку. Код: 23.10.2013 10:41:16 [(eval 10)::BEGIN(2) calls.pm(36) Db.pm::line(144) Db.pm::sql(113) Db.pm::connect(95)] Захожу по новой, все сохранилось. Название: Re: Миграция с 50.32 Отправлено: Efendy от 23 Октября 2013, 10:44:49 Какая конкретно последовательность действий приводит к такому?
Название: Re: Миграция с 50.32 Отправлено: SeMant от 23 Октября 2013, 10:46:25 Иногда при авторизации в админке и всегда при нажатии кнопки Сохранить в Инфо юзера.
Название: Re: Миграция с 50.32 Отправлено: SeMant от 23 Октября 2013, 10:48:20 Не всё перенеслось. Все пероли как пользовательские так админские пустые.
Название: Re: Миграция с 50.32 Отправлено: Efendy от 23 Октября 2013, 10:50:15 Не всё перенеслось. Все пероли как пользовательские так админские пустые. исправь ключ шифрования паролей в sat.cfgНазвание: Re: Миграция с 50.32 Отправлено: Efendy от 23 Октября 2013, 10:56:35 Иногда при авторизации в админке и всегда при нажатии кнопки Сохранить в Инфо юзера. включи debug, нажми на кнопку "сохранить" и покажи дебаг. На странице посредине должно быть написано "редирект". Не перепутайНазвание: Re: Миграция с 50.32 Отправлено: SeMant от 23 Октября 2013, 10:59:30 Redirect to ?_unikey=K/QFqQG1Z7IHFBj3dgXhIw
Название: Re: Миграция с 50.32 Отправлено: SeMant от 23 Октября 2013, 11:00:53 пароли появились.
по середине есть redirect Название: Re: Миграция с 50.32 Отправлено: Efendy от 23 Октября 2013, 14:15:27 Черд, если есть вариант сделать не то, что я просил - он будет сделан. Я просил Дебаг!
Название: Re: Миграция с 50.32 Отправлено: SeMant от 23 Октября 2013, 14:53:31 как-то так
Название: Re: Миграция с 50.32 Отправлено: Efendy от 23 Октября 2013, 16:06:09 Покажи результат
Код: perl -e'use Data::Dumper; my $v = { "\x{FFFF_FFFF}" }; utf8::decode($v); print Dumper($v)' Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 06 Марта 2014, 21:14:00 Приветсвую, уважаемые форумчане! Прошу помощи!
Переношу с 50.32 Всё кагбе отличненько, но никак мак адреса немогу перенести в текстовый файлик from_50.32_to_n_plus добавил строки INSERT INTO mac_uid (uid,mac) (SELECT parent_id, REPLACE(field_value,':','') FROM dopdata WHERE field_alias='_mac') ON DUPLICATE KEY UPDATE uid=parent_id; Но маки не переносяться( Благодарю!) Название: Re: Миграция с 50.32 Отправлено: 0xbad0c0d3 от 06 Марта 2014, 22:24:53 Код: INSERT INTO mac_uid (uid,mac) Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 08:05:33 Код: INSERT INTO mac_uid (uid,mac) Название: Re: Миграция с 50.32 Отправлено: vddav от 07 Марта 2014, 12:21:55 я переносил таким вот перловым скриптом))) коряво конечно, но перенесло, до сих пор все работает) но лучше проверь где нить в песочнице. была доп БД 'test' в ней база старого нодени. работает через цикл - поочередно перебирает все id юзеров, по єтому в цикле ставишь кол-во абонов + 1))) и dopfield_id смотри какое у тебя по номеру.
Код: #!/usr/bin/perl Название: Re: Миграция с 50.32 Отправлено: Efendy от 07 Марта 2014, 12:32:13 Код: INSERT INTO mac_uid (uid,mac) Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 12:38:35 я переносил таким вот перловым скриптом))) коряво конечно, но перенесло, до сих пор все работает) но лучше проверь где нить в песочнице. была доп БД 'test' в ней база старого нодени. работает через цикл - поочередно перебирает все id юзеров, по єтому в цикле ставишь кол-во абонов + 1))) и dopfield_id смотри какое у тебя по номеру. Буду пробовать! У меня это не рабочий а тестовый.Код: #!/usr/bin/perl Значит создаю базу test, выбираю туда бэкап 50,32, пароли и настройки в скрипте меняю под свои. И по скрипту в базу nodeny (основную) перенесутся mac-адреса в соответсвии с ID абонентов. Правильно понял? Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 12:43:46 Код: INSERT INTO mac_uid (uid,mac) prntscr.com/2ymx9f Название: Re: Миграция с 50.32 Отправлено: vddav от 07 Марта 2014, 12:57:12 я переносил таким вот перловым скриптом))) коряво конечно, но перенесло, до сих пор все работает) но лучше проверь где нить в песочнице. была доп БД 'test' в ней база старого нодени. работает через цикл - поочередно перебирает все id юзеров, по єтому в цикле ставишь кол-во абонов + 1))) и dopfield_id смотри какое у тебя по номеру. Буду пробовать! У меня это не рабочий а тестовый.Код: #!/usr/bin/perl Значит создаю базу test, выбираю туда бэкап 50,32, пароли и настройки в скрипте меняю под свои. И по скрипту в базу nodeny (основную) перенесутся mac-адреса в соответсвии с ID абонентов. Правильно понял? Название: Re: Миграция с 50.32 Отправлено: 0xbad0c0d3 от 07 Марта 2014, 13:27:27 Код: SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopdata dd inner join rev_users r on r.rev=dd.revision and dd.template_num=r.template_num WHERE dd.field_alias='_mac' если нет, то это: Код: SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopvalues dd inner join dopfields df inner join rev_users r on r.rev=dd.revision and df.template_num=r.template_num and df.id=dd.dopfield_id WHERE df.field_alias='_mac' Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 13:54:33 Код: SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopdata dd inner join rev_users r on r.rev=dd.revision and dd.template_num=r.template_num WHERE dd.field_alias='_mac' если нет, то это: Код: SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopvalues dd inner join dopfields df inner join rev_users r on r.rev=dd.revision and df.template_num=r.template_num and df.id=dd.dopfield_id WHERE df.field_alias='_mac' mysql>use nodeny; mysql>SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopvalues dd inner join dopfields df inner join rev_users r on r.rev=dd.revision and df.template_num=r.template_num and df.id=dd.dopfield_id WHERE df.field_alias='_mac' После етого должно было что то выдать, если я правильно понял? но ничего не выдает ни так ни так( Название: Re: Миграция с 50.32 Отправлено: 0xbad0c0d3 от 07 Марта 2014, 14:04:32 а Вы уверены, что в базе хоть что-то есть? Например:
Код: SELECT * FROM dopvalues LIMIT 10 Код: SELECT * FROM dopdata LIMIT 10 Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 14:24:14 mysql> SELECT * FROM `dopvalues` WHERE `dopfield_id` =4 LIMIT 0 , 30;
+-----------+-------------+-------------------+ | parent_id | dopfield_id | field_value | +-----------+-------------+-------------------+ | 1 | 4 | 001D6074A102 | | 1 | 4 | | | 1 | 4 | 001D6074A102 | | 1 | 4 | 001D6074A103 | | 1 | 4 | 00:1D:60:74:A1:02 | | 1 | 4 | 00:1D:60:74:00:00 | | 1 | 4 | 00:1D:60:04:00:00 | | 1 | 4 | 00:1D:60:74:00:00 | | 1 | 4 | 00:1D:60:74:A1:02 | Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 14:26:42 mysql> SELECT * FROM `dopvalues` WHERE `dopfield_id` =4 LIMIT 0 , 30; +-----------+-------------+-------------------+ | parent_id | dopfield_id | field_value | +-----------+-------------+-------------------+ | 1 | 4 | 001D6074A102 | | 1 | 4 | | | 1 | 4 | 001D6074A102 | | 1 | 4 | 001D6074A103 | | 1 | 4 | 00:1D:60:74:A1:02 | | 1 | 4 | 00:1D:60:74:00:00 | | 1 | 4 | 00:1D:60:04:00:00 | | 1 | 4 | 00:1D:60:74:00:00 | | 1 | 4 | 00:1D:60:74:A1:02 | Я дико извиняюсь, не ставил вконце ";" все команды что Вы указывали выводят таблицу маков Название: Re: Миграция с 50.32 Отправлено: 0xbad0c0d3 от 07 Марта 2014, 14:31:21 Код: SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopvalues dd inner join dopfields df inner join rev_users r on r.rev=dd.revision and df.template_num=r.template_num and df.id=dd.dopfield_id WHERE df.field_alias='_mac'; должно либо вывести результат, либо сообщить про ошибку, но если ни результата, ни ошибки, тогда нужно смотреть в: Код: select * from rev_users limit 10; Код: select * from dopfields; Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 14:34:58 Код: SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopvalues dd inner join dopfields df inner join rev_users r on r.rev=dd.revision and df.template_num=r.template_num and df.id=dd.dopfield_id WHERE df.field_alias='_mac'; должно либо вывести результат, либо сообщить про ошибку, но если ни результата, ни ошибки, тогда нужно смотреть в: Код: select * from rev_users limit 10; Код: select * from dopfields; Да, в их числе. Выводиться таблица ID mac Название: Re: Миграция с 50.32 Отправлено: 0xbad0c0d3 от 07 Марта 2014, 14:39:56 Тогда, предположу, что:
Код: INSERT INTO mac_uid (uid,mac) SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopvalues dd inner join dopfields df inner join rev_users r on r.rev=dd.revision and df.template_num=r.template_num and df.id=dd.dopfield_id WHERE df.field_alias='_mac'; Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 14:55:20 Тогда, предположу, что: к сожалению не удачно(Код: INSERT INTO mac_uid (uid,mac) SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopvalues dd inner join dopfields df inner join rev_users r on r.rev=dd.revision and df.template_num=r.template_num and df.id=dd.dopfield_id WHERE df.field_alias='_mac'; и если Цитировать mysql> SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopvalues dd inner join dopfields df inner join rev_users r on r.rev=dd.revision and df.template_num=r.template_num and df.id=dd.dopfield_id WHERE df.field_alias='_mac'; ERROR 1146 (42S02): Table 'test.dopvalues' doesn't exist ой, сори, ща проверю что не так делаю Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 15:57:56 Скажу что делаю и что после етого
create database nodeny; use nodeny; source /usr/local/nodeny/bill.sql после етого выполнение команды в базе данных Цитировать SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopvalues dd inner join dopfields df inner join rev_users r on r.rev=dd.revision and df.template_num=r.template_num and df.id=dd.dopfield_id WHERE df.field_alias='_mac'; выводит список маков и идно после source /usr/local/nodeny/from_50.32_to_n_plus.txt есть ошибки Цитировать ERROR 1051 (42S02): Unknown table 'rev_equip' и выполнив в мускулеERROR 1051 (42S02): Unknown table 'rev_users' Query OK, 0 rows affected (0.00 sec) ERROR 1051 (42S02): Unknown table 'traf_info' ERROR 1051 (42S02): Unknown table 'traf_lost' Цитировать mysql> SELECT dd.parent_id, REPLACE(dd.field_value,':','') FROM dopvalues dd inner join dopfields df inner join rev_users r on r.rev=dd.revision and df.template_num=r.template_num and df.id=dd.dopfield_id WHERE df.field_alias='_mac'; ERROR 1146 (42S02): Table 'nodeny.rev_users' doesn't exist Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 17:41:13 я переносил таким вот перловым скриптом))) коряво конечно, но перенесло, до сих пор все работает) но лучше проверь где нить в песочнице. была доп БД 'test' в ней база старого нодени. работает через цикл - поочередно перебирает все id юзеров, по єтому в цикле ставишь кол-во абонов + 1))) и dopfield_id смотри какое у тебя по номеру. благодарю, Вашим скриптиком все переноситься отличненько, нужно просто учитывать не количество абонентов а ID, и ето была моя ошибка)Код: #!/usr/bin/perl Название: Re: Миграция с 50.32 Отправлено: vddav от 07 Марта 2014, 18:01:52 ну как бы абоны по порядку идут... макс ид = кол-ву абонов, хотя если абонов удаляли, ну главное что велосипед прокатил))))
Название: Re: Миграция с 50.32 Отправлено: Pa4ka от 07 Марта 2014, 18:17:32 ну как бы абоны по порядку идут... макс ид = кол-ву абонов, хотя если абонов удаляли, ну главное что велосипед прокатил)))) да, поехал на обоих колёсах)))Название: Re: Миграция с 50.32 Отправлено: serg_sk от 31 Октября 2014, 16:04:07 Пытаюсь перейти с 50.33 на n+.
Собственно конвертация базы проходит нормально: Цитировать root# mysql nplus -u root -p < from_50.33_to_n_plus.txt Хотя к скрипту конвертации есть отдельные вопросы.Enter password: change_ippool('10.0.0.2','10.0.2.254','static','0') 1 Зачем в нем прописано вот это? Цитировать DROP VIEW `rev_equip`; DROP VIEW `rev_users`; Если взять bill.sql от 50.33, то видно, что в процессе установки эти вьюшки создаются и используются, но в конце установки они дропаются. Соответственно их в базе уже нет. А скрипт на этих двух строчках вылетал. Но чтобы быть чистым душой и телом, я создал эти вьюшки и скрипт перехода на n+ их дропнул и пошел дальше. Но это все лирика. Идем дальше. Все кажется конвертнулось. Открываем веб морду и что мы видим? Картинка: i63.fastpic.ru/big/2014/1031/7d/b7ef664aaad86794448336844639fd7d.png Видим, что у абонент нет ни улицы, ни мака, да и выглядит карточка абонента как-то криво. Совсем не так как в демке на сайте. Что же делать и как же заставить карточку абонента показывать корректно его данные? И как быть с алиасами клиентов? У меня сейчас все алиасы стали отдельными абонентами. Название: Re: Миграция с 50.32 Отправлено: SerjioMati от 31 Октября 2014, 16:20:10 Пытаюсь перейти с 50.33 на n+. не кажу що то так але мені здається що це повязано з r292 і вище Стас зробив 1 кнопку для вул і піб колонок. і мені кажеться що змінив можливо таблиці в бд, а скрипт не переробив.Собственно конвертация базы проходит нормально: Цитировать root# mysql nplus -u root -p < from_50.33_to_n_plus.txt Хотя к скрипту конвертации есть отдельные вопросы.Enter password: change_ippool('10.0.0.2','10.0.2.254','static','0') 1 Зачем в нем прописано вот это? Цитировать DROP VIEW `rev_equip`; DROP VIEW `rev_users`; Если взять bill.sql от 50.33, то видно, что в процессе установки эти вьюшки создаются и используются, но в конце установки они дропаются. Соответственно их в базе уже нет. А скрипт на этих двух строчках вылетал. Но чтобы быть чистым душой и телом, я создал эти вьюшки и скрипт перехода на n+ их дропнул и пошел дальше. Но это все лирика. Идем дальше. Все кажется конвертнулось. Открываем веб морду и что мы видим? Картинка: i63.fastpic.ru/big/2014/1031/7d/b7ef664aaad86794448336844639fd7d.png Видим, что у абонент нет ни улицы, ни мака, да и выглядит карточка абонента как-то криво. Совсем не так как в демке на сайте. Что же делать и как же заставить карточку абонента показывать корректно его данные? И как быть с алиасами клиентов? У меня сейчас все алиасы стали отдельными абонентами. Название: Re: Миграция с 50.32 Отправлено: serg_sk от 01 Ноября 2014, 10:38:45 С улицами разобрался, нужно было для групп поставить галочки на доп. полях.
А как с алиасами быть? Название: Re: Миграция с 50.32 Отправлено: SerjioMati от 01 Ноября 2014, 11:00:44 С улицами разобрался, нужно было для групп поставить галочки на доп. полях. ні як.можна тільки ip а логіни і паролі різні не получиться!А как с алиасами быть? Название: Re: Миграция с 50.32 Отправлено: serg_sk от 01 Ноября 2014, 12:08:13 Ну почему нельзя? Если есть возможность на 1 аккаунт вешать дополнительный IP (Правда почему-то она не работает. Колесо крутится и потом тишина), то фактически это и есть алиас в старом биллинге. Доп логины и пароли не нужны. Просто нужно, чтобы каждому ип, даже дополнительному, соответствовал свой мак адрес.
Название: Re: Миграция с 50.32 Отправлено: artful от 21 Апреля 2015, 21:52:22 Всем привет! Подскажите пожалуйста следующее: в 49-м у меня было дополнительное поле "Комментарий", при переходе на Н+ оно не перенеслось. Вот создал я такое же дополнительное поле в Н+, а можете, если это возможно подсказать как сделать, чтобы данные из старой базы этого поля перенести в новую. Может скрипт таковой имеется. А то придется порядочно информации руками перепечатывать.
Название: Re: Миграция с 50.32 Отправлено: NTE от 11 Июня 2017, 07:08:03 Мигрировали с 50.32 на nodeny+. В старой системе у нас были посуточные тарифы.
В этой хотим тоже настроить ежедневное снятие. Но почему-то не снимается абонка. В какую сторону копнуть? Вот настройка услуги: Название: Re: Миграция с 50.32 Отправлено: Efendy от 11 Июня 2017, 09:06:23 Ядро биллинга запущено? В частности модуль ядра services (если он не прописан в автозапуск с основным ядром)
Запусти: Код: perl nokernel.pl -v -m=services и смотри в консоль, возможно вылетает ошибка, приведи ее здесь Название: Re: Миграция с 50.32 Отправлено: NTE от 11 Июня 2017, 09:49:37 Вот, запустил. Скрин ниже.
Какой командой можно посмотреть запущенный модули нодени? Так смотрю, ядро запущенно. Но работает-ли -m=services не понятно. Код: # ps ax | grep nodeny | grep pl | grep -v grep Спасибо! Название: Re: Миграция с 50.32 Отправлено: Efendy от 11 Июня 2017, 10:46:42 Есть абоненты, у которых услуга должна быть закончена уже? Если в их данных кликнуть по услуге, то во времени окончания должно быть написано "должна закончиться с минуту на минуту". Еще учти, что если ты изменил данные услуги после того, как она была подключена абону, то изменений в уже подключенной услуге не будет
Название: Re: Миграция с 50.32 Отправлено: NTE от 11 Июня 2017, 20:03:52 Да, понял так и есть.
После перехода по умолчанию подвязались услуги в режиме "Конец месяца" Потом отредактировал их на посуточную, а у абонов так и осталось. В итоге на первое число снимется посуточная сумма? Можно как-то sql запросом отредактировать дату конца услуги у абонентов с 1.07.2017 на, например, 12.06.2017 01:00:00 (https://image.prntscr.com/image/0VpwKWXpRxCprZSHUKIxeQ.png) Спасибо! Название: Re: Миграция с 50.32 Отправлено: NTE от 11 Июня 2017, 21:08:53 проапдейтил на одном абоненте tm_end.
Посмотрю что будет ... Название: Re: Миграция с 50.32 Отправлено: NTE от 11 Июня 2017, 21:22:11 Все нормально.
Спасибо за подсказку! Название: Re: Миграция с 50.32 Отправлено: NTE от 12 Июня 2017, 22:48:22 Еще одна проблема присутствует после миграции на нодени+...
У всех абонентов Тип авторизации - "Всегда онлайн" (https://image.prntscr.com/image/Dmw-W4jXQz6zlXCC4TKjtA.png) Абоненты работают нормально, но у всех синие ключики (вместо зеленых) (https://image.prntscr.com/image/Bhfm4oMyRYKxKZPBeP-9bg.png) И если в фильтре выбрать "Авторизованы всегда онлайн" (https://image.prntscr.com/image/X607xq6PRnek3OJTTRqzTw.png) Пишет что по фильтру ничего не найдено (https://image.prntscr.com/image/lGWaHd-WRa6O0qLW1WJztA.png) В чем может быть причина? Название: Re: Миграция с 50.32 Отправлено: elite от 12 Июня 2017, 23:50:46 Модуль авторизации по трафику надо запускать
Название: Re: Миграция с 50.32 Отправлено: Efendy от 13 Июня 2017, 06:17:11 1) тебе нужно чтоб "всегда онлайн" был выключен у всех абонов?
2) фильтр на скрине - это не фильтр по полю "всегда онлайн", это авторизация по факту наличия трафика Название: Re: Миграция с 50.32 Отправлено: NTE от 13 Июня 2017, 06:31:06 1. Да, тип авторизации у абонентов так и нужен "всегда онлайн".
2 И нужно чтобы в фильтре "Авторизованы всегда онлайн" именно так и было: траф есть - абонент в фильтре отобразился Отображение в фильтре "Авторизованы всегда онлайн" зависит от того запущена-ли программа сбора трафика (ipcad или netflow)? Код: [root@nod+ /usr/home/lexx]# ps ax | grep nodeny | grep pl | grep -v grep Название: Re: Миграция с 50.32 Отправлено: Efendy от 13 Июня 2017, 07:37:09 Конечно, сбор трафика должен быть запущен. Ну, и как сказал elite, нужно запустить модуль authtraf
Название: Re: Миграция с 50.32 Отправлено: NTE от 13 Июня 2017, 09:22:52 Спасибо!
Видимо не запущен. В файле: authtraf.cfg Код: run => 0, run меняем на 1 Interface - внешний сто стороны абонента? Если внутреннй, то там как-то можно указать несколько интерфейсов? (т.к. крутится куча вланов еще) или достаточно указать родительский интерфейс сетевой платы? Название: Re: Миграция с 50.32 Отправлено: Efendy от 13 Июня 2017, 10:15:07 Это используется только для arp-пингования. Указывается только один интерфейс
Название: Re: Миграция с 50.32 Отправлено: NTE от 13 Июня 2017, 22:43:42 Не запускается модуль authtraf.
Вываливается ошибка: Код: # /usr/bin/perl /usr/local/nodeny/nokernel.pl -m=authtraf Памяти в системе полно. В /usr/local/nodeny/cfg/noserver.cfg.pm Параметр $forward_enabled - пробовал и 0, и 1 безрезультатно... Куда еще посмотреть? Название: Re: Миграция с 50.32 Отправлено: Efendy от 14 Июня 2017, 10:32:57 Скорее всего тебе придется отказаться от arp-пингования и оставить только авторизацию по трафику, поскольку уже несколько лет прошло, а модуль Net::Arp имеет проблемы с памятью. Можно попытаться увеличить память, выделяемую ядру (что именно увеличить? хз) и если ничего не поможет - отказаться
Название: Re: Миграция с 50.32 Отправлено: NTE от 14 Июня 2017, 13:12:00 А как можно оставить "авторизацию по трафику" и отключить арп-пингование?
Название: Re: Миграция с 50.32 Отправлено: Efendy от 14 Июня 2017, 15:34:47 Хм. Я не сделал отключение) Пока я не выпустил обновление, можешь по-быстрому заменить
Код: my $mac = Net::ARP::arp_lookup( $interface, $p{ipa} ); Код: my $mac = ''; Название: Re: Миграция с 50.32 Отправлено: NTE от 14 Июня 2017, 16:16:39 Спасибо!
Попробую Название: Re: Миграция с 50.32 Отправлено: NTE от 15 Июня 2017, 00:02:18 authtraf запустился, спасибо БОЛЬШОЕ!
Еще проблемка есть... ipcad в режиме tee выжирает ресурсы процов до 100% (в divert - вобще запредельный аппетит) Инет у абонов тормозит и, что интересно, на отдачу скорость режется почти в два раза от заявленной в услуге. система двухпроцессорная (X5450 @ 3.00GHz) и 24 гига оперативы. Трафик в час-пик 2.2 - 2.5 гиг Если отключить шейп Код: ipfw add 100 allow tcp from any to any Это значит что нужна распределенная система? Или что-то можно подправить? 50-я версия нодени сидела на серваке с одним процом E5-2620 v2 @ 2.10GHz Была такая же ситуация. На старой нодени пришлось переделать немного nofire.pl и rc.farewall (отключили шейпер на отдачу и отключили шейпер на тарифах 100мб) Здесь что-то можно подкрутить или для такого трафа надо делить билинг и nas? Название: Re: Миграция с 50.32 Отправлено: NTE от 16 Июня 2017, 08:17:00 Если проблему никак не решить по-другому и придется разделять на биллинг и сервер доступа - E5-2620 подойдет в качестве сервера доступа?
Название: Re: Миграция с 50.32 Отправлено: elite от 17 Июня 2017, 23:31:53 Хм...
Т.е. вместо Е5 ставишь древний х5450 и удивляешься, почему тормозит? Никаких данных о трафике, количестве абонентов и прочем не предоставил.. Название: Re: Миграция с 50.32 Отправлено: NTE от 18 Июня 2017, 07:21:08 траф в пике около 2.2 гига.
Абонов около 3к Та было мнение что тормоза на Е5 были из-за его низкой тактовой частоты (2.1Ггц) Посоветовали поставить пусть старее, но чтоб частота повыше и все будет ок. У нас сервак валялся без дела на двух х5450, вот его и поставили)) В общем, должно пахать если я поставлю Е5 - как молотилка трафа, а базу оставлю на х5450? Сейчас коллектор траффика временно остановлен, как только включаешь - тормоза сразу Название: Re: Миграция с 50.32 Отправлено: elite от 18 Июня 2017, 09:07:43 какие сетевухи?
Вообще рекомендую ставить линукс Название: Re: Миграция с 50.32 Отправлено: NTE от 18 Июня 2017, 10:51:07 Silicom PE210G2SPi9A-XR, 2 порта 10GE - на обоих серверах.
При включенном шейпере в час-пик 2-2.2 гиг поток, если отключаю шейпер, то траф поднимается до 3 гиг Может и правда, поставить на старый сервер линукс и организовать на нем сервер доступа? Название: Re: Миграция с 50.32 Отправлено: elite от 18 Июня 2017, 13:11:26 Однозначно ставить линукс на E5-2620, а X5450 сдать в музей :)
Название: Re: Миграция с 50.32 Отправлено: NTE от 18 Июня 2017, 13:23:15 А если на X5450 оставлю базу как ща и есть.
А на E5-2620 поставить линукс. Повесить на него шейпер, пусть гоняет траф. Что-то надо будет перепиливать в скриптах нодени под линукс? Смотрю в сторону CentOS, так как имеется три сервера с этой осью, не хочется плодить зоопарк. Может мануал есть по установке на линукс? Ищу на сайте проекта, не могу найти. Спасибо! Название: Re: Миграция с 50.32 Отправлено: elite от 18 Июня 2017, 14:53:19 Мануала нет, я ставил на дебиан, но принципиальной разницы нет.
Разве что на CentOS с ядром проблемы могут быть Название: Re: Миграция с 50.32 Отправлено: NTE от 18 Июня 2017, 17:59:46 Буду пробовать.
На дебиан ставить IPFW или использовать IPTABLES? Название: Re: Миграция с 50.32 Отправлено: elite от 18 Июня 2017, 20:42:57 я делал iptables
насколько производителен и стабилен портированный ipfw в линуксе - не могу сказать Название: Re: Миграция с 50.32 Отправлено: Warlock от 18 Июня 2017, 20:54:50 Буду пробовать. Извиняюсь что не в тему.. в линуксе есть ipfw или это только в дебиане?На дебиан ставить IPFW или использовать IPTABLES? Название: Re: Миграция с 50.32 Отправлено: NTE от 18 Июня 2017, 21:09:24 Извиняюсь что не в тему.. в линуксе есть ipfw или это только в дебиане? Прикручивают, читал в сети. Но насчет стабильности работы действительно есть сомнения.. Название: Re: Миграция с 50.32 Отправлено: elite от 18 Июня 2017, 21:34:54 Буду пробовать. Извиняюсь что не в тему.. в линуксе есть ipfw или это только в дебиане?На дебиан ставить IPFW или использовать IPTABLES? правда не уверен, что под современные ядра подойдет... Название: Re: Миграция с 50.32 Отправлено: NTE от 21 Июня 2017, 19:58:27 Поставил второй сервер чисто для доступа.
Пока для тестов на FreeBSD 10.3 тут же установил ipcad Покурил то что нарыл тут на форуме и в сети. Основной источник: http://forum.nodeny.com.ua/docs/faq.html#sats Хочу уточнить момент... На сервере доступа должен быть запущен noserver.pl И nokernel.pl -m=collectors ? Только два процесса? Код: 659 v0- S 0:00.98 /usr/bin/perl /usr/local/nodeny/noserver.pl -d Само ядро с основными модулями на standalone сервере? Указываю у себя на компе этот сервер в качестве шлюза, включаю ping ya.ru -t пинг идет нормально, но странички не открываются. Удаляю тестовую учетку из базы на основном сервере - пинг не проходит на ya.ru Вроде как работает... Где мог накосячить? Название: Re: Миграция с 50.32 Отправлено: Efendy от 22 Июня 2017, 06:05:03 сначала нужно проверить, что работает без биллинга: ipfw add 1 allow ip from any to any
Название: Re: Миграция с 50.32 Отправлено: NTE от 22 Июня 2017, 07:11:26 Без биллинга все работает.
Проверил сразу. rc.firewall из "коробки" так сказать... поменян только внешний иньерфейс и добавлен в табличку 101 айпи этого тестового сервера 10.0.0.6 Код: #!/bin/sh - Название: Re: Миграция с 50.32 Отправлено: NTE от 22 Июня 2017, 08:17:11 Сорри.. наврал
Работал нормально до колдовства с нодени А сейчас даже с Код: ipfw add 1 allow ip from any to any Где-то накосячил, ща поразбираюсь Название: Re: Миграция с 50.32 Отправлено: NTE от 22 Июня 2017, 20:15:41 С НАТом косяк был.
Все пашет, учетка управляется с центрального сервера. Такой вопрос.. На NAS-сервере я запускаю только ДВА процесса: noserver.pl и nokernel.pl -m=collectors (ipcad установлен не на нем же) А nokernel.pl с основными модулями ( в том числе и модулем authtraf) запущен на сервере с базой. Правильно? Название: Re: Миграция с 50.32 Отправлено: elite от 22 Июня 2017, 20:58:55 С НАТом косяк был. необязательно, можно запускать nokernel.pl -m=collectors на сервере с базойВсе пашет, учетка управляется с центрального сервера. Такой вопрос.. На NAS-сервере я запускаю только ДВА процесса: noserver.pl и nokernel.pl -m=collectors (ipcad установлен не на нем же) А nokernel.pl с основными модулями ( в том числе и модулем authtraf) запущен на сервере с базой. Правильно? но я настоятельно рекомендую линукс :) Название: Re: Миграция с 50.32 Отправлено: NTE от 22 Июня 2017, 21:50:15 Если nokernel.pl -m=collectors -d будет запущен на сервере с базой, а сам ipcad на NAS сервере.
в rc.farewall сервера с базой закомментировать строку #use_ipcad_divert=YES а в collectors.cfg прописать айпи сервера NAS?? Код: { Ща попробую на фряхе, а потом займусь линуксом. Там же придется скрипт нодени управления фаерволом переделывать под iptables, ну и сам конфиг для iptables. Название: Re: Миграция с 50.32 Отправлено: NTE от 23 Июня 2017, 13:32:55 Вроде все заработало.. Попробую вечером дать нагрузку..
В Нодени+ есть кнопка "информация о мак" (https://image.prntscr.com/image/HOt8zSy9Tu6JU1F0cVj2JA.png) Подскажите пожалуйста. какой модуль за это отвечает. А то последняя информация от 14 числа только. (https://image.prntscr.com/image/o_U5a57eTX6PppcsBTYT6g.png) Видимо что-то легло... Название: Re: Миграция с 50.32 Отправлено: NTE от 09 Июля 2017, 06:37:56 Добрый день!
Вот сегодня утром запустил в работу распределенную систему. (на обоих серверах FreeBSD 10.3 пока что) На стороне NASа запущен коллектор трафа. Доступ в интернет абоны получили, скорость режется и т.д. Но... Когда смотришь последнюю авторизацию у абонента (https://image.prntscr.com/image/ufuPFmoHS3icEOyzKTFmeg.png) Длительность авторизации рвет на куски и пишет "меньше минуты" и не пишет МАК адрес, с каким абонент был авторизован, хотя раньше МАК записывался (когда все было на одном сервере): (https://image.prntscr.com/image/jGn8PgHmTs654BjBo9Cgpw.png) Подскажите пожалуйста куда копнуть. Это на сервере с базой: Код: # ps ax | grep nodeny | grep pl | grep -v grep Это на сервере доступа: Код: # ps ax | grep nodeny | grep pl | grep -v grep Код: ]# perl nokernel.pl -L Спасибо! Название: Re: Миграция с 50.32 Отправлено: NTE от 09 Июля 2017, 09:42:03 А этот код с сервера с базой:
Код: # perl nokernel.pl -L В админке по этому фильтру, то пусто: (https://image.prntscr.com/image/xgt5UOT3QymMu0TtVuFaJw.png) то показывает авторизованных: (https://image.prntscr.com/image/EqcvYbxgRo2IXJjvvjI6Pw.png) Название: Re: Миграция с 50.32 Отправлено: Efendy от 11 Июля 2017, 14:18:38 Мак не показывает, потому что мы с тобой недавно отключили модуль arp-пингования:
Код: my $mac = ''; Название: Re: Миграция с 50.32 Отправлено: NTE от 11 Июля 2017, 22:56:05 Да, понял.
Но вот почему так показывает "Авторизованы всегда онлайн"? То пустой фильтр, то есть авторизованные. Причем если постоянно обновлять админку их количество увеличивается постепенно, потом постепенно уменьшается пока никого не останется ))) Название: Re: Миграция с 50.32 Отправлено: Efendy от 12 Июля 2017, 15:09:10 Если авторизация в NoDeny не обновляется некоторое время (параметр timeout секунд в файле /usr/local/nodeny/kernel/auth.cfg), то она (авторизация) пропадает. По умолчанию timeout = 150 - это 2 с половиной минуты. Если за этот период не будет трафика - авторизация удаляется, появится трафик - появится авторизация. Если человек открыл сайт и читает его 3 минуты - авторизация пропадет, откроет новую страницу - появится.
Фишка в том, что режим "всегда онлайн" - это костыль для тех, кто ну никак не может либо настроить нормальную авторизацию, либо подстроить свою схему работы либо по иным необъективным причинам. В нормальной сети лучше отказаться от "всегда онлайн". Как при "всегда онлайн" понять что комп авторизован? Вообще, что понимать под авторизацией если как таковой авторизации нет? Либо пинать (пинговать) комп либо смотреть на его проявления (есть ли трафик). Модуль authtraf пытается изобразить авторизацию. Комп включен - он авторизован или нет? Комп включен, но у него неверные настройки (весь трафик блочится фаерволом и он фактически не получает инет) - он авторизован или нет? И т.д. аналогичные вопросы. Я надеюсь вы поняли, что проблема не в недоработке модуля, а в том, что есть какие-то объективные причины в нашем мире, по которым некоторые вещи невозможны. Если ты все же хочешь остаться на этом костыле и не хочешь видеть рваные авторизации - увеличь параметр timeout, но этим ты получишь лаг в том, что комп будет уже выключен, а ключик будет светиться, что он авторизован. Название: Re: Миграция с 50.32 Отправлено: NTE от 12 Июля 2017, 19:54:13 понял, спасибо! ))
Если поставить модуль дхцп и раздавать МАК+IP, абонентов, которые в работе, можно видеть в админке? Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 04 Ноября 2018, 19:45:04 Не могу найти HOW TO по миграции с 50.32 в мануале.
Помогите. Или тут вариант "как получится"? Название: Re: Миграция с 50.32 Отправлено: Cell от 04 Ноября 2018, 23:07:28 Не могу найти HOW TO по миграции с 50.32 в мануале. ООО, тебя ждет много приятных минут секса. Впрочем, если подготовка есть, то справиться реально, нужно лишь уметь читать логи и самое главное понимать что в них написано. Я такую миграцию осуществил ну раз может 10 или чуть больше, но не было ни одного одинакового случая. Поэтому братский совет - тренироваться на тестовой базе. Т.е. текущую тупо скопировать в тестовую и над ней уже проводить пробу.Помогите. Или тут вариант "как получится"? Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 04 Ноября 2018, 23:21:15 Не могу найти HOW TO по миграции с 50.32 в мануале. ООО, тебя ждет много приятных минут секса. Впрочем, если подготовка есть, то справиться реально, нужно лишь уметь читать логи и самое главное понимать что в них написано. Я такую миграцию осуществил ну раз может 10 или чуть больше, но не было ни одного одинакового случая. Поэтому братский совет - тренироваться на тестовой базе. Т.е. текущую тупо скопировать в тестовую и над ней уже проводить пробу.Помогите. Или тут вариант "как получится"? Именно это сейчас и делаю) очень интересно, что получится Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 05 Ноября 2018, 00:07:05 Выбивает ошибку в дебаге, не хочет редактировать админов.
Код: Unknown column 'adm_owner' in 'field list' в поиске по этой теме ничего не нашел. Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 05 Ноября 2018, 08:08:58 Вроде улицы в объектах все есть, группы, кол-во юзеров.
Но админов нету ниодного, и если добавляю - не появляются, только в мускуле светятся в таблицах. Помогите, пожалуйста :) Название: Re: Миграция с 50.32 Отправлено: Efendy от 05 Ноября 2018, 08:59:54 Выполни в консоли:
Цитировать show create table cards; и покажи результат Название: Re: Миграция с 50.32 Отправлено: Cell от 05 Ноября 2018, 09:02:28 Пишет же что нет поля 'adm_owner' в таблице cards
Название: Re: Миграция с 50.32 Отправлено: Efendy от 05 Ноября 2018, 11:10:01 Пишет же что нет поля 'adm_owner' в таблице cards так чтобы 2 раза не вставать можно увидеть несоответствия и по другим полямНазвание: Re: Миграция с 50.32 Отправлено: NodenY45 от 05 Ноября 2018, 19:32:39 Выполни в консоли: Цитировать show create table cards; и покажи результат Код: mysql> show create table cards; Название: Re: Миграция с 50.32 Отправлено: Efendy от 05 Ноября 2018, 22:53:16 Код: ALTER TABLE cards CHANGE cod cod TEXT NOT NULL; Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 05 Ноября 2018, 23:39:36 Код: ALTER TABLE cards CHANGE cod cod TEXT NOT NULL; Как то так: Код: mysql> ALTER TABLE cards CHANGE cod cod TEXT NOT NULL; Название: Re: Миграция с 50.32 Отправлено: Efendy от 06 Ноября 2018, 08:07:31 Вероятно у тебя в таблице с картами, у какой-то карты id оператора некорректный (видимо отрицательный). Либо, возможно, отрицательный id оператора устанавливается когда карточки в состоянии перемещения (уже не помню, дохера лет прошло с той старой версии). Попробуй так:
Код: UPDATE cards SET r=ABS(r); Код: ALTER TABLE cards CHANGE r adm_owner MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0'; Если этот запрос выдаст ошибку, то: Код: ALTER TABLE cards CHANGE r adm_owner INT(11) NOT NULL DEFAULT '0'; И в конце в любом случае: Код: ALTER TABLE cards ADD adm_move MEDIUMINT UNSIGNED NOT NULL DEFAULT '0' AFTER adm_owner; Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 06 Ноября 2018, 10:42:28 Вероятно у тебя в таблице с картами, у какой-то карты id оператора некорректный (видимо отрицательный). Либо, возможно, отрицательный id оператора устанавливается когда карточки в состоянии перемещения (уже не помню, дохера лет прошло с той старой версии). Попробуй так: Код: UPDATE cards SET r=ABS(r); Код: ALTER TABLE cards CHANGE r adm_owner MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0'; Если этот запрос выдаст ошибку, то: Код: ALTER TABLE cards CHANGE r adm_owner INT(11) NOT NULL DEFAULT '0'; И в конце в любом случае: Код: ALTER TABLE cards ADD adm_move MEDIUMINT UNSIGNED NOT NULL DEFAULT '0' AFTER adm_owner; Вот есть такие карты, это еще наверное с 45ой версии ;D ) скрин в приложении Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 06 Ноября 2018, 10:58:22 Вероятно у тебя в таблице с картами, у какой-то карты id оператора некорректный (видимо отрицательный). Либо, возможно, отрицательный id оператора устанавливается когда карточки в состоянии перемещения (уже не помню, дохера лет прошло с той старой версии). Попробуй так: Код: UPDATE cards SET r=ABS(r); Код: ALTER TABLE cards CHANGE r adm_owner MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0'; Если этот запрос выдаст ошибку, то: Код: ALTER TABLE cards CHANGE r adm_owner INT(11) NOT NULL DEFAULT '0'; И в конце в любом случае: Код: ALTER TABLE cards ADD adm_move MEDIUMINT UNSIGNED NOT NULL DEFAULT '0' AFTER adm_owner; После этих строк, все завелось с первого раза. Осталось маки перенести. Есть одно но, нету паролей, в 50.32 нету pswdkey в sat.cfg, соотвественно и сюда не прописывал. И еще в некоторых английских логинах появились знаки восклицания в конце, странно. Название: Re: Миграция с 50.32 Отправлено: Efendy от 06 Ноября 2018, 11:04:57 Знаки восклицания - это когда с таким же логином есть админ
Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 07 Ноября 2018, 07:41:05 По поводу переносу маков(Установил модуль ДХЦП):
Выполняю запрос Код: SELECT parent_id,field_value FROM dopdata WHERE field_alias='_mac'; Далее по примеру из поисков в этой теме выполняю запрос на перенос маков: Код: INSERT INTO mac_uid (uid,mac) (SELECT parent_id, REPLACE(field_value,':','') FROM dopdata WHERE field_alias='_mac') ON DUPLICATE KEY UPDATE uid=parent_id; Сейчас заметил, что у клиента теперь две вкладки "подключение" и "айпи адрес", и там и там есть выбор адреса, но при миграции всем создало адрес на вкладке "айпи адрес". Проясните, пожалуйста. Название: Re: Миграция с 50.32 Отправлено: Efendy от 07 Ноября 2018, 08:18:37 Поле ip адрес:
Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 07 Ноября 2018, 16:17:50 Поле ip адрес:
Так я хочу маки перенести, айпи перенеслись стандартным скриптом. В табилце ip_pool вижу такую картину, здесь нету поля для мак адреса: Код: mysql> select * from ip_pool limit 10; Исходя из структуры таблицы mac_uid, то мне нужно сюда перенести. Код: mysql> show columns from mac_uid; Что я делаю не так? Название: Re: Миграция с 50.32 Отправлено: Efendy от 07 Ноября 2018, 17:19:47 В скрипте конвертации есть sql переноса ip:
Код: INSERT INTO ip_pool SELECT NULL, INET_ATON(ip), 'static', 0, 0, id FROM users; Маки переносятся чуть сложнее. Нужно искать sql, я делал нескольким людям Нашел, вроде этот: Код: INSERT INTO mac_uid (uid, mac, ip, time, device_mac, device_port, oneconnect, comment) Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 08 Ноября 2018, 03:11:41 В скрипте конвертации есть sql переноса ip: Код: INSERT INTO ip_pool SELECT NULL, INET_ATON(ip), 'static', 0, 0, id FROM users; Маки переносятся чуть сложнее. Нужно искать sql, я делал нескольким людям Нашел, вроде этот: Код: INSERT INTO mac_uid (uid, mac, ip, time, device_mac, device_port, oneconnect, comment) Моему счастью нет предела))) ;D Все перенеслось, спасибо огромное) Но перестал рабоать make_konfig, даже с пустым темплейтом пишет ошибку, по макам проверил пустых нету: Код: SELECT * FROM mac_uid ORDER BY mac Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 10 Ноября 2018, 00:38:23 Не могу побороть ошибку..
131 строка как раз таки на запросах маков Код: if( $config->{db_table}{mac_uid} ) Can't use string ("") as a HASH ref while "strict refs" in use at /usr/local/nodeny/kernel/make_config.pm line 131. Правильно я понимаю, что ошибка, про то, что есть пустая строка в столбце с МАКами? Название: Re: Миграция с 50.32 Отправлено: Efendy от 10 Ноября 2018, 08:52:53 Нет. Возможно это связано с версией perl. Выполни в консоли bash-а:
Код: perl -e'use strict; my $a={}; $a->{a}{a} = 5' И покажи версию perl: Код: perl -v | head -2 Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 10 Ноября 2018, 09:02:05 Нет. Возможно это связано с версией perl. Выполни в консоли bash-а: Код: perl -e'use strict; my $a={}; $a->{a}{a} = 5' И покажи версию perl: Код: perl -v | head -2 Ошибок нету. Код: # perl -e'use strict; my $a={}; $a->{a}{a} = 5' Название: Re: Миграция с 50.32 Отправлено: Efendy от 10 Ноября 2018, 11:05:08 а у тебя поля mac в таблице users случайно нет?
Код: show create table users; Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 10 Ноября 2018, 18:59:37 а у тебя поля mac в таблице users случайно нет? Код: show create table users; Упс... есть все-таки. Это еще с 45ой версии осталось когда сам дхцп модуль делал ;D Код: | users | CREATE TABLE `users` ( Итого, сделал Код: ALTER TABLE users DROP mac; make_config заработал. Спасибо :) Не так просто мигрировать, как казалось. Название: Re: Миграция с 50.32 Отправлено: Efendy от 10 Ноября 2018, 19:48:59 Если в базу вносились изменения, конечно модуль миграции о них не знает, поэтому и трудно мигрировать. Если все стандартно, то проблем не должно быть. Удали еще real_ip
Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 12 Ноября 2018, 22:05:58 понял, спасибо! )) Если поставить модуль дхцп и раздавать МАК+IP, абонентов, которые в работе, можно видеть в админке? И только сейчас, я понял, что это делает модуль дхцп))) через скрипт events.pl, он авторизует клиентов, и не нужно больше режим ВСЕГДА ОНЛАЙН, как это было в 50.32 ;D Название: Re: Миграция с 50.32 Отправлено: Cell от 13 Ноября 2018, 08:47:13 Это если у тебя все на одном тазике крутится. Хотя у меня юзеры и так умудрялись заглушку увидеть. А если саттелиты выносные - то команда включения проходит не мгновенно и чудовище наблюдает заглушку а еще хуже пустой экран какое-то время. А учитывая поведение некоторых браузеров, свой любимый порносайт он может увидеть только когда кэш сбросит. А так-то да, все клево.
Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 14 Ноября 2018, 15:04:31 А почему с документации убрали ман по настройке НАСа на фрибсд?
Название: Re: Миграция с 50.32 Отправлено: Efendy от 14 Ноября 2018, 15:35:23 А почему с документации убрали ман по настройке НАСа на фрибсд? Еще не перенесли в новую документацию, в старой есть: http://app.nodeny-plus.com.ua/docs/faq.html#satsНазвание: Re: Миграция с 50.32 Отправлено: NodenY45 от 19 Ноября 2018, 00:22:07 Вероятно у тебя в таблице с картами, у какой-то карты id оператора некорректный (видимо отрицательный). Либо, возможно, отрицательный id оператора устанавливается когда карточки в состоянии перемещения (уже не помню, дохера лет прошло с той старой версии). Попробуй так: Код: UPDATE cards SET r=ABS(r); Код: ALTER TABLE cards CHANGE r adm_owner MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0'; Если этот запрос выдаст ошибку, то: Код: ALTER TABLE cards CHANGE r adm_owner INT(11) NOT NULL DEFAULT '0'; И в конце в любом случае: Код: ALTER TABLE cards ADD adm_move MEDIUMINT UNSIGNED NOT NULL DEFAULT '0' AFTER adm_owner; вот результат Код: mysql> UPDATE cards SET r=ABS(r); Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 19 Ноября 2018, 01:43:01 Вот пробую перенести БД рабочую, затирает все пользовательские пароли, админские остаются.
из файла миграции, почему разные типы? varbinary и VARCHAR ? Код: ALTER TABLE `admin` MODIFY COLUMN passwd varbinary(64) NOT NULL; пытаюсь разобраться что их затирает в NULL... Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 19 Ноября 2018, 03:30:23 Прошелся позапросно по файлу миграции и именно этот запрос затирает пароли...
Код: ALTER TABLE `users` MODIFY COLUMN passwd VARCHAR(64) NOT NULL; при Код: SELECT AES_DECRYPT(passwd,'hardpass3') FROM users; в то же время у админов все ок Код: SELECT AES_DECRYPT(passwd,'hardpass3') FROM admin; что это может быть то? в итоге изменил запрос для пользователей на ALTER TABLE `users` MODIFY COLUMN passwd varbinary(64) NOT NULL; ничего страшного вроде совместимы типы. Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 20 Ноября 2018, 11:19:38 Добавлю еще текста в мой монолог ;D
Столкнулся с проблемой авторизации по DHCP после миграции. Делал так Код: use nodeny; Так оказывается что в скрипте миграции старые функции и процедуры. Пришлось накатывать вручную. Но появился глупый вопрос, если сделать после обновление на нашу базу с данными такое: Код: use nodeny; Оно обновит структуру и процедуры? или удалит данные? Название: Re: Миграция с 50.32 Отправлено: NodenY45 от 20 Ноября 2018, 17:49:57 Если авторизация в NoDeny не обновляется некоторое время (параметр timeout секунд в файле /usr/local/nodeny/kernel/auth.cfg), то она (авторизация) пропадает. По умолчанию timeout = 150 - это 2 с половиной минуты. Если за этот период не будет трафика - авторизация удаляется, появится трафик - появится авторизация. Если человек открыл сайт и читает его 3 минуты - авторизация пропадет, откроет новую страницу - появится. Фишка в том, что режим "всегда онлайн" - это костыль для тех, кто ну никак не может либо настроить нормальную авторизацию, либо подстроить свою схему работы либо по иным необъективным причинам. В нормальной сети лучше отказаться от "всегда онлайн". Как при "всегда онлайн" понять что комп авторизован? Вообще, что понимать под авторизацией если как таковой авторизации нет? Либо пинать (пинговать) комп либо смотреть на его проявления (есть ли трафик). Модуль authtraf пытается изобразить авторизацию. Комп включен - он авторизован или нет? Комп включен, но у него неверные настройки (весь трафик блочится фаерволом и он фактически не получает инет) - он авторизован или нет? И т.д. аналогичные вопросы. Я надеюсь вы поняли, что проблема не в недоработке модуля, а в том, что есть какие-то объективные причины в нашем мире, по которым некоторые вещи невозможны. Если ты все же хочешь остаться на этом костыле и не хочешь видеть рваные авторизации - увеличь параметр timeout, но этим ты получишь лаг в том, что комп будет уже выключен, а ключик будет светиться, что он авторизован. это относится только к модулю authtraf? или и к dhcp тоже? Название: Re: Миграция с 50.32 Отправлено: Efendy от 21 Ноября 2018, 07:52:28 Модуль ядра dhcp тоже пытается изобразить авторизацию ибо после получения ip и до момента запроса на продолжение его использования dhcp серверр никак не знает вырубили комп или нет, ну и следовательно биллинг об этом не знает. В dhcp протоколе не предусмотрено такое
Название: Re: Миграция с 50.32 Отправлено: Jovani от 10 Октября 2019, 13:59:01 Прошу допомоги.
При переході з 50.32 на Н+ виникає помилка як додавати нового клієнта. Код: 0.400556 Название: Re: Миграция с 50.32 Отправлено: Jovani от 10 Октября 2019, 15:02:01 Конвертнув по новому, вилізла інша помилка
Код: Field 'ip' doesn't have a default value Название: Re: Миграция с 50.32 Отправлено: Efendy от 10 Октября 2019, 17:43:21 В N+ поле ip не должно существовать в таблице users. Скорее всего проблема возникла в более ранних sql, смотри внимательно
Название: Re: Миграция с 50.32 Отправлено: Jovani от 11 Октября 2019, 07:26:13 Так мне все поля удалить с такой ошибкой и те которых нет в оригинальной базе Н+?
Field 'name' doesn't have a default value но такое поле присутствует в базе Н+... Название: Re: Миграция с 50.32 Отправлено: Redmen от 11 Октября 2019, 09:09:13 http://forum.nodeny.com.ua/index.php?topic=2724.msg27908#msg27908 (http://forum.nodeny.com.ua/index.php?topic=2724.msg27908#msg27908)
Название: Re: Миграция с 50.32 Отправлено: Jovani от 11 Октября 2019, 15:50:20 http://forum.nodeny.com.ua/index.php?topic=2724.msg27908#msg27908 (http://forum.nodeny.com.ua/index.php?topic=2724.msg27908#msg27908) Спасибо, помогло. Но теперь осталась такая ошибка. Посмотрел таблицу users_trf, там нет uid 8696... Код: Statement violates GTID consistency: Updates to non-transactional tables can only be done in either autocommitted statements or single-statement transactions, and never in the same statement as updates to transactional tables. Название: Re: Миграция с 50.32 Отправлено: Jovani от 11 Октября 2019, 17:07:10 Мне кажется нет данных у кого какая услуга. Хотя если открыть клиента, услуга у клиентов установлена.
Как можно одни запросом пересохранить всех клиентов? Будет не реально заходить и каждого клиента пересохранять. Код: describe users_trf ; Название: Re: Миграция с 50.32 Отправлено: Efendy от 12 Октября 2019, 10:07:40 Я думаю проблема в этом:
Цитировать non-transactional tables скорее всего таблица в myisam и надо сконвертировать в innodbНазвание: Re: Миграция с 50.32 Отправлено: Jovani от 12 Октября 2019, 10:14:30 Стас большое спасибо за подсказку, конвертнул таблицы users и trf, пока ошибок в дебаг нет.
Все таблицы конвертировал в InnoDB. Название: Re: Миграция с 50.32 Отправлено: Jovani от 16 Октября 2019, 14:05:25 1. После перехода у всех стоит снятие за услугу 0.
Как теперь сделать, чтоб у всех сняло за услугу? Платеж, связанный с услугой, не существует! 2. И появился бонус у всех у кого было несколько IP. Откуда он взялся? Как решить такие проблемы ? Название: Re: Миграция с 50.32 Отправлено: Efendy от 21 Октября 2019, 17:35:07 Как ты подключил услуги?
Код: perl install.pl -u Название: Re: Миграция с 50.32 Отправлено: Jovani от 22 Октября 2019, 07:06:54 Такое не выполнял кажется...
Делал так Код: use nodeny; Выполнил команду на клоне сервера, ничего не поменялось... То самое показывает и за стоимость услуги у клиента не сняло.. Или снимет в конце месяца? Название: Re: Миграция с 50.32 Отправлено: Efendy от 22 Октября 2019, 21:22:02 Как происходит конвертация с Н50 на Н+:
1) выполнение from_50.33_to_n_plus.txt в mysql. Этот скрипт меняет таблицы под Н+. В частности таблицу с услугами. Но он не подключает ни одной услуги! Поскольку подключение это не только запись в базу, надо выполнять код, который многое высчитывает. Создается временная таблица pkt_to_srv, которая хранит соответствия id тарифа в Н50 -> id тарифа в Н+ 2) perl install.pl -u непосредственно подключает услуги основываясь на таблице pkt_to_srv Если ты не запускал perl install.pl -u, а услуги подключены - значит спрашивай того, кто тебе дал/делал скрипты перехода ибо после выполнения from_50.33_to_n_plus.txt не должно быть подключено ни единой услуги. Название: Re: Миграция с 50.32 Отправлено: Jovani от 23 Октября 2019, 05:40:02 Так никто ничего не делал, все файлы с svn. Описал више постом, конвертировал 5 раз, и каждыйвыходил по разному.
И как теперь с этого можно вырулить? Так. Нашел такую таблицу. Скопировал pkt_to_srv с одной из баз, вроде сейчас нет ошибки у клиентов.но влепило каждому клиенту дополнительную услугу. Название: Re: Миграция с 50.32 Отправлено: Jovani от 23 Октября 2019, 10:33:40 Стас спасибо, направил на правильную схему.
Все получилось. Заменил таблицу pkt_to_srv и services Удалил все с таблицы users_services Проверил таблицу v_services чтоб была пустая Выполнил команду install.pl -u И все ок. Название: Re: Миграция с 50.32 Отправлено: kali от 04 Мая 2020, 22:59:45 Прошу помочь разобраться , переход с 50.32 на nodeny plus делаю по процедуре
use nodeny; source bill.sql; (бекап со старого биллинга) source from_50.32_to_n_plus.txt; cd /usr/local/nodeny perl install.pl -x perl install.pl -w=www perl install.pl -m Переносится все кроме услуги ( как описано ранее так и должно быть после миграции ) . Выполняю perl install.pl -u но услуга не добавляется . таблицы pkt_to_srv выглядит так "12" "8" \N "14" "2" \N "16" "1" \N "18" "3" \N "20" "3" \N "22" "3" \N "23" "2" \N Подскажите как исправить ? |