「waku2とらふぃっくすHAクラスタ化プロジェクト」のひとつです。 本日は、「DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその1[基本設定・LVM/ネットワーク]」についてです。
こんにちは。猫ITソリューションズ広報の齊藤メイ(♀)です。 本日は、「DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその1[基本設定・LVM/ネットワーク]」についてです。
関連記事:
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその1[基本設定・LVM/ネットワーク]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその2[DRBD/GFSのインストール]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその3[DRBDの設定]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその4[GFS2の設定]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその5[LVM Clusterの設定]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその6[GFS2でフォーマット]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその7[動作テスト]
- DRBD(Primary/Primary) + GFS2によるネットワークミラーリングその8[起動・終了]
貴重な情報をありがとうございます。深く感謝の意を表します。
参考サイト:
- ウノウラボ Unoh Labs: DRBDによるコンテンツの相互バックアップ
- CentOS 5.2でPrimary/Primary構成のDRBD+GFSを組む
- DRBD+GFS2でPrimary/Primary構成 on CentOS での起動スクリプト - なんとなく日記
- DRBD+GFS2 - ネットワークでミラーリング + 共有ディスク
- DRBD (Primary/Primary) + GFS2で1ノード落としても大丈夫に
- 負荷分散システム上でのハードディスクデータの同期をDRBDで実現する
- GFSフォーマットする前に。 (4) RedHat Cluster と Quorum
- 検閲Tech: Xen DomU上でDRBDを使う・その0・概要
- gfsとiscsiを使ったファイル共有をやってみた(構築編)
- ほげほげぐだぐだまったり DRBDでStandAloneにしないために
- drbdのスプリットブレイン訓練 - お仕事日記。
ここでの構成は以下の通り。(xenが前提です。洒落のつもりはないです)
- (Domain-0)mikeneko.waku2traffics.com
- (Domain-U)buchineko.waku2traffics.com
- (Domain-U)sabineko.waku2traffics.com
- (Domain-0)toraneko.waku2traffics.com
- (Domain-U)shironeko.waku2traffics.com
- (Domain-U)kuroneko.waku2traffics.com
- (eth0)192.168.1.20/(eth1)10.0.0.20 mikeneko.waku2traffics.com
- (eth0)192.168.1.21/(eth1)10.0.0.21 buchineko.waku2traffics.com
- (eth0)192.168.1.22/(eth1)10.0.0.22 sabineko.waku2traffics.com
- (eth0)192.168.1.30/(eth1)10.0.0.30 toraneko.waku2traffics.com
- (eth0)192.168.1.31/(eth1)10.0.0.31 shironeko.waku2traffics.com
- (eth0)192.168.1.32/(eth1)10.0.0.32 kuroneko.waku2traffics.com
OS:CentOS5.2 x86_64版
なお、構成についてですが、正直こんな文字だけでは分からないと思います。 申し訳ありませんが図は用意できませんのでご了承願います。構成を自分なりの図にすることをオススメしますが、さっぱりわからないと思いますので、この本を参考に作る事を強くオススメします。
【中古】 Linuxアドバンストネットワークサーバ構築ガイド HAサーバ構築編/デージーネット(著者)
【中古】 Xen徹底入門 第2版
各アプリケーションのなんとなくの仕様の理解、上記構成をなんとなく図解できる程の把握、Xenでの仮想化完了が前提となります。 以下の記事も合わせてお読みください。
Xen(Domain-0)のインストール
Xen(Domain-U)のインストール
Xenマスターイメージ作成
Xen(Domain-U)の複製(LVMベース)
Xen(Domain-U)で複数のネットワークインターフェイスを使う
パーティション設定
sabineko/kuroneko両方で行う。
DRBD用クラスタ領域の作成。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# fdisk /dev/sda 確認 コマンド(m でヘルプ):p 領域作成 コマンド(m でヘルプ):n コマンドアクション e 拡張 p 基本領域(1-4) p ※sda1/2はあるので3。 領域番号(1-4):3 ※2に続けて追加なので空エンター 最初 シリンダ(xxxx):空エンター ※5GB使いたいので+5G 終点 シリンダ(xxxx):+5G 領域のシステムIDを変更(=パーティションタイプ変更) コマンド(m でヘルプ):t ※さっき作った3に対して行うので3。 領域番号(1-4):3 16進数コード(xxxx):8e 領域のシステムタイプを 3 から 8e(Linux LVM)に変更しました 確認 コマンド(m でヘルプ):p 変更をハードディスクに書き込み終了 コマンド(m でヘルプ):w 領域テーブルは交換されました! |
ここでDomain-0/Uともに再起動した方がいいかもしれない。
LVM
sabineko/kuroneko両方で行う。
DRBD用設定
物理ボリュームを作成
1 |
# pvcreate /dev/sda3 |
ボリュームグループを作成
1 |
# vgcreate VolGroup01 /dev/sda3 |
論理ボリュームを作成
1 |
# lvcreate -L 5GB -n LogVol_DRBD_0 VolGroup01 |
とりあえずフォーマット。
1 |
# mkfs.ext3 /dev/sda3 |
sabineko/kuronekoにDRBD用ボリュームとして/dev/xvdbをエクスポートするためのLVを作成する。
mikenekoで実行
1 2 |
# lvcreate --size=5G --name LogVol_DRBD_0 VolGroup00 Logical volume "LogVol_DRBD_0" created |
toranekoで実行
1 2 3 |
# lvcreate --size=5G --name LogVol_DRBD_0 VolGroup00 /dev/hda: open failed: メディアが見つかりません Logical volume "LogVol_DRBD_0" created |
sabineko設定ファイルのdiskに追記する。 mikenekoで実行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# vi /etc/xen/sabineko name = "sabineko" uuid = "92811fbd-f21c-6706-f781-52e6c5870b94" maxmem = 2048 memory = 2048 vcpus = 1 nicks = 2 bootloader = "/usr/bin/pygrub" on_poweroff = "destroy" on_reboot = "restart" on_crash = "restart" vfb = [ ] disk = [ "phy:/dev/VolGroup00/LogVol_sabineko,xvda,w"<strong>,"phy:/dev/VolGroup00/LogVol_DRBD_0,xvdb,w"</strong> ] vif = [ "mac=00:16:3e:00:01:22,bridge=xenbr0"<strong>,"mac=00:16:3e:00:00:22,bridge=xenbr1"</strong> ] |
kuroneko設定ファイルのdiskに追記する。 toranekoで実行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# vi /etc/xen/kuroneko name = "kuroneko" uuid = "d6fa4878-e769-c4d9-a890-030535670e0e" maxmem = 512 memory = 512 vcpus = 1 nicks = 2 bootloader = "/usr/bin/pygrub" on_poweroff = "destroy" on_reboot = "restart" on_crash = "restart" vfb = [ ] disk = [ "phy:/dev/VolGroup00/LogVol_kuroneko,xvda,w"<strong>,"phy:/dev/VolGroup00/LogVol_DRBD_0,xvdb,w"</strong> ] vif = [ "mac=00:16:3e:00:01:32,bridge=xenbr0"<strong>,"mac=00:16:3e:00:00:32,bridge=xenbr1"</strong> ] |
sabineko/kuronekoでxvdbが見えるかどうか確認。 両方で実行
1 2 3 4 5 |
# ls -l /dev/xvd* brw-r----- 1 root disk 202, 0 Jul 24 21:41 /dev/xvda brw-r----- 1 root disk 202, 1 Jul 24 21:41 /dev/xvda1 brw-r----- 1 root disk 202, 2 Jul 24 21:41 /dev/xvda2 brw-r----- 1 root disk 202, 16 Jul 24 21:41 /dev/xvdb |
「とりあえず動かす」ためのネットワーク設定
sabineko/kuronekoで実行。
ファイアーウォールを一時的に無効にする。
1 |
# iptables -F |
SELinuxを一時的に無効にする。
1 |
# setenforce 0 |
hostsで名前解決できるようにしておく。 127.0.0.1はlocalhostだけすること。ホスト名は必ずネットワークのアドレスを 設定すること。こうしないとclvmが起動できない。
注意すること。
DRBDの設定ファイルとホスト名が一致している必要があるので設定。 sabineko/kuroneko 両方。
1 2 3 4 5 6 7 8 9 10 11 |
# vi /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost ::1 localhost6.localdomain6 localhost6 10.0.0.20 mikeneko.waku2traffics.com mikeneko 10.0.0.21 buchineko.waku2traffics.com buchineko 10.0.0.22 sabineko.waku2traffics.com sabineko 10.0.0.30 toraneko.waku2traffics.com toraneko 10.0.0.31 shironeko.waku2traffics.com shironeko 10.0.0.32 kuroneko.waku2traffics.com kuroneko |
DRBDの設定ファイルとホスト名が一致している必要があるので確認・設定。 sabinekoで実行
1 2 |
# hostname sabineko.waku2traffics.com |
kuronekoで実行
1 2 |
# hostname kuroneko.waku2traffics.com |
問題なければOK。
もしまだホスト名が設定しなかったら以下で設定。
1 2 3 4 |
# vi /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=kuroneko.waku2traffics.com |
次回は、DRBD/GFSのインストールについてです。