この度 2.6 系 kernel を採用している Linux ディストリビューション上にて
LifeKeeper for Linux を採用頂き、データレプリケーション構成をご利用頂いてお
ります環境に於いて、カーネルモジュールの問題が起因となり、データレプリケーション
に利用しているネットワーク障害が発生した際に正常な縮退動作を行なえない事象が発生
する場合がある事が確認されました。
該当するディストリビューションは Red Hat Enterprise Linux(以下 RHEL)、及び
SuSE Linux Enterprise Server(以下 SLES)が該当します。
LifeKeeper のデータレプリケーション構成ではデータレプリケーションに利用してい
るハートビートラインが切断等の通信不可状態となった場合、あるいは待機系サーバーに
障害が発生した場合、本来であれば LifeKeeper の機能として待機系サーバーを切り
離す縮退動作を実施いたします。
しかしながら今回、RHEL 4 及び 5、SLES 10 の nbd モジュールの不具合により縮退
動作を実施することができない場合がある事が判明致しました。
縮退動作が正常に実施できない場合、同期モードの場合には稼動系サーバーのリクエスト
がコミットできない状況が続き、データレプリケーション領域に対して書き込みを要する
サービスの停止が即時に発生します。合わせて同期、非同期何れのモードであっても結果
として稼動系サーバーのロードアベレージ上昇、最終的にはサービスが停止するに至って
しまう場合があります。
上記事象を解消する手段としては下記二点のいずれかの対応が必要である為、ご検討の程
お願い致します。
・ ディストリビューター各社による nbd モジュールの不具合改修
及び nbd モジュール改修に合わせた LifeKeeper 製品の改修
・ LifeKeeper による対策パッチの導入
なお、本事象の根本原因が Linux kernel 側にある為、LifeKeeper 製品としては
現時点で製品として行なえる対策パッチのご提示をさせて頂く形となりますが、Linux
kernel 側で修正が行なわれた場合にはその修正に合わせた製品側の改修が発生する事
が予想されます。
上記より現時点では Linux kernel の修正パッケージ導入のみで本事象が回避できる
問題では無いと認識しております。
■ 影響を受ける LifeKeeper 製品のバージョン
Kernel モジュールの問題である為、LifeKeeper 全バージョンが影響します。
※ 2011年1月31日現在、最新版は v7.1 となります。
■ 対象 OS のバージョン
2011年1月31日現在下記が該当します。
・RHEL 4 及び 5
・SLES 10
RHEL 6(LifeKeeper for Linux v7.1 では未対応)、SLES 11 に於いては対策さ
れた Kernel バージョンが採用されています。
■ 発生条件
縮退処理時に以下の全てが発生している場合。
・データレプリケーションに利用しているネットワークが利用できない
※ネットワーク障害発生時や待機系(ターゲット)のノード障害発生時
・データレプリケーション領域に対して書き込み要求が発行されている
※読み込み要求時にはローカルディスクのみが応答を返す動作をします。
■ 発生頻度
データレプリケーションに利用しているネットワークを Bonding 等で冗長化される等
対障害性を高める構成を取られている場合が多いと考えられる為、発生頻度は非常に低い
ものであると想定します。
また待機系がノード障害を起こす場合についても稼働系より低いと考えられる為、発生頻
度はより低いものであると想定します。
なお、2011年1月31日現在、運用環境に於いての事象発生報告は 1 件のみとなります。
■ Red Hat 社による nbd モジュールの不具合改修について
原因が明確になった時点で Red Hat 社に対して弊社よりエスカレーションを実施してお
ります。現状、Red Hat 社(日本)では対応すべき事象として、米国 Red Hat 社に正
式にエスカレーションを実施いただきました。エスカレーション結果につきましては、
2011年1月31日現在、RHEL 5 用の事象改善確認用テストカーネルの提供を受けております
が、RHEL 4 対応についてや今後のリリーススケジュール等は明確になっておりません。
■ Novell 社による nbd モジュールの不具合改修について
Novell 社に対して弊社よりエスカレーションを実施しておりますが、2011年1月31日現在、
今後のリリーススケジュール等は明確になっておりません。
■ LifeKeeper による対策パッチのご提供について
nbd モジュールの不具合そのものを修正するものではございませんが、LifeKeeper 製
品側で行なえる対策として、nbd の通信経路であるソース・ターゲット間に仮想的な通信
経路を作成、通信するように修正したパッチを作成致しました。
これにより通信障害が発生しても nbd は正常な応答を得られる為、影響を受けることが
なくなります。依ってこの修正をしたパッチを適応頂く事で問題を回避できます。
また本対策パッチの配布に際しては、製品サポートを行なわせて頂く上で対策パッチ適用
環境である事の把握が必要である為、申請時に以下の情報をご提供頂く必要がございます。
・パッチ導入に際しての作業ご担当者様の以下の情報
– PSC No.
– 氏名
– 会社名
– メールアドレス
– ご連絡先電話番号
・導入先エンドユーザ名
■ 対策パッチ提供対象 LifeKeeper 製品バージョン
– LifeKeeper for Linux v7.1
– LifeKeeper for Linux v7.3
上記バージョンに対して対策パッチを提供させて頂いております。
v7.1未満のバージョンをご利用の場合にはバージョンアップを行なって頂く必要がございます。
※LifeKeeper for Linux v7.4 及び v7.5 に対しては、対策パッチを提供しておりません。
LifeKeeper for Linux v7.4 及び v7.5 をご使用される場合は、RHEL 6 もしくはSLES 11 を
ご利用ください。
<改定履歴>
[2011年5月19日 改定] 対策パッチ提供対象にLifeKeeper for Linux v7.3が加わりました。
[2012年2月2日 改定] バージョン情報を追記しました。
掲載日: 2011年1月31日