Presentation is loading. Please wait.

Presentation is loading. Please wait.

Тема Создание Standby баз в Amazon Cloud c использованием стороннего шифрования.

Similar presentations


Presentation on theme: "Тема Создание Standby баз в Amazon Cloud c использованием стороннего шифрования."— Presentation transcript:

1 Тема Создание Standby баз в Amazon Cloud c использованием стороннего шифрования

2 О компании Щукин С.А, DBA

3 Disaster Recovery Site Зачем это необходимо? Плюсы – Катастрофоустойчивость – Логические повреждения – Снятие части нагрузки Минусы – Покупка отдельного железа - $$$ – Размещение в ДЦ, обслуживание, энергопотребление

4 Облачные сервера Amazon Продукты Amazon Elastic Compute Cloud (EC2) Amazon Relational Database Service (RDS) Amazon Elastic Block Store (EBS) Amazon Simple Storage Service (S3) Простая регистрация Кредитная карта Телефон

5 Amazon Elastic Compute Cloud (EC2) Типы инстансов On-Demand Instances Reserved Instances Spot Instances Регионы доступности : US East (Northern Virginia) US West (Northern California) EU (Ireland) Asia Pacific (Singapore) Asia Pacific (Tokyo) ИнстансRAM (GB) EC2 CU(virt. core x EC2 CU)Storage (GB)32/64 bit Small (ST)1.71 (1vc 1 EC2 CU)16032 Large (ST)7.54 (2x2)85064 Extra Large (ST)158 (4x2)169064 Extra Large (HM)17.16.5 (2x3.25)42064 Double Extra Large (HM) 34.213 (3x3.25)85064 Quadruple Extra Large (HM) 68.426(8x3.25)169064 Medium Instance1.75(2x2.25)35032 Extra Large Instance(HC) 720(8x2.5)169064 Лицензирование SE/O 4vc = 1socket=1PL SE max 16vc, SEO – max 8vc EE vc*0.5 = 1PL http://aws.amazon.com/ec2/instance-types/

6 EC2, цены (US East), On Demand LinuxWindows Small (ST) $0.085 per hour$0.12 per hour Large (ST)$0.34 per hour$0.48 per hour Extra Large (ST)$0.68 per hour$0.96 per hour Extra Large (HM)$0.50 per hour$0.62 per hour Double Extra Large (HM)$1.00 per hour$1.24 per hour Quadruple Extra Large (HM)$2.00 per hour$2.48 per hour Medium (HC)$0.17 per hour$0.29 per hour Extra Large (HC)$0.68 per hour$1.16 per hour Итого стоимость EC2 Extra Large HM (17GB RAM, 6.5 CU) в год (без сториджа): $4380 - On demand $1325 - Reserved http://aws.amazon.com/ec2/pricing/

7 Amazon Relational Database Service (RDS) Плюсы Проще в использовании Предустановленная БД Amazon мониторинг Автоматический патчинг Автоматические бекапы Cтоимость EC2 Extra Large (17GB RAM, 6.5 CU) в год (без сториджа): $5694 - On demand $1850 - Reserved Минусы Дороже Тип инстансаЦена в час Small (ST)0.11 Large (ST)0.44 Extra Large (HM)0.65 Double Extra Large (HM)1.30 Quadruple Extra Large2.60 http://aws.amazon.com/rds/

8 Amazon Elastic Block Store (EBS) Дисками в Амазоне Локальные диски переаллоцируются для инстанса после каждого рестарта EBS диски постоянны EBS диски можно аттачить между разными инстансами Размер EBS диска от 1GB до 1TB Привязаны к Региону Можно делать снапшоты Выше производительность и надежность Цена EBS $0.10 за GB/мес. 1 TB база - $1228 в год $0.10 за 1 миллион I/O операций - ???

9 Amazon Simple Storage Service (S3) «Ленточная библиотека» Amazon’а Защита данных через Oracle Secure Backup + RMAN set encryption on for all tablespaces algorithm 'AES128' identified by "PASSWORD" only; run{ Allocate channel c1 device type SBT MAXPIECESIZE 5G parms 'SBT_LIBRARY=/opt/oracle10g/db/lib/libosbws11.so ENV=(OSB_WS_PFILE=/opt/oracle10g/db/dbs/osbwsdb.ora)';.... Allocate channel c7 device type SBT MAXPIECESIZE 5G parms 'SBT_LIBRARY=/opt/oracle10g/db/lib/libosbws11.so ENV=(OSB_WS_PFILE=/opt/oracle10g/db/dbs/osbwsdb.ora)'; crosscheck backup; backup as compressed backupset database format 'system/system_db_%T_%s_%p.rman'; backup as compressed backupset skip inaccessible archivelog all not backed up format 'system/db_logs_%T_%s_%p.rman' delete all input; backup current controlfile format 'system/system_ctl_%T_%s.rman'; } Самая высокая заявленная надежность 99.999999999% (EBS ~ 99.5%) за год $0.14 за GB в месяц http://aws.amazon.com/s3/ Установка OSB http://rman.s3.amazonaws.com/osbws_install.jar java -jar osbws_install.jar -AWSID... -AWSKey... -otnUser shchukin@devexperts.com -otnPass... -walletDir /opt/oracle10g/db/dbs/osbws_wallet -configFile /opt/oracle10g/db/dbs/osbwsXXX.ora -libDir /opt/oracle10g/db/lib -validateotn 0

10 Полная стоимость облака за год Калькулятор - http://aws.amazon.com/calculatorhttp://aws.amazon.com/calculator Пример – инстанс High Memory Extra Large 17.1 GB RAM 6,5 Computing Unints 1024 GB EBS (4x250GB) 1 Elastic IP (бесплатно пока используется). Количество ограничено на аккаунт Traffic входящий – 2 TB в месяц (бесплатно, исходящий до 10 TB / $0.120 за GB в месяц) RESERVED -$2928 ON DEMAND - $5820 + S3 (1 TB ->RMAN сжатие 500GB) - $840 ($0.14 за GB/мес)

11 Производительность IO – Синтетический тест (BenchmarkSQL) – Реальная нагрузка ASM 1x100GBASM 10x10XFS, SW RAID 10x10 trans/sec257400221 log file sync(ms)341524 db file sequential read(ms)30918 db file parallel write(ms)333 log file parallel write(ms)19411 StressProd log file sync(ms)178 db file sequential read(ms)1116 db file parallel write32 log file parallel write123

12 Производительность IO, RMAN – Restore 97MB sec, Stress1, 3 потока с локального диска. 170min, 973GB, 176GB backup 56MB sec, Stress2, 5 потоков с локального диска. 280min, 922GB – Recover 7-14MB/sec, Stress1, 70 min, 58GB logs 16MB/sec, Stress2, 195 min, 192GB logs IO, dbms_file_transfer между облаками 90MB/sec - 1 thread 15MB/sec - 6 threads

13 Производительность Standby MRP Apply rate – 0.5 – 1 MB/sec SCP speed – из интернета в облако – 0.5-2 MB/sec, между облаками – 30 MB/sec CPU speed - 12 секунд (Extra Large ST). (С)DSVOLK. Prod CPU speed – 15 секунд. SET SERVEROUTPUT ON SET TIMING ON DECLARE n NUMBER := 0; BEGIN FOR f IN 1..10000000 LOOP n := MOD (n,999999) + SQRT (f); END LOOP; DBMS_OUTPUT.PUT_LINE ('Res = '||TO_CHAR (n,'999999.99')); END; /

14 Защита данных - шифрование LUKS (Linux Unified Key Setup), dm-cryptdm-crypt http://code.google.com/p/cryptsetup/ http://code.google.com/p/cryptsetup/wiki/DMCrypt Пример Проверка поддержки egrep 'AES|CRYPTO' /boot/config-$( uname -r )|grep CONFIG_CRYPTO_AES CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_AES_X86_64=m Создание "Создать" cryptsetup -y luksFormat /dev/sdh (x7 раз, меняя /dev/sdh) "Открыть" cryptsetup luksOpen /dev/sdh encr_sdh (x7 раз, меняя /dev/sdh) "Закрыть - не обязательно" cryptsetup luksClose encr_sdh "Проверить" что доступ к данным возможен только через mapper можно командой, пример: hexdump -C /dev/sdh |grep 'encrypted' hexdump -C /dev/mapper/encr_sdh |grep 'encrypted‘ Возможна смена паролей cryptsetup luksAddKey /dev/sdh cryptsetup luksDelKey /dev/sdh 0 CPU overhead незначительный

15 Краткая инструкция Создать аккаунт, создать инстас через Firefox + ELasticFox (http://aws.amazon.com/developertools/609?_encoding=UTF8&jiveRedirect=1). Настроить политики безопасности в ELasticFoxhttp://aws.amazon.com/developertools/609?_encoding=UTF8&jiveRedirect=1 Скопировать ORA_HOMES в амазон, отключить RAC tar cvf - db/ crs/|gzip > ora_homes.tar.gz SCP gunzip < ora_homes.tar.gz| tar xvf – Подготовить шифрованные девайсы для ASM и для локальной файловой системы Создать сервис CSSD (10g), экземпляр ASM 11G можно ставить через GUI предварительно выставив runlevel в 3 Create diskgroup data external redundancy disk ‘/dev/mapper/encr_sde’, ‘/dev/mapper/encr_sdf’, ‘/dev/mapper/encr_sdg’, ‘/dev/mapper/encr_sdh’, ‘/dev/mapper/encr_sdi’, ‘/dev/mapper/encr_sdj’, ‘/dev/mapper/encr_sdl’, ‘/dev/mapper/encr_sdn’,'/dev/mapper/encr_sdo', '/dev/mapper/encr_sdp'; Скопировать/Восстановить базу Создать stunnel между prod базой и standby Добавить мониторинг

16 Краткая инструкция, сервис CSSD vi /etc/init.d/cssd_start #!/bin/sh # # chkconfig: 345 99 10 # description: CSSD for ASM case "$1" in start) nohup /opt/oracle10g/crs/bin/localconfig reset & sleep 50 nohup /etc/init.d/init.cssd run >/dev/null 2>&1 { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/12/3353237/slides/slide_16.jpg", "name": "Краткая инструкция, сервис CSSD vi /etc/init.d/cssd_start #!/bin/sh # # chkconfig: 345 99 10 # description: CSSD for ASM case $1 in start) nohup /opt/oracle10g/crs/bin/localconfig reset & sleep 50 nohup /etc/init.d/init.cssd run >/dev/null 2>&1 /dev/null 2>&1

17 Краткая инструкция, мониторинг cd $ORACLE_HOME/backup mkdir stb_mon cd stb_mon "vi check_lag.sql" set termout off set feedback off set timing off set heading off set pagesize 0 spool lag_val.out select round((sysdate-max(next_time))*24) lag_hours from v$archived_log l,(select thread, max(sequence) max_sequence from (select substr(message, instr(message, 'thread_')+7,1) thread,substr(message, instr(message, 'seq_')+4,instr(message, '.')- (instr(message, 'seq_')+4)) sequence,message from v$dataguard_status where message like 'Media Recovery Log%') group by thread) dg where l.thread# = dg.thread and l.sequence# = dg.max_sequence; spool off exit "vi run.sh" #!/bin/bash export ORACLE_SID=XXX export ORACLE_HOME=/opt/oracle10g/db export PATH=$ORACLE_HOME/bin:$PATH sqlplus '/as sysdba' @check_lag.sql lag=`cat lag_val.out` hour=`date +%H` if [ $lag -gt $2 ]; then message="ERROR: $1 Standby LAG IS $(cat lag_val.out) HOURS !!!"; echo $message|mail -s "$1 Standby monitoring" $4; else if [ $lag -le $2 ]; then if [ $hour = $3 ]; then message="OK: $1 Standby current lag: $(cat lag_val.out) hour(s)"; echo $message|mail -s "$1 Standby monitoring" $4; fi else message="WARNING: Can't determine lag for $1 Standby, check it manually!"; echo $message|mail -s "$1 Standby monitoring" $4; fi CRON 0 */1 * * * (cd /opt/oracle10g/db/backup/stb_mon;./run.sh "System XXX" 4 18 xxx@xxx.com)

18 Польза Standby Лаг в данных. Если установлен можно посмотреть данные в прошлом при необходимости или в случае логического повреждения Сделать бекап базы. Без негативного воздействия на продакшен базу Dbms_file_transfer. Отправить часть данных на стресс базу Миграция на 11g (utlu112i.sql). Если нет возможности прогонять скрипт на продакшене -> Standby + Restore Point + Flashback Database Временно открыть в Read Only для специальных отчетов Active Standby

19 Минусы Amazon Залипание. Высокое LA, IO тормозит Редко но случаи бывают, реальный продакшен под большим вопросом top - 02:03:03 up 40 min, 3 users, load average: 9.19, 5.19, 2.26 Tasks: 103 total, 1 running, 102 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 25.0%id, 74.9%wa, 0.0%hi, 0.0%si, 0.1%st Mem: 15728640k total, 11561392k used, 4167248k free, 1067548k buffers Swap: 9638992k total, 0k used, 9638992k free, 9535888k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 15 0 10348 756 632 S 0.0 0.0 0:00.02 init 2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 Неполноценный саппорт. http://www.oracle.com/technetwork/topics/cloud/faq- 098970.html#support http://www.oracle.com/technetwork/topics/cloud/faq- 098970.html#support HugePages – не поддерживаются Иногда не создать инстанс. Мотивируется временным исчерпанием ресурсов зоны Смена IP после ребута. Проблемы с Listener, CSSD. Лечится через Elastic IP

20 Альтернатива – Oracle Cloud Недавно появившаяся технология Меньше контроля Не определена ценовая политика (??)


Download ppt "Тема Создание Standby баз в Amazon Cloud c использованием стороннего шифрования."

Similar presentations


Ads by Google