J3qx

information archive

1S DRP plan

Posted by j3qx на Январь 29, 2017

Восстановление сервиса 1С в случае сбоя (Disaster recovery plan)

Цели документа:

  • сокращение времени простоя сервиса
  • сокращение возможного финансового ущерба
  • обучение персонала работе в чрезвычайных условиях
  • описание шагов для обеспечения быстрого восстановления работоспособности системы

Термины, определения, легенды

ЛПР – лицо, принимающее решение

Ru.MO – Россия, главный офис

Ru.D – Россия, ЦОД Даталайна

MS SQL – Сервер СУБД Mcirosoft SQL

FS – файловый сервер

Full – полная резервная копия

Diff – дифференциальная резервная копия

Trn – transaction log

Роли участников

Номер Название роли Описание
01 Дежурный системный администратор Дежурный системный администратор департамента ИТ инфраструктуры
02 Дежурный программист 1С Дежурный программист департамента 1С разработки
03 Заместитель CTO Заместитель технического директора, ЛПР
04 Руководитель департамента 1С Руководитель департамента разработки 1С, ЛПР
05 CTO Технический директор, ЛПР
06 DBA Администратор баз данных

Контактная информация

Имя Должность Название группы Номер телефона
Руководитель Заместитель технического директора
Руководитель Отдел разработки и поддержки 1С
Начальник отдела windows based systems and virtualization
Ведущий администратор windows based systems and virtualization
Архитектор 1С Отдел разработки и поддержки 1С
Грицков Антон И.О. тим лида 1С Отдел разработки и поддержки 1С

ЦОД Даталайн.

Даталайн
Служба поддержки
Вед. Спец. по работе с клиентами

Номер стойки в ЦОД Боровая – H6 С111

Расположение серверов можно увидеть в racktables http://racktables.office.example.ru/

Процедура регистрации и обработки сбоя

Рабочее время

В рабочее время администратор руководствуется регламентом по внесению изменений в систему, актуальная версия документа доступна по адресу

https://confluence.example.ru/display/ITHD/IT+change+management+v1.3

Не рабочее время

При возникновении инцидента, описанного в плане восстановление сервиса, необходимо уведомить 6911 о проблеме.

Мониторинг

Актуальное состояние объектов инфраструктуры можно увидеть тут

https://prtg.office.example.ru/

Доступ в мониторинг под доменной учетной записью. Видимость систем – на основе членства в группах AD.

Порядок принятия решения по DRP

В случае операционных проблем с сервером приложения 1С

  1. Sms — уведомления администраторов от систем мониторинга
  1. 6911 информирует о проблеме на основе входных данных– либо администраторов (шаг 3), либо сотрудников отдела 1С (или шаг 2)
  2. Сотрудники отдела 1С – диагностируют проблему с сервером приложения (недоступность) и информируют об этом администраторов
  3. Администраторы диагностируют невозможность в разумные сроки (до 2х часов) восстановить работу сервера приложения 1С, приступают к реализации сценария «Недоступность основного сервера приложения 1С»

В случае проблем с БД

  1. Sms — уведомления администраторов от систем мониторинга
  2. 6911 информирует о проблеме на основе входных данных– либо администраторов (шаг 3), либо сотрудников отдела 1С (или шаг 2)
  3. Сотрудники отдела 1С – диагностируют проблему с сервером СУБД (недоступность) и информируют об этом администраторов
  4. Администраторы диагностируют, какой тип отказа произошел, на основе чего выбирают соответствующий сценарий восстановления.

Удаленный доступ к ЦОД (VPN)

Для удаленного доступа к сетям компании у дежурного администратора, архитектора 1С и дежурного программиста 1С должен быть на ПК установлено по OpenVPN. ЗАБЛОГОВРЕМЕННО от сотрудников отдела «Telecom and open source solutions support group» получен сертификат для VPN клиента и необходимые файлы настроек, в том числе доступ к сетями 10.10.36.0/24. Так же дежурный системный администратор, архитектор 1С и дежурный программист 1С должны заранее убедиться, что им доступны все ресурсы, перечисленные в документе

Ресурсы, задействованные в плане

Resource Path Comments
Confluence http://confluence.example.ru Documentations
PRTG https://prtg.office.example.ru/ Monitoring
pd-fs-12 \\pd-fs-12\pd-cls-db-102 Папка с бекапом основной базы 1С. Ru.D
Racktables http://racktables.office.example.ru/ Расположение оборудование
Pd-db-28 Pd-db-28,1434 Сервер с автоматической ежедневной копией 1С
Pd-db-14 SQL Node A – HA always On Резервный сервер СУБД для 1С SQL
Pd-db-18 SQL Node B – HA always On Основной
сервер СУБД для 1С SQL
Pd-db-25 SQL 1C DEV Сервер, на котором view база BI DWH. Сервер разработчиков 1С.

Резервные данные (backup)

Актуальны бэкап данных можно взять на сервере \\pd-fs-12\pd-cls-db-102. Документация по резервному копированию баз данных — https://confluence.example.ru/display/ITHD/1C%3A+Backup+plan+Ru

Основная резервная копия находится в ЦОД Даталайна (ссылка выше). Также на еженедельной основе производится копирование еженедельных резервный копий в Ru.Let, где в серверной на втором этаже стоит библиотека, которая записывает их на ленты, которые хранятся в отделе информационной безопасности.

Существует и еще одна копия «теплого» резерва, она в автоматическом режиме запускает тестовое восстановление продуктивных баз на вспомогательном сервере pd-db-28. Подробности https://confluence.example.ru/pages/viewpage.action?pageId=26872394

Процедура аварийного восстановления

Сервисы, подлежащие резервированию:

Название Приоритет Компоненты Влияние
1 1С.RU наивысший Сервер СУБД MS SQL Остановка работы склада, остановка бухучета

Восстановление в случае сбоев на уровне СУБД SQL

Отказ резервной ноды кластера SQL 1С – node A

Риски: переполнение диска на основной ноде, так как во время недоступности резервной ноды будут копиться логи транзакий на основной.

Решения

  1. Если позволяет время и место, то попробовать восстановить отказавшую резервную ноду
  2. Если позволяет время и место, развернуть новый SQL и добавить его в кластер, после чего удалить сбойную ноду, руководствуясь инструкциями 0021, 0022, 0033.

  1. Если не позволяет место/время – необходимо удалить базу из Availability database, после чего запустить задание бекапа транзакционных логов и обрезку. В случае недоступности заданий по бекапу, сделать это вручную, согласно инструкции «Инструкция №0061-IT — manual backup trn and shrink» https://confluence.example.ru/pages/viewpage.action?pageId=44275698

Отказ основной ноды кластера SQL 1С – node B

Риски: сервис 1С «подвисает», проблемы с регламентными заданиями и веб сервисами. Если нода полностью умерла, то начнутся риски, аналогичные «Отказ резервной ноды кластера SQL 1С – node A», а именно риск переполнения диска, на котором находится СУБД, вследствие недоступности второй ноды

Решение

  1. После переключения на резервную ноду необходимо по согласованию с сотрудниками отдела 1С перезапустить сервера приложения 1С, которые смотрят на кластер (pd-app-1c-08; pd-app-1c-04v)
  2. Если отказавшая нода жива, зайти на нее и отключить все задания резервного копирования
  3. На новой primary node включить задания резервного копирования, по возможности сделать full backup
  4. Убедиться, что работает функционал Linked server для BI DWH. Для этого зайти bouser на pd-db-25, используя встроенную SQL – авторизацию, и в разделе Server Object->Linked Server-> pd-cls-db-102 провести тест соединения, нажав правой кнопкой мыши на объект pd-cls-db102->test Connection (у вас должны быть права на уровне linked объекта)

  1. В случае полной потери node B, действовать аналогично плану «Отказ резервной ноды кластера SQL 1С – node A»

Телеметрия и результаты тестов

  1. Определение недоступности основной ноды службой Failover Cluster – 10 сек
  2. Переключение кластера – 40 секунд.
  3. Переключения SQL кластера на новую ноду 50 секунд
  4. 1С «висит» — около 90 секунд, пока не выпадает на перезапуск
  5. 1С сервис «умирает», без рестарта сервиса не работает

Отказ shared folder witness

Риски: незапланированное переключение кластера, как следствие — недоступность 1C

Данные: кластер состоит из двух нод и одной общей папки свидетеля.

Решение

  1. Добавить новую папку свидетеля
  2. Удалить старую папку свидетеля

Телеметрия и результаты тестов

Во время потери свидетеля происходит кратковременное повисание клиента 1С на 1-2 секунды

Отказ основной ноды кластера из-за нехватки места

Риски: Невозможность службой 1С записать данные в базу. Вылетает клиентское приложение с ошибками на Log_backup

Решение

  1. По возможности удалить на томе с базой SQL (на проде это disk D) любые неважные файлы. Для прода – это файлы из папки unused space и запустить задания бекапа trn логов.
  2. Если удалять на томе нечего и там только данные базы, необходимо запустить задание резервного копирования транзакционных логов с обрезкой на primary node (для прода это Backup-18.TrnLog-15min_1day или Backup-14.TrnLog-15min_1day) — зависит от ноды, которая главная. Если не получится, попробовать выполнить вручную, согласно инструкции 0061
  3. Если предыдущие шаги не удались, то переключить кластер sql 1С на другую ноду, после чего:
    1. Перезапустить сервер 1с
    2. Если появилась возможность, освободить место на secondary ноде и попробовать запустить базу, иначе шаг C
    3. Если возможности освободить место на томе с базой нет, то необходимо удалить базу из Availability database, после чего запустить задание бекапа транзакционных логов

Телеметрия и результаты тестов

  1. При нехватке места 1С служба работает корректно и не выпадает. При появлении места все работает нормально
  2. Текущие клиенты, которые попробуют записать в базу, – вылетают
  3. Новые клиенты не смогут подключиться
  4. Если переключить кластер на secondary node A, то на ноде, где закончилось место, – node B, база перейдет в режим паузы. Если после этого, на node A прошли задания бекапа транзакционных логов, то для того, чтобы база из паузы вышла, нужно свободное место на диске с базой – не меньше, чем размер забекапленных после переключения trn логов

Телеметрия и результаты тестов

  1. На тестовой базе – отставание было около 1 секунды.

Отказ обоих серверов СУБД

Риски: Недоступность всех баз кластера. Полная недоступность 1С

Решение

  1. Остановить службу 1С на pd-app-1c-08; pd-app-1c-04v
  2. На сервере pd-db-28 port 1434 ежедневно восстанавливаются базы с полной ежедневной копии. На нем остановить задания резервного копирования. В случае невозможности – делать работы на pd-db-15, проверив, что ему презентован LUN необходимого объема
  3. На сервере pd-db-28, на базы накатить последние diff и trn бекапы, согласно инструкции Инструкция №0020-IT – Восстановление SQL базы full and diffhttps://confluence.example.ru/pages/viewpage.action?pageId=26872322
  4. На серверах pd-app-1c-08; pd-app-1c-04v поправить файл host, чтобы pd-cls-db-102 указывал на 10.10.36.29
  5. На сервере pd-db-28, 1434 создать учетную запись 1С с логином и паролем как на pd-db-18 (пароль в базе у админов). В случае невозможности – создать новую локальную УЗ, дать ей права db_owner на базы 1С. Если введена уже доменная авторизация – то добавить УЗ AD 1С и проверить, что в базах ее права корректны
  6. Включить сервера приложений 1С на pd-app-08; pd-app-1c-04v и убедиться, что они работают корректно
  7. Начать работы по восстановлению работоспособности основных серверов СУБД

Работа базы в асинхронном режиме. Скорость отставания

Данные: база работает в асинхронном режиме с переключением по отказу вручную. Нагрузка подавалась 2 клиентами путем создание по 300 элементов в секунду в справочники

Восстановление в случае сбоев на уровне 1C APP

Отказ сервера приложения

Риски: полная недоступность баз 1С, находящихся на этом сервере

Решение

  1. Полностью остановить сервер со сбойным сервером приложений. В случае невозможности провести отключение сервера, погасить сетевые, к которым он подключен на сетевом оборудовании pd-sw-03; порты GE1/0/14 и GE1/0/15
  2. Добавить базы с 1S-MSK-MAIN; и 1s-msk-hrcorp на сервер pd-app-1c-04v
  3. Проверить корректность работы баз
  4. Настроить необходимые веб-сервисы
  5. Поменять alias la-1s, чтобы он вел на pd-app-1c-04v
  6. На pd-rds-08v; pd-rds-11v – провести сброс dns кэша, запустив в контекста администратора cmd.exe и выполнив ipconfig /flushdns

Зависимые документы

  1. Инструкция №0019-IT – Восстановление SQL базы full and transaction log
  2. Инструкция №0020-IT – Восстановление SQL базы full and diff
  3. Инструкция №0021-IT – Установка SQL сервера
  4. Инструкция №0022-IT – Требования по установке SQL Server 20xx
  5. Инструкция №0033-IT – Создание SQL Cluster AlwaysOn
  6. Инструкция №0061-IT – Manual backup trn and shrink
  7. 1С Схемы — https://confluence.example.ru/pages/viewpage.action?pageId=44275334
  8. 1C: Серверы, связанные с работой сервиса. https://confluence.example.ru/pages/viewpage.action?pageId=14189014
  9. 1C: Firewall
  10. 1C: IIS: изменение максимального размера файла
  11. 1C: Linked server
  12. 1C: Запуск с программной лицензией
Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: