Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Остановкой Oracle управляет скрипт /$ORACLE_HOME/bin/dbshut. В этом скрипте на строках под номерами 79 и 84 расположены пары команд:
…
connect internal
shutdown
…
Нас интересует команда shutdown. Как вы наверное уже знаете, эта команда указывает Oracle завершить работу. В приведенном варианте команды Oracle ждет отключения всех пользователей и после этого завершает работу. Но иногда так происходит, что Oracle не завершает работу даже после отключения всех пользователей, как бы «зависает». Для того чтобы переключения между узлами кластера происходили быстрее, советую слегка изменить команду shutdown. Допишем к ней параметр immediate. Данный параметр указывает Oracle завершить работу не дожидаясь отключения пользователей. Более подробно о команде можно прочитать в книге «Oracle9i Database Administrator’s Guide» из фирменной документации.
Копируем скрипты oracle9.sh, oracle-lsnr и oracle-db с главного узла на резервный и повторяем процедуру установки Oracle для резервного узла без создания базы. Таким образом, на обоих узлах Oracle будет работать в одинаковом окружении.
На основном узле останавливаем Oracle, если он запущен, и копируем базу (т.н. холодная копия) на резервный узел в то же самое место, где она находится на основном узле. Файлы базы находятся в каталоге /$ORACLE_BASE/oradata/$dbname. Где $ORACLE_BASE задается в oracle9.sh, а $dbname – имя вашей базы, которое вы указали при ее создании.
Копируем файл /etc/oratab с основного узла на резервный и запускаем Oracle на резервном узле для проверки его работы.
После проверки работоспособности удаляем все содержимое точки монтирования (/D01) на резервном узле.
Установка DRBD
Для установки DRBD нужно иметь исходные тексты ядра. Исходные тексты должны быть именно от того ядра, для которого будет собираться drbd, иначе при попытке загрузки модуля (если его вообще удастся собрать) будут появляться ошибки «unresolved symbols». Мне не удалось найти точно те исходники, из которых было собрано ядро из дистрибутива, и поэтому я буду использовать самое свежее ядро на момент написания статьи – 2.4.32.
Нужно позаботиться, чтобы новое ядро было собрано в той же конфигурации, что и ядро, использовавшееся до него. Спасибо Михаилу Шигорину за подсказку, где найти оригинальный конфигурационный файл. В моем случае он находится в /boot/config-*. Копируем его вместо конфига нового ядра:
#> cp /boot/config-2.4.26-std-smp-alt6 /usr/src/linux/.config
Компилируем ядро, устанавливаем. Проверяем работоспособность системы на новом ядре.
Компилируем DRBD:
#> cd /usr/src/drbd-0.7.17
#> make clean all
Устанавливаем:
#> make install
Модуль находится в /lib/modules/2.4.32/kernel/drivers/block/. Подробное описание процесса компиляции и установки находится в файле INSTALL из пакета исходников DRBD.
Перед настройкой DRBD нужно разбить запасенные диски на обоих узлах на разделы (раздел может быть и единственный). При этом те разделы, которые будут использоваться с DRBD, желательно сделать одного размера. Для этого используем fdisk или аналог. Например, на обоих узлах разобьем диски на два раздела: основной – 35 Гб, для использования с DRBD и логический – остальное пространство диска.
Настраиваем DRBD. Настройка производится через конфигурационный файл /etc/drbd.conf. Файл должен быть идентичен на обоих узлах кластера.