... h2. Общие сведения: При миграции с 4го биллинга сначала мы экспортируем все данные 4го биллинга, а потом загружаем их в порядке очереди. *Важно\! Скрипты импорта и экспорта стараются быть максимально информативными. Читайте их вывод и обо всех проблемах сообщайте в тех. поддержку.* h2. Порядок импортирования: Просто для ознакомления. Ничего в этом пункте делать не нужно {code} migrate_card_series migrate_cards migrate_ippool migrate_switch migrate_nas migrate_usluga migrate_tariff migrate_tariff_usluga migrate_abonents migrate_users_usluga {code} h2. Выполнение миграции (пошаговое) *Шаг 1. Подготовка к миграции* Открываем порт для доступа к БД в 4й версии Допустим IP биллинга 5й версии 2.2.2.2. Выполняем в консоли биллинга 4й версии {panel} iptables \-I INPUT \-s 2.2.2.2 \-p tcp \--dport 3050 \-j ACCEPT iptables \-I OUTPUT \-d 2.2.2.2 \-p tcp \--sport 3050 \-j ACCEPT {panel} Из консоли получаем пароль доступа к БД биллинга 4й версии: {panel} grep ISC_PASSWORD /etc/ics/ics.conf \#вывод ISC_PASSWORD='servicem' {panel} В нашем случае пароль это servicem *Шаг 2. Удаляем старый карты оплаты из демо БД (5 версия)* {panel} sqlexec "delete from cards" sqlexec "delete from card_series" {panel} *Шаг 3. Подготавливаем рабочий каталог для миграции* {panel} chroot /app/asr_billing/ /etc/init.d/memcached stop cd /root/ mkdir new_migration cd new_migration/ mkdir csv_output {panel} *Шаг 4. Получаем данные из биллинга 4й версии* Для примера: IP биллинга: 1.1.1.1 Пароль БД: servicem {panel} python /usr/lib/python2.6/site-packages/carbon_migration_scripts/crb4_csv_export/main.pyc 1.1.1.1 servicem {panel} Внимательно посмотрите вывод. Проверьте, что данные выгрузились {panel} ll csv_output {panel} Вывод буде такой {code} итого 772 -rw-r--r-- 1 root root 605262 Сен 16 14:27 abonent.csv -rw-r--r-- 1 root root 2857 Сен 16 14:27 abonent.csv.cfg -rw-r--r-- 1 root root 0 Сен 3 15:41 abonent.csv.error -rw-r--r-- 1 root root 1360 Сен 16 14:27 ip_pull.csv -rw-r--r-- 1 root root 420 Сен 16 14:27 ip_pull.csv.cfg -rw-r--r-- 1 root root 0 Авг 20 17:38 ip_pull.csv.error -rw-r--r-- 1 root root 327 Сен 16 14:27 nas.csv -rw-r--r-- 1 root root 965 Сен 16 14:27 nas.csv.cfg -rw-r--r-- 1 root root 0 Июл 24 15:51 nas.csv.error -rw-r--r-- 1 root root 5188 Сен 16 14:27 pay_card.csv -rw-r--r-- 1 root root 666 Сен 16 14:27 pay_card.csv.cfg -rw-r--r-- 1 root root 260 Сен 16 14:27 switch.csv -rw-r--r-- 1 root root 678 Сен 16 14:27 switch.csv.cfg -rw-r--r-- 1 root root 0 Июл 24 15:51 switch.csv.error -rw-r--r-- 1 root root 1912 Сен 16 14:27 tariff.csv -rw-r--r-- 1 root root 2034 Сен 16 14:27 tariff.csv.cfg -rw-r--r-- 1 root root 0 Авг 20 17:35 tariff.csv.error -rw-r--r-- 1 root root 4050 Сен 16 14:27 tariff_usluga.csv -rw-r--r-- 1 root root 1611 Сен 16 14:27 tariff_usluga.csv.cfg -rw-r--r-- 1 root root 0 Авг 20 17:35 tariff_usluga.csv.error -rw-r--r-- 1 root root 112057 Сен 16 14:27 users_usluga.csv -rw-r--r-- 1 root root 401 Сен 16 14:27 users_usluga.csv.cfg -rw-r--r-- 1 root root 979 Сен 16 14:27 usluga.csv -rw-r--r-- 1 root root 1657 Сен 16 14:27 usluga.csv.cfg -rw-r--r-- 1 root root 0 Авг 20 17:35 usluga.csv.error {code} Файлы \*csv.error должны быть с нулевым размером *Шаг 5. Заносим в БД 5й версии данные сериях карт оплаты* {panel} python /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/import_csv.pyc csv_output/card_series.csv.cfg csv_output/card_series.csv migrate_card_series {panel} Внимательно посмотрите вывод. Подробно проверяем, что данные в биллинге соответствуют данным из 4й версии (хотя бы пару записей). *Шаг 6. Заносим в БД 5й версии данные о картах оплаты* {panel} python /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/import_csv.pyc csv_output/cards.csv.cfg csv_output/cards.csv migrate_cards {panel} Внимательно посмотрите вывод. Подробно проверяем, что данные в биллинге соответствуют данным из 4й версии (хотя бы пару записей). *Шаг 7. Заносим в БД 5й версии данные о пулах IP* {panel} python /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/import_csv.pyc csv_output/ip_pull.csv.cfg csv_output/ip_pull.csv migrate_ippool {panel} Внимательно посмотрите вывод. Подробно проверяем, что данные в биллинге соответствуют данным из 4й версии (хотя бы пару записей). *Шаг 8. Заносим в БД 5й версии данные о коммутаторах* {panel} python /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/import_csv.pyc csv_output/switch.csv.cfg csv_output/switch.csv migrate_switch {panel} Внимательно посмотрите вывод. Подробно проверяем, что данные в биллинге соответствуют данным из 4й версии (хотя бы пару записей). *Шаг 9. Заносим в БД 5й версии данные о NAS-ах* {panel} python /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/import_csv.pyc csv_output/nas.csv.cfg csv_output/nas.csv migrate_nas {panel} Внимательно посмотрите вывод. Подробно проверяем, что данные в биллинге соответствуют данным из 4й версии (хотя бы пару записей). *Шаг 10. Заносим в БД 5й версии данные об услугах* {panel} python /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/import_csv.pyc csv_output/usluga.csv.cfg csv_output/usluga.csv migrate_usluga {panel} Внимательно посмотрите вывод. Подробно проверяем, что данные в биллинге соответствуют данным из 4й версии (хотя бы пару записей). *Шаг 11. Заносим в БД 5й версии данные о тарифах* {panel} python /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/import_csv.pyc csv_output/tariff.csv.cfg csv_output/tariff.csv migrate_tariff {panel} Внимательно посмотрите вывод. Подробно проверяем, что данные в биллинге соответствуют данным из 4й версии (хотя бы пару записей). *Шаг 12. Заносим в БД 5й версии данные о тарифных услугах* {panel} python /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/import_csv.pyc csv_output/tariff_usluga.csv.cfg csv_output/tariff_usluga.csv migrate_tariff_usluga {panel} Внимательно посмотрите вывод. Подробно проверяем, что данные в биллинге соответствуют данным из 4й версии (хотя бы пару записей). *Шаг 13. Заносим в БД 5й версии данные об абонентах * {panel} python /usr/lib/python2.6/site-packages/carbon_migration_scripts/file_client/import_csv.pyc csv_output/abonent.csv.cfg csv_output/abonent.csv migrate_abonents {panel} Внимательно посмотрите вывод. Подробно проверяем, что данные в биллинге соответствуют данным из 4й версии (хотя бы пару записей). *Шаг 14. Разблокировка пользователей и запуск*
|