SE(SE One)をもっと有効活用しよう!
セントラル短資FX株式会社
清水 純
はじめに
今回いくつか製品を紹介させていただきますが、記載内
容については私個人の感想ですので特定の企業や製品
について宣伝するものではありません。
また、セントラル短資FX株式会社が内容を保証するもの
でもありません。
あくまでも参考資料とし...
自己紹介
セントラル短資FX株式会社
(http://www.central-tanshifx.com/)
清水 純(jun.shimizu@central-tanshifx.com)
インフラ(ネットワーク以外)関連全般(ミドルウェア含む)の...
会社紹介
• インターネット上でのFXサービスを提供しています。
4
ここから本題です。
CPUの性能(コア数)が上がり、安価になったメモリや、SSDやPCIe
SSDの登場などサーバの全体の性能が向上しています。
こういった前提からサーバのリプレイスやサービスの更改タイミング
でダウンサイジングを検討されるかた...
1. サーバを入替えてそのまま使用する場合
最小限のアプリの修正等で済むため、工数は最小限に抑えられる。
ただし、最近はCPUコア数が飛躍的に増加しているので追加ライ
センスを購入する必要があるかもしれません。
この問題を回避するためには、
・...
2. EE→SE(SE One)への入替えを検討する場合
EEの標準機能やPartitioningといったオプション製品を使用してい
た場合、当然使用できなくなりますのでその機能の補完や代替が
必要となります。
それでは、SEとSE Oneのど...
3. コスト削減を目標にOSS-DBへ乗り換える場合
3つの選択肢では一番ハードルが高いと思っています。
対応アプリの修正や移行計画、単体/結合テスト等を十分に練れ
ていないと失敗しますし、工数が他のパターンに比べて大きくなり
がちです。
採用...
SE Oneの活用方法1(可用性の担保)
DBの冗長化方法として、RAC/HA/レプリケーション・2
フェーズコミット(2PC)等々あるかと思います。
・RAC
- SEもしくはEE+RACオプションが必要(SE One不可)
・HA
- 多少...
HA環境とは?
通常はActive/Standby構成のことを指します。
共有ディスクを使用して、データはすべて共有ディスク上
においてサーバ障害に対応するという構成です。
比較的シンプルな構成ですが、高可用性を担保するため
には信頼性の高い共...
安価に構築する方法は?
共有ディスク
DRBD(Distributed Replicated Block Device)を使用することで、
擬似的に共有ディスク環境を構築することができます。
- http://www.drbd.jp/
クラスタ...
デモ構成(H/Wイメージ)
12
bonding bonding
InterConenct
&
DRBD
192.168.1.11 192.168.1.12
10.0.1.11 10.0.1.12
VIP 10.0.1.10
dev1 dev2...
デモ構成(ソフトウェアイメージ)
13
Oracle Linux
Primary
xfs
Master
VIP
OS
Messaging
Resource
Manager
DRBD
Filesystem
Oracle
Service
Addre...
Pacemakerクラスタの構成要素
14
・ リソース:監視対象のアプリケーション単位
- primitive リソース:制御対象のアプリケーション
- groupリソース:上記primitiveの集まり
- cloneリソース:両系で同じよ...
デモ構成(クラスタ依存関係)
15
DRBD/Primary
clone
Slave
ping ping
vip_check
Slave
Slave
Slave
Slave
master/slave
primitive
primitive
pr...
デモ構成(LCMC:GUI管理ツール)
16
デモ
17
SE Oneの活用方法2(DR、レプリケーション)
Active Data GuardやGolden Gateを使用するためにはEE
が必須のオプション製品です。これらの機能を使いたい場
合にはEEが必要では?
→ そんなことはありません。以下...
SE Oneの活用方法2(DR、レプリケーション)
・ Golden Gate代替製品
- Attunity
(http://www.insight-tec.com/products/Attunity/index.html)
- SharePl...
SE Oneの活用方法3(監査)
DBA監査や標準監査であればSEでも使用可能ですが、ファイングレ
イン監査やAudit Vaultを使用するのであればEEが必要となります。
個人的には上記はどれも使い勝手がいまいちなので、監査要件が
ある場合...
SE Oneの活用方法3(監査)
- SecureSphere DAM(ネットワークキャプチャ&エージェント型)
(http://www.imperva.jp/products/database_security.asp)
弊社で採用し、運用で...
デモで使用したDRBD設定ファイル
22
resource oradata {
device /dev/drbd1;
disk /dev/sdb1;
meta-disk internal;
handlers {
split-brain "/us...
デモで使用したDRBD設定ファイル(続き)
23
syncer {
verify-alg md5;
csums-alg md5;
}
disk {
on-io-error detach;
no-disk-barrier;
no-disk-flu...
デモで使用したPacemaker設定ファイル
24
node dev1
node dev2
primitive pingd ocf:pacemaker:ping 
params multiplier="100" host_list="10.0....
デモで使用したPacemaker設定ファイル(続き)
25
primitive res_fs_oradata ocf:heartbeat:Filesystem 
params device="/dev/drbd1" directory="/op...
デモで使用したPacemaker設定ファイル(続き)
26
primitive res_vip ocf:heartbeat:IPaddr2 
params ip="10.0.1.10" nic="bond0" cidr_netmask="24"...
デモで使用したPacemaker設定ファイル(続き)
27
property $id="cib-bootstrap-options" 
dc-version="1.0.13-30bb726" 
cluster-infrastructure="o...
Upcoming SlideShare
Loading in …5
×

[A22] SE(SE One)をもっと有効活用しよう(db tech showcase 大阪 2014)

2,494 views

Published on

db tech showcase 大阪 2014 での講演資料です。

Published in: Engineering

[A22] SE(SE One)をもっと有効活用しよう(db tech showcase 大阪 2014)

  1. 1. SE(SE One)をもっと有効活用しよう! セントラル短資FX株式会社 清水 純
  2. 2. はじめに 今回いくつか製品を紹介させていただきますが、記載内 容については私個人の感想ですので特定の企業や製品 について宣伝するものではありません。 また、セントラル短資FX株式会社が内容を保証するもの でもありません。 あくまでも参考資料としてご利用ください。 2
  3. 3. 自己紹介 セントラル短資FX株式会社 (http://www.central-tanshifx.com/) 清水 純(jun.shimizu@central-tanshifx.com) インフラ(ネットワーク以外)関連全般(ミドルウェア含む)の製品 選定から検証/導入/運用までほぼすべてを担当しています。 最近はVMware Horizon View関連の作業に忙殺されていま す。。。 3
  4. 4. 会社紹介 • インターネット上でのFXサービスを提供しています。 4
  5. 5. ここから本題です。 CPUの性能(コア数)が上がり、安価になったメモリや、SSDやPCIe SSDの登場などサーバの全体の性能が向上しています。 こういった前提からサーバのリプレイスやサービスの更改タイミング でダウンサイジングを検討されるかたもいらっしゃると思います。 そこで、いくつか選択肢があると思います。 1.サーバの最新機種への入替え、上物はそのまま。 2.EE→SE(SE One)への入替えを検討する。 3.コスト削減を目標にOSS-DBへの乗り換えを検討する。 等々あるかと思いますが、どれを選択しますか? 5
  6. 6. 1. サーバを入替えてそのまま使用する場合 最小限のアプリの修正等で済むため、工数は最小限に抑えられる。 ただし、最近はCPUコア数が飛躍的に増加しているので追加ライ センスを購入する必要があるかもしれません。 この問題を回避するためには、 ・ DBアプライアンスや仮想化を駆使してライセンスコスト を下げる。 → せっかく購入したハードの性能を生かしきれない。 性能が足りなければ結局追加ライセンスを購入する必要がある。 ・ 複数のDB環境を統合する → そもそも統合可能なDB環境がそんなに存在するか? 12cのプラガブルDB機能で比較的簡単に実装可能となったが、 Multitenantオプションが別途必要 6
  7. 7. 2. EE→SE(SE One)への入替えを検討する場合 EEの標準機能やPartitioningといったオプション製品を使用してい た場合、当然使用できなくなりますのでその機能の補完や代替が 必要となります。 それでは、SEとSE Oneのどちらを選択しますか? ・ SE を選択する理由 → RAC化が必須の場合。おもにダウンタイムの短縮とリソースの有効活用 をしたいといった場合のみの選択肢だと思っています。 (普通に使う上で、4CPUもの処理を必要とはしませんし、そこまでSEでは なかなか使いこなせないです) ・SE Oneを選択する理由 → RAC化が必須ではない場合。SEでは足りない機能はサードパーティ製品 やOSS製品で代用。今日はこの部分についてお話します。 7
  8. 8. 3. コスト削減を目標にOSS-DBへ乗り換える場合 3つの選択肢では一番ハードルが高いと思っています。 対応アプリの修正や移行計画、単体/結合テスト等を十分に練れ ていないと失敗しますし、工数が他のパターンに比べて大きくなり がちです。 採用するOSS-DBにかなり詳しい人員がいないと中小企業におい ては自社内で完結させるのは無理があります。 素直に、移行を手伝ってくれるパートナーを探しましょう。 結果として、一時費用が膨らみ、OSS-DBを採用したコスト削減が 相殺される可能性があります。 もちろん、長期でみればコスト削減効果は期待できます。 8
  9. 9. SE Oneの活用方法1(可用性の担保) DBの冗長化方法として、RAC/HA/レプリケーション・2 フェーズコミット(2PC)等々あるかと思います。 ・RAC - SEもしくはEE+RACオプションが必要(SE One不可) ・HA - 多少(数分)のダウンタイムが許容できる。分散させるほど負荷 が高くない場合等々。 ・レプリケーション・2PC - 更新頻度に比べて参照頻度が高い場合等々 ここでは、HA環境を安価に作る方法についてご紹介します。 9
  10. 10. HA環境とは? 通常はActive/Standby構成のことを指します。 共有ディスクを使用して、データはすべて共有ディスク上 においてサーバ障害に対応するという構成です。 比較的シンプルな構成ですが、高可用性を担保するため には信頼性の高い共有ディスク(SAN/iSCSI/NAS)が必要 であり、別途クラスタソフトも必要となります。 10
  11. 11. 安価に構築する方法は? 共有ディスク DRBD(Distributed Replicated Block Device)を使用することで、 擬似的に共有ディスク環境を構築することができます。 - http://www.drbd.jp/ クラスタソフト PacemakerとCorosync/Heartbeatを利用することで 商用製品にも劣らない管理/運用が可能です。 - http://linux-ha.sourceforge.jp/wp/ これらオープンソースのソフトウェアを組み合わせて安価に 構築することが可能です。 11
  12. 12. デモ構成(H/Wイメージ) 12 bonding bonding InterConenct & DRBD 192.168.1.11 192.168.1.12 10.0.1.11 10.0.1.12 VIP 10.0.1.10 dev1 dev2 /oradata /oradata
  13. 13. デモ構成(ソフトウェアイメージ) 13 Oracle Linux Primary xfs Master VIP OS Messaging Resource Manager DRBD Filesystem Oracle Service Address Oracle Linux Secondary Slave Cluster Stack Services Corosync Pacemaker Sync
  14. 14. Pacemakerクラスタの構成要素 14 ・ リソース:監視対象のアプリケーション単位 - primitive リソース:制御対象のアプリケーション - groupリソース:上記primitiveの集まり - cloneリソース:両系で同じように稼働するリソース - master/slaveリソース : DRBDやMySQLレプリケーション等 ・ 制約条件:リソースの配置先や起動順序の制御 - location:配置先ノードの制御 - colocation:同居制御 - order:起動・終了順序制御 ※ groupリソースは colocation + order を自動的に設定したもの
  15. 15. デモ構成(クラスタ依存関係) 15 DRBD/Primary clone Slave ping ping vip_check Slave Slave Slave Slave master/slave primitive primitive primitive primitive primitive リソース種別 制約条件 DRBD/Secondary xfs vip Oracle Instance Oracle Listener
  16. 16. デモ構成(LCMC:GUI管理ツール) 16
  17. 17. デモ 17
  18. 18. SE Oneの活用方法2(DR、レプリケーション) Active Data GuardやGolden Gateを使用するためにはEE が必須のオプション製品です。これらの機能を使いたい場 合にはEEが必要では? → そんなことはありません。以下の製品で代用できます。 ・ Active Data Guard代替製品 - Dbvisit Standby (http://www.insight-tec.com/products/dbvisit) - Standby Express (http://www.ydc.co.jp/solution/standby/0.html) - DRBD Proxy (http://www.3ware.co.jp/product/linbit-cluster-support/drbd-proxy) ちょっと異なりますが、DRへの適用が可能。DRBDのWAN対応版。 18
  19. 19. SE Oneの活用方法2(DR、レプリケーション) ・ Golden Gate代替製品 - Attunity (http://www.insight-tec.com/products/Attunity/index.html) - SharePlex for Oracle (http://www.questsoftware.jp/shareplex-for-oracle/) (http://www.bakbone.co.jp/support/lesson_quest_db/lsdb201111.html) SharePlexは6年ほど前から弊社でも使用しています。 複数のソースDBから1つのターゲットDBへデータを集約し、BI ツールを活用するためであったり、社員が(許可された範囲内で) 自由にデータにアクセスすることを目的とした参照専用DBを構築 /運用するために活用しています。 19
  20. 20. SE Oneの活用方法3(監査) DBA監査や標準監査であればSEでも使用可能ですが、ファイングレ イン監査やAudit Vaultを使用するのであればEEが必要となります。 個人的には上記はどれも使い勝手がいまいちなので、監査要件が ある場合にはサードパーティ製品の採用をお勧めします。 - PISO(メモリキャプチャ型) (http://www.insight-tec.com/products/piso/index.html) - Chakra(ネットワークキャプチャ型) (http://www.jsys.co.jp/solution/chakra.html/) - Audit Master(Oracleの監査証跡機能を活用) (http://www.aqua-systems.co.jp/products/auditmaster/) - IPLocks(Oracleの監査証跡機能を活用) (http://www.iplocks.co.jp/index.html) 20
  21. 21. SE Oneの活用方法3(監査) - SecureSphere DAM(ネットワークキャプチャ&エージェント型) (http://www.imperva.jp/products/database_security.asp) 弊社で採用し、運用で活用している製品です。 DAM(Database Activity Monitoring)以外にも、DBF(DataBase Firewall)や WAF(Web Application Firewall)等の製品もあります。 アプライアンス製品とバーチャルアプライアンス製品があり、アプライ アンス製品は性能が頭打ちになってしまった経験があるので、導入 の敷居はちょっと上がりますが監査対象が多い、流れるパケット量が 多いといった場合はVMawre上で動作するバーチャルアプライアンス での導入を個人的にはお薦めします。 21
  22. 22. デモで使用したDRBD設定ファイル 22 resource oradata { device /dev/drbd1; disk /dev/sdb1; meta-disk internal; handlers { split-brain "/usr/local/lib/drbd/notify-split-brain.sh root"; fence-peer "/usr/local/lib/drbd/crm-fence-peer.sh"; after-resync-target "/usr/local/lib/drbd/crm-unfence-peer.sh"; } net { data-integrity-alg md5; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; max-buffers 8000; max-epoch-size 8000; sndbuf-size 0; } DRBDリソース用設定ファイル(/etc/drbd.d/oradata.res)
  23. 23. デモで使用したDRBD設定ファイル(続き) 23 syncer { verify-alg md5; csums-alg md5; } disk { on-io-error detach; no-disk-barrier; no-disk-flushes; fencing resource-only; } on dev1 { address 192.168.1.11:7789; } on dev2 { address 192.168.1.12:7789; } }
  24. 24. デモで使用したPacemaker設定ファイル 24 node dev1 node dev2 primitive pingd ocf:pacemaker:ping params multiplier="100" host_list="10.0.1.254" operations $id="pingd-operations" op start interval="0" timeout="60" on-fail="restart" op stop interval="0" timeout="20" on-fail="block" op monitor interval="10" timeout="60" on-fail="restart" start-delay="0" op reload interval="0" timeout="100" primitive res_drbd ocf:linbit:drbd params drbd_resource="oradata" operations $id="drbd_oradata-operations" op start interval="0" timeout="240" op promote interval="0" timeout="90" op demote interval="0" timeout="90" op stop interval="0" timeout="100" op monitor interval="10" timeout="20" start-delay="0" op notify interval="0" timeout="90” Pacemaker用設定(# crm configure show)
  25. 25. デモで使用したPacemaker設定ファイル(続き) 25 primitive res_fs_oradata ocf:heartbeat:Filesystem params device="/dev/drbd1" directory="/opt/oracle" fstype="xfs" op start interval="0" timeout="60" op stop interval="0" timeout="60" op monitor interval="20" timeout="40" start-delay="0" op notify interval="0" timeout="60" primitive res_oracle ocf:heartbeat:oracle params sid="ora112" home="/opt/oracle/app/product/11.2.0/db" user="oracle" shutdown_method="immediate" operations $id="res_oracle-operations" op start interval="0" timeout="120" op stop interval="0" timeout="120" op monitor interval="20" timeout="60" start-delay="0" op methods interval="0" timeout="5" primitive res_oralsnr ocf:heartbeat:oralsnr params sid="ora112" home="/opt/oracle/app/product/11.2.0/db" user="oracle" listener="listener" operations $id="res_oralsnr-operations" op start interval="0" timeout="120" op stop interval="0" timeout="120" op monitor interval="10" timeout="30" start-delay="0" op methods interval="0" timeout="5"
  26. 26. デモで使用したPacemaker設定ファイル(続き) 26 primitive res_vip ocf:heartbeat:IPaddr2 params ip="10.0.1.10" nic="bond0" cidr_netmask="24" broadcast="10.0.1.255" iflabel="1" op start interval="0" timeout="20" op stop interval="0" timeout="20" op monitor interval="0" timeout="20" start-delay="0" primitive vip_check ocf:heartbeat:VIPcheck params target_ip="10.0.1.10" operations $id="vip_check-operations" op start interval="0" timeout="60" op stop interval="0" timeout="60" op monitor interval="10" timeout="60" start-delay="0" group rg_oracle vip_check res_fs_oradata res_vip res_oracle res_oralsnr meta target-role="Started" ms ms_drbd res_drbd meta clone-max="2" notify="true" target-role="Started" clone cl_pingd pingd meta clone-max="2" target-role="Started" location master_location_oracle rg_oracle rule $id="master_location_oracle-rule" -inf: not_defined pingd or pingd lt 100 colocation col_res_drbd-oracle inf: rg_oracle:Started ms_drbd:Master order ord_oracle_after_drbd inf: ms_drbd:promote rg_oracle:start
  27. 27. デモで使用したPacemaker設定ファイル(続き) 27 property $id="cib-bootstrap-options" dc-version="1.0.13-30bb726" cluster-infrastructure="openais" expected-quorum-votes="2" stonith-enabled="false" no-quorum-policy="ignore" pe-error-series-max="100" pe-warn-series-max="100" pe-input-series-max="100" last-lrm-refresh="1402479513" rsc_defaults $id="rsc-options" resource-stickiness="INFINITY" migration-threshold="2" 参考:http://www.slideshare.net/jshimi777/case-study-of-high- availability-oracle-by-using-the-io-drive-and-drbd-16662472

×