Red Hat Cluster Manager: Руководство по установке и администрированию Red Hat Cluster Manager | ||
---|---|---|
Назад | Глава 5. Службы баз данных | Вперед |
В этом разделе представлен пример настройки кластерной службы, обеспечивающей отказоустойчивую работу в кластере сервера баз данных IBM DB2 редакции Enterprise или Workgroup. В этом примере, подразумевается что NIS в кластерных системах не работает. Для установки программных модулей и базы данных в кластерной системе, выполните следующие действия:
В каждой кластерной системе, зарегистрируйтесь под именем root и добавьте в файл /etc/hosts IP адрес и имя компьютера, с которым будет связана служба DB2. Например:
10.1.16.182 ibmdb2.class.cluster.com ibmdb2 |
Выберите на общем диске неиспользуемый раздел для размещения рабочих и служебных данных DB2 и создайте в нём файловую систему. Например:
# mke2fs /dev/sda3 |
Создайте в каждой кластерной системе точку подключения файловых систем, созданных на втором шаге. Например:
# mkdir /db2home |
В первой кластерной системе, devel0, подключите файловую систему, созданную на втором шаге, к точке подключения, созданной на третьем. Например:
devel0# mount -t ext2 /dev/sda3 /db2home |
В первой кластерной системе, devel0, подключите компакт-диск DB2 и скопируйте файл ответов установки в каталог /root инсталляции Linux. Например:
devel0% mount -t iso9660 /dev/cdrom /mnt/cdromdevel0% cp /mnt/cdrom/IBM/DB2/db2server.rsp /root |
Отредактируйте файл ответов установки, db2server.rsp, отразив в нем особенности вашей конфигурации. Убедитесь в том, что идентификаторы UID и GID зарезервированы в обоих кластерных системах. Например:
-----------Instance Creation Settings------------ ------------------------------------------------- DB2.UID = 2001 DB2.GID = 2001 DB2.HOME_DIRECTORY = /db2home/db2inst1 -----------Fenced User Creation Settings---------- -------------------------------------------------- UDF.UID = 2000 UDF.GID = 2000 UDF.HOME_DIRECTORY = /db2home/db2fenc1 -----------Instance Profile Registry Settings------ --------------------------------------------------- DB2.DB2COMM = TCPIP ----------Administration Server Creation Settings--- ---------------------------------------------------- ADMIN.UID = 2002 ADMIN.GID = 2002 ADMIN.HOME_DIRECTORY = /db2home/db2as ---------Administration Server Profile Registry Settings- --------------------------------------------------------- ADMIN.DB2COMM = TCPIP ---------Global Profile Registry Settings------------- ------------------------------------------------------ DB2SYSTEM = ibmdb2 |
Запустите установку. Например:
devel0# cd /mnt/cdrom/IBM/DB2 devel0# ./db2setup -d -r /root/db2server.rsp 1>/dev/null \ 2>/dev/null & |
Проверьте, не было ли ошибок во время установки, просмотрев журнал установки в файле /tmp/db2setup.log. В конце файла журнала каждый этап установки должен быть отмечен как SUCCESS (УСПЕШНО).
Остановите рабочий и служебный сервер DB2 в первой кластерной системе. Например:
devel0# su - db2inst1 devel0# db2stop devel0# exit devel0# su - db2as devel0# db2admin stop devel0# exit |
Отключите раздел с рабочими и служебными данными DB2 в первой кластерной системе Например:
devel0# umount /db2home |
Подключите раздел с рабочими и служебными данными DB2 во второй кластерной системе, devel1. Например:
devel1# mount -t ext2 /dev/sda3 /db2home |
Подключите компакт-диск с DB2 во второй кластерной системе и выполните удаленное копирование файла db2server.rsp в каталог /root. Например:
devel1# mount -t iso9660 /dev/cdrom /mnt/cdrom devel1# rcp devel0:/root/db2server.rsp /root |
Запустите инсталляцию во второй кластерной системе, devel1. Например:
devel0# cd /mnt/cdrom/IBM/DB2 devel1# ./db2setup -d -r /root/db2server.rsp 1>/dev/null \ 2>/dev/null & |
Проверьте, не было ли ошибок во время установки, просмотрев журнал установки в файле /tmp/db2setup.log. В конце файла журнала все этапы инсталляции должны быть отмечены как SUCCESS (УСПЕШНО), за исключением следующих:
DB2 Instance Creation FAILURE Update DBM configuration file for TCP/IP CANCEL Update parameter DB2COMM CANCEL Auto start DB2 Instance CANCEL DB2 Sample Database CANCEL Start DB2 Instance Administration Server Creation FAILURE Update parameter DB2COMM CANCEL Start Administration Server CANCEL |
Проверьте правильность установки сервера баз данных, выполнив следующие команды, сначала на одной, а затем на другой кластерной системе:
# mount -t ext2 /dev/sda3 /db2home # su - db2inst1 # db2start # db2 connect to sample # db2 select tabname from syscat.tables # db2 connect reset # db2stop # exit # umount /db2home |
Создайте сценарий для запуска и остановки кластера DB2 на разделе с рабочими и служебными данными. Например:
# vi /db2home/ibmdb2 # chmod u+x /db2home/ibmdb2 #!/bin/sh # # IBM DB2 Database Cluster Start/Stop Script # DB2DIR=/usr/IBMdb2/V6.1 case $1 in "start") $DB2DIR/instance/db2istrt ;; "stop") $DB2DIR/instance/db2ishut ;; esac |
Измените файл /usr/IBMdb2/V6.1/instance/db2ishut в каждой системе, таким образом, чтобы перед остановкой сервера баз данных выполнялось принудительное отключение работающих приложений. Например:
for DB2INST in ${DB2INSTLIST?}; do echo "Stopping DB2 Instance "${DB2INST?}"..." >> ${LOGFILE?} find_homedir ${DB2INST?} INSTHOME="${USERHOME?}" su ${DB2INST?} -c " \ source ${INSTHOME?}/sqllib/db2cshrc 1> /dev/null 2> /dev/null; \ ${INSTHOME?}/sqllib/db2profile 1> /dev/null 2> /dev/null; \ >>>>>>> db2 force application all; \ db2stop " 1>> ${LOGFILE?} 2>> ${LOGFILE?} if [ $? -ne 0 ]; then ERRORFOUND=${TRUE?} fi done |
В файле inittab закомментируйте строку DB2, чтобы запуск и остановку сервера баз данных выполняла кластерная служба. Скорее всего эта строка будет в конце файла. Например:
# db:234:once:/etc/rc.db2 > /dev/console 2>&1 # Autostart DB2 Services |
Воспользуйтесь утилитой cluadmin для создания службы DB2: Введите IP адрес, выбранный в первом пункте, название общего раздела, созданного во втором, и имя файла сценария, созданного в 16 пункте.
Чтобы установить клиента DB2 в третьей системе, выполните следующие команды:
display# mount -t iso9660 /dev/cdrom /mnt/cdrom display# cd /mnt/cdrom/IBM/DB2 display# ./db2setup -d -r /root/db2client.rsp |
Для настройки клиента DB2 добавьте IP адрес службы в файл /etc/hosts на клиентском компьютере:
10.1.16.182 ibmdb2.lowell.mclinux.com ibmdb2 |
Затем добавьте следующую запись в файл /etc/services на компьютере-клиента:
db2cdb2inst1 50000/tcp |
Выполните на этом компьютере следующие команды:
# su - db2inst1 # db2 catalog tcpip node ibmdb2 remote ibmdb2 server db2cdb2inst1 # db2 catalog database sample as db2 at node ibmdb2 # db2 list node directory # db2 list database directory |
Чтобы проверить подключение к базе данных DB2 на клиенте, выполните следующие команды:
# db2 connect to db2 user db2inst1 using ibmdb2 # db2 select tabname from syscat.tables # db2 connect reset |