DRBD(ディーアールビーディー)とは、Linuxプラットフォームの分散ストレージシステムです。ネットワークを介してハードディスクをミラーリングします。単一障害点がない冗長化ストレージを低コストで構成できます。

オープンソースのクラスタリング/DRBDとは

DRBD(ディーアールビーディー)とは、Linuxプラットフォームの分散ストレージシステムです。ネットワークを介してハードディスクをミラーリングします。単一障害点がない冗長化ストレージを低コストで構成できます。

DRBD(ディーアールビーディー)とは、Linuxプラットフォームの分散ストレージシステムです。ネットワークを介してハードディスクをミラーリングします。単一障害点がない冗長化ストレージを低コストで構成できます。

目次

「DRBD」基本情報
・概要
  ・基本説明
  ・経緯
・主な特徴
  ・ソフトウェア構成
  ・サーバ構成
  ・クラスタマネージャ
  ・ネットワークRAID1
  ・障害発生時の動き
  ・負荷分散機能
  ・ユースケース
・同様製品
・導入事例
・ライセンス情報
・ダウンロード
・参考元サイト

「DRBD」参考情報 第1回 DRBDのStandAlone状態
・「StandAlone状態」とは
・参考サイト
  ・スプリットブレインの実験
  ・DRBDユーザーズガイド
  ・DRBD障害対応

「DRBD」参考情報 第2回 DRBDとLVM(論理ボリュームマネージャー)
・LVM(論理ボリュームマネージャー)とは
・参考サイト
  ・DRBDリソース管理ツール「DRBDマネージャ」
  ・DRBDユーザーズガイド(Ver8.4版) DRBDとLVMの使用
  ・LIO+DRBD+Pacemakerによる冗長化構成構築手順

「DRBD」参考情報 第3回 DRBDとKVM(仮想クラスタ)
・「KVM」とは
・参考サイト
  ・Linux-HA による仮想マシンクラスタ (KVM)
  ・CentOS7のMariaDB(MySQL)をDRBDでHA化
  ・DRBDを用いたHA構成のChef Serverクラスタの構築

「DRBD」参考情報 第4回 DRBDの同期速度
・参考サイト
  ・同期速度自動調整機能(8.3.9以降)の紹介
  ・DRBDの同期速度自動調節機能について(Part 2)
  ・レプリケーションと同期の違い(設定時にはバージョンに注意)
  ・DRBDユーザーズガイド(Ver8.4版) 同期速度の設定
  ・DRBD(Ver8.4) 設定ファイルの設定例

TOPに戻る

「DRBD」基本情報

概要

基本説明

DRBD(Distributed Replicated Block Device)は、サーバ間のHDDパーティションをリアルタイムでミラーリング(複製)するソフトウェアです。

DRBDは「サーバストレージを冗長化してサービスを継続させること」が目的の1つになっています。

共有ストレージを使用する冗長化システムの場合、共有ストレージが単一障害点になってしまいます。DRBDの場合は、ローカルストレージへのアクセスを基本としているため、単一障害点がない冗長システムを構成できます。

経緯

2010年、DRBDは、正式にLinuxカーネルに統合されました。

主な特徴

ソフトウェア構成

DRBDのソフトウェア構成は、「カーネルモジュール」「管理アプリケーション」「シェルスクリプト」で構成されています。

サーバ構成

DRBDの基本サーバ構成は、サーバ2台による冗長構成です。

クラスタマネージャ

DRBDは、サーバ死活状態を監視するため、「Heartbeat」などのクラスタマネージャを利用します。

ネットワークRAID1

DRBDの仕組みとしては、ネットワーク越しのHDD間が「RAID1」冗長構成されるイメージです。

ファイルデータは共有されるのではなく、複製されるため、単一障害点がない構成が可能です。

DRBDは、ファイル単位のレプリケーションではなく、ブロックデバイスレイヤ(ハードディスクパーティション)単位での複製を行います。

障害発生時の動き

1.通常稼働時は、プライマリサーバに加えられた変更を、リアルタイムでセカンダリサーバに複製しています。

2.クラスタマネージャがプライマリの障害を検知すると、セカンダリがプライマリに昇格します。

3.プライマリに対する障害発生直前までの変更状態は、セカンダリに複製されているため、そのままサービスを継続できます。

負荷分散機能

負荷分散構成もサポートされています。

ユースケース

・高可用性(HA)クラスタシステム
  ・ファイルサーバ冗長化
  ・データベース冗長化
・大容量データバックアップ
・リモートレプリケーション
・災害対策(ディザスタリカバリ) など

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Ceph」など。

導入事例

・LINBIT →「DRBD」オフィシャルサイト →Case Studies

・サードウェア(drbd.jp) →DRBDとは →使用事例と効果

ライセンス情報

DRBDのライセンスは「GNU General Public License version 2」です。

詳細について、こちらを参照ください。
→LINBIT Open Source Software →LINBIT Open Source Software - drbd →gpl

ダウンロード

→LINBIT Open Source Software →LINBIT Open Source Software - drbd

参考元サイト

・LINBIT →「DRBD」オフィシャルサイト
・Wikipedia →DRBD
・サードウェア(drbd.jp) →DRBDとは
・@IT →DRBDの仕組みを学ぶ(1):DRBD(Distributed Replicated Block Device)とは何か
・デージーネット →DRBDとは
・CONVERSION →DRBD構築支援サービスとは

TOPに戻る

「DRBD」参考情報 第1回 DRBDのStandAlone状態

「DRBD」についての「StandAlone状態」に関する参考情報を紹介します。

「StandAlone状態」とは

「StandAlone」とは、DRBDノードのステータスを表します。

DRBDノード間でネットワーク分断が発生すると、マスタノードが複数存在してしまう「スプリットブレイン」という状態になります。

DRBDがスプリットブレインを検出すると、ノードのステータスを「StandAlone」に変更して、データを保護するための安全装置として機能します。

ファイルシステムとしては動作可能ですが、DRBDシステムからは切り離されているような状態です。

参考サイト

スプリットブレインの実験

【ポイント】

スプリットブレインを発生させる実験についてまとめられています。

スプリットブレインを解消する手順についても解説されています。

【テーマ(抜粋)】

・スプリットブレインについて
・スプリットブレインの実験
  ・ネットワークを停止
  ・ネットワーク分断時のDRBDの状態
  ・Secondary側をPrimaryに昇格
・スプリットブレインの解消
・両ノードにデータを書き込む
  ・ネットワークの復旧
  ・元SecondaryをStandAloneへ切り替え
  ・元SecondaryをSecondaryに戻す
  ・元SecondaryのStandAloneの回復とデータ破棄
  ・元々Primaryの方をStandAloneから回復
  ・Secondaryのデータを確認

【ページリンク】

→Qiita →DRBD 8.4 インストールから必要な操作まで

DRBDユーザーズガイド

【ポイント】

障害が発生した場合の「StandAlone」状態からの復旧手順について解説されています。

【テーマ】

・7.1. ハードドライブの障害の場合
  ・7.1.1. 手動でDRBDをハードドライブから切り離す
  ・7.1.2. I/Oエラー時の自動切り離し
  ・7.1.3. 障害が発生したディスクの交換(内部メタデータを使用している場合)
  ・7.1.4. 障害の発生したディスクの交換(外部メタデータを使用している場合)
・7.2. ノード障害に対処する
  ・7.2.1. 一時的なセカンダリノードの障害に対処する
  ・7.2.2. 一時的なプライマリノードの障害に対処する
  ・7.2.3. 永続的なノード障害に対処する
・7.3. スプリットブレインからの手動回復

【ページリンク】

→DRBDユーザーズガイド →第7章 トラブルシューティングとエラーからの回復

DRBD障害対応

【ポイント】

NagiosでDRBDの監視を行っている環境で「DRBD Status is WARNING」アラートが出た場合の対応方法についてまとめられています。

「Pacemaker Status is WARNING」の対応方法も参照できます。

【テーマ】

・DRBD Status is WARNING
  ・1. Master/Slave確認
  ・2. DRBD状態確認
  ・3. SlaveをSecondaryに降格
  ・4. MasterからSlaveへ同期
  ・5. SlaveをMasterに接続
  ・6. Corosync再起動
・Pacemaker Status is WARNING
  ・1. Pacemakerステータス確認
  ・2. Corosync再起動

【ページリンク】

→Night Only Project. →サーバ構築標準化プロジェクト →障害対応 →DRBD関連の障害

TOPに戻る

「DRBD」参考情報 第2回 DRBDとLVM(論理ボリュームマネージャー)

「DRBD」についての「LVM(論理ボリュームマネージャー)」に関する参考情報を紹介します。

LVM(論理ボリュームマネージャー)とは

LVM(Logical Volume Manager)とは

・複数のハードディスク/パーティションの記憶領域を1つのボリュームグループにまとめ、単一の論理ボリュームとして使用できるディスク管理機能

・1つの物理ディスクサイズを超える巨大な論理ボリュームとして利用できる

・主にLinux/UNIX系OSで利用できる機能

・システムを停止せずに「論理ボリュームの動的拡大/縮小」「物理的ディスク追加」が可能

参考元サイト

・IDC Frontier →用語集 →LVM

・Qiita →LVM概要

・Wikipedia →論理ボリュームマネージャ

参考サイト

DRBDリソース管理ツール「DRBDマネージャ」

【ポイント】

「DRBDマネージャ」とは
・DRBDリソースの作成/削除/管理を行うツール
・「LinuxカーネルのLVM(Logical Volume Manager)」と「DRBDの設定」を操作
・コマンド/API経由で使用

【テーマ】

・概要
・自動化
・スケーラビリティ
・より詳しく
  ・DRBDバージョン9の概要
  ・DRBD SDS
  ・DRBD SDS for OpenStack
  ・DRBD Proxy
  ・DRBD RDMAトランスポート
  ・LINBITクラスタスタック・サポート
  ・DRBDの概要

【ページリンク】

→サードウェア →DRBDマネージャ(drbdmanage)

DRBDユーザーズガイド(Ver8.4版) DRBDとLVMの使用

【ポイント】

「LVMの基礎説明」と「DRBDでのLVMでの使用方法」などについて解説されています。

【テーマ】

・10.1. LVMの基礎
・10.2. DRBDの下位デバイスとして論理ボリュームを使用する
・10.3. DRBD同期中の自動LVMスナップショットの使用
・10.4. DRBDリソースを物理ボリュームとして構成する
・10.5. 新しいDRBDボリュームを既存のボリュームグループへ追加する
・10.6. DRBDを使用する入れ子のLVM構成
  ・10.6.1. Switching the VG to the other node
・10.7. Pacemakerによる高可用性LVM

【ページリンク】

→DRBDユーザーズガイド バージョン8.4版 →第10章 DRBDとLVMの使用

LIO+DRBD+Pacemakerによる冗長化構成構築手順

【ポイント】

DRBD+LVM+各種クラスタツールを使用して、冗長化構成を構築する手順についてまとめられています。

【テーマ】

・LIO Cluster 構築編
  ・(その1)構成
  ・(その2)Oracle Linux 7.2 インストールと初期設定
  ・(その3)クラスタ関連パッケージのインストール
  ・(その4)LVM
  ・(その5)DRBD リソース設定
  ・(その6)pcs,Corosync,Pacemaker の基本設定
  ・(その7)DRBD, LVM の残設定
  ・(その8)LIO
  ・(その9)Pacemaker にさせたいこと
  ・(その10)Pacemaker のリソース設定
  ・(その11)構築編のまとめ (全構築手順(最新版)をPDF、エクセルファイルにて公開)
・LIO Cluster リソース監視編
  ・(その12)Munin 用プラグイン (DRBD)
  ・(その13)Munin 用プラグイン (LIO)
  ・(その14)Munin インストール、設定
・LIO Cluster 障害テスト編
  ・(その15)障害テスト環境
  ・(その16)障害テスト計画
  ・(その17)システムバックアップ
  ・(その18)片系全損からのリカバリ

【ページリンク】

→メシの種 - DBAの落書き帳 →LIO Cluster [LIO, DRBD, Pacemaker による冗長化 iSCSI Target] (その1)構成

TOPに戻る

「DRBD」参考情報 第3回 DRBDとKVM(仮想クラスタ)

「DRBD」と「KVM(仮想クラスタ)」に関する参考情報を紹介します。

「KVM」とは

KVM(Kernel-based Virtual Machine)とは
・オープンソース
・ハイパーバイザ型の仮想化技術
・Linux自体を仮想マシンの実行基盤として機能させる
・LinuxカーネルをVMM(Virtual Machine Monitor)として動作させる仕組み
・複数の仮想マシンを並列動作させることができる
・2006年12月にLinuxカーネルに統合

参考元サイト

・IT用語辞典 e-Words →KVM 【 Kernel-based Virtual Machine 】

・@IT →知って見るみるKVM(1) →Linux標準の仮想化技術「KVM」の仕組み

・gihyo.jp →エンジニアなら知っておきたい仮想マシンのしくみ →第2回 Linux KVMで知る仮想マシンの概要

参考サイト

「DRBD」と「KVMを利用した仮想クラスタ環境」について参考にできるサイトを紹介します。

Linux-HA による仮想マシンクラスタ (KVM)

【ポイント】

DRBD+KVMなどを使用した「仮想マシンクラスタ構築」についてまとめられています。

システム構成、サーバ構成、パフォーマンスなどについて参照できます。

【テーマ】

・「使える」仮想基盤の条件
・これまでの仮想基盤
・今日お話しする仮想化クラスタは
・Linux-HA によるストレージサーバ
  ・DRBD による完全同期リアルタイムレプリケーション
  ・Pacemaker/Heartbeat による高可用クラスタ
  ・ iSCSI ターゲット
  ・NFS サーバ
・KVM
・ストレージサーバ+ KVM 仮想化
・仮想マシンクラスタのメリット
・パフォーマンス
・ストレージサーバとしての性能
・ゲスト OS のディスクアクセス性能
・パフォーマンス試験結果
・仮想マシンクラスタの用途

【ページリンク】

→サードウェア →Linux-HA による仮想マシンクラスタ (KVM) ioDrive2 + Infiniband による高性能化

CentOS7のMariaDB(MySQL)をDRBDでHA化

【ポイント】

「MariaDB(MySQL)冗長化構成」構築手順についてまとめられています。

・KVM上の「CentOS 7」ベース

・DRBD + Pacemaker + Corosyncを使用

【テーマ】

・構成
・ホスト名設定
・IPv6 を無効にする
・firewalld 設定
・pcs, pacemaker, corosync のインストール
・クラスタの作成
・クラスタの起動
・DRBD のインストール
・DRBD 通信を許可する
・DRBD のリソースを作成する
・DRBD デバイスをフォーマット
・MariaDB のインストール
・Pacemaker 設定

【ページリンク】

→1Q77 →CentOS7のMariaDB(MySQL)をDRBDでHA化

DRBDを用いたHA構成のChef Serverクラスタの構築

【ポイント】

QEMU+KVM仮想環境において、HA構成「Chef Serverクラスタ」の構築手順についてまとめられています。

【テーマ】

・前提
  ・環境
  ・フロントエンド
  ・バックエンド
・ディスク構成
・プライマリバックエンドの構築
・セカンダリバックエンドの構築
・フェイルオーバーの確立
・フロントエンドの構築
・機能の有効化
・まとめ

【ページリンク】

→ CREATIONLINE,INC. →DRBDを用いたHA構成のChef Serverクラスタの構築

TOPに戻る

「DRBD」参考情報 第4回 DRBDの同期速度

「DRBD」についての「同期速度」に関する参考情報を紹介します。

参考サイト

同期速度自動調整機能(8.3.9以降)の紹介

【ポイント】

バージョン8.3.9以降のDRBDに搭載されている「同期速度自動調整機能」について解説されています。

従来のrateパラメータに代わる制御方法として理解しておく必要があります。

【テーマ】

・同期とレプリケーションの違い
・同期速度の調整に関わるパラメータ
  ・c-plan-ahead
  ・c-min-rateおよびc-max-rate
  ・c-fill-targetまたはc-delay-target
・遅延ベースと充填ベースの制御の違い

【ページリンク】

→サードウェア →同期速度自動調整機能(8.3.9以降)の紹介

DRBDの同期速度自動調節機能について(Part 2)

【ポイント】

上記「同期速度自動調整機能(8.3.9以降)の紹介」についてのアップデート情報としてまとめられています。

【テーマ】

・仕様
・同期速度調節機能のチューニング方法
・手順

【ページリンク】

→Thirdware Tech Info →DRBDの同期速度自動調節機能について(Part 2)

レプリケーションと同期の違い(設定時にはバージョンに注意)

【ポイント】

DRBDの「レプリケーション」と「同期」の違いについて解説されているスライドです。

バージョン違いによる問題発生に関する注意点などについても参照できます。

【テーマ】

・1. レプリケーションと同期の違い
  ・レプリケーションと同期は違う
  ・メタデータを使用したデータの管理
  ・セカンダリ停止時のメタデータによるデータ管理
  ・レプリケーションと同期が逆になる状況もある
  ・同期中の潜在的な危険性
  ・同期中の潜在的な危険を回避
・2. 設定時にはバージョンに注意
  ・DRBDのライフサイクル
  ・DRBD 8.3 と8.4 の差異
  ・デフォルト値の違いが原因で起きた問題例①
  ・デフォルト値の違いが原因で起きた問題例②
  ・同期の速度調節が異なる
  ・設定ファイルの形式の違い
  ・同期が動的調節だと  ・・
  ・そもそも、なぜ動的調整するのか
  ・デフォルト値の確認方法
  ・DRBDのマニュアル情報
  ・異なるデフォルト値の確認方法
・3. 設定値が厳しすぎて不安定になっているシステム

【ページリンク】

→SlideShare →他山の石勉強会 DRBD編

DRBDユーザーズガイド(Ver8.4版) 同期速度の設定

【ポイント】

DRBDユーザーズガイド(Ver8.4版)の「同期速度設定」に関するドキュメントです。

【テーマ】

・6.10.1. 永続的な同期速度の設定
・6.10.2. 一時的な同期速度の設定
・6.10.3. 可変同期速度設定

【ページリンク】

→DRBDユーザーズガイド(バージョン8.4版) →第6章 一般的な管理作業 →6.10. 同期速度の設定

DRBD(Ver8.4) 設定ファイルの設定例

【ポイント】

DRBDの設定ファイル(/etc/drbd.conf)について、「各パラメータの解説」「設定例」などがまとめられています。

【テーマ】

・DRBD設定ファイル
・設定 /etc/drbd.conf
  ・globalセクション---グローバルパラメータを定義する
  ・commonセクション---ここで設定されたオプションは、全てのセクションに引き継がれる
  ・resourceセクション---DRBDリソースを定義する
  ・DRBDリアルタイムミラーリングプロトコルの種類
・スプリットブレイン
・次の設定(メタデータの作成)
・設定例

【ページリンク】

→UNIXサーバメモメモ →DRBD →drbd.conf

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

DRBD最新TOPICS

【講演資料を公開】8/29『OSS+SBクラウドを活用し、重要業務システムをバックアップ ~「止められないシステム」「消えてはいけないデータ」をアクシデントから守る方法』(2017年09月28日 09:15)

2017年08月29日(火)14:00~16:15 国際ファッションセンター Room108 にて『OSS+SBクラウドを活用し、重要業務システムをバックアップ ~「止められないシステム」「消えてはいけないデータ」をアクシデントから守る方法』と題したセミナーが開催されました。 当日は、猛暑の中、多くの熱心な方々がご来場くださいまして、お陰さまで大盛況のうちに終了することができました。 また、来...

無料資料プレゼント

フォレスターによる調査レポート「サービスとしてのデータベース (2017 年第 2 四半期)」AWS社提供

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter