2016年11月1日火曜日

LIO Cluster [LIO, DRBD, Pacemaker による冗長化 iSCSI Target] (その1)構成

【目次】
◆LIO Cluster 構築編
(その1)構成
(その2)Oracle Linux 7.2 インストールと初期設定
(その3)クラスタ関連パッケージのインストール
(その4)LVM
(その5)DRBD リソース設定
(その6)pcs,Corosync,Pacemaker の基本設定
(その7)DRBD, LVM の残設定
(その8)LIO
(その9)Pacemaker にさせたいこと
(その10)Pacemaker のリソース設定
(その11)構築編のまとめ (全構築手順(最新版)をPDF、エクセルファイルにて公開)

◆LIO Cluster リソース監視編
(その12)Munin 用プラグイン (DRBD)
(その13)Munin 用プラグイン (LIO)
(その14)Munin インストール、設定

◆LIO Cluster 障害テスト編
(その15)障害テスト環境
(その16)障害テスト計画
(その17)システムバックアップ
(その18)片系全損からのリカバリ

Red Hat Enterprise Linux 7 が 2014/06/09 にリリースされてから2年以上経過しました。rhel6 からの変更点が多すぎることや対応する商用製品が出揃うのを待たざるを得ない等の理由で、rhel7 が積極的に採用されていなかったと思いますが、rhel6 のサポート期限などを勘案すると、rhel7 への移行は待ったなしの状況に追い込まれてくることも出てくるものと思われます。まもなく 7.3 が出るということもありますし、本ブログでも、rhel7 へシフトした記事にしようと考えております。

rhel7 になってよかったことの1つが LIO の採用です。iSCSI Target である LIO の特長として、カーネルモジュールとして実装されていることと、SCSI3 Persistent Reservation がサポートされていることが挙げられます。特に後者の特長は、クラスタを組む場合に必須となることの多い機能です。Windows Server の MSFC で利用する共有ストレージは、SCSI3 Persistent Reservation のサポートがないと動きません。Veritas の Storage Foundation HA (VCS) も同様です。VMware VAAI がサポートされている点もうれしいところです。

前置きはこれくらいにして、LIO Cluster (LIO, DRBD, Pacemaker による冗長化 iSCSI Target) の構築について述べていきたいと思います。
最近は自由に使える IBM Bluemix(SoftLayer) のアカウントを持っていないのですが、Bluemix で動くであろう構成で話を進めていきます。構築・検証作業は ESXi にて行います。NIC の冗長化については、Bluemix では LAG となっていますが、本稿では Active-Backup とさせていただきます。


想定している構成は以下の通りです。


※ 本連載で黄緑色の部分は、環境に合わせて読み替えたり、カスタマイズ(名前を変えたり、実行するしないを選択)する部分を表します。ただし、日付や注目していない UUID 等は除きます。

想定するサーバ2台のスペックは以下の通りです。

CPU          : 2Core 以上
Memory       : 2GB 以上
DVD ドライブ : 1台
HDD 1        : 8GB 以上  (1st Disk, OS 用, /dev/sdaHDD 2        : 1GB 以上  (swap 用, /dev/sdb
HDD 3        : 1GB 以上  (2nd Disk, データ用, /dev/sdcHDD 4        : 1GB 以上  (3th Disk, データ用, /dev/sdd)
HDD 5        : 1GB 以上  (4th Disk, データ用, /dev/sde)
HDD 6        : 1GB 以上  (5th Disk, データ用, /dev/sdf)
NIC 1        : 1Gbps 以上、サービス用セグメント        (IBM Bluemix(SoftLayer) では Private VLAN)へ接続
NIC 2        : 1Gbps 以上、インターコネクト用セグメント(IBM Bluemix(SoftLayer) では Public  VLAN)へ接続
NIC 3        : 1Gbps 以上、サービス用セグメント        (IBM Bluemix(SoftLayer) では Private VLAN)へ接続
NIC 4        : 1Gbps 以上、インターコネクト用セグメント(IBM Bluemix(SoftLayer) では Public  VLAN)へ接続

※ Bluemix で提供される仮想マシンには、swap 専用の仮想 HDD が存在しており、デバイス名は異なるものの、構成を統一するために、上記のようなディスク構成としています。物理サーバであれば RAID を組むと思うので、論理ディスクの構成もこのようにしておけばよいと思います。swap 専用の HDD を用意しない場合は、1st Disk 内にパーティションを切ればよいです。

共有ストレージの構成は以下の通りです。

/dev/sdc1         : LVM 物理ボリューム
/dev/sdd1         : LVM 物理ボリューム
/dev/sde1         : LVM 物理ボリューム
/dev/sdf1         : LVM 物理ボリューム
vg0               : LVM ボリュームグループ
/dev/vg0/lv-drbd0 : LVM 論理ボリューム(DRBD 用ブロックデバイスとして使用)
/dev/drbd0        : DRBD リソース(LVM 物理ボリュームとして使用)
vg1               : DRBD 上のボリュームグループ
/dev/vg1/lv-lun0  : DRBD 上の LVM 論理ボリューム(lun0 としてエクスポート)
/dev/vg1/lv-lun1  : DRBD 上の LVM 論理ボリューム(lun1 としてエクスポート)
/dev/vg1/lv-lun2  : DRBD 上の LVM 論理ボリューム(lun2 としてエクスポート)
/dev/vg1/lv-lun3  : DRBD 上の LVM 論理ボリューム(lun3 としてエクスポート)


本連載では、OS は Oracle Linux 7.2 以降とします。

サポート契約を考えた場合、私がおすすめできるものとして、以下のような選択肢があります。

① RHEL を利用し、DRBD の開発元 Linbit 社と直接契約し、RHEL のサポートと組み合わせる。
② Oracle Linux または RHEL を使い、UEK カーネルを利用し、Oracle Linux のサポートを最大限活用する。
③ CentOS を使い、NRI OpenStandia のようなサポート・サービスを利用する。

英語でのやり取りに問題がなく、海外企業と直接契約することに慣れている方は①もありだと思いますが、非常に高額となります。この中で、サポート品質とコストを考慮すると、一番いいのは②だと思います。Oracle Linux の UEK (Unbreakable Enterprise Kernel) では、デフォルトで drbd カーネルモジュールがコンパイル済みで付属しています。DRBD は Technical Preview 扱いですが、それなりのサポートはしてくれるようですし、MySQL のサブスクリプションも併せて購入すれば完全サポートしてくれる、という話もありますが、Oracle 社の営業と直接交渉してみてください。その他で③以外の選択肢は、私が知っている範囲でお勧めできるサポート・サービスはなさそうです。

Oracle Linux は無償利用も可能であり、CentOS を選択しようと考えている場合には、一考の価値ありだと思います。サブスクリプションを購入する場合でも、RHEL の半額程度であり、アドオンについても追加費用なしでサポートされる点も魅力だと思います。なによりもサポート力の大きさは、超高額なデータベースを販売しているだけのものがあります。面白い特徴として、RHEL のまま使い、保守を Oracle Linux に切り替える、というサービスも追加料金なしで利用可能です。RHEL が EOL (End Of Life) を迎えた後も Oracle Linux は保守延長可能(今のところ永久延長可能? ハードがもたないが仮想環境なら大丈夫?)です。

サポート契約を考えない場合でも、Oracle Linux にしておけばよいと考えています。
パッチも迅速に提供されており、無償で利用可能だからです。

0 件のコメント:

コメントを投稿