forum.bitel.ru http://forum.bitel.ru/ |
|
Альтернативный механизм обновления ситемы http://forum.bitel.ru/viewtopic.php?f=22&t=7257 |
Страница 1 из 2 |
Автор: | max [ 28 сен 2012, 01:33 ] |
Заголовок сообщения: | Альтернативный механизм обновления ситемы |
Доброго времени суток! Передо мной стоит вопрос обновления с версии 5.1 на 5.2, и вот что я тут подумал на эту тему: Уважаемые разработчики, а почему бы вам не сделать возможность обновления путём конвертирования базы? Рассмотрим ситуацию: Имеется работающий сервер 5.1 с давнего времени (2009 год). Берём и ставим на второй (альтернативный) сервер новую версию 5.2 с нуля. Дампим базу 5.1. Конвертим её при помощи волшебного конвертера пока которого нет, в 5.2. Подсовываем её новому серверу 5.2. Запускаем, наблюдаем, тестим, если всё ок. Остаёмся на новом сервере, старый сервер в резерв или ещё куда. Если не ок, то просто продолжаем работать на старом, пишем на форум или в хелпдеск, о траблах. Почему я прошу это сделать? Потому, что каждый раз обновление с версии на версию (4.6->5.0; 5.0->5.1) вызывало не кислые трудности, и никогда ещё не проходило с первого раза. А делать это приходится ночью и в нерабочее время, что отдельно доставляет. И по прошествии неудачного обновления приходится вертать всё в зад! Описанный мною способ я считаю был бы более удобен и безопасен чем тот что есть сейчас. Спасибо, надеюсь на поддержку сообщества. Заранее спасибо. |
Автор: | skn [ 28 сен 2012, 04:38 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
по хорошему надо просто сначала сделать обновление на копии рабочей системы, убедиться, что все нормально, а затем повторить на боевой машине. P.S. А для быстрого отката есть такая штука как snapshot ![]() |
Автор: | skyb [ 28 сен 2012, 05:03 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
Да, обновления с версии на версию страдают, и похорошему лучше бы было сделать поддержку младших версий, хотяб на одну ниже, тоесть обновление было бы что то в духе ./update.sh --ver --5.2 Обновляется сервак, бд, и тд. А после этого, то что уже нужно правишь, добавляешь и изменяешь, а не кучу всего фиксишь для обновления, и не факт что заведется. |
Автор: | max [ 28 сен 2012, 14:21 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skn писал(а): по хорошему надо просто сначала сделать обновление на копии рабочей системы, убедиться, что все нормально, а затем повторить на боевой машине. Ага тоесть получается что, что бы обновиться нужно сначала поставить с танцами старую версию (с танцами потому что FreeBSD) потом накатить на нё обновление, и опять танцевать.... Зачем танцы два раза? Не проще ли конвертер? Это так сложно? |
Автор: | skn [ 28 сен 2012, 14:39 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
max писал(а): Не проще ли конвертер? Это так сложно? так при запуске обновления и происходит конвертация базы и замена кода, смысл их разделять? если вы на тестовой базе сделаете обновление, вы и получете обновленную базу. что мешает на рабочей машине скопировать каталог с кодом, сделать копию базы и обновить копию, если все нормально, просто поменять их местами |
Автор: | skyb [ 28 сен 2012, 16:52 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skn писал(а): max писал(а): Не проще ли конвертер? Это так сложно? так при запуске обновления и происходит конвертация базы и замена кода, смысл их разделять? если вы на тестовой базе сделаете обновление, вы и получете обновленную базу. что мешает на рабочей машине скопировать каталог с кодом, сделать копию базы и обновить копию, если все нормально, просто поменять их местами а мое предложение? |
Автор: | dimOn [ 28 сен 2012, 17:10 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
max писал(а): skn писал(а): по хорошему надо просто сначала сделать обновление на копии рабочей системы, убедиться, что все нормально, а затем повторить на боевой машине. Ага тоесть получается что, что бы обновиться нужно сначала поставить с танцами старую версию (с танцами потому что FreeBSD) потом накатить на нё обновление, и опять танцевать.... Зачем танцы два раза? Не проще ли конвертер? Это так сложно? дык конвертер и так есть. хотя раз руками заставляли разве схему бд обновлять? |
Автор: | skn [ 28 сен 2012, 18:41 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skyb писал(а): skn писал(а): max писал(а): Не проще ли конвертер? Это так сложно? так при запуске обновления и происходит конвертация базы и замена кода, смысл их разделять? если вы на тестовой базе сделаете обновление, вы и получете обновленную базу. что мешает на рабочей машине скопировать каталог с кодом, сделать копию базы и обновить копию, если все нормально, просто поменять их местами а мое предложение? обновление на предыдующую версию? типа удалять столбцы из баз, делать обратные конверторы данных, т.е. куча дополнительной работы (которую еще где то и на ком то тестить надо...) оно вам точно надо? не проще какую нибудь файловую систему поставить с поддержкой snatshot-ов, типа btrfs. Делать снимок перед перед обновлением, если что то не пошло, просто откатить (правда это в любом случае не отменяет предварительный прогон обновления на тестовой машине) |
Автор: | max [ 29 сен 2012, 00:26 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
Ну так выложите отдельно конвертер и я от вас отстану! ![]() |
Автор: | skn [ 29 сен 2012, 00:36 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
max писал(а): Ну так выложите отдельно конвертер и я от вас отстану! ![]() так в каждом модуле свой конвертор... т.е. вам надо 30 коверторов? при этом не известно с какой версии идет обновление, т.е. конвертор должен быть интелектуальным, уметь разбираться что и как нужно обновлять и конвертировать.... т.е. нужна программа, которая сейчас и есть в данный момент при обновление делается 1) конвертируется база 2) заменяется jar 3) заменяются файлы личного кабинета и что тут делить? 1) сделали копию каталога с биллингом 2) запустили обновление 3) скопировали обратно каталог с биллингом имеем конвертированную базу и старые файлы.... вам это надо? |
Автор: | skyb [ 29 сен 2012, 06:26 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skn писал(а): skyb писал(а): skn писал(а): max писал(а): Не проще ли конвертер? Это так сложно? так при запуске обновления и происходит конвертация базы и замена кода, смысл их разделять? если вы на тестовой базе сделаете обновление, вы и получете обновленную базу. что мешает на рабочей машине скопировать каталог с кодом, сделать копию базы и обновить копию, если все нормально, просто поменять их местами а мое предложение? обновление на предыдующую версию? Прочтите что я написал, не обновление на предидущую версию, а поддержка старой при обновлении...чтоб просто апдейт и все работает, потом уже донастраивать изменения |
Автор: | skn [ 29 сен 2012, 11:12 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skyb писал(а): skn писал(а): skyb писал(а): а мое предложение? обновление на предыдующую версию? Прочтите что я написал, не обновление на предидущую версию, а поддержка старой при обновлении...чтоб просто апдейт и все работает, потом уже донастраивать изменения перечитал, несколько раз, но так и не понял, что значит "лучше бы было сделать поддержку младших версий", текущая 5.2, младшая 5.1? |
Автор: | skyb [ 29 сен 2012, 11:32 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skn писал(а): skyb писал(а): skn писал(а): skyb писал(а): а мое предложение? обновление на предыдующую версию? Прочтите что я написал, не обновление на предидущую версию, а поддержка старой при обновлении...чтоб просто апдейт и все работает, потом уже донастраивать изменения перечитал, несколько раз, но так и не понял, что значит "лучше бы было сделать поддержку младших версий", текущая 5.2, младшая 5.1? да, тоесть обновление - это просто команда ./update.sh --ver --5.2 меняются либы, бд и тд, но настройки остаются теже, после обновления все работает так же как и работало на предидущей версии, без изменений, единственное что можно слать алармы о дебрикейтах, но все должно работать, и потом уже в рабочем режиме менять настройки и смотреть вкусности новой версии. |
Автор: | skn [ 29 сен 2012, 14:27 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
странно, а какие настройки мы меняем при обновление? расскажите, а то я, что то не в курсе.... и как это вы себе представляете, код поменялся, но все работает также... (нафига его тогда менять то было?) |
Автор: | skyb [ 30 сен 2012, 03:40 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
http://bgbilling.ru/v5.2/download/kernel/howto.txt тут далеко не ./update.sh --ver --5.2 |
Автор: | Phricker [ 30 сен 2012, 14:52 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skyb писал(а): http://bgbilling.ru/v5.2/download/kernel/howto.txt тут далеко не ./update.sh --ver --5.2 ты бы еще сюда приплел что подревнее ![]() Неоднократно тут на форуме говорилось что лучше и проще обновляться по версиям. 4.6 - 5.0 - 5.1 - 5.2 А обновления между версиями все таки попроще будут http://bgbilling.ru/v5.2/download/kerne ... om_5.1.txt Ну и конечно как ты себе представляешь поддержку биллинга если он в своем коде будет учитывать все нюансы конфигураций которые уже не поддерживаются? Например в 5.1 не было нужды указывать перечень статусов. Т.е. биллинг должен учитывать если версия >= 5.2 то работать с новыми статусами договоров перечень которых описан в конфигурации биллинга, но если этот перечень не указан - буду работать по старому. и это лишь малая часть ![]() Вон тот же гугл вырезает поддержку устаревших форматов .doc .xls и т.п. чтобы не мучаться с новыми фишками которые они наверняка планируют. А я почему то не сомневаюсь что в команде гугла разработчиков поболее чем в бителе, и они могли бы тащить эту поддержку. но не хотят. |
Автор: | skyb [ 30 сен 2012, 15:43 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
И обновления там не такие критические, я версии ОС обновляю менее болезнено, кстати почти через команду апдейт |
Автор: | zavndw [ 30 сен 2012, 16:00 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
по мне так лучше без фиксов получалось бы обновление=) просто запустил обновление и все=) |
Автор: | Phricker [ 30 сен 2012, 16:49 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
zavndw писал(а): по мне так лучше без фиксов получалось бы обновление=) просто запустил обновление и все=) Я какбэ тоже за то чтобы обновление выполнялось без необходимости что-то где-то править, но ведь обновление не будет за вас прописывать параметры в конфигурации модулей/сервера. Так же оно не скачает и не поставит для вас радиусы/коллекторы и не пропишет в их конфигурационные файлы то что необходимо. я бы вот тоже согласился бы на Код: apt-get (yum) install mysql-server,mysql-client, oracle-jdk, bgbilling-server, bgbilling-scheduler, bgbilling-dataloader, bgipncollector, bgradiusdialup ![]() |
Автор: | skyb [ 30 сен 2012, 17:31 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
Phricker писал(а): Я какбэ тоже за то чтобы обновление выполнялось без необходимости что-то где-то править, но ведь обновление не будет за вас прописывать параметры в конфигурации модулей/сервера. Так же оно не скачает и не поставит для вас радиусы/коллекторы и не пропишет в их конфигурационные файлы то что необходимо. Тада расскажи мне как это работает? почему они тада тянуть все настройки? тот же мускул, потом тока дебрикейты выдает и новые фичи показыват, НО РАБОТАЕТ, чем тут хуже? |
Автор: | skn [ 30 сен 2012, 20:16 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skyb писал(а): Тада расскажи мне как это работает? почему они тада тянуть все настройки? тот же мускул, потом тока дебрикейты выдает и новые фичи показыват, НО РАБОТАЕТ, чем тут хуже? это разные продукты и орентированны на разные группы потребителей. Мускл стоит у миллионов и не все из них являются высоко клалифицированными пользователями, поэтому и приходится орентироваться на них. Наш продукт не орентирован на домохозяек и кол-во пользователей далеко не миллионы, поэтому тащить совместимость со старыми версиями и тратить время на разработку ИНТЕЛЕКТУАЛЬНЫХ мастеров конвертации данных не вижу смысла. К тому же в отличие от mysql у нас практически нет двух клиентов имеющих одинаковые конфигурации системы (железо, схемы сети, тарифы, бизнес процессы и т.д.) и теперь сравните с конфигом mysql из 10 строк.В принципе в любой более менее крупной организации работа админа в том и состоит, что бы проверять насколько новые версии программы соовместимы с другим ПО и действующими бизнес процессами. ПРичем все это проверяется не на боевых машинах и не пять минут, у админа в каждой организации должен быть свой "чек лист" в который должны вноситься все изменения которые производятся в настройках ПО. Что то я сильно совмеваюсь, что в какой нибудь фирме типа yandex, админ ночью на боевых серверах запускает "yum update mysql" и спокойно уходит до дому. |
Автор: | zavndw [ 01 окт 2012, 04:21 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
Phricker у меня на работе напарник собрал пакеты=) БГ. правда билд уже старенький и пакет только под линукс |
Автор: | skyb [ 01 окт 2012, 06:02 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skn писал(а): skyb писал(а): Тада расскажи мне как это работает? почему они тада тянуть все настройки? тот же мускул, потом тока дебрикейты выдает и новые фичи показыват, НО РАБОТАЕТ, чем тут хуже? это разные продукты и орентированны на разные группы потребителей. Мускл стоит у миллионов и не все из них являются высоко клалифицированными пользователями, поэтому и приходится орентироваться на них. Наш продукт не орентирован на домохозяек и кол-во пользователей далеко не миллионы, поэтому тащить совместимость со старыми версиями и тратить время на разработку ИНТЕЛЕКТУАЛЬНЫХ мастеров конвертации данных не вижу смысла. К тому же в отличие от mysql у нас практически нет двух клиентов имеющих одинаковые конфигурации системы (железо, схемы сети, тарифы, бизнес процессы и т.д.) и теперь сравните с конфигом mysql из 10 строк.В принципе в любой более менее крупной организации работа админа в том и состоит, что бы проверять насколько новые версии программы соовместимы с другим ПО и действующими бизнес процессами. ПРичем все это проверяется не на боевых машинах и не пять минут, у админа в каждой организации должен быть свой "чек лист" в который должны вноситься все изменения которые производятся в настройках ПО. Что то я сильно совмеваюсь, что в какой нибудь фирме типа yandex, админ ночью на боевых серверах запускает "yum update mysql" и спокойно уходит до дому. Проблема то не в чек листе, я чтоб обновится на 5.2 наверное все на тесте гонял месяца 3, потом обновления встали сразу, правда потратил на это 6 часов ночью, с 12 до 6. Но речь то не про это, проблема в том что из версии к весии обновления все страшней и страшней становятся, чтоб обновиться так с бубном понаплясаться нада. .... Эм, и да, а владение мускулом теперь домохозяйки освоили ? ![]() |
Автор: | Phricker [ 01 окт 2012, 09:57 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skyb писал(а): Проблема то не в чек листе, я чтоб обновится на 5.2 наверное все на тесте гонял месяца 3, потом обновления встали сразу, правда потратил на это 6 часов ночью Фью. Я с 5.0 до 5.1 обновлялся (тогда еще не было у меня скриптов) так: раза 3-4 обновлял тестовую машину на которой поднимал полную копию боевого. Потом вышел ночью. примерно за полтора часа поменял сервер (железо) плюс его обновил прямо по пунктам которые запомнил ![]() Но все таки ничто не устоит перед обновлением с 5.1 на 5.2 30 декабря 2011 года ![]() Во время обновления упал фтп. обновление сервера прошло а радиуса и прочего нет. помоему я как раз у тебя и брал либы для радиуса ))) И потом патрулирование сервера 31 декабря с 9 вечера до 3х ночи 1го января потому что оказывается 5.2 чуть больше жрет на мускуле, а я выставил innodb слишком большие параметры и у меня постоянно база вылезала в своп ![]() |
Автор: | dimOn [ 01 окт 2012, 11:41 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
Просто поверьте на слово: автоматическая интеллектуальная апдейтилка - настоящая утопия. Где такое видано то? Например, даже в линуксах, которые типа готовы для конечных юзеров такого нету, я уж не говорю о дистрибутивах типа арча , которые (при своём роллинг-релизе!) прямым текстом заставляют руками порыться в системе после каждого мелкого апдейта. 10 пунктов выполнить — что сложного то? Участие человека по-любому потребуется. Ежели мы напишем прогу которая сама себя настраивать будет, то зачем нужны будут админы нашему продукту? ![]() |
Автор: | skyb [ 01 окт 2012, 11:52 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
dimOn писал(а): Ежели мы напишем прогу которая сама себя настраивать будет, то зачем нужны будут админы нашему продукту? ![]() А что ваш софт только апдейтить можно? |
Автор: | Phricker [ 01 окт 2012, 12:09 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skyb писал(а): dimOn писал(а): Ежели мы напишем прогу которая сама себя настраивать будет, то зачем нужны будут админы нашему продукту? ![]() А что ваш софт только апдейтить можно? Мммм... Ключевая фраза "которая сама себя НАСТРАИВАТЬ будет", а не апдейтить ![]() |
Автор: | skyb [ 01 окт 2012, 13:16 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
А хотели же чекбоксы сделать по всем конфигам, жмакай галочки и агонь!!! |
Автор: | Cromeshnic [ 01 окт 2012, 13:39 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
Админы бастуют! |
Автор: | snark [ 01 окт 2012, 16:29 ] |
Заголовок сообщения: | Re: Альтернативный механизм обновления ситемы |
skyb писал(а): А хотели же чекбоксы сделать по всем конфигам, жмакай галочки и агонь!!! Предлагали, ага ... в результате все равно в эпоху веб 2.0 у нас текстовый конфиг ... хорошо хоть его теперь не надо по всей доке собирать по крупицам ![]() Вот чего реально не хватает - так это встроенного в БГ дефолтного конфига (этакий конфиг с id = 0), который нельзя было бы применить (т.к. он только для справки), но с ним можно было бы diff-ить свои конфиги и тогда было бы видно что убралось/добавилось, где поменялся синтаксис и т.д. и т.п.. В таком раскладе обновлять было бы значительно проще, т.к. не надо было бы вырезать родные конфиги из доки и свои конфиги из БГ, чтобы потом их построчно сравнивать на предмет изменений. В клиенте это все сразу было бы видно. |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |