OpenQuality.ru

Качество программного обеспечения

Качество программного обеспечения: в главных ролях

Лента  Радар  Блог  Опыт  
Разум  Видео  Заметки  Эпизоды


Разбор полетов, или неисповедимы пути Системы

Добрый день.

Окончание истории с Boeing 737-800.

Cерверная площадка Chinese Empire Airlines

19 мая, 03:25

Удаленное подключение к falco10q. Ручной перезапуск системы успешен:

falco10q:~ # /etc/init.d/ticketsdb restart
All subsystems started successfully.

Резервное сохранение данных будет выполнено в 09:45 согласно расписанию в crontab.

19 мая, 07:48

Ненормированная утечка фреона привела к перегреву и заклиниванию компрессора. Кондиционер, регулирующий климат в серверном отсеке, вышел из строя. Температура в помещении поднялась до 45°С. Отказ двух дисков в массиве RAID 5.

19 мая, 11:43

Поднят вспомогательный сервер. Данные системы бронирования билетов восстановлены из архива, сделанного 18 мая в 09:46. Джеймс Морган в списках не значится.

Разбор полетов. SLES 10, falco10q

1. Скрипт ticketsdb, успешно стартовавший на SLES 9, периодически не стартует на SLES 10 (статистика: 4 случая из 10).

falco10q:~ # less /etc/sysconfig/boot
...
## Type:        yesno
## Default:     yes
#
# Run all scripts or rather start/stop all services
# which are independent from each other in parallel.
#
RUN_PARALLEL="yes"
...

falco10q:~ # man init.d
...
If  parallel  executing  of  the  boot scripts is enabled (see /etc/sysconfig/boot variable RUN_PARALLEL) then both master scripts uses the program
startpar(8)  which  starts  or  stops  multiple  services  in  parallel.   Startpar(8)  will   look   for   the   files   /etc/init.d/.depend.boot,
/etc/init.d/.depend.start, and  /etc/init.d/.depend.stop  to get the dependencies for each service.  The files will be written, beside the symbolic
links in the boot and runlevel directories, by the program insserv(8).
...

Скрипты управления системой бронирования билетов были перенесены с SLES 9. Ранее они запускались последовательно в соответствии с порядком символических ссылок в /etc/rc.d/rc5.d/. В SLES 10 по умолчанию включен параллельный запуск скриптов с намерением ускорить загрузку системы. Побочный эффект: в 4 случаях из 10 к моменту запуска ticketsdb не было доступно устройство /dev/tickets_sync, что приводило к сбою в работе системы. В скрипт ticketsdb необходимо добавить зависимости:

### BEGIN INIT INFO
# Provides:       ticketsdb
# Required-Start: $network $remote_fs $syslog $time
# Default-Start:  2 3 5
# Description:    tiketsdb service
### END INIT INFO

Сообщим insserv о внесенных изменениях:

falco10q:~ # insserv ticketsdb

Теперь к моменту старта ticketsdb все необходимые компоненты будут доступны.

2. Отказ двух дисков в массиве RAID 5 приводит к потере данных. В случае Chinese Airlines спусковым крючком оказались неполадки в кондиционере, но вариантов форс-мажорных обстоятельств не cчесть. Пожары, землетрясения, некачественные ИБП, диверсии со стороны персонала, ошибки в базовом ПО, неверная конфигурация аппаратных средств. Чем важнее данные и чем более опасна их потеря, тем больше уровней резервирования должно быть в системе. Чудес не бывает: дополнительные вложения в программное и аппаратное обеспечение непременно приведут к дополнительным издержкам. Каждая компания выбирает свою бизнес-модель. Бесперебойная работа + безукоризненная репутация + высокие цены? Или разумные вложения + компенсация издержек? Whatever. Просьба одна: не ставить на карту жизнь Джеймса Моргана. Пусть пропадет его билет, но все системы на борту работают как часы.

Джеймс и Сильвия Морган, Бостон

20 мая, 22:01

- Сэр! Мы получили телеграмму от руководства Пекинского Университета с просьбой подтвердить ваше отбытие. Возможно, в наших данных ошибка. Свободных мест на CEA764 нет, но мы зарегистрируем вас на ближайший рейс.

20 мая, 23:21

Новостная лента агенства Reuters: связь с Boeing 737-800 (рейс CEA764) восстановлена. Экипаж и пассажиры в безопасности. Причины происшествия выясняются.

20 мая, 23:25

- Ты не спишь? Я в аэропорту. Забыл предупредить: лечу ночным рейсом. Позвоню из Пекина позже, чем обещал.
- Береги себя. Я буду ждать твоего звонка.

Отправить в Twitter, Facebook, FriendFeed, ВКонтакте | Опубликовано 02.07.2009 в рубрике "Приложения"

Комментарии (1)

  1. Pingback : OpenQuality.ru | Облако своими руками, или возможности Eucalyptus | August 3, 2009

    […] Инсталляция выполняется по следующему сценарию: синхронизация времени, установка rpm-пакетов, запуск web-сервисов. После установки важно настроить зависимости между скриптами в /etc/init.d/ таким образом, чтобы в случае перезагрузки системы “облачные” сервисы на “основном” узле запускались в следующем порядке: eucalyptus-cloud, eucalyptus-cc, eucalyptus-nc. Помните о RUN_PARALLEL? […]



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

Пожалуйста, исправьте результат: дважды два равно



КРАТКОЕ СОДЕРЖАНИЕ

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


ПУТЕВОДИТЕЛЬ

Список всех статей с краткой аннотацией и разбивкой по рубрикам. Открыть карту.

ПОДПИСКА

Доступ к самым интересным материалам по электропочте и RSS. Подробности.

ИЩЕЙКА