Engineered System at home. Part 2. Install GI software and connect to Exa cell in Amazon

В предыдущих сериях:



Я рекомендую вам повторить часть инструкции для создания Exadata cell, в части выбора виртуальной машины, и установки нужного kernel. Дальше, вам очевидно нужно загрузить дистрибутив Grid Infrastructure. Можно просто закачать со своего диски с помощью scp, а можно прямо на инстанс, что возможно быстрее.

С помощью wget это можно сделать легко и непринужденно

Идем на страницу загрузки Oracle Software, выбираем

 
Принимаем пользовательское соглашение, делаем вид что начинаем загрузку, после чего останавливаем ее и подсматриваем строчку загрузки в download manager. Копируем ее для загрузки с помощью wget. Получится что то вроде такой строчки:  


В обычной ситуации было бы необходимо настроить ОС - но oracle-valided уже стоит. Нужно создать swap,  загрузить rds (если забудете - не беда), поправить /etc/sysctl.conf  (как в предыдущем посте

net.core.rmem_default=262144 
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=2097152
# vm.nr_hugepages = 1560   # Only if have huge pages in your system
fs.aio-max-nr = 50000000

Вам нужно выбрать тип инстанса (если вы ранее выбрали micro instance как я люблю делать) и  расширить место для Oracle Software. Для БД я выбрал m3.large. 





Ссылка на документацию, сколько необходимо места. Я расширил оригинальный том до 30Gb. 
Все делал по инструкции из предыдущего поста


Local Storage Space for Oracle Software
  • At least 8 GB of space for the Oracle Grid Infrastructure for a cluster home (Grid home). Oracle recommends that you allocate 100 GB to allow additional space for patches.
  • At least 12 GB of space for the Oracle base of the Oracle Grid Infrastructure installation owner (Grid user). The Oracle base includes Oracle Clusterware and Oracle ASM log files.
  • For Linux x86-64 platforms, if you intend to install Oracle Database, then allocate 6.4 GB of disk space for the Oracle home (the location for the Oracle Database software binaries).





Ссылка об  автоматической  настройке  параметров Linux и  установки необходимых пакетов. В образе Amazon уже все стоит. 

Если вы умеете ставить в silence mode - отлично. Если нет - то поставьте twm и немного от x-windows чтобы воспользоваться VNC 

yum install xorg-x11-fonts-Type1 xorg-x11-fonts-75dpi  xorg-x11-fonts-100dpi  xorg-x11-fonts-misc xterm xclock
yum install vnc twm


Дальше я пользовался вот этой инструкцией для установки Grid Infrastructure и Database.  Она очень понятная, хотя и на мой взгляд не слишком правильная - все таки нужно заводить отдельных пользователей для grid и database.  На ваше усмотрение - чем привыкли пользоваться так и делайте - никак особенностей в установке в Amazon нет. 


Запустил VNC сервер и сделал ssh туннель к нему 

ssh -L 5901:localhost:5901 -i Amazon. pem -l root ec2-54-194-173-32.eu-west-1.compute.amazonaws.com

Дальше подсоединялся в VNC клиенте к локальному порту 5901.


Я проводил установку Software Only - мне кажется это лучший путь держать все шаги под контролем. 



После установки проверим что у нас стартуют кластерные агенты (на всякий случай еще раз - я ставлю single database, не RAC. RAC похоже не поддерживается из-за multicasting) 

crsctl status res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ons
               OFFLINE OFFLINE      ip-172-31-29-234         STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       ip-172-31-29-234         STABLE
ora.diskmon
      1        ONLINE  ONLINE       ip-172-31-29-234         STABLE
ora.evmd
      1        ONLINE  ONLINE       ip-172-31-29-234         STABLE
--------------------------------------------------------------------------------


as root 

mkdir -p /etc/oracle/cell/network-config
chown oracle:dba /etc/oracle/cell/network-config
chmod ug+wx /etc/oracle/cell/network-config


oracle@rac1 network-config]$ cat cellinit.ora
ipaddress1=172.31.29.234/16                            # Db Node IP -  fake Infiniband network 


oracle@rac1 network-config]$ cat cellip.ora
cell="172.31.24.72"                                             #  Cell ip address 


Мы готовы проверить видим ли мы диски Exa Cell. 

Для начала простой telnet 
telnet 172.31.24.72 8888

и тут же 
Trying 172.31.24.72...
telnet: connect to address 172.31.24.72: No route to host   # у нас нет соединения между узлами 

Ничего не выйдет, у нас где то есть firewall. Я обнаружил два такие места - первое, очевидно iptables, поэтому пришлось их отключить, 

/etc/init.d/iptables stop
Сбрасываются правила брандмауэра:                          [  OK  ]
Политика цепочек брандмауэра устанавливается в ACCEPT: filt[  OK  ]
Выгружаются модули                                         [  OK  ]

второе - настройки в Amazon - мне пришлось разрешить для обоих узлов Inbound connection для всех IP адресов (очевидно это перебор, и можно было сделать это более интеллектуально) 




telnet  172.31.24.72 8888
Trying 172.31.24.72...
telnet: connect to address 172.31.24.72: Connection refused    # это нормально 

Мне казалось что Inbound rules должны быть связаны с iptables на хвосте, но возможно это и разные понятия - как настройки firewall на входе в ваш виртуальный дата центр и собственно настройки хоста. 

Нам остался последний шаг перед окончательной победой: убедиться что мы видим Exdata диски перед созданием дисковой группы 


kfod.bin verbose=true  status=true op=disks  asm_diskstring='o/172.31.24.72/*'
--------------------------------------------------------------------------------
 Disk          Size Header    Path                                     User     Group
================================================================================
   1:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK01_cell1
   2:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK02_cell1
   3:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK03_cell1
   4:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK04_cell1
   5:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK05_cell1
   6:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK06_cell1
   7:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK07_cell1
   8:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK08_cell1
   9:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK09_cell1
  10:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK10_cell1
  11:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK11_cell1
  12:        976 Mb CANDIDATE o/172.31.24.72/DATA_CD_DISK12_cell1


Если вы не видите дисков:

1. проверьте что загружен rds 
 lsmod | grep rds 

2. Проверьте что выдает команда  команда 
skgxpinfo
rds

Если в выводе команда UDP, перелинуйте вашу инсталляцию 

make -C /u01/app/12.1.0.2/grid/rdbms/lib -f ins_rdbms.mk  ipc_rds ioracle

3. Убедитесь, что cell работает, команда list griddisk выдает список дисков


Нам остается только запустить asmca  и создать дисковую группу 




Само создание дисковой группы занимает несколько минут (может быть минуту). Если этого не случилось - смотри ниже. 

Если все прошло успешно, В ASM alert.log вы сможете с удовольствием наблюдать следующие:  

SUCCESS: CREATE DISKGROUP EXA_DG EXTERNAL REDUNDANCY  DISK 'o/172.31.24.72/DATA_CD_DISK01_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK02_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK03_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK04_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK05_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK06_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK07_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK08_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK09_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK10_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK11_cell1' SIZE 976M ,
'o/172.31.24.72/DATA_CD_DISK12_cell1' SIZE 976M  ATTRIBUTE 'compatible.asm'='12.1.0.0.0','compatible.rdbms'='11.1.0.7.0','au_size'='4M','cell.smart_scan_capable'='TRUE' /* ASMCA */


PS
Дисковая группа у меня какое время не создавалась - т.е. окошко создания висело часами, при 
этом ничего не происходило.

В директории, где располагается ASM log file (d /u01/app/oracle/diag/asm/+asm/+ASM/trace) 

создавался трассировочный файл серверного процесса в котором я видел бесконечное повторение одного и тоже. Я обращал внимание на то, как следует создать cell в первом посте - должен создаться Flash Cache. Я не знаю причинно-следственной связи, но похоже что именно это являлось причиной. 

OSSIPC:SKGXP:[fa73820.0]{0}: ioctl(35297) failed with 25.
Initialized kgfd context:0x7f906bfa93f8
OSSIPC:SKGXP:[fa943f0.0]{0}: ioctl(35297) failed with 25.
Terminating kgfd context 0x7f906bfa93f8
OSSIPC:SKGXP:[fac6750.0]{0}: ioctl(35297) failed with 25.
OSSIPC:SKGXP:[fb259b0.0]{0}: ioctl(35297) failed with 25.
NOTE: Assigning number (1,0) to disk (o/192.168.2.42/DATA_CD_DISK02_cell02)
Disk 0xa03a1dc8 (1:0:o/192.168.2.42/DATA_CD_DISK02_cell02) is being named (DATA_CD_DISK02_CELL02)
OSSIPC:SKGXP:[fb259b0.0]{0}: ioctl(35297) failed with 25.
NOTE: Assigning number (1,1) to disk (o/192.168.2.42/DATA_CD_DISK03_cell02)
Disk 0xa03a1120 (1:1:o/192.168.2.42/DATA_CD_DISK03_cell02) is being named (DATA_CD_DISK03_CELL02)

1 комментарий: