パーティション | 領域 | デバイス名 |
---|---|---|
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
OSのインストールが完了したらCentOSのパッケージを最新版に更新(yum update)します。以下のコマンドでパッケージのアップデートを行います。
# yum update
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コマンドを終了します。
「/etc/hosts」ファイルへ、プライマリ機(一号機)とセカンダリ機(二号機)のDRBDのレプリケーション用ホスト名を追記します。
DRBDの設定ファイルは/etc/hostsに記載されているホスト名でホストを判断しますから、忘れずに設定してください。今回の構成例では、以下のように追記します。
10.0.0.1 drbd-one 10.0.0.2 drbd-two ...(※設定箇所のみ抜粋)
DRBDを使用したシステムでは、SELinux(Security-Enhanced Linux)は「無効(disabled)」が推奨となっています(2015年12月現在)。/etc/sysconfig/selinuxの設定をdisabledにします。
SELINUX=disabled ...(※設定箇所のみ抜粋)
以上でDRBDに関する大枠の準備は完了です。その他のOSに関する設定やネットワーク関連の設定は、自身の環境に環境に合わせて設定してください。
ここまでの設定を確実に反映させるために一度サーバーを再起動します。
では、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.