1 / 20

Тема

Тема. Создание Standby баз в Amazon Cloud c использованием стороннего шифрования. О компании. Щукин С.А, DBA. Disaster Recovery Site. Зачем это необходимо? Плюсы Катастрофоустойчивость Логические повреждения Снятие части нагрузки Минусы Покупка отдельного железа - $$$

Télécharger la présentation

Тема

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Тема Создание Standby баз в AmazonCloud 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 • Лицензирование • SE/O 4vc = 1socket=1PL • SE max 16vc, SEO – max 8vc • EE vc*0.5 = 1PL Регионы доступности: • US East (Northern Virginia) • US West (Northern California) • EU (Ireland) • Asia Pacific (Singapore) • Asia Pacific (Tokyo) http://aws.amazon.com/ec2/instance-types/

  6. EC2, цены (US East), On Demand Итого стоимость 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 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/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) • Реальная нагрузка

  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-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). Настроить политики безопасности в ELasticFox • Скопировать 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 </dev/null & ;; stop) ;; esac exit 0 cd /etc/init.d chmod 744 cssd_start chkconfig --add cssd_start service cssd_start start

  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 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 • HugePages – не поддерживаются • Иногда не создать инстанс. Мотивируется временным исчерпанием ресурсов зоны • Смена IP после ребута. Проблемы с Listener, CSSD. Лечится через Elastic IP

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

More Related