今さら聞けない、「Sambaサーバーの冗長化」をDRBDでサクッと実現してしまう方法:DRBDの仕組みを学ぶ(4)(2/4 ページ)
サービスを止めてはならない環境で活躍する冗長化支援ツール「DRBD」。今回は、利用頻度が高い「Sambaサーバー」をDRBDで冗長化して運用する方法をイチから解説します。
「Sambaファイルサーバーを冗長化する」方法
パーティション | 領域 | デバイス名 |
---|---|---|
boot | 500MB | /dev/sda1 |
/ | 20GB | /dev/sda2 |
swap | 4GB | /dev/sda3 |
空き領域 | 273.5GB |
まずはOSインストール前の準備から始めましょう。
インストール途中のパーティション構成で、DRBD専用の領域を作成しておく必要があります。例えば、300GBのHDDのあるサーバーへDRBDをインストールする場合は、右図のようにパーティションを作成してください。
ひとまず空き領域はそのままにして、OSのインストールを済ませます。
OSのインストールも少し不安でしたら、以下の参考記事も一緒にご覧下さい。
なお、AWS(Amazon Web Services)やIBM SoftLayer、Microsoft AzureなどのパブリッククラウドのIaaS(Infrastructure as a Service)環境で仮想マシンを置いて運用する場合は、2台目のディスクを追加して、これをDRBD用ディスク(領域)としてください。後ほど設定ファイルに記載しますので、このデバイス名をメモしておいてください(「/dev/xvdc1」など)。
続いて、DRBDシステムの構築が完了するまで、一時的にfirewalldやiptablesのサービスと自動起動を止めます。システム構築時における構築設定の問題か、それ以外かの問題の切り分けを行いやすくするためです。構築が終わったら再起動してください。
# systemctl stop firewalld # systemctl disable firewalld
CentOS 6では、以下のコマンドでiptablesを止めます。
# service iptables stop # chkconfig iptables off
(1-1)パッケージのアップデート
OSのインストールが完了したらCentOSのパッケージを最新版に更新(yum update)します。以下のコマンドでパッケージのアップデートを行います。
# yum update
(1-2)DRBD用パーティション領域の作成
OSインストール時に空けておいた領域へ、partedコマンドを使用してDRBD用のパーティション領域を作成します。
まずはディスクの状態を確認します。以下は使用ディスクが/dev/sdaの場合の例ですので、自身が運用する環境に応じて適宜読み替えてください。print freeで詳細が表示されます。
# parted /dev/sda GNU Parted 3.1 /dev/sda を使用 GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。 (parted) print free モデル: ATA VBOX HARDDISK (scsi) ディスク /dev/sda: 300.0 GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos ディスクフラグ: 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 32.3kB 1049kB 1016kB 空き容量 1 1049kB 525MB 524MB primary xfs boot 2 525MB 22.0GB 21.5GB primary xfs 3 22.0GB 26.3GB 4295MB primary linux-swap(v1) 26.3GB 300.0GB 273.7GB 空き容量 (parted)
ここから、「26.3GBから300.0GBまで」が空き領域であることが分かります。
続いて、以下のコマンドで、26.3GBから300.0GB目までをxfsファイルシステムとしてパーティションを作成します。なお、DRBDはxfs以外のファイルシステムも指定できます。
(parted) mkpart primary xfs 26.3GB 300GB
再度ディスクの状態を確認します。
(parted) print free モデル: ATA VBOX HARDDISK (scsi) ディスク /dev/sda: 300.0 GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos ディスクフラグ: 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 32.3kB 1049kB 1016kB 空き容量 1 1049kB 525MB 524MB primary xfs boot 2 525MB 22.0GB 21.5GB primary xfs 3 22.0GB 26.3GB 4295MB primary linux-swap(v1) 4 26.3GB 300.0GB 273.7GB primary (parted)
「4」が空き領域ではなくなりました。ファイルシステム欄は空白で問題ありません。これを確認できたらquitでpartedコマンドを終了します。
(1-3)「hosts」設定を行う
「/etc/hosts」ファイルへ、プライマリ機(一号機)とセカンダリ機(二号機)のDRBDのレプリケーション用ホスト名を追記します。
DRBDの設定ファイルは/etc/hostsに記載されているホスト名でホストを判断しますから、忘れずに設定してください。今回の構成例では、以下のように追記します。
10.0.0.1 drbd-one 10.0.0.2 drbd-two ...(※設定箇所のみ抜粋)
(1-4)selinux設定を無効にする
DRBDを使用したシステムでは、SELinux(Security-Enhanced Linux)は「無効(disabled)」が推奨となっています(2015年12月現在)。/etc/sysconfig/selinuxの設定をdisabledにします。
SELINUX=disabled ...(※設定箇所のみ抜粋)
以上でDRBDに関する大枠の準備は完了です。その他のOSに関する設定やネットワーク関連の設定は、自身の環境に環境に合わせて設定してください。
ここまでの設定を確実に反映させるために一度サーバーを再起動します。
(2)DRBDをインストールする
では、DRBDをインストールしましょう。
CentOS 7、CentOS 6のデフォルトリポジトリではDRBDはインストールできませんので、yumリポジトリに「EPEL」を追加してからDRBDをインストールします。
CentOS 7環境では、以下のコマンドでEPELのリポジトリを追加します(2015年12月現在)
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
同じくCentOS 6環境では、以下となります。
# rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
今回は原稿執筆時の2015年12月時点の例を示しました。もし共にリポジトリが見つからない場合は、最新のリポジトリのURLを<こちら>のサイトで確認し、文字列を入れ替えてください。
リポジトリを追加したら、DRBDを以下のコマンドでインストールします。
# yum install -y drbd84-utils kmod-drbd84
なお、DRBDはオープンソースソフトウエア(OSS)ですから、ソースコードをコンパイルしてインストールすることも可能です。ソースからコンパイルしてインストールする場合は、こちらを参照してください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- DRBD(Distributed Replicated Block Device)とは何か
障害監視ツールなどと一緒に使うことで、サービスの継続提供を助けるDRBD。Linuxカーネルに統合されている機能ですが、上手に使いこなしているでしょうか? 本連載では、DRBDの動作や使いどころを順を追って紹介していきます。 - ミラーリングツール「DRBD」によるデータ保護
「Heartbeat」の適切な導入によってHAクラスタを構成し、Linux上で動作しているサービスの可用性を上げることができます。続いて、肝心のデータそのものを保護できるツール「DRBD」について紹介しましょう。 - ここが変わったCentOS 7──「新機能の概要とインストール」編
「CentOS 7」を皆さんどれだけ理解していますでしょうか。CentOS 7は、以前のバージョンから使い勝手がかなり変わりました。本連載では、今さら聞けない/おさらいしたいというインフラエンジニアに向け、CentOS 7の概要と基礎から活用Tipsまでを紹介していきます。 - DRBD+iSCSI夢の共演(前編)〜 Windowsドライブをミラーリングで保護 〜
Linux上で動作するオープンソースソフトウエア「DRBD」とiSCSIを組み合わせ、部門内のWindows端末のデータをバックアップするシステムを構築してみよう - OSSとLinuxで高可用システム構築を支援、サードウェア
- Sambaサーバー構築、5つのべからず− 若葉マーク管理者に捧げる
LinuxやUNIXをWindowsのファイルサーバー/プリントサーバーとしてしまうことができる「Samba」は、手軽にファイル共有環境を構築することができ、サーバー管理入門にもぴったりです。インターネット上の関連情報も豊富ですが、しっかり出所を確かめないと誤った設定を招く恐れがあります。