検索
連載

今さら聞けない、「Sambaサーバーの冗長化」をDRBDでサクッと実現してしまう方法DRBDの仕組みを学ぶ(4)(4/4 ページ)

サービスを止めてはならない環境で活躍する冗長化支援ツール「DRBD」。今回は、利用頻度が高い「Sambaサーバー」をDRBDで冗長化して運用する方法をイチから解説します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

DRBD環境を実際に運用してみる

 2台のSambaサーバーを冗長化したDRBDシステムが構築できました。1ページ目で示した「図1」と同じ構成になったでしょうか。

photo 図1 今回構築するDRBD×Sambaサーバー冗長化システムの構成図

 では、運用テストをしましょう。WindowsマシンでSambaサーバーへアクセスしてください。今回の構成例では「\\192.168.0.11\Share」となります。ちなみに、ShareとはSambaで設定した共有ディレクトリ名です。

 ファイルサーバーへ幾つかファイルを保存してみます。

photo 図5 Windowsマシンからファイルサーバーへ、Microsoft Wordのファイルを保存した例。ファイルサーバーとして機能していることが分かります

 普段はこの一号機でサービスを提供するということですね。

障害発生時、セカンダリ機へ切り替えるまでの手順

 続いて、二号機へ切り替える手順を紹介します。もし一号機に障害が発生したら、バックアップの二号機へすぐに切り替えてサービスを継続できる。ここがDRBDで冗長化した効果を実感できる部分です。

photo 図2 障害発生時のイメージ

(5-1)一号機(プライマリ機)の降格を指示

 一号機を操作し、共有領域の/home/ShareをアンマウントするためにSambaサーバーを止めます。

# systemctl stop smb
# systemctl stop nmb

 続いてSambaの領域をアンマウントします。

# umount /home/share

 プライマリ機であった一号機をセカンダリに降格させます。

# drbdadm secondary r0

(5-2)二号機(セカンダリ機)の昇格を指示

 次はこの逆です。二号機を操作して、セカンダリ機であった二号機をプライマリに昇格させます。

# drbdadm primary r0

 二号機のSambaサーバーを起動します。

# systemctl start smb
# systemctl start nmb

 Samba領域をマウントします。

# mount /dev/drbd0 /home/share

 これで、二号機がプライマリに、一号機はセカンダリに替わりました。二号機にも一号機と同じデータがあるかを確認しましょう。Windowsマシンで二号機の「\\192.168.0.12\Share」へアクセスします。

photo 図 二号機にも同じファイルが保存されていました

(補足)DRBD関連のログはどこにある?

 DRBD関連のログは、システムログへ出力されます。

 CentOS 7では、journalctlコマンドを使って参照します。CentOS 6では「/var/log/messages」下にあります。


身近なファイルサーバーから、高可用性を求めるシステムまでカバーできるDRBD

 以上がDRBDでファイルサーバーを冗長化し、バックアップサーバーの切り替えを行うまでの手順です。このように、DRBDによってサーバーの冗長化対策が比較的手軽にできることをご理解いただけましたでしょうか。ちなみに今回の設定ファイルの例ですとDRBDで使用するポートは「7788」のみです。本番運用時は7788ポートの開放もお忘れなくお願いします。

 次回は、もっと重要なサービスや大規模なシステムを想定し、「切り替えの自動化」を踏まえたDRBDシステムの実践テクニックを紹介します。


筆者紹介

澤田健(さわだ けん)

株式会社サードウェア

さまざまなIT関連業務経験ののちに2013年よりインフラエンジニアとしての業務に携わる。また、DRBDを始めとするオープンソースソースウエアのサポート業務にも携わっている。ツイッターでDRBDの情報発信も行っている。TwitterID:@ksawada1979。


(編注:2015/12/15 一部記述を追記修正しました)

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る