Описание лаборатории
В наличии имеем Gentoo Linux (хотя это абсолютно непринципиально!) с настроенным KVM. Хост-система является раутером и ДНС-сервером для гостевых систем.
Создаём виртуальный диск для гостевой машины: qemu-img create -f qcow2 rac01.qcow2 40G
Ставим centos (тут используется spice-kvm, но, опять же это не принципиально):
kvm -hda rac01.qcow2 -m 1024 -net nic,macaddr=00:95:69:00:01:03 -spice port=5913,disable-ticketing -net vde -enable-kvm -cdrom /mnt/d/isos/CentOS-5.6-i386-bin-DVD.iso -boot d
После установки сразу же запускаем апдейт системы, и пока он идёт, настраиваем хост-систему.
Настройка хост-системы
Хост-система будет будет выполнять в нашей лаборатории роль общего дискового пространства. В продакшене такое пространство будет организовано поверх SAN/NAS, для наших целей будет достаточно простого NFS. Итого, прописываем экспорт файлух по NFS:
- /etc/exports
/home/nas/config 172.18.18.0/24(rw,sync,no_wdelay,insecure_locks,no_root_squash,subtree_check) /home/nas/crs 172.18.18.0/24(rw,sync,no_wdelay,insecure_locks,no_root_squash,subtree_check) /home/nas/home 172.18.18.0/24(rw,sync,no_wdelay,insecure_locks,no_root_squash,subtree_check) /home/nas/data 172.18.18.0/24(rw,sync,no_wdelay,insecure_locks,no_root_squash,subtree_check)
Создаём сами директории и рестартуем NFS-сервер:
mkdir -p /home/nas/{config,crs,home,data} /etc/init.d/nfs restart
Прописываем в /etc/hosts все адреса, которые будут использоваться нашим кластером (угу, это лучше и красивее делать через ДНС, но и так сойдёт):
- /etc/hosts
#Oracle RAC related addresses #public 172.18.18.71 rac1.locnet rac1 172.18.18.72 rac2.locnet rac2 #private 192.168.1.1 rac1-priv.locnet rac1-priv 192.168.1.2 rac2-priv.locnet rac2-priv #virtual 172.16.18.7 rac1-vip.locnet rac1-vip 172.16.18.8 rac2-vip.locnet rac2-vip #storage 172.16.18.1 nas.locnet nas
Этот кусочек /etc/hosts надо будет растиражировать по всем нодам нашего кластера.
Настройка гостевой системы
Теперь в гостевой системе прописываем монтирование NFS'ных файлух:
- /etc/fstab
#Oracle RAC related nas:/home/nas/config /ora/shared_config nfs rw,bg,hard,nointr,tcp,vers=3,timeo=300,rsize=32768,wsize=32768,actimeo=0 0 0 nas:/home/nas/crs /ora/app/crs/product/11.2/crs nfs rw,bg,hard,nointr,tcp,vers=3,timeo=300,rsize=32768,wsize=32768,actimeo=0 0 0 nas:/home/nas/home /ora/app/oracle/product/11.2/db_1 nfs rw,bg,hard,nointr,tcp,vers=3,timeo=300,rsize=32768,wsize=32768,actimeo=0 0 0 nas:/home/nas/data /ora/oradata nfs rw,bg,hard,nointr,tcp,vers=3,timeo=300,rsize=32768,wsize=32768,actimeo=0 0 0
На всех нодах необходимо иметь синхронизированное время. Обеспечить это можно по-разному, но настоящие джедаи поднимают на хост-системе NTP-сервер. На клиентской же системе достаточно прописать в рутовый кронтаб:
22,52 * * * * /usr/sbin/ntpdate nas >> /var/log/ntpdate.log 2>&1
Заводим пользователя и даём права на директорию с ораклом:
groupadd -g 200 oinstall groupadd -g 201 dba groupadd -g 202 oper groupadd -g 203 asm useradd -g oinstall -u 200 -G dba,oper,asm -c 'Oracle Software Owner' -m oracle passwd oracle mount -t nfs -a chown -R oracle:oinstall /ora
Правим лимиты для пользователя:
- /etc/security/limits.conf
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 65000 oracle hard nofile 65536