Ubuntuで実践する「DRBD 9環境」構築マニュアル:DRBDの仕組みを学ぶ(15)(4/4 ページ)
DRBDを軸に、データを遠隔地にも即時複製して万が一の事態に備える「冗長化/高可用性システム」の構築テクニックを紹介する本連載。今回は、DRBDの最新版「DRBD 9」環境の構築手順を解説します。
ファイルシステムを作成する
ファイルシステムを作成します。DRBD 9では、「drbd100」から順にデバイスが作成されます。
# mkfs -t ext4 /dev/drbd100 # mkfs -t ext4 /dev/drbd101
DRBD領域をマウントする
DRBD領域をマウントします。「/data」と「/data2」というディレクトリを作成し、それぞれにDRBD領域をマウントします。
# mkdir /data # mkdir /data2 # mount /dev/drbd100 /data # mount /dev/drbd101 /data2
DRBD 9の状況を確認する
「drbdsetup」コマンドでDRBD 9の状況を確認します。コマンドは一号機で実行します。
# drbdsetup status .drbdctrl role:Primary volume:0 disk:UpToDate volume:1 disk:UpToDate DRBD9-2 role:Secondary volume:0 peer-disk:UpToDate volume:1 peer-disk:UpToDate DRBD9-3 role:Secondary volume:0 peer-disk:UpToDate volume:1 peer-disk:UpToDate r0 role:Primary disk:UpToDate DRBD9-2 role:Secondary peer-disk:UpToDate DRBD9-3 role:Secondary peer-disk:UpToDate r1 role:Primary disk:UpToDate DRBD9-2 role:Secondary peer-disk:UpToDate DRBD9-3 role:Secondary peer-disk:UpToDate
ここでは、一号機がそれぞれのroleで「Primary」になっていることを確認します。併せて、二号機(DRBD9-2)、三号機(DRBD9-3)が「Secondary」として登録され、さらにステータスが同期待ちである「UpToDate」になっていることを確認します。これによって、3台でリアルタイムにデータ同期ができる状態となりました。
DRBD 8まではここまで構築するのに、それぞれ設定ファイルを記述/修正した上で、各サーバでDRBDの起動と初期同期の設定を手動で行うことが必要でした。一方、DRBD 9に備わったDRBD Manageでは、この一連の流れをコマンドベースで実施できるようになりました。これまで手動で行ってきた設定ファイルの生成や初期同期が自動化され、構築までの時間はかなり短縮できるようになったと思います。
DRBD 9では、リソースの移動やスケールアウトも簡単
DRBD 9では、この構成から、リソースを移動したり、サーバの台数を増やしてスケールアウトしたりする管理も簡単に行えます。
「リソースの移動」としましたが、正しくは「ホストからリソースを削除して、再度割り当てる」作業となります。ちょっと試してみましょう。三号機(DRBD9-3)からリソース:r1を削除してみます。
# drbdmanage unassign-resource r1 DRBD9-3 Operation completes successfully
正しく削除されたかどうかを確認します。
# drbdmanage list-assignments +-------------------------------------------------------+ | Node | Resource | Vol ID | | State | |-------------------------------------------------------| | DRBD9-1 | r0 | * | | ok | | DRBD9-1 | r1 | * | | ok | | DRBD9-2 | r0 | * | | ok | | DRBD9-2 | r1 | * | | ok | | DRBD9-3 | r0 | * | | ok | +-------------------------------------------------------+
三号機(DRBD9-3)からリソース:r1が削除されたことが確認できました。
再度リソースを割り当てる場合は、前述した「drbdmanage assign <リソース名> <ホスト名>」コマンドで再びアサインできます。ある物理サーバだけ一時的にメンテナンスを行うといった場面で、これまでより効率よく運用できるでしょう。
次回は、Ansibleを使い、今回実践した一連の構築作業を「自動化」するテクニックを解説する予定です。
筆者紹介
澤田健(さわだ けん)
さまざまなIT関連業務経験ののちに2013年よりインフラエンジニアとしての業務に携わる。また、DRBDを始めとするオープンソースソフトウェアのサポート業務にも携わっている。ツイッターでDRBDの情報発信も行っている。TwitterID:@ksawada1979。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 障害時にサブサーバへ自動で切り替える「高可用性WordPressシステム」の作り方 前編
サービスを止めてはならない環境で活躍する冗長化支援ツール「DRBD」。今回は、CMSツールとして多くのWebサイトで利用されている「WordPressサーバ」の高可用性をDRBDで確保する方法を解説します。前編は、必要なソフトウェアのインストールと初期設定までを説明します。 - DRBD(Distributed Replicated Block Device)とは何か
障害監視ツールなどと一緒に使うことで、サービスの継続提供を助けるDRBD。Linuxカーネルに統合されている機能ですが、上手に使いこなしているでしょうか? 本連載では、DRBDの動作や使いどころを順を追って紹介していきます。 - ミラーリングツール「DRBD」によるデータ保護
「Heartbeat」の適切な導入によってHAクラスタを構成し、Linux上で動作しているサービスの可用性を上げることができます。続いて、肝心のデータそのものを保護できるツール「DRBD」について紹介しましょう。 - DRBD+iSCSIでサクッと作れる、Windows 10の「自動データ複製&冗長化システム」
DRBDを軸に、データを遠隔地にも即時複製して万が一の事態に備える「冗長化/高可用性システム」の構築テクニックを紹介する本連載。今回は、Windows 10/Windows Server環境の「自動データ複製&冗長化システムの作り方」を解説します。 - DRBD+iSCSI夢の共演(前編)〜 Windowsドライブをミラーリングで保護 〜
Linux上で動作するオープンソースソフトウエア「DRBD」とiSCSIを組み合わせ、部門内のWindows端末のデータをバックアップするシステムを構築してみよう