Engineered System at home. Part 3
Вторая часть.
Работа над ошибками.
Так как я пишу посты по мере построения своей инженерной системы, то очевидно, что появляются идеи, что можно было сделать лучше, а что то вообще приходится исправлять.
RDS
Я соверешенно был уверен, что он нам не потребуется. Нет, это вовсе неплохая технология, но мне хотелось обойтись без нее для некоторого упрощения ситуации и ускорения работы (в виртуальной среде).
Мой cell успешно стартовал и сообщал мне:
IPC version: Oracle UDP/IP (generic)
Все было в порядке. Почти. Ну подумаешь что cell стартовал крайне медленно (несколько минут) и в alert.log сыпались ошибки вида
Errors in file /opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/log/diag/asm/cell/cell01/trace/rstrc_8462_ocl.trc (incident=969):
RS-700 [Celloflsrv package registration failed with error] [/opt/oracle/cell/cellofl-11.2.3.3.1_LINUX.X64_140714] [] [] [] [] [] [] [] [] [] []
Incident details in: /opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/log/diag/asm/cell/cell01/incident/incdir_969/rstrc_8462_ocl_i969.trc
Я полагал, что это последствия ручной установки и мне удастся победить эту проблему чуть позже. Каково же было мое удивление, когда после загрузки RDS старт всех cell демонов стал практически мгновенным (~10 сек), и вместо ошибок я стал получать нормальные сообщения вида:
[RS] Starting offload server with pid 2364 for group SYS_121111_140712, package cellofl-12.1.1.1.1_LINUX.X64_140712
[RS] Starting offload server with pid 2367 for group SYS_112331_140529, package cellofl-11.2.3.3.1_LINUX.X64_140529.1
Забегая вперед - без загруженных модулей rds нам не удасться увидеть grid дисков с cell -(. По счастию все необходимое нам уже есть в ядре UEK Linux 7 и нам остается только обеспечить автозагрузку этим моделей. Руками их можно загрузить так:
modprobe rds
modprobe rds_tcp
modprobe rds_rdma
rds_rdma 112405 0
rdma_cm 61065 2 rdma_ucm,rds_rdma
ib_core 82013 11 rdma_cm,ib_cm,ib_sa,iw_cm,ib_mad,ib_ucm,ib_umad,ib_uverbs,rdma_ucm,ib_ipoib,rds_rdma
rds_tcp 10130 133
rds 232930 268 rds_tcp,rds_rdma
Метод автозагрузки удалось обнаружить вот здесь. Необходимо создать файл rds.conf со следующей командой:
[root@cell01 ~]# cat /etc/modprobe.d/rds.conf
install rds /sbin/modprobe --ignore-install rds && /sbin/modprobe rds_tcp && /sbin/modprobe rds_rdma
Проверим что после загрузки cell мы увидим в alert.log сообщения
IPC version: Oracle RDS/IP (generic)
Очень важно:
для RDS на стороне DB node должно быть выставлено
[root@rac01 ~]# cat /etc/sysctl.conf
<...>
# RDS from Exadata
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=2097152
Как минимум один из параметров был выставлен с помощью oracle-rdbms-server-12cR1-preinstall неверно
Параметры cell
Мне показалось, что данные два параметра стабилизируют работу cell:
/opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy/config/cellinit.ora
_cell_reserve_hugepage_memory_mb=1000
_cell_executing_in_vm=TRUE
Linux Firewall (firewalld)
Я конечно же знал, что firewall нам ну совсем не нужен и дважды проверил что iptables у меня нет. Ну я же специально ставил minimal Linux чтобы там ничего не было! Ирония судьбы - именно в Linux 7 было решено отказаться от iptables и заменить их на сервис firewalld. Сделав две вирутальные машины (одну с cell, другую с БД) я проверил несколько раз, что они пингуют одна другую, что работает ssh....но все другие порты закрыты!! Раз за разом получая 'no route to host' в ответ на telnet cell01 8888 (порт выбран произвольно) я подумал, что это связано с особенностями routing в VirtualBox. Простоя мысль проверить наличие другого firewall, кроме iptables пришла не скоро
systemctl stop firewalld
systemctl disable firewalld
Внимательный читатель возможно заметит ниже что я стал работать в сети 192.168.2.X
Дело в том, что домашний wi-fi работате на 192.168.1.X и я решил на всякий случай переехать в другую сеть чтобы избежать проблем с wi-fi роутером. Предыдущие посты поправлены на правильные ip адреса
root@rac01 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# Database nodes
192.168.2.132 rac01.localdomain rac01
# Cell nodes
192.168.2.32 cell01
Комментариев нет:
Отправить комментарий