狠狠撸

狠狠撸Share a Scribd company logo
2015/05/23
Copyright 2015, ThirdWare Inc.
1
Data Protection by OSS!
DRBD9?&?drbdmanage
株式会社サードウェア
久保 元治
mkubo@3ware.co.jp
2015/05/23
Copyright 2015, ThirdWare Inc.
2
Data Protection by OSS!
DRBD 8 の基礎
アプリケーション
ファイルシステム
ページキャッシュ
DRBD
ディスクドライバ
Raw デバイス
NIC ドライバ
ディスク
スケジューラ
ディスク
TCP/IP
ネットワークカード
NIC ドライバ
TCP/IP
ネットワークカード
DRBD
ディスクドライバ
ディスク
スケジューラ
ディスク
2015/05/23
Copyright 2015, ThirdWare Inc.
3
Data Protection by OSS!
DRBD 8
● 2 ノードのリアルタイム?レプリケーション
● 通信回復時の完全自動再同期
● カーネルレベルの実装による高速性
● 160,000 IOPS 超
● 複数ボリュームの同時レプリケーション
● LAN 向けの同期、 WAN 向けの非同期
● Linux カーネルの一部 (2.6.33 、 2010 年 )
● Pacemaker との連携でシェアードナッシングを実現
2015/05/23
Copyright 2015, ThirdWare Inc.
4
Data Protection by OSS!
DRBD9 の新機能
● 最大 31 コネクションのレプリケーション
● ノード数は最大 32
● 自動プロモーション
● 多彩なトランスポート対応 (TCP 、 SCTP 、 RDMA)
● DRBD クライアント
● ストレージ自動再配置
SCTP: Stream Control Transmission Protocol
RDMA: Remote Direct Memory Access
2015/05/23
Copyright 2015, ThirdWare Inc.
5
Data Protection by OSS!
自動プロモーション
● DRBD 8.x ● DRBD9
drbdadm primary <res>
mount /dev/drbdn /mnt mount /dev/drbdn /mnt
umount /dev/drbdn
drbdadm secondary <res>
umount /dev/drbdn
2015/05/23
Copyright 2015, ThirdWare Inc.
6
Data Protection by OSS!
DRBD9: トランスポート
TCP SCTP RDMA
Ethernet InfinibandSCI
various suppliers Mellanox etc.Dolphin Chelsio etc
IP
IPoIB
RoCESSOCKS TCP SCTP iWARP
Transport
Protocol
Hardware
Medium
2015/05/23
Copyright 2015, ThirdWare Inc.
7
Data Protection by OSS!
DRBD8 の管理ツール
DRBD Kernel driver
drbdsetup/drbdmeta
drbdadm
● 事前に DRBD で管理するブロックデバイスを作成しておく必要がある
● DRBD 設定ファイルは管理者が作成して配布しなければならない
2015/05/23
Copyright 2015, ThirdWare Inc.
8
Data Protection by OSS!
DRBD9 の管理ツール drbdmanage
DRBD Kernel driver
drbdsetup/drbdmeta
drbdadm
drbdmanage daemon
drbdmanage
device mapper
dmsetup
LVM tools
● DRBD8 と同じ管理も可能だが、 drbdmanage が役立つ
drbdmanage
customized driver
D-bus
2015/05/23
Copyright 2015, ThirdWare Inc.
9
Data Protection by OSS!
drbdmanage の必要性
● 管理者による drbd.conf の管理は限界
● 多数のリソース ( 名前、サイズ、レプリケーション数 )
● 多数のノード ( コネクション )
● 前後処理をまとめて自動化したい
● LVM ツール (lvcreate 、 lvresize)
● drbd.conf の自動生成と自動配布
● drbdadm ( リソース有効化と初期同期 )
2015/05/23
Copyright 2015, ThirdWare Inc.
10
Data Protection by OSS!
drbdmanage
● drbdmanage init <IPaddr>
● drbdmanage の初期化
● drbdmanage add-node <host> <IP>
● DRBD9 実行ノードの追加
● drbdmanage new-volume <name> <size> --deploy <n>
● name: リソース名
● size: リソースサイズ
● n: 多重度 ( レプリケートするサーバ数 )
2015/05/23
Copyright 2015, ThirdWare Inc.
11
Data Protection by OSS!
drbdctrl
41 2 3
管理用ボリューム
drbdmanage が
管理するレプリケーション
領域
A A
BB
DD
drbdctrl
C
B
drbdctrl drbdctrl drbdctrl
C
2015/05/23
Copyright 2015, ThirdWare Inc.
12
Data Protection by OSS!
drbdmanage: ノードの追加
増設したノードに drbdctrl 管理ボリュームを作成
1 2 3 4 5
A A
BB
DD
drbdctrl
C
B
drbdctrl drbdctrl drbdctrl
C
drbdctrl
2015/05/23
Copyright 2015, ThirdWare Inc.
13
Data Protection by OSS!
drbdmanage: リソース再配置
既存レプリケーション用ボリュームの再配置
1 2 3 4 5
A A
BB
DD
drbdctrl
C
drbdctrl drbdctrl drbdctrl
C
drbdctrl
CA A
BB
DD
drbdctrl
C
B
drbdctrl drbdctrl drbdctrl
C
drbdctrl
B
2015/05/23
Copyright 2015, ThirdWare Inc.
14
Data Protection by OSS!
drbdmanage: ボリュームの追加
新しいボリュームの追加
1 2 3 4 5
A A
B
DD
drbdctrl
B
drbdctrl drbdctrl drbdctrl
C
drbdctrl
C
B
E E E
2015/05/23
Copyright 2015, ThirdWare Inc.
15
Data Protection by OSS!
drbdmanage の機能と特徴
● DRBD リソースのプロビジョニングツール
● Python
● LV を管理
● 必要なノードに LV を作成
● 空き容量管理
● スナップショット管理
● DRBD9 自体を使ってデータベースを管理
● 数千ノードで動作するスケーラビリティ ( 開発中 )
2015/05/23
Copyright 2015, ThirdWare Inc.
16
Data Protection by OSS!
DRBD and OpenStack (Cinder)
DRBD + drbdmanage
2015/05/23
Copyright 2015, ThirdWare Inc.
17
Data Protection by OSS!
DRBD9 の管理ツール drbdmanage
DRBD Kernel driver
drbdsetup/drbdmeta
drbdadm
drbdmanage daemon
drbdmanage
device mapper
dmsetup
LVM tools
Cinder Driver
(drbdmanagedrv.py)
D-bus
2015/05/23
Copyright 2015, ThirdWare Inc.
18
Data Protection by OSS!
OpenStack: SAN ベースの構成
SAN ストレージ
SAN
Ethernet Neutron
Nova
Cinder
fibre channel switches
SAN ストレージ
ネットワーク
ストレージ
計算
2015/05/23
Copyright 2015, ThirdWare Inc.
19
Data Protection by OSS!
OpenStack: drbdmanagedrv.py
Ethernet
Ethernet Neutron
Nova
Cinder
network switches
ネットワーク
ストレージ
計算
レプリケーション用 HDD を内蔵する IA サーバ
2015/05/23
Copyright 2015, ThirdWare Inc.
20
Data Protection by OSS!
DRBD クライアント
A B C
A
B
CC C
A A
B B
DRBD クライアント
アプリ アプリ アプリ
DRBD9
ストレージクラスタ
アプリケーション
実行サーバ群
2015/05/23
Copyright 2015, ThirdWare Inc.
21
Data Protection by OSS!
OpenStack: SAN レス構成
Ethernet Neutron
Nova
Cinder
ネットワーク
ストレージ
計算
レプリケーション用 HDD を内蔵する IA サーバ
高速半導体ストレージ、 RDMA による高速レプリケーション (10 万 IOPS 以上 )
Nova と Cinder の役割を融合
- コストダウン
- 性能向上
2015/05/23
Copyright 2015, ThirdWare Inc.
22
Data Protection by OSS!
DRBD9 の入手
● プログラム
● http://oss.linbit.com/drbd/
● git://git.linbit.com/drbd-9.0.git
● 情報
● https://blog.3ware.co.jp/
● http://drbd.linbit.com/
● http://oss.linbit.com/
● お問い合わせ
● info@3ware.co.jp

More Related Content

顿搁叠顿9と诲谤产诲尘补苍补驳别の概要绍介

  • 1. 2015/05/23 Copyright 2015, ThirdWare Inc. 1 Data Protection by OSS! DRBD9?&?drbdmanage 株式会社サードウェア 久保 元治 mkubo@3ware.co.jp
  • 2. 2015/05/23 Copyright 2015, ThirdWare Inc. 2 Data Protection by OSS! DRBD 8 の基礎 アプリケーション ファイルシステム ページキャッシュ DRBD ディスクドライバ Raw デバイス NIC ドライバ ディスク スケジューラ ディスク TCP/IP ネットワークカード NIC ドライバ TCP/IP ネットワークカード DRBD ディスクドライバ ディスク スケジューラ ディスク
  • 3. 2015/05/23 Copyright 2015, ThirdWare Inc. 3 Data Protection by OSS! DRBD 8 ● 2 ノードのリアルタイム?レプリケーション ● 通信回復時の完全自動再同期 ● カーネルレベルの実装による高速性 ● 160,000 IOPS 超 ● 複数ボリュームの同時レプリケーション ● LAN 向けの同期、 WAN 向けの非同期 ● Linux カーネルの一部 (2.6.33 、 2010 年 ) ● Pacemaker との連携でシェアードナッシングを実現
  • 4. 2015/05/23 Copyright 2015, ThirdWare Inc. 4 Data Protection by OSS! DRBD9 の新機能 ● 最大 31 コネクションのレプリケーション ● ノード数は最大 32 ● 自動プロモーション ● 多彩なトランスポート対応 (TCP 、 SCTP 、 RDMA) ● DRBD クライアント ● ストレージ自動再配置 SCTP: Stream Control Transmission Protocol RDMA: Remote Direct Memory Access
  • 5. 2015/05/23 Copyright 2015, ThirdWare Inc. 5 Data Protection by OSS! 自動プロモーション ● DRBD 8.x ● DRBD9 drbdadm primary <res> mount /dev/drbdn /mnt mount /dev/drbdn /mnt umount /dev/drbdn drbdadm secondary <res> umount /dev/drbdn
  • 6. 2015/05/23 Copyright 2015, ThirdWare Inc. 6 Data Protection by OSS! DRBD9: トランスポート TCP SCTP RDMA Ethernet InfinibandSCI various suppliers Mellanox etc.Dolphin Chelsio etc IP IPoIB RoCESSOCKS TCP SCTP iWARP Transport Protocol Hardware Medium
  • 7. 2015/05/23 Copyright 2015, ThirdWare Inc. 7 Data Protection by OSS! DRBD8 の管理ツール DRBD Kernel driver drbdsetup/drbdmeta drbdadm ● 事前に DRBD で管理するブロックデバイスを作成しておく必要がある ● DRBD 設定ファイルは管理者が作成して配布しなければならない
  • 8. 2015/05/23 Copyright 2015, ThirdWare Inc. 8 Data Protection by OSS! DRBD9 の管理ツール drbdmanage DRBD Kernel driver drbdsetup/drbdmeta drbdadm drbdmanage daemon drbdmanage device mapper dmsetup LVM tools ● DRBD8 と同じ管理も可能だが、 drbdmanage が役立つ drbdmanage customized driver D-bus
  • 9. 2015/05/23 Copyright 2015, ThirdWare Inc. 9 Data Protection by OSS! drbdmanage の必要性 ● 管理者による drbd.conf の管理は限界 ● 多数のリソース ( 名前、サイズ、レプリケーション数 ) ● 多数のノード ( コネクション ) ● 前後処理をまとめて自動化したい ● LVM ツール (lvcreate 、 lvresize) ● drbd.conf の自動生成と自動配布 ● drbdadm ( リソース有効化と初期同期 )
  • 10. 2015/05/23 Copyright 2015, ThirdWare Inc. 10 Data Protection by OSS! drbdmanage ● drbdmanage init <IPaddr> ● drbdmanage の初期化 ● drbdmanage add-node <host> <IP> ● DRBD9 実行ノードの追加 ● drbdmanage new-volume <name> <size> --deploy <n> ● name: リソース名 ● size: リソースサイズ ● n: 多重度 ( レプリケートするサーバ数 )
  • 11. 2015/05/23 Copyright 2015, ThirdWare Inc. 11 Data Protection by OSS! drbdctrl 41 2 3 管理用ボリューム drbdmanage が 管理するレプリケーション 領域 A A BB DD drbdctrl C B drbdctrl drbdctrl drbdctrl C
  • 12. 2015/05/23 Copyright 2015, ThirdWare Inc. 12 Data Protection by OSS! drbdmanage: ノードの追加 増設したノードに drbdctrl 管理ボリュームを作成 1 2 3 4 5 A A BB DD drbdctrl C B drbdctrl drbdctrl drbdctrl C drbdctrl
  • 13. 2015/05/23 Copyright 2015, ThirdWare Inc. 13 Data Protection by OSS! drbdmanage: リソース再配置 既存レプリケーション用ボリュームの再配置 1 2 3 4 5 A A BB DD drbdctrl C drbdctrl drbdctrl drbdctrl C drbdctrl CA A BB DD drbdctrl C B drbdctrl drbdctrl drbdctrl C drbdctrl B
  • 14. 2015/05/23 Copyright 2015, ThirdWare Inc. 14 Data Protection by OSS! drbdmanage: ボリュームの追加 新しいボリュームの追加 1 2 3 4 5 A A B DD drbdctrl B drbdctrl drbdctrl drbdctrl C drbdctrl C B E E E
  • 15. 2015/05/23 Copyright 2015, ThirdWare Inc. 15 Data Protection by OSS! drbdmanage の機能と特徴 ● DRBD リソースのプロビジョニングツール ● Python ● LV を管理 ● 必要なノードに LV を作成 ● 空き容量管理 ● スナップショット管理 ● DRBD9 自体を使ってデータベースを管理 ● 数千ノードで動作するスケーラビリティ ( 開発中 )
  • 16. 2015/05/23 Copyright 2015, ThirdWare Inc. 16 Data Protection by OSS! DRBD and OpenStack (Cinder) DRBD + drbdmanage
  • 17. 2015/05/23 Copyright 2015, ThirdWare Inc. 17 Data Protection by OSS! DRBD9 の管理ツール drbdmanage DRBD Kernel driver drbdsetup/drbdmeta drbdadm drbdmanage daemon drbdmanage device mapper dmsetup LVM tools Cinder Driver (drbdmanagedrv.py) D-bus
  • 18. 2015/05/23 Copyright 2015, ThirdWare Inc. 18 Data Protection by OSS! OpenStack: SAN ベースの構成 SAN ストレージ SAN Ethernet Neutron Nova Cinder fibre channel switches SAN ストレージ ネットワーク ストレージ 計算
  • 19. 2015/05/23 Copyright 2015, ThirdWare Inc. 19 Data Protection by OSS! OpenStack: drbdmanagedrv.py Ethernet Ethernet Neutron Nova Cinder network switches ネットワーク ストレージ 計算 レプリケーション用 HDD を内蔵する IA サーバ
  • 20. 2015/05/23 Copyright 2015, ThirdWare Inc. 20 Data Protection by OSS! DRBD クライアント A B C A B CC C A A B B DRBD クライアント アプリ アプリ アプリ DRBD9 ストレージクラスタ アプリケーション 実行サーバ群
  • 21. 2015/05/23 Copyright 2015, ThirdWare Inc. 21 Data Protection by OSS! OpenStack: SAN レス構成 Ethernet Neutron Nova Cinder ネットワーク ストレージ 計算 レプリケーション用 HDD を内蔵する IA サーバ 高速半導体ストレージ、 RDMA による高速レプリケーション (10 万 IOPS 以上 ) Nova と Cinder の役割を融合 - コストダウン - 性能向上
  • 22. 2015/05/23 Copyright 2015, ThirdWare Inc. 22 Data Protection by OSS! DRBD9 の入手 ● プログラム ● http://oss.linbit.com/drbd/ ● git://git.linbit.com/drbd-9.0.git ● 情報 ● https://blog.3ware.co.jp/ ● http://drbd.linbit.com/ ● http://oss.linbit.com/ ● お問い合わせ ● info@3ware.co.jp