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)


Читать дальше...

Engineered System at home. Part 2. Install Cell software in Amazon

Продолжение серии по установке Exadata версии 12.1.1.1.1.

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



Вам понадобится завести бесплатный account в Amazon (free trial)  и вы сможете доже начать пользовать некоторыми ресурсами совершенно бесплатно. Я это использовал для экономии. Итак, нам нужна машина с Oracle  Linux 5.9, мы ее легко находим по этой ссылке.   На самом деле вы можете выбрать любой регион, главное все машины должны будут потом жить в одном регионе. Европа к нам ближе, если вы задумаете потом заканчивать данные, возможно это будет лучше. На следующем шаге у вас спрашивают тип intance.

Легко видеть, что я попросил бесплатный вариант. Тут следует сделать важную оговорку.
 Кажется, эта бесплатная машинка существует только в виде PVM образа, и дальше, когда мы будет добавлять память, она так и останется PVM. Что не даст нам воспользоваться hupe pages. Возможно если сразу выбрать большую машину эту проблему удасться обойти. По умолчанию вам дадут 15Gb дисков - что нам не хватит, но я опишу дальше как добавлять ресурсы. Т.е. когда вы пройдете один раз в след раз вы сможете сразу создать нужную вам конфигурацию.
Дальше все по умолчанию. Обратите внимание, что для доступа к машине вам нужно скачать ключ. Без него вы доступ не получите. Ok, считаем что вы справились и  смогли попасть на консоль.

ssh -i amazon.pem -l root <ваш ip адрес> 

Вот тут нас ждет первая засада. Ядро не базовое 5.9, а обновленное.

2.6.39-400.17.1.el5uek

Известно, что rds over tcp/ip работает на 2.6.39-300.26.1, а дальше он был сломан. В 5.10 уже не работает. Чтобы не рисковать, мы можем поставить проверенное ядро:

Правим yum repo

vi public-yum-el5.repo

[ol5_UEK_base]
name=Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1

и устанавливаем нужное ядро

yum install kernel-uek-2.6.39-300.26.1.el5uek.x86_64

Загружаем rds

lsmod | grep rds
modprobe rds
modprobe rds_tcp
modprobe rds_rdma
lsmod | grep rds

rds_rdma               82580  0
rds_tcp                10455  0
rds                    96059  2 rds_rdma,rds_tcp
rdma_cm                36793  2 rds_rdma,ib_iser
ib_core                66577  7 rds_rdma,ib_iser,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad


Для автоматической загрузки rds используем следующий метод

cat /etc/modprobe.d/rds.conf
install rds /sbin/modprobe --ignore-install rds && /sbin/modprobe rds_tcp && /sbin/modprobe rds_rdma


Запрещаем  SELINIX

  • In /etc/selinux/config, change the line SELINUX to disabled (SELINUX=disabled)
  • echo 0 > /selinux/enforce

В нормальной ситуации я бы рекомендовал поставить oracle-validate но тут он уже стоит.

Для установки cell нам понадобятся два пакета net-snmp*

yum install net-snmp net-snmp-utils 

Добавим в систему swap file 

 dd if=/dev/zero of=/swapfile bs=1M count=1024
1024+0 записей считано
1024+0 записей написано
1073741824 bytes (1,1 GB) copied, 1,4198 секунд, 756 MB/s

mkswap /swapfile
Устанавливается пространство для свопинга версии 1, размер = 1073737 кБ

swapon /swapfile

Добавим строку в /etc/fstab
swapfile swap swap defaults 0 0
Нужно поправить /etc/sysctl 
cat  /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


cat /etc/security/limits.conf

<...> 

*     soft      nofile           655360
*     hard      nofile          655360
*     soft     memlock          409600000
*     hard     memlock          409600000

Скачать и установить jdk 

rpm -ivh jdk-1.7.0_55-fcs.x86_64.rpm

Создать две директории 

mkdir /var/log/oracle
chmod 775 /var/log/oracle

Мы готовы к главному - установке cell rpm. Я писал,  где его взять, в самом посте.  Конечно, до установки  было бы разумно перегрузить инстансе, чтобы убедиться что все в порядке, особенно с версией ядра. 

Теперь нам нужно решить сколько вам нужно ресурсов - памяти и дисков. Это важно, потому что, как только вы запросите ресурсы с вас начнут брать за них деньги. За процессоры и память по часам использования (пока инстанс работает), за диски - пока в не удалите инстанс (terminate).    Все типы инстансев можно найти по этой ссылке.  Рекомендую регулярно контролировать ваши расходы.

Итак меняем тип инстанса из EC2 management console

 Для Exadata Cell я выбрал m3.2xlarge - наиболее близкую к той, в которой cell работает в настоящей Exadata.  

Собственно диалог изменения типа инстанса.



На следующем шаге нужно добавить дисков - по умолчанию у нас всего 15Gb 

Для нормальной работы cell нам понадобиться  как минимум 15Gb, поэтому я просто расширяю свой диск на 15 Gb и получаю 30Gb дискового пространства. Обращаю ваше внимание что у Amazon масса способов получить самое разное по скорости и объему дисков пространство. Так что все зависит только от бюджета. 

Диск расширяется таким образом: вы должны сделать snapshot текущего диска, затем на его основе новый volume с увеличенным размером (30Gb в моем случае), затем должны старый volume отключить от инстанса и подключить ваш новый. У Amazon есть инструкция

Важные детали 
- создавать snapshot и новый volume вы должна в той же availability zone  (eu-west1-1b в моем примере) что и ваш инстанс, иначе подключить не получится
- когда будете подключать диск обратно, нужно указать /dev/sda1 а не то что предлагают по умолчанию (мы расширяем основной диск), иначе машина больше не загрузится 
- после того как все удалось не забудьте удалить snapshot и не нужный старый volume 



Все, у нас все есть, ресурсы, настройки, правильная версия ядра. 

Устанавливаем cell rpm

[root@ip-172-31-24-72 media]# rpm -ivh cell-12.1.1.1.1_LINUX.X64_140712-1.x86_64.rpm
Подготовка...     ########################################### [100%]
Pre Installation steps in progress ...
   1:cell                   ########################################### [100%]
Post Installation steps in progress ...
Set cellusers group for /opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy/log directory
Set 775 permissions for /opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy/log directory
/opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy
/opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy
/opt/oracle/cell12.1.1.1.1_LINUX.X64_140712
Installation SUCCESSFUL.
Starting RS and MS... as user celladmin
Done. Please Login as user celladmin and create cell to startup CELLSRV to complete cell configuration.
If this is a manual installation, please stop and restart ExaWatcher to pick up newly installed binaries.
You can run "/opt/oracle.ExaWatcher/ExaWatcher.sh --stop" and then "/opt/oracle.ExaWatcher/ExaWatcher.sh --fromconf" to stop and restart ExaWatcher.
Logout and then re-login to use the new cell environment.


На самом деле, cellsrv не стартует пока мы не настроим его параметры 

vi /opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/cellsrv/deploy/config/cellinit.ora

#CELL Initialization Parameters
version=0.0
DEPLOYED=TRUE
HTTP_PORT=8888
RMI_PORT=23791
SSL_PORT=23943
JMS_PORT=9127
BMC_SNMP_PORT=162
# Additional parameters

_cell_executing_in_vm=TRUE
_cell_1mb_buffers_hugepage_support=FALSE  # in Amazon env without huge pages
_cell_reserve_hugepage_memory_mb=0        # in Amazon env without huge pages
ipaddress1=172.31.24.72/16

Хочу пояснить про hugepages и Amazon. Вот тут есть хорошая дискуссия на эту тему. В общем их наличие или отсутсвие зависит от того как вы создавали свою виртуальную машину. 

До того как мы выполним создание ячейки, нужно создать несколько файлов (или symlink) которые будет эмулировать диски Exadata. Я  крайне рекомендую вам создать именно то кол-во дисков и Flash устройств как показано ниже. Мои попытки играть с этим закончились плачевно. 

as root 
mkdir -p /opt/oracle/cell12.1.1.1.1_LINUX.X64_140712/disks/raw

Создаем 12 cell дисков по 1Gb

1..12
dd if=/dev/zero of=cell1_DISK01 bs=1048576 count=1024

6 Flash дисков по 512 Mb 

1..6 
dd if=/dev/zero of=cell1_DISK01 bs=1048576 count=512

-rw-r--r-- 1 root root 1073741824 Ноя 24 03:47 cell1_DISK01
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:47 cell1_DISK02
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:47 cell1_DISK03
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:47 cell1_DISK04
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:47 cell1_DISK05
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:47 cell1_DISK06
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:48 cell1_DISK07
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:48 cell1_DISK08
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:48 cell1_DISK09
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:49 cell1_DISK10
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:49 cell1_DISK11
-rw-r--r-- 1 root root 1073741824 Ноя 24 03:49 cell1_DISK12
-rw-r--r-- 1 root root  536870912 Ноя 24 03:52 cell1_FLASH01
-rw-r--r-- 1 root root  536870912 Ноя 24 03:52 cell1_FLASH02
-rw-r--r-- 1 root root  536870912 Ноя 24 03:52 cell1_FLASH03
-rw-r--r-- 1 root root  536870912 Ноя 24 03:52 cell1_FLASH04
-rw-r--r-- 1 root root  536870912 Ноя 24 03:52 cell1_FLASH05
-rw-r--r-- 1 root root  536870912 Ноя 24 03:52 cell1_FLASH06


Мне не понадобилось создавать в них никакие partition 

Входим как пользователь celladmin, создаем cell под названием cell1 


CellCLI> create cell cell1 interconnect1=eth0
Cell cell1 successfully created
Starting CELLSRV services...
The STARTUP of CELLSRV services was successful.
Flash cell disks, FlashCache, and FlashLog will be created...
CellDisk FD_00_cell1 successfully created
CellDisk FD_01_cell1 successfully created
CellDisk FD_02_cell1 successfully created
CellDisk FD_03_cell1 successfully created
CellDisk FD_04_cell1 successfully created
CellDisk FD_05_cell1 successfully created
Flash log cell1_FLASHLOG successfully created
Flash cache cell1_FLASHCACHE successfully created


На мой взгляд, если вы не увидели, что создан Flashcase и Flash лог идти дальше бесполезно. Создать дисковую группу без этого у меня не получилось. Я не вижу в этом никакого смысла, но попытки работать просто с дисками были бесполезны. Видимо,  в коде  жестко предполагает наличие Flash. 

Можно полностью остановить/запустить cell чтобы убедиться что все в порядке. 

cellcli -e alter cell startup  services rs
cellcli -e alter cell startup  services ms
cellcli -e alter cell startup  services cellsrv

Или все одной командой 

cellcli -e alter cell startup  services all 
cellcli -e alter cell shutdown  services all


Мониторить процесс можно в alert.log 

tail -f   /opt/oracle/cell/log/diag/asm/cell/ip-172-31-24-72/trace/alert.log

Нам осталось создать celldisk и griddisk 


CellCLI> list celldisk
      FD_00_cell1      normal
      FD_01_cell1      normal
      FD_02_cell1      normal
      FD_03_cell1      normal
      FD_04_cell1      normal
      FD_05_cell1      normal

CellCLI> CREATE CELLDISK ALL HARDDISK
CellDisk CD_DISK01_cell1 successfully created
CellDisk CD_DISK02_cell1 successfully created
CellDisk CD_DISK03_cell1 successfully created
CellDisk CD_DISK04_cell1 successfully created
CellDisk CD_DISK05_cell1 successfully created
CellDisk CD_DISK06_cell1 successfully created
CellDisk CD_DISK07_cell1 successfully created
CellDisk CD_DISK08_cell1 successfully created
CellDisk CD_DISK09_cell1 successfully created
CellDisk CD_DISK10_cell1 successfully created
CellDisk CD_DISK11_cell1 successfully created
CellDisk CD_DISK12_cell1 successfully created

CellCLI> create griddisk all harddisk prefix=DATA
GridDisk DATA_CD_DISK01_cell1 successfully created
GridDisk DATA_CD_DISK02_cell1 successfully created
GridDisk DATA_CD_DISK03_cell1 successfully created
GridDisk DATA_CD_DISK04_cell1 successfully created
GridDisk DATA_CD_DISK05_cell1 successfully created
GridDisk DATA_CD_DISK06_cell1 successfully created
GridDisk DATA_CD_DISK07_cell1 successfully created
GridDisk DATA_CD_DISK08_cell1 successfully created
GridDisk DATA_CD_DISK09_cell1 successfully created
GridDisk DATA_CD_DISK10_cell1 successfully created
GridDisk DATA_CD_DISK11_cell1 successfully created
GridDisk DATA_CD_DISK12_cell1 successfully created


По умолчанию у вас появился сервис celld который предназначен для автозапуска cell. Мне это мешает, я его отключил. 

chkconfig celld off



CellCLI> list cell detail
      name:                    cell01
      bbuChargeThreshold:      800
      bbuTempThreshold:        60
      bmcType:                 absent
      cellVersion:             OSS_12.1.1.1.1_LINUX.X64_140712
      cpuCount:                8
      diagHistoryDays:         7
      fanCount:                0/0
      fanStatus:               normal
      flashCacheMode:          WriteThrough
      id:                      612b4a0a-cb81-45a5-a969-eefdec1ff325
      interconnectCount:       1
      interconnect1:           eth0
      iormBoost:               0
      ipaddress1:              172.31.24.72/20
      kernelVersion:           2.6.39-300.26.1.el5uek
      makeModel:               Fake hardware
      metricHistoryDays:       7
      offloadGroupEvents:
      offloadEfficiency:       1,0
      powerCount:              0/0
      powerStatus:             normal
      releaseVersion:          12.1.1.1.1
      releaseTrackingBug:      18084575
      status:                  online
      temperatureReading:      0.0
      temperatureStatus:       normal
      upTime:                  0 days, 0:03
      cellsrvStatus:           running
      msStatus:                running
      rsStatus:                running

Продолжение следует. Но оно уже примитивное, все ясно - нужно ставить Grid Infrastructure и подключать диски к ASM. 


Читать дальше...

Engineered System at home - breaking news

Мне удалось построить свою маленькую Exadata в Amazon cloud.  Теперь этот проект называется Engineered System at home in cloud. Вы знаете, что даже у Oracle нет Engineered System in cloud? А у вас - будет. Как только я осилю оформление инструкции -)

Стоимость построения - примерно $15. Эксплуатации - зависит от продолжительности.

Прелесть по сравнению c решением на домашней виртуальной машине - у вас есть возможность получить много ресурсов. Немедленно. И заплатить за них смешные деньги. Посмотрите какие типы виртуальных машин можно получить. 32 vcpu, 244 Gb памяти.

Она из самых замечательных возможностей - то что можно произвести настройку системы на одном типе инстанса (что дешевле), а потом изменить тип инстанса - получить много памяти и процессоров на короткое время теста - потом вернуть обратно.

Можно долго бубнить о том как же сравнить текущую систему с тем что там в Amazon, что там vcpu - а можно сделать baseline test, дальше включить InMemory, дальше подключить Exadata Cell. Со своего ноутбука - вам не понадобиться ничего, кроме ssh и браузера. В Новосибирске, Красноярске или даже в Омске можно за выходные узнать о том,  как работают все новомодные опции Oracle за, как мне кажется, разумные деньги.





PS
Запуск production системы  в Amazon - это несколько другая история


Читать дальше...

Все в cloud!

Потерпев пускай временную но страшную неудачу с недостатком ресурсов в своем домашнем дата центре я перешил перейти в cloud. В конце концов это же модный тренд, там, в cloud можно все!

Microsoft Azure

Мое стремление найти лучшего cloud провайдера было так велико, что я даже вспомнил, что запускать Oracle Linux можно в Microsoft Azure!  И действительно, оказалось что это вовсе не шутка. Наряду с Oracle Database на Windows Server можно получить Oracle Linux 6.4 & 7.  UEK2 (ну да, именно тот что в Exadata) не поддерживается.  Дальнейшее изучение Azure я прекратил.









Oracle Cloud

Конечно же, после неудачи с Azure я понял, как я был не прав и немедленно пошел регистрироваться на Oracle Cloud. На заглавных страницах красиво написано что можно приобрести infrastructure as a service (IAAS). После регистрации, оказалось что все что предлагается это Apex интерфейс где вы можете создать таблицу, завести пользователя и т.д. Возможности довольно широкие для того кто занимается разработкой, можно выбрать даже хочешь ли ты жить в отдельной схеме или СУБД. Однако никаких возможностей получить виртуальную машину я не увидел. После регистрации через пару недель Oracle  прислал мне отдельно письмо, что мол мой trial режим одобрен и я проверил еще раз - нет, ничего нового не появилось. Т.е. буквально предоставляется доступ к СУБД (и наверно приложениям, я не проверял), но не инфраструктуре. Если кто-то разберется где же там инфраструктура - будет здорово.

Amazon 

Я втайне надеюсь, что Amazon станет мне доплачивать после этого поста. Но правда в том, что пока альтернативы я просто не увидел. Вообще, после того как видишь console.aws.amazon.com и понимаешь кол-во доступных сервисов - понимаешь, что виденное тобой до этого отстает на несколько лет.  Я немедленно смог создать виртуальную машину с Linux 5.9, но оказалось, что у нее слишком свежий update стоит. Тогда я немедленно задумался над тем, можно ли установить свой Linux - и оказалось, что таки да. Я даже нашел способ забросить в Amazon свою виртуальную машину Virtual Box (инструкция проходит апробацию). И даже больше, можно сделать защищенный VPN между Amazon и своим домашним дата центром. Мне приходили в голову все более странные возможности и я немедленно находил для них решения (иногда придуманные пользователями, а не самим Amazon). Если вам нужна база данных Oracle - она у вас будет готовая за несколько минут. Если вокруг базы данных вы хотите навесить ваших уже написанных решений на странных версиях Linux или самописных серверах приложений - нет проблем.

Да - пару месяцев назад Amazon отказался рассматривать мое CV.  Лузеры!  Поэтому ни одного больше хорошего слова про Amazon вы не услышите. Только сухие факты.

Ложка дегтя.

Ни в одном из перечисленных cloud нельзя собрать Oracle RAC. Причина какая то смешная - никто не поддерживает multicasting, который является обязательным.  Почему нельзя разрешить multicasting в моем собственном virtual private cloud - не могу понять.


Читать дальше...

Коротко о главном

Update 18.11.2014

Всем спасибо, прием заявок прекращен, я буду продолжать работать с теми кто уже прислал мне CV.


<Реклама>

Если ваша компания ищет технических экспертов на hh.ru и не может к удивлению найти - мы можем с вами обсудить взаимовыгодное сотрудничество. В конце концов, если вы нанимает Oracle эксперта, и он никогда не слышал про этот блог - это по крайне мере странно -)

</Реклама>


Читать дальше...

Наши на Oracle.com

Прекрасный пример успеха демонстрации технологий на Oracle.com - "Компания «Инфосистемы Джет» демонстрирует экстремальное увеличение производительности Oracle Database на Exadata".

Хочу поздравить Алексея Струченко и всю команду Jet Infosystems - они молодцы!

Если у вас есть еще хорошие примеры использования технологий или выполненных проектов - присылайте их в комментариях - я обновлю пост. 


Читать дальше...

Engineered System at home - статус

Update 15.11.2014 

Я изучаю возможности cloud провайдеров собрать требуемую мне систему. Если кто то может дать мне удаленный доступ к оборудованию - буду безмерно благодарен. детали - dsvolk at gmail.com


На запуск одной ячейки нужно 8478 Mb памяти. + Что то должно остаться OS Linux (~ 400Mb).

Update 04.11.2014

На данный момент ситуация представляется следующей:

- вы можете установить cell software версии 12  на любой дистрибутив Oracle Linux 5.9 или позже. Требования к памяти виртуальной машины - 5Gb.  При этом вы сможете попробовать команды cell - создание и удаление дисков и тд, но не совместную работу с db node  - см дальше

- Если версия Linux будет старше 5.9 или вы выполните yum update то скорее всего RDS over TCP работать больше не будет и db node никогда не увидит дисков cell.

- Для того чтобы создалась дисковая группа виртуальная машина с cell software должна иметь не менее 10Gb памяти.  Последнее делает малоприменимым практическую работу для большинства - например у меня не нашлось физической машины с более чем 8 Gb.

Update 30.10.2014

Ясновельможный доны! Есть существенный прогресс! При условии 5.9 на cell и db node работа весьма стабильна!

Пока мне не удается создать дисковую группу - ее создание шло без ошибок всю ночь и ничего не завершилось. Работаю над upgrade своего дата центра!


Update 29.10.2014

RDS over TCP окончательно сломан в Linux 7. Откатил (переставил) db node на Linux 5.9 (без обновления ядра).  Cell пока на Linux 7.  Сразу пропали проблемы с коммуникацией, но создать табличкой пространство не получилось из за

ORA-00600: internal error code, arguments: [StorageIdx::getOclSIRegion], [], [], [], [], [], [], [], [], [], [], []

Читал Doc ID 1537407.1 и много плакал; Есть зависимость между:

Версией grid infrastructure, ядром  Linux на db node и версией ядра Linux на cell и версией самого cell software.  В  5-6 -ой цифре.

Понял, что поддерживать это - ни за какие коврижки. Только рассказывать о том, как продукт замечательно работает.

----

Это временный пост -  просто хочу уверить благородных донов что продолжаю активно построение своей инженерной системы. На данный момент стало очевидно что без RDS не взлетит, и я столкнулся с проблемой где то между Oracle Linux 7 и RDS. Через какое то время DB node перестает посылать пакеты со сообщением

Oct 26 21:02:27 rac01 kernel: rds_connect_complete: Cannot transition to state UP, current state is 4
Cannot transition to state UP

Конечно же я уже нашел эту фразу в переписке development и пока есть несколько идей 

- откатывать версию Linux на сертифицированную 
- найти эмулятор IB под  Virtual Box 
- разобраться в чем же все таки проблема


PS
Вот что мне удалось увидеть на своей системе - но как я написал выше весьма скоро db node теряет коммуникаю с cell



Update 1.
https://oss.oracle.com/pipermail/rds-devel/2012-October/001543.html
RDS ping/pong over TCP feature has broke for years(2.6.39 to 3.6.0)


Читать дальше...

Engineered System at home. Part 3


Первая часть.
Вторая часть

Работа над ошибками.

Так как я пишу посты по мере построения своей инженерной системы, то очевидно, что появляются идеи, что можно было сделать лучше, а что то вообще приходится исправлять.






Читать дальше...

Engineered System at home. Part 2

Первая часть здесь.

Создание и конфигурация cell

Учить почтенных донов устанавливать Virtual Box и Oracle Linux 7 я не могу. Могу сделать только несколько замечаний, которые, я надеюсь,  упростят вам жизнь.

Дальше мы рассмотрим как устновить rpm, выполнить конфигурацию cell, создать диски.


Читать дальше...

Engineered System at home. Part 1

Мы много раз слышали что Oracle Database лучше всего работает на Exadata и SuperCluster. Некоторые из вас смогли убедиться в этом лично. Для прочих безденежных донов я предлагаю возможность собрать одну из таких систем дома,  чтобы внимательно рассмотреть инновации, которые позволяют сделать первое утверждение.

Для начала соберем Exadata. Позже перейдем к SuperCluster.  Сразу возникает два вопроса:

1. Законно ли то что мы собирается сделать?
2. Зачем мы собираемся сделать это?



Читать дальше...