emr_na-c02067217 - HPE Support Center

HP Serviceguard for Linux
A.11.16 リリースノート
第3版
Manufacturing Part Number : B9903-90053
2006 年 8 月
ご注意
1. 本書に記載した内容は、予告なしに変更することがあります。
2. 本書は内容について細心の注意をもって作成いたしましたが、万一ご不審な点や誤り、記載
もれなど、お気付きの点がございましたら当社までお知らせください。
3. 当社は、お客様の誤った操作に起因する損害については、責任を負いかねますのでご了承く
ださい。
4. 当社では、本書に関して特殊目的に対する適合性、市場性などについては、一切の保証をい
たしかねます。また、備品、性能などに関連した損傷についても保証いたしかねます。
5. 当社提供外のソフトウェアの使用や信頼性についての責任は負いかねます。
6. 本書の内容の一部または全部を、無断でコピーしたり、他のプログラム言語に翻訳すること
は法律で禁止されています。
7. 本製品パッケージとして提供した本書や媒体は本製品用だけにお使いください。プログラム
をコピーする場合はバックアップ用だけにしてください。プログラムをそのままの形で、あ
るいは変更を加えて第三者に販売することは固く禁じられています。
U.S. Government License
Confidential computer software. Valid license from HP required for possession, use or copying.
Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software
Documentation, and Technical Data for Commercial Items are licensed to the U.S.
Government under vendor's standard commercial license.
著作権
©Copyright 2001-2006 Hewlett-Packard Development Company, L.P.
本書には著作権によって保護されている内容が含まれています。本書の内容の一部または全部を
著作者の許諾なしに複製、改変、および翻訳することは、著作権法下での許可事項を除き、禁止
されています。
© Copyright 1979, 1980, 1983, 1985-96 Regents of the University of California. This software
is based in part on the Fourth Berkeley Software Distribution under license from the regents
of the University of California.
© Copyright 1986-1997 Sun Microsystems, Inc.
2
商標
HP Serviceguard® は、Hewlett-Packard Company の登録商標です。また、著作権で保護され
ています。
NFS® は、Sun Microsystems, Inc. の登録商標です。
NIS™ は、Sun Microsystems, Inc. の商標です。
Red Hat® は、Red Hat Software, Inc. の登録商標です。
Linux® は、Linus Torvalds の登録商標です。
UNIX® は、The Open Group の登録商標です。
SUSE® は、SUSE AG、Novell Business の登録商標です。
謝辞
本製品の一部には、Apache Software Foundation (http://www.apache.org/) が開発したソフト
ウェアが含まれています。
本製品の一部には、Independent JPEG Group (http://www.ijg.org) が開発したソフトウェアが
含まれています。
原典
本書は、
『HP Serviceguard for Linux Version A.11.16 Release Notes, Third Edition』(HP Part
No. B9903-90051) を翻訳したものです。
3
納入後の保証について
•
保証の期間は、ご購入時に当社よりお出しした見積書に記載された期間とします。保証サー
ビスは、当社の定める休日を除く月曜日から金曜日までの、午前 8 時 45 分から午後 5 時 30
分の範囲で無料で行います。当社で定めたシステム製品については出張修理を行い、その他
の製品については当社にご返却いただいた上での引取り修理となります。当社が定める地域
以外における出張修理対象製品の修理は、保証期間中においても技術者派遣費が有料となり
ます。
•
ソフトウェア製品の保証は上記にかかわらず、下記に定める範囲とさせていただきます。
— ソフトウェア製品およびマニュアルは当社が供給した媒体物の破損、資料の落丁および
プログラムインストラクションが実行できない場合のみ保証いたします。
— バグおよび前記以外の問題の解決は、別に締結するソフトウェアサポート契約に基づい
て実施されます。
•
次のような場合には、保証期間内でも修理が有料となります。
— 取扱説明書等に記載されている保証対象外部品の故障の場合。
— 当社が供給していないソフトウェア、ハードウェア、または補用品の使用による故障の場合。
— お客様の不適当または不十分な保守による故障の場合。
— 当社が認めていない改造、酷使、誤使用または誤操作による故障の場合。
— 納入後の移設が不適切であったための故障または損傷の場合。
— 指定外の電源 ( 電圧、周波数 ) 使用または電源の異常による故障の場合。
— 当社が定めた設置場所基準に適合しない場所での使用、および設置場所の不適当な保守
による故障の場合。
— 火災、地震、風水害、落雷、騒動、暴動、戦争行為、放射能汚染、およびその他天災地
変等の不可抗力的事故による故障の場合。
•
当社で取り扱う製品は、ご需要先の特定目的に関する整合性の保証はいたしかねます。ま
た、そこから生じる直接的、間接的損害に対しても責任を負いかねます。
•
当社で取り扱う製品を組み込みあるいは転売される場合は、最終需要先における直接的、間
接的損害に対しては責任を負いかねます。
•
製品の保守、修理用部品の供給期間は、その製品の製造中止後 5 年間とさせていただきます。
本製品の修理については取扱説明書に記載されている最寄の事業所へお問い合わせください。
4
1 Serviceguard for Linux A.11.16 リリース
ノート
はじめに
HP Serviceguard for Linux は、さまざまなハードウェア障害およびソフトウェア障害からミッ
ションクリティカルなアプリケーションを保護するための機能を提供します。
HP Integrity サーバー上の Linux オペレーティングシステムに対応したバージョンの
Serviceguard A.11.16 は、以下の製品番号によりご注文いただけます。
本書に掲載されている製品情報には、日本国内で販売されていないものも含まれている場合があ
ります。製品のご注文については、弊社営業にお問い合わせください。
•
製品番号 T2391AA — A.11.16 — ソフトウェアおよびライセンス
— 1 ライセンス (HP Integrity サーバー用 )。プロセッサごとに 1 ライセンスが必要です。
— 2 CD
— インストールサービスおよびサポートサービス ( 製品オプション )
また、HP ProLiant サーバー上の Linux オペレーティングシステムに対応したバージョンの
Serviceguard A.11.16 は、以下の製品番号によりご注文いただけます。
•
製品番号 B9903BA — A.11.16 — ソフトウェアおよびラインセンス
— 1 ライセンス (HP ProLiant サーバー用 )。サーバーごとに 1 ライセンスが必要です。
— 2 CD
— インストールサービスおよびサポートサービス ( 製品オプション )
•
製品番号 307754-B26 — A.11.16 — ソフトウェアおよびラインセンス
— 1 ライセンス (HP ProLiant サーバー用 )。サーバーごとに 1 ライセンスが必要です。
— 2 CD
— インストールサービスおよびサポートサービス
•
製品番号 305199-B26 — A.11.16 — ソフトウェアキットおよびライセンス
— 2 ライセンス (HP ProLiant サーバー用 )。サーバーごとに 1 ライセンスが必要です。
— 2 CD
第1章
5
Serviceguard for Linux A.11.16 リリースノート
はじめに
— インストールサービスおよびサポートサービス
— ハートビートケーブル。このハートビート ( クロスオーバー ) ケーブルは、追加のハート
ビート接続を必要とする 2 ノードクラスタでのみ使用します。このケーブルを使用して、
2 台のサーバー間を直接接続します。
CD2 枚の内容は以下のとおりです。
•
HP Serviceguard for Linux CD。この CD には、以下のものが収録されています。
— 以下のオペレーティングシステム用の Serviceguard for Linux バージョン A.11.16.07
— Red Hat Enterprise Linux 3 AS または ES
— Red Hat Enterprise Linux 4 AS または ES
— SUSE SLES9
— SUSE SLES10 用の Serviceguard for Linux バージョン A.11.16.08
•
Distributed Components CD。この CD には、Quorum Server および Serviceguard
Manager のソフトウェアおよびマニュアルが収録されています。
この 2 枚の CD で製品マニュアル一式が提供されます。
HP ProLiant サーバー用の Serviceguard for Linux バージョン A.11.16 と HP Integrity サー
バー用の Serviceguard for Linux は、Red Hat Enterprise Linux 3 AS または ES、Red Hat
Enterprise Linux 4 AS または ES、および SUSE SLES9 および SLES10 で使用できます。
クラスタの構成は複雑ですので、インストールと運用開始を円滑に行っていただくため、当社で
はハイアベイラビリティ コンサルティングサービスを提供しています。ハイアベイラビリティ
コンサルティングに関しては、当社担当者にお問い合わせください。そして、当社担当者ととも
に、ディスクドライブ、ディスクコントローラ、LAN コントローラ、およびその他のハード
ウェアで適切なファームウェアを使用するようにしてください。
6
第1章
Serviceguard for Linux A.11.16 リリースノート
A.11.16 の概要
A.11.16 の概要
このバージョンで提供される新機能やオプションを以下に示します。
•
Red Hat Enterprise Linux 4 AS および ES (Update 1 より ) のサポート。
•
新しいアクセス制御ポリシーのサポート。Serviceguard Manager のグラフィカルユーザー
インタフェースまたはコマンド行からアクセス制御ポリシーを構成することができます。
•
セキュリティの強化 ( セキュリティ報告書 HPSBUX01080 に対処するために、当初はパッチ
としてリリースされていました )。
•
Serviceguard Manager A.05.00 のグラフィカルユーザーインタフェース。
— プロパティページで、物理ボリューム、ボリュームグループ、アクセス制御ポリシー (
ロール ) などの追加情報が表示されるようになりました。
•
改良された Linux 2.6 カーネルによる安定性と拡張性の向上。
•
EM64T テクノロジを使った Intel 製プロセッサが搭載されたサーバーと、
AMD64 テクノロジ
を使った AMD 製プロセッサを搭載したサーバー上での Linux ディストリビューションのサ
ポート。
•
HP Integrity Superdome のサポート
— 可用性の高い Linux クラスタが、パーティション、サーバー、データセンター間で利用
できるようになりました。
第1章
7
Serviceguard for Linux A.11.16 リリースノート
A.11.16 の概要
アクセス制御ポリシー
非ルートユーザーの Serviceguard へのアクセスは、クラスタ構成ファイルとパッケージ構成
ファイルで、アクセス制御ポリシーと呼ばれるパラメータで定義するようになりました。
クラスタあたり最大 200 のポリシーを定義することができます。ポリシーの追加、変更、削除
は、クラスタやパッケージを停止せずに行うことができます。ポリシーに競合や重複があると、
cmapplyconf でエラーとなり、構成変更はできません。
Serviceguard A.11.16 の構成をノードに適用すると、Serviceguard は .rhosts ファイルや
cmclnodelist ファイルを参照しなくなります。代わりに、クラスタ構成ファイルおよびパッ
ケージ構成ファイルのアクセス制御ポリシーと照合されます。
注記
クラスタ構成ファイルが存在する場合は、クラスタ構成ファイルまたはパッケー
ジ構成ファイルのアクセスポリシーに、すべての非ルートユーザーを記述する必
要があります。
注記
ノード上のルートユーザーは常にアクセスが許可されますが、それ以外のユー
ザーは少なくとも 1 つのアクセス制御ポリシーに記述されていなくてはなりませ
ん。
各ポリシーは、以下の 3 つの部分からなります。
1. USER_NAME — USER_HOST の /etc/passwd ファイルに定義されている任意のユーザーです。
2. USER_HOST — コマンドを発行するためにユーザーがログインするノードです ( コマンドの対
象となるノードとは限りません )。
3. USER_ROLE — ユーザーに与えられるロール ( 能力 ) で、以下のものがあります。
•
Monitor: ユーザーは、クラスタオブジェクトを表示できます ( 読み取り専用 )。クラスタ構成
ファイルで定義します。コマンド行で、cmviewcl、cmgetconf、cmviewconf、cmquerycl
コマンドが実行可能です。グラフィカルユーザーインタフェースでは、マップ、ツリー、プ
ロパティ上で Serviceguard クラスタに関する情報を表示できます。
8
第1章
Serviceguard for Linux A.11.16 リリースノート
A.11.16 の概要
•
Package Admin: Monitor 特権が含まれます。ユーザーは、パッケージを管理するコマンドを
実行できます。コマンド行で、cmrunpkg、cmhaltpkg、cmmodpkg コマンドが実行可能で
す。グラフィカルユーザーインタフェースでは、メニューに [ パッケージの実行 ]、[ パッ
ケージの停止 ]、[ パッケージの移動 ]、[ ノード切り替え ]、[ パッケージ切り替え ] が表示され
ます。パッケージ構成ファイルで定義されている場合は、ユーザーはそのパッケージを管理
できます。
•
Full Admin: Monitor 特権と Package Admin 特権が含まれます。このユーザーは、クラスタ
を管理するコマンドを実行できます。クラスタ構成ファイルで定義します。コマンド行で
は、cmhaltcl、cmruncl、cmhaltnode、cmrunnode コマンドが実行可能です。グラフィカ
ルユーザーインタフェースでは、メニューに [ クラスタの実行 ]、[ クラスタの停止 ]、[ ノー
ドの実行 ]、[ ノードの停止 ]、[ システムマルチノードパッケージの実行 ]、[ システムマルチ
ノードパッケージの停止 ] が表示されます。
第1章
9
Serviceguard for Linux A.11.16 リリースノート
A.11.16 の概要
セキュリティ強化
Serviceguard では、セキュリティを強化するために pidentd デーモンを利用するようになりま
した。pidentd デーモンは、Serviceguard 製品のインストール処理の一環としてインストール
されます。このセキュリティ強化については、http://docs.hp.com/hpux/ha の Serviceguard
のセクションにあるホワイトペーパー『Securing Serviceguard, November 2005』に詳細な説明
があります。
セキュリティの無効化
セキュリティ機能は無効にすることができます。
注意
データの完全性や高可用性を維持するために重要であることから、Serviceguard
A.11.16.01 およびそれ以降でセキュリティ機能を無効にすることはお勧めできま
せん。
注記
Serviceguard のセキュリティ機能を無効にするには、Serviceguard A.11.16 をイ
ンストールした後、ノードをクラスタに組み込む前 ( すなわち cmrunnode や
cmruncl を実行する前 ) に、各ノード上で以下の手順を実行します。
10
第1章
Serviceguard for Linux A.11.16 リリースノート
A.11.16 の概要
Red Hat および SUSE の場合
1. /etc/xinetd.d/hacl-cfg ファイルの server_args パラメータを、
server_args = -c
から
server_args = -c -i
に変更します。
2. /etc/xinetd.d/hacl-probe ファイルの server_args パラメータに -i を追加します。
SUSE の場合は、
server_args = -f /opt/cmom/log/cmomd.log -r /opt/cmom/run
から
server_args = -i -f /opt/cmom/log/cmomd.log -r /opt/cmom/run
に変更します。
Red Hat の場合は、
server_args = -f /user/local/cmom/log/cmomd.log -r /user/local/cmom/run
から
server_args = -i -f /user/local/cmom/log/cmomd.log -r /user/local/cmom/run
に変更します。
3. /etc/init.d/xinetd restart を実行して xinetd を再起動します。
構成
以前と同様に、構成を行うにはクラスタノードのルートパーミッション (UID=0) が必要です。
ルートユーザーにはアクセス制御ポリシーは不要です。コマンド行では、ルートの権限でログイ
ンする必要があります。Serviceguard Manager では、構成を始める際にルートのパスワードを
入力するように求められます。(Serviceguard Manager は、
http://www.hp.com/go/softwaredepot ( 英語 ) から無償で入手可能で、Serviceguard に無償
で添付されている Distributed Components CD でも提供されています。詳細は、
http://docs.hp.com/ja/hpuxha にある、
『Serviceguard Manager バージョン A.05.00 リリー
スノート』を参照してください。)
第1章
11
Serviceguard for Linux A.11.16 リリースノート
A.11.16 の概要
A.11.16.07 および A.11.16.08 の概要
このリリースの新機能とオプションは以下のとおりです。
•
SUSE SLES10 のサポート。
•
LVM2 用の VG アクティブ化保護機能。この機能を有効にすると、LVM2 の「タグ機能」を使
用して、パッケージのボリュームグループが、そのパッケージを実行することが許可されて
いないノード上で、誤ってアクティブ化されないようにします。詳細は、
『HP Serviceguard
の管理 Linux 用 第 6 版』の第 5 章の「VG アクティブ化保護を有効にする」を参照してくだ
さい。
本バージョンのマニュアル
以下のマニュアルが、HP Serviceguard for Linux A.11.16 に付属してリリースされています。
• 『HP Serviceguard の管理 Linux 用』第 6 版 (HP 部品番号 B9903-90052)
• 『HP Serviceguard A.11.16 リリースノート Linux 用』第 3 版 (HP 部品番号 B9903-90053)
( 本書 )
• 『Serviceguard Manager バージョン A.05.00 リリースノート』(HP 部品番号 B8325-90057)
• 『HP Serviceguard Quorum Server A.02.00 リリースノート』第 4 版
(HP 部品番号 B8467-90032)
これらのマニュアルは CD で提供されています。HP Serviceguard for Linux CD には
Serviceguard の基本的なマニュアルが、Distributed Components CD には Serviceguard
Manager と Quorum Server のマニュアルが収録されています。最新のバージョンは、
http://docs.hp.com/hpux/ha ( 英語版 )、http://docs.hp.com/ja/hpuxha ( 日本語版 ) か
ら入手できます。
本バージョンのリリースノートの変更点
•
22 ページの「HP Serviceguard for Linux のインストール」のインストール手順が更新され
ました。
•
21 ページの「ストレージデバイスのマルチパス」の項が更新され、QLogic ドライバの使用
方法、md のマルチパス機能 (mdadm を使用 )、この分野での将来のアップデートが明記され
ました。
•
22 ページの「udev を使った永続的なデバイス名」に情報が追加されました。Serviceguard
for Linux クラスタで永続的なデバイス名を作成する方法を示すホワイトペーパーを参照し
ています。( この情報がホワイトペーパーに記載されているのは、将来変更される可能性が
あるためです。)
12
第1章
Serviceguard for Linux A.11.16 リリースノート
A.11.16 の概要
•
28 ページの「ソフトウェアの段階的アップグレード」が更新され、deadman ドライバや
pidentd ドライバが必要なときにそれらを構築するための情報が追加されました。
•
44 ページの「ブート時に vgscan が実行されないようにし、Serviceguard ボリュームグルー
プがアクティブにならないようにする」が更新され、Red Hat システムでの手順が明確化さ
れました。
その他の情報
• 『Serviceguard for Linux Order and Configuration Guide』には、サポートされる構成につ
いての最新情報が記載されています。サポートされるハードウェアおよび Linux ディストリ
ビューションの最新情報は、『HP Serviceguard for Linux Certification Matrix』でご確認く
ださい。この 2 つのドキュメントは次の URL で入手できます。
http://www.hp.com/info/sglx
→ [Downloadable] "Configuration guide" および "Certification matrix"
• 『Serviceguard Compatibility and Feature Matrix』には、サポートされる Serviceguard の
バージョン、Linux ディストリビューション、関連する Serviceguard ソフトウェアに関す
る最新情報が記載されています。このドキュメントは、次の場所から入手できます。
http://docs.hp.com/hpux/ha
•
ユーザーズガイドやホワイトペーパーの最新版 ( このドキュメントに対するすべてのアップ
デートを含みます ) は、当社のテクニカルドキュメント Web サイトから入手できます。
http://docs.hp.com/hpux/ha
http://docs.hp.com/linux (Linux ドキュメント ) ( 英語版 )
http://docs.hp.com/ja
•
パッチおよび既知の問題に関する最新情報などのサポート情報は、当社の IT リソースセン
ターの Web ページから入手できます。
http://itrc.hp.com
「技術情報ベースの検索」をクリックしてください。サイトにはどなたでもアクセスできま
すが、有効なサポート契約にご加入のお客様は、ログインして詳細な技術情報を検索するこ
とができます。
推奨パッチ、製品サポートマトリックス、新しくサポートされるハードウェアについての最
新情報を受け取るには、ITRC から「High Availability Program Tips and Issues Digest」
をお申し込みください。
第1章
13
Serviceguard for Linux A.11.16 リリースノート
A.11.16 の概要
•
ProLiant サーバー、Integrity サーバー、Linux オペレーティングシステムに関するサポート
情報は、次のサイトを参照してください。
http://www.hp.com/jp/support
•
HP IT リソースセンターの Web ページには、HP Serviceguard for Linux 専用のフォーラム
があります。このフォーラムは、IT の専門家が意見を交換し、問題を解決するためのもので
す ( 必ず回答が得られるわけではありません )。
http://forums1.itrc.hp.com/service/forums/home.do を開き、[Linux] →
[more...] → [serviceguard] の順に選択してください。
14
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
互換性に関する情報とインストールのための要件
インストールを始める前に、このドキュメント全体をお読みください。また、本書の他にリリー
スノートが提供されている場合は、それらのドキュメントもお読みください。
注記
すべてのノードは同じディストリビューションである必要があります。これには、
Errata レベルとアーキテクチャバージョン ( すなわち ia32、i686、x86_64、
ia64) も含まれます。同じクラスタ内でバージョンが異なるディストリビューショ
ンを使用できるのは、段階的アップグレードの間だけです。Intel のプロセッサを
使っているサーバーと AMD のプロセッサを使っているサーバーを、同じクラス
タ内に混在させることができます。サポートされる段階的アップグレードのパス
については、「ソフトウェアの段階的アップグレード」を参照してください。サ
ポートされる Serviceguard のバージョン、Linux ディストリビューション、関連
ソフトウェア、ハードウェアについては、「その他の情報」の項を参照してくださ
い。
HP Serviceguard と Linux リリースの互換性
以下の表は、サポートされている HP Serviceguard for Linux のバージョンと、そのバージョン
での使用が必要な Linux リリースを示したものです。
表 1-1 HP Serviceguard と Linux リリースの互換性
HP
Serviceguard
for Linux のバー
ジョン
A.11.16
互換性のある
Linux リリース
Quorum Server
のバージョン
Serviceguard
Manager
のバージョン
Red Hat Enterprise Linux 3
AS または ES、Red Hat
Enterprise Linux 4 AS または
ES (WS はサポートされていま
せん )
A.02.00
A.05.00
SUSE Linux Enterprise
Server (SLES) 9 および SLES
10
第1章
15
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
システム要件
HP Serviceguard for Linux A.11.16 に必要なメモリー容量は、クラスタ内に構成されたパッ
ケージの数によって異なります。ロック可能メモリーの大まかな必要量を計算するには :
メモリーの合計量 = 6 MB (HP Serviceguard for Linux 本体 ) + 80 KB ( クラスタ内の 1 パッ
ケージあたりの必要量 )
たとえば、クラスタ内に 10 パッケージあれば、6 MB に加えて 800 KB (80x10) が必要となり、
合計量は 6.80 MB になります。
計算したメモリーの量は、特定のパッケージがそのノード上にあるかどうかにかかわらず、クラ
スタ内の全ノードで必要です。
ポート要件
Serviceguard は以下に示すポートを使用します。インストールする前に、/etc/services を調
べ、他のプログラムがこれらのポートを予約していないことを確認します。
•
discard 9/udp Discard
•
hacl-qs 1238/tcp HA クォーラムサーバー
•
hacl-hb 5300/tcp 高可用性 (HA) クラスタハートビート
•
hacl-hb 5300/udp 高可用性 (HA) クラスタハートビート
•
hacl-gs 5301/tcp HA クラスタ汎用サービス
•
hacl-cfg 5302/tcp HA クラスタ TCP 構成
•
hacl-cfg 5302/udp HA クラスタ UDP 構成
•
hacl-probe 5303/tcp HA クラスタ TCP プローブ
•
hacl-probe 5303/udp HA クラスタ UDP プローブ
•
hacl-local 5304/tcp HA クラスタのコマンド
•
hacl-test 5305/tcp HA クラスタのテスト
認証用に予約されている以下のポートも Serviceguard で使用されます。
•
auth 113/tcp 認証
•
auth 113/udp 認証
16
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
また、Serviceguard は一部のクラスタサービスで動的ポート ( 通常は 49152 ~ 65535 の範囲 )
も使用します。カーネル調整変数を使用して動的ポートの範囲を調整している場合は、これに合
わせて規則を変更してください。
システムファイアウォール
Serviceguard と一緒に IPFilter などのシステムファイアウォールを使用する場合には、正しい
クラスタの動作を保証するために特定の通信を許可する必要があります。Serviceguard とシス
テムファイアウォールを一緒に使用するための一般的なガイドラインを以下に示します。
•
クラスタ内通信を可能にするには、クラスタ内のすべてのノードの各 HEARTBEAT_IP ネッ
トワークで、クラスタ内の他のすべてのノードで以下の双方向通信を許可する必要がありま
す。
— ポート番号 5300 ~ 5304、5408 での tcp (SYN フラグがあるパケットのみ )
— ポート番号 9、5300、5302 での udp
— 動的ポート ( 通常は 49152 ~ 65535) での tcp および udp
•
Serviceguard 構成でクォーラムサーバーを使用する場合、クラスタ内のすべてのノードで、
クォーラムサーバーの IP アドレスへの以下の通信を許可する必要があります。
— ポート 1238 での tcp (SYN フラグがあるパケットのみ )
他のクラスタのためのクォーラムサービスを提供するすべてのノードで、そのクラスタノー
ドからの以下の通信を許可する必要があります。
— ポート 1238 での tcp (SYN フラグがあるパケットのみ )
•
cmscancl コマンドを実行するためには、「シェル」ポートが開いている必要があります。
クラスタの外部のノード (cmclnodelist にリストされているノードなど ) から Serviceguard コ
マンドを実行できるようにするには、ファイアウォールに関してさらに考慮するべき事項があり
ます。Serviceguard のコマンドの実行を可能にするには、以下のガイドラインに従います。
クラスタ内のすべてのノードで、以下の通信を許可する必要があります。
•
リモートノードからの通信
— ポート 5302 での tcp (SYN フラグがあるパケットのみ )
— ポート 5302 での udp
•
リモートノードへの通信
— ポート番号 49152 ~ 65535 での tcp および udp
第1章
17
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
リモートノードで、以下の通信を許可する必要があります。
•
クラスタノードからの通信
— ポート番号 49152 ~ 65535 での tcp および udp
•
クラスタノードへの通信
— ポート 5302 での tcp (SYN フラグがあるパケットのみ )
— ポート 5302 での udp
認証の通信で以下のポートを許可する必要があります。
•
クラスタノードからの通信
— ポート 123 での tcp および udp
•
クラスタノードへの通信
— ポート 123 での tcp および udp
Cluster Object Manager (COM) のノード
クラスタ外部のノードで Cluster Object Manager (COM) を使用して、Serviceguard Manager
への接続を提供している場合には、以下の規則に従います。
クラスタ内の各ノードで、以下の通信を許可する必要があります。
•
COM ノードからの通信
— ポート 5302 での tcp (SYN フラグがあるパケットのみ )
— ポート 5302 での udp
•
COM ノードへの通信
— ポート番号 49152 ~ 65535 での tcp および udp ( クラスタノードから )
COM を実行するノードで、以下の通信を許可する必要があります。
•
COM クライアント (Serviceguard Manager など ) からの通信
— ポート 5303 での tcp (SYN フラグがあるパケットのみ )
•
クラスタノードからの通信
— ポート番号 49152 ~ 65535 での tcp および udp
18
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
•
クラスタノードへの通信
— ポート 5302 での tcp (SYN フラグがあるパケットのみ )
— ポート 5302 での udp
第1章
19
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
Serviceguard Manager
COM を使用するための上記のポート要件のほかに、Serviceguard Manager には以下のポート
要件があります。
•
Serviceguard ノードで、以下の通信を許可する必要があります。
— Serviceguard Manger ノードからの通信
— ポート 161 での udp
— Serviceguard Manger ノードへの通信
— ポート 162 での udp
•
Serviceguard Manager ノードで、以下の通信を許可する必要があります。
— クラスタノードからの通信
— ポート 162 での udp
— クラスタノードへの通信
— ポート 161 での udp
注記
20
ファイアウォールで通信がブロックされていると思われる場合は、iptables
ファイル ( たとえば /etc/sysconfig/iptables) の最後の行の前に -j LOG を追
加することで、ブロックされたポートをすべてログに記録することができます。
iptables については、使用している Linux ディストリビューションのファイア
ウォールに関するドキュメントを参照してください。
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
ストレージデバイスのマルチパス
マルチパスソリューションを達成する方法は、クラスタやサーバー内の HBA に接続されているス
トレージサブシステムによって異なります。ご使用中のストレージサブシステムや HBA に付属の
ドキュメントを参照してください。
ファイバーチャネルで接続されたストレージでは、当社によってサポートされている場合、
HBA ドライバが備えているマルチパス機能を使用する必要があります。QLogic ドライバについ
ては、
『Using the QLogic HBA driver for single-path or multipath failover mode on Linux
systems application note』を参照してください。このドキュメントは、http://www.hp.com の検
索ボックスに “qlogic multipath application” と入力することで見つかります。
マルチデバイスドライバ (md) の使用は、ファイバーチャネルベースのストレージシステムでは
サポートされていません。md は、Serviceguard とマルチパスをサポートしている MSA 500
ファミリーのデバイスでサポートされます。
md のマルチパスでは、Serviceguard のパッケージ制御スクリプト内で “md” 行を使わないでくだ
さい。代わりに、システムのブート時に、マルチパスのためだけに md のアクティブ化を行うこ
とができます。
次の例は、2 つのデバイス /dev/sdf1 と /dev/sdh1 を使用してマルチパスデバイスを作成しま
す。
mdadm -create /dev/md0 -level=multipath -raid-devices=2 /dev/sdf1 /dev/sdh1
/dev/md0 をアクティブ化するコマンドは次のとおりです。
mdadm -assemble -scan /dev/md0
このコマンドを sysinit ファイルに追加します。
上記のコマンドは簡単な例です。詳細は mdadm のマンページを参照してください。マンページ
には、“HOWTO” へのリンクも含まれています。
注記
Linux は急激に進化しているため、マルチパス機構が変更されたり、新しいマル
チパス機構が追加される可能性があります。本書の執筆時点では、デバイスマッ
パー (DM) は Serviceguard for Linux でサポートされていません。
注記
MD はソフトウェア RAID もサポートしていますが、現時点では Serviceguard
for Linux でサポートされていません。
第1章
21
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
udev を使った永続的なデバイス名
Linux システムでは、デバイス名はブートするたびに変わる可能性があります。
例として、LUN /dev/sdg、/dev/sdh、および /dev/sdi があるシステムを考えます。
/dev/sdh を削除した場合、システムをリブートすると、以前の /dev/sdi が /dev/sdh に名称
変更されます。そのため、特定のデバイス名を参照しているスクリプトで問題が発生します。
QLogic ドライバのマルチパス機能のように、I/O コンポーネントによっては、永続的な名前を
設定する機能をサポートしているものがあります。
Serviceguard for Linux では、永続的な名前を設定する機能が他にない場合に備え、udev がサ
ポートされるようになりました。詳細はホワイトペーパー『Serviceguard for Linux and
Persistent Device Names』を参照してください。このドキュメントは、http://docs.hp.com
の Serviceguard for Linux のセクションにあります。
HP Serviceguard for Linux のインストール
Serviceguard のドキュメントでは、Linux のインストールについての説明は削除されました。
代わりに、使用するディストリビューションのドキュメントを参照してください。
注記
Linux をインストールしたら、ssh を有効にして、リモートログインで rlogin、
remsh、telnet の代わりに ssh を使い、リモートコピーには関連コマンド scp
を使うことをお勧めします。ssh と scp は、パスワードを送信する前にパスワー
ドを暗号化します。これに対し、 rlogin、rcp などでは、暗号化は行われませ
ん。
重要
Serviceguard のインストールを開始する前に、クラスタのすべての構成要素の
ファームウェアを必ず最新版にアップグレードしてください。
Linux を正しく構成したら、rpm コマンドを使って HP Serviceguard をインストールします。
Serviceguard をインストールしたら、必要に応じて Quorum Server と Serviceguard Manager
をインストールします。
このリリースでサポートするどのバージョンの Red Hat でも、authd をアンインストールする
必要があります。次の手順を実行します。
手順
22
1. # rpm -e authd
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
手順
2. # up2date --configure
除外する項目の一覧に authd* を追加します ( テキスト版の up2date の
removeSkipList、または GUI の [Exclude] タブ )。これにより、将来 up2date に
よって新しいバージョンの authd がインストールされるのを防ぐことができます。
32 ビット版のディストリビューションが動作する HP ProLiant サーバーに Serviceguard をイ
ンストールするには、以下のコマンドを実行します。
Red Hat 3 の場合 :
# cd /mnt/cdrom/RedHat3/rpms
# rpm -i sgcmom-B.03.01.02-0.product.redhat.i386.rpm
# rpm -i pidentd-3.0.15sg-1.i386.rpm
# rpm -i serviceguard-A.11.16.07-0.product.redhat.i386.rpm
これらのコマンドが終了すると、プロンプトが表示されます。
Red Hat 4 の場合 :
# cd /mnt/cdrom/RedHat4/rpms
# rpm -i sgcmom-B.03.01.02-0.product.redhat.i386.rpm
# rpm -i pidentd-3.0.15sg-1.i386.rpm
# rpm -i serviceguard-A.11.16.07-0.product.redhat.i386.rpm
これらのコマンドが終了すると、プロンプトが表示されます。
SUSE Linux Enterprise Server 9 の場合 :
# cd /media/cdrom/SLES9/rpms
# rpm -i sgcmom-B.03.01.02-0.product.suse.i386.rpm
# rpm -i pidentd-3.1a26sg-1.i586.rpm
# rpm -i serviceguard-A.11.16.07-0.product.suse.i386.rpm
これらのコマンドが終了すると、プロンプトが表示されます。
SUSE Linux Enterprise Server 10 の場合 :
# cd /media/cdrom/SLES10/rpms
# rpm -i sgcmom-B.03.01.02-0.product.suse.i386.rpm
# rpm -i serviceguard-A.11.16.08-0.product.suse.i386.rpm
これらのコマンドが終了すると、プロンプトが表示されます。
第1章
23
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
注記
SUSE Linux Enterprise Server 10 上に pident ドライバをインストールする必
要はありません。Serviceguard は SLES 10 ディストリビューションの一部であ
るバージョンを使用します。
x86-64 ビット版のディストリビューションが動作する HP Proliant サーバーに Serviceguard を
インストールするには、以下のコマンドを実行します。
Red Hat 3 の場合 :
# cd /mnt/cdrom/RedHat3/rpms
# rpm -i sgcmom-B.03.01.02-0.product.redhat.x86-64.rpm
# rpm -i pidentd-3.0.15sg-1.x86-64.rpm
# rpm -i serviceguard-A.11.16.07-0.product.redhat.x86-64.rpm
これらのコマンドが終了すると、プロンプトが表示されます。
Red Hat 4 の場合 :
# cd /mnt/cdrom/RedHat4/rpms
# rpm -i sgcmom-B.03.01.02-0.product.redhat.x86-64.rpm
# rpm -i pidentd-3.0.15sg-1.x86-64.rpm
# rpm -i serviceguard-A.11.16.07-0.product.redhat.x86-64.rpm
これらのコマンドが終了すると、プロンプトが表示されます。
SUSE Linux Enterprise Server 9 の場合 :
# cd /media/cdrom/SLES9/rpms
# rpm -i sgcmom-B.03.01.02-0.product.suse.x86-64.rpm
# rpm -i pidentd-3.1a26sg-1.x86-64.rpm
# rpm -i serviceguard-A.11.16.07-0.product.suse.x86-64.rpm
これらのコマンドが終了すると、プロンプトが表示されます。
SUSE Linux Enterprise Server 10 の場合 :
# cd /media/cdrom/SLES10/rpms
# rpm -i sgcmom-B.03.01.02-0.product.suse.x86-64.rpm
# rpm -i serviceguard-A.11.16.08-0.product.suse.x86-64.rpm
24
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
これらのコマンドが終了すると、プロンプトが表示されます。
注記
SUSE Linux Enterprise Server 10 上に pident ドライバをインストールする必
要はありません。Serviceguard は SLES 10 ディストリビューションの一部であ
るバージョンを使用します。
HP Integrity サーバーに Serviceguard をインストールするには、以下のコマンドを実行しま
す。
Red Hat 3 の場合 :
# cd /mnt/cdrom/RedHat3/rpms
# rpm -i sgcmom-B.03.01.02-0.product.redhat.ia64.rpm
# rpm -i pidentd-3.0.15sg-1.ia64.rpm
# rpm -i serviceguard-A.11.16.07-0.product.redhat.ia64.rpm
これらのコマンドが終了すると、プロンプトが表示されます。
Red Hat 4 の場合 :
# cd /mnt/cdrom/RedHat4/rpms
# rpm -i sgcmom-B.03.01.02-0.product.redhat.ia64.rpm
# rpm -i pidentd-3.0.15sg-1.ia64.rpm
# rpm -i serviceguard-A.11.16.07-0.product.redhat.ia64.rpm
これらのコマンドが終了すると、プロンプトが表示されます。
SUSE Linux Enterprise Server 9 の場合 :
# cd /media/cdrom/SLES9/rpms
# rpm -i sgcmom-B.03.01.02-0.product.suse.ia64.rpm
# rpm -i pidentd-3.1a26sg-1.ia64.rpm
# rpm -i serviceguard-A.11.16.07-0.product.suse.ia64.rpm
これらのコマンドが終了すると、プロンプトが表示されます。
SUSE Linux Enterprise Server 10 の場合 :
# cd /media/cdrom/SLES10/rpms
# rpm -i sgcmom-B.03.01.02-0.product.suse.ia64.rpm
# rpm -i serviceguard-A.11.16.08-0.product.suse.ia64.rpm
第1章
25
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
これらのコマンドが終了すると、プロンプトが表示されます。
注記
SUSE Linux Enterprise Server 10 上に pident ドライバをインストールする必
要はありません。Serviceguard は SLES 10 ディストリビューションの一部であ
るバージョンを使用します。
pidentd の設定
pidentd サービスのインストールを完了するには、以下のコマンドを実行します。
SUSE Linux Enterprise Server 9 の場合 :
# /sbin/insserv identd
# /etc/init.d/identd start
YAST または YAST2 を実行して、ブート時に identd が起動するようにしなければならない場合
があります。
Red Hat の場合 :
# /sbin/chkconfig --level 35 identd on
# /etc/init.d/identd start
Quorum Server のインストール
タイブレークにロック LUN ではなく Quorum Server を使うように選択した場合は、クラスタ
外のシステムに Quorum Server ソフトウェアをインストールしなければなりません。Quorum
Server ソフトウェアは、HP Serviceguard Distributed Components CD に収録されています。
この CD には、HP-UX および Linux オペレーティングシステム用のバージョンが収録されてい
ます。アップデート版は http://www.hp.com/go/softwaredepot ( 英語 ) から入手できます。
[high availability] をクリックして最新バージョンをご確認ください。
Linux のインストールプロセスについての詳細は、Distributed Components CD に収録されて
いる『HP Serviceguard Quorum Server A.02.00 リリースノート』( 第 4 版 ) を参照してくださ
い。また、Quorum Server の使用についての詳細が、
『HP Serviceguard の管理 Linux 用』に記
載されています。
26
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
Serviceguard Manager のインストール
Serviceguard Manager ソフトウェアは、HP Serviceguard Distributed Components CD に収録
されています。この CD には、HP-UX、Linux、Windows オペレーティングシステム用のバー
ジョンが収録されています。アップデート版は http://www.hp.com/go/softwaredepot から
入手できます。[high availability] をクリックして最新バージョンを探してください。
Linux 版のインストール手順については、http://docs.hp.com/ja/hpuxha の『Serviceguard
Manager バージョン A.05.00 リリースノート』を参照してください。Serviceguard Manager の
使用方法については、オンラインヘルプと『HP Serviceguard の管理 Linux 用』で説明してい
ます。
/root/.rhosts ファイルのパーミッションの設定
/root/.rhosts ファイルに対して、group や other からの書き込みアクセスを許可しないでく
ださい。other または group に /root/.rhosts ファイルへの書き込みが許可されている場合
は、HP Serviceguard for Linux のコマンドは失敗し、“Permission denied for user” というメッ
セージがログに記録されます。この状況は、Serviceguard のリモートセキュリティファイル
$SGCONF/cmclnodelist が使用されず、リモートノードセキュリティが rhosts 機能で解決さ
れた場合に発生する可能性があります。
注記
第1章
/etc/cmcluster.conf には、このリリースノートで使用されている、$SGCONF、
$SGROOT などに対するシンボル参照を解決するマッピングが格納されています。
詳細は、『HP Serviceguard の管理 Linux 用』の第 5 章の「Serviceguard のファ
イルの位置」を参照してください。
27
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
Serviceguard for Linux のアンインストール
ソフトウェアをアンインストールするには、rpm -e コマンドを使用します。
# rpm -e serviceguard
アンインストールする前に、以下の点に注意してください。
1. rpm -e コマンドを実行する前に、対象のノード上の Serviceguard for Linux を終了する。
2. rpm -e コマンドを実行する前に、対象のノードをクラスタから削除する。
3. 同時に複数のシステムで rpm -e コマンドを実行しない。複数のシステムから Serviceguard
for Linux をアンインストールする場合は、アンインストールは一度に 1 システムずつ実行
する必要があります。
ソフトウェアの段階的アップグレード
Linux オペレーティングシステムや Serviceguard ソフトウェアを、クラスタを停止させること
なく、ノード 1 台ずつアップグレードすることができます。ハードウェアの保守やパッチのイン
ストールを行うために、1 台のシステムをオフラインにする必要がある場合も、この手順を使う
ことができます。全ノードのアップグレードが完了するまでは、クラスタ構成ファイルを変更す
ることはできず、新しい Serviceguard リリースのいかなる機能も使用できません。
段階的アップグレードは、Serviceguard のサポートされる任意のリビジョンで実行できます。
以前のどのリビジョンからでも新しい任意のリビジョンにロールフォワードできます。たとえ
ば、Red Hat AS 2.1 上の Serviceguard バージョン A.11.14.02 から、Red Hat EL 3 上の
A.11.15.02 にアップグレードできます。
サポートされる Serviceguard のバージョン、Linux ディストリビューション、関連ソフトウェ
ア、ハードウェアについては、13 ページの「その他の情報」に挙げたドキュメントを参照して
ください。
要件
Linux の Serviceguard ノードを新しい Serviceguard リリースにアップグレードするには、以下
の点を確認してください。
•
ノードで、サポートされているバージョンの Linux が動作していること (Red Hat 4、SLES9
など )。
•
ノードで、サポートされているバージョンの Serviceguard 製品が動作していること ( 例 : Red
Hat 4 をサポートする A.11.16.02)
28
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
注記
目的のバージョンの Serviceguard が、そのノードで現在動作しているオペ
レーティングシステムのバージョンをサポートしていない場合には、
Serviceguard をアップグレードする前に、オペレーティングシステムをアッ
プグレードする必要があります。
•
アップグレード対象となる最初の Serviceguard リリースは A.11.14.02 です。また、ノード上
での OS のアップグレードは、同じ Linux ディストリビューション間でのみできます ( 例 :
Red Hat AS 2.1 から Red Hat EL 3 へは可能ですが、Red Hat AS 2.1 から SLES9 へは不可
です )。
•
アップグレード対象のノードが属するクラスタでは、最終的にすべてのメンバーの OS と
Serviceguard のレベルを同じにする必要があります。
•
OS のアップグレード手順または必要なら OS のインストール手順を確認し、元の OS でサポー
トされているすべてのアプリケーションが新しい OS でもサポートされていることを確認し
ます ( たとえば、ノードの OS を Red Hat AS 2.1 から Red Hat EL 3 にアップグレードする
場合には、現在動作しているすべてのアプリケーションが Red Hat EL 3 でサポートされて
いることを確認します )。
•
新しい OS で現在のクラスタハードウェア構成とドライバがサポートされていることを確認
します ( ネットワークインタフェース、ボンディングドライバ、共有ディスクストレージな
ど )。
注記
•
使用している Linux のバージョン用の HP ボンディングドライバがない場合
は、Linux ディストリビューションに付属しているボンディングドライバを
使ってください。
アップグレードするノードのフルバックアップを行います。
注記
第1章
できるだけ段階的アップグレードを行うことをお勧めします。この方法では、
ミッションクリティカルなアプリケーションを止めずにアップグレードでき
るためです。また、可能ならコールドインストールを行うのではなく、ソフ
トウェアをアップデートすることをお勧めします。アップデートすることで、
現在の OS とクラスタの構成が保持されるためです。ただし、アップグレー
ドを行う前に必ず 42 ページの「段階的アップグレードの制限事項」を読み、
Serviceguard コマンドを実行する前に、アップグレード全体が正常に完了し
ていなくてはならないという点に注意してください。
29
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
注意
30
あるノードをアップグレードしている最中に別のノードで障害が発生した場
合は、パッケージとそれに含まれているアプリケーションが、アップグレー
ド中のノードにフェイルオーバーできない場合があります。
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
段階的アップグレードの手順
準備
重要
現在の Linux と Serviceguard のバージョンから、新しいバージョンへのアップ
グレードパスがサポートされていることを確認してください。
http://docs.hp.com/hpux/ha にある『Serviceguard Compatibility and
Feature Matrix』を参照してください。
Linux OS のリリースによっては、アップグレードパスがサポートされていない
ものがあります。たとえば、Red Hat AS 2.1 から Red Hat EL3 へのアップグ
レードパスはありません。このような場合には、新しく OS をインストール (
コールドインストール ) する必要があります。
アップグレードを開始する前に、以下の情報を収集します。この情報はアップグレード中に必要
となります。
1. ホスト名と、すべてのネットワークインタフェースの IP アドレス。各インタフェースの
MAC アドレスとそのネットワーク割り当てを書き留めます ( 例 : eth1: HWaddr
00:0B:CD:69:F4:68)。
2. ネットワークマスク、ゲートウェイアドレス、DNS サーバーアドレス、ブロードキャストア
ドレスといったネットワーク情報を書き留めます。この情報は、OS を新しくインストール
する際に役立ちます。
注記
すべてのネットワークインタフェースとストレージインタフェースが新しい
OS でサポートされていることを確認してください。
3. すべての LVM 情報など、ストレージの構成を書き留め、可能なら、たとえば sfdisk -l を実
行して、構成されているハードディスクの一覧を記録します。
SUSE Linux Enterprise Server では、YAST または YAST2 を実行しなくてはならない場合が
あります。
4. 以下のファイルを媒体にバックアップし、OS のアップグレードや新規インストール後に
ノードに簡単に復元できるようにしておきます。
•
ホストファイル : /root/.rhosts、/etc/hosts、/etc/profile、以下のネットワーク
情報 ( ボンディング構成を含む )
— Red Hat の場合 : /etc/sysconfig/network-scripts/ifcfg*
第1章
31
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
— SUSE の場合 : /etc/sysconfig/network/ifcfg*
•
SGファイル$SGCONF/*: 現在のすべてのパッケージ制御ファイルおよび構成ファイル(ロ
グファイルを含む )
段階的アップグレードの実行手順
1. アップグレードしたいノードを停止します。これにより、そのノードのパッケージが引き継
ぎノード上で起動されます。Serviceguard Manager の場合は、ノードを選択し、[ アクショ
ン ] メニューで [SG 管理 ] の [ ノードの停止 ] を選択します。Serviceguard コマンド行で
は、cmhaltnode コマンドを実行します。
2. /etc/rc.config.d/cmcluster (SUSEでは/opt/cmcluster/conf/cmcluster.rc)ファイ
ルを編集して、次の行を追加します。
AUTOSTART_CMCLD = 0
Serviceguard だけをアップグレードする必要があり、Linux OS のアップグレードが不要な
場合は、手順 6 に進みます。
3. ノードを新しい OS にアップグレードします。必要なら、新しい OS を完全にインストールし
ます。
4. ノードで OS のアップグレードまたはインストールが完了したら、以前保存したホストファ
イル /root/.rhosts、/etc/hosts、/etc/profile、
/etc/sysconfig/network/scripts/ifcfg*、ボンディングファイルをすべて復元します。
ネットワーク構成が、アップグレードや新規インストールの前と同じであることを確認しま
す。アップグレードや新規インストールの前後で、インタフェース eth0 に対応する MAC
アドレスが同じであることを確認します。
5. すべてのディスクとファイルシステムが、OS のアップグレードや新規インストールの前と
同じであることを確認します。
アップグレードの前に収集したディスクレイアウトと比較して確認します。vgscan コマン
ドを使って、新しい OS がインストールされたノードで以前構成されていた LVM ディスク
がすべて見えることを確認します。
6. 新しい Serviceguard リリースをインストールします。
22 ページの「HP Serviceguard for Linux のインストール」の手順を実行します。
次の例は、Serviceguard の rpm だけを示しています。通常、「HP Serviceguard for Linux
のインストール」に示した他の rpm もインストールする必要があります。
32
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
例:
# rpm -i serviceguard-A.11.16.07-0.product.Redhat.i386.rpm
Serviceguard のアップグレードのみの場合は、次のいずれかの方法でインストールすること
ができます。
例:
クラスタに構成されていないノードの場合 :
# rpm -i --force serviceguard-A.11.16.07-0.product.Redhat.i386.rpm
クラスタにすでに構成されているノードの場合 :
# rpm -U --replacefiles serviceguard-A.11.16.07-0.product.Redhat.i386.rpm
コマンドの結果として次のようなメッセージが出力されますが、このノードはすでにクラス
タに構成されているため、エラーを示すものではありません。
Cannot uninstall Serviceguard while a cluster is configured error:
%preun(serviceguard-<old_version>) scriptlet failed, exit status 1
Serviceguard のアップグレード後、インストールされている Serviceguard を rpm -q を
使って表示した後に、以前の rpm バージョンを削除することができます。
例:
Serviceguard rpm がインストールされているか調べるには、次のコマンドを実行します。
# rpm -q serviceguard
古いバージョンの Serviceguard を RPM データベースから削除するには、次のコマンドを
実行します。
# rpm -e --noscripts serviceguard-A.11.15.07-0
コマンドが完了すると、プロンプトが表示されます。
以前保存した Serviceguard のファイルを、すべて元のディレクトリに復元します。たとえ
ば、パッケージ制御ファイルやパッケージ構成ファイル、/usr/local/cmcluster/conf 内
の Serviceguard 構成ファイルなどです。
カーネルだけを新しい Errata にアップグレードした場合は、deadman ドライバと pidentd
ドライバを再インストールする必要があります。(pidentd ドライバを SLES 10 上に再イン
ストールする必要はありません。) これは、Errata をインストールし、システムをリブート
した後で行います。
deadman ドライバのソースと関連ファイルは、$SGROOT/drivers にあります。
pidentd ドライバは、/usr/src/pidentd-version/driver にあります。
第1章
33
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
version は、最後にインストールした pidentd のバージョン番号を表します。
各ドライバのディレクトリにある README ファイルの指示に従ってください。
新しいバージョンの OS をインストールした場合は、convert プログラムを実行する必要が
あります。これによりバイナリ形式ファイル (cmclconfig) が新しいリリースの形式に変換
されます。
アップグレードしたノード上でこのプログラムを実行するには、次のように入力します。
# SGGSBIN/convert
注記
SLES9 または Red Hat EL 4 が動作しているノードでは、追加の手順が必要
になります。すべての既存のパッケージ制御スクリプトを、次のようにして
各ノード上でアップデートする必要があります (update_cntl_scripts は、
LVM と LVM2 の間の違いを扱うようにパッケージ制御スクリプトを変更する
アップデートコマンドで、old_script は、パッケージ制御スクリプトの例
です )。
a. # cp old_script old_script.orig
b. # update_cntl_scripts old_script.orig old_script
7. ノードをリブートします。
8. ノードをリブートしたら、クラスタのステータスを cmviewcl コマンドで確認し、すべての
ファイルシステムを fsck で検証します。
9. cmrunnode コマンドを使って、このノード上で Serviceguard を再起動します。
ノードがクラスタに正常に組み込まれることを確認し、必要に応じてパッケージをそのノー
ドに戻します。
10. /etc/rc.config.d/cmcluster (SUSEでは/opt/cmcluster/conf/cmcluster.rc)ファイ
ルを編集して、次の行を追加します。
AUTOSTART_CMCLD = 1
11. この手順を、クラスタ内の各ノードに対して繰り返します。
注記
34
システムに十分な能力を持たせ、作業中にノード間でパッケージを移動させ
る際のパフォーマンスの低下が許容できる範囲になるようにしてください。
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
段階的アップグレードが完了する前にクラスタがダウンした場合は ( おそらくは壊滅的な電源障
害により )、最新版のソフトウェアにアップグレード済みのノードで cmruncl コマンドを実行す
ることで、クラスタを再起動できます。
カーネルを安定した状態に維持する
段階的アップグレードの一環としてカーネルパラメータを変更する場合は、フェイルオーバー時
に同じパッケージを動作させる全ノードで、パラメータを同様に変更してください。
cmclnodelist のエントリーの A.11.16 への移行 cmclnodelist ファイルは、Serviceguard
バージョン A.11.16 にアップグレードすると削除されます。
このファイル内の情報は、新しいアクセス制御ポリシーの形式に移行されます。cmclnodelist
ファイル内のすべての hostnode と username の対は、クラスタ構成ファイルでは 3 つの項目の
組み合わせとなり、すべて Monitor ロールが割り当てられます。非ルートユーザーに管理ロー
ルを許可する場合は、構成ファイルにエントリーを追加します。
cmclnodelist ファイルは、クラスタの全ノードのバージョンが A.11.16 になるまで削除されま
せん。
第1章
35
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
段階的アップグレードの例
段階的アップグレードの実行中、ノードでどのバージョンのソフトウェアが実行されているかを
調べる際に、警告メッセージが表示されることがあります。これは正常であり、心配する必要は
ありません。
ここでは、図 1-1 に示すように、それぞれ 1 つのパッケージが動作している 2 つのノードを段階
的にアップグレードする例を示します。
注記
この図とそれ以降の図では、例としてアップグレード前の状態が Serviceguard
A.11.14.02 および Red Hat AS 2.1 とし、Serviceguard A.11.15.02 および Red
Hat EL3 に段階的アップグレードを行います。お客様のシステムでは、段階的
アップグレードを行う実際のリリース番号に置き換えてください。
図 1-1
段階的アップグレード前の稼働中のクラスタ
ノード 1
Pkg1
SG
A 11.14.02
Red Hat
AS 2.1
ノード 2
Pkg2
SG
A.11.14.02
Red Hat
AS 2.1
手順 1. 準備の項で示したすべての情報を記録します。
次のようにして最初のノードを停止します。
# cmhaltnode -f node1
36
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
これにより Pkg1 が正常に停止され、ノード 2 に移動されます。ノード 1 の Serviceguard デー
モンが停止します。その結果の状態を図 1-2 に示します。
図 1-2
パッケージがノード 2 に移動した後の稼働中のクラスタ
ノード 1
SG
第1章
ノード 2
SG
A.11.14.02
Pkg1
A.11.14.02
AS 2.1
Pkg2
AS 2.1
37
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
手順 2
ノード 1 をオペレーティングシステムの次のリリース ( この例では Red Hat EL 3) にアップグ
レードし、Serviceguard の次のバージョンをインストールします。この様子を図 1-3 に示しま
す。
図 1-3
ノード 1 を Red Hat EL 3 にアップグレード
ノード 1
ノード 2
Pkg1
Red Hat
EL 3
Pkg2
SG
A.11.14.02
Red Hat
AS 2.1
手順 3
アップグレードが終了し、ノードを再起動し、すべてのデータを復元したら、ノード 1 で次のコ
マンドを入力して、ノード 1 でクラスタを再起動します。
# cmrunnode -n node1
38
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
この時点で、異なるバージョンの Serviceguard デーモン (cmcld) が 2 台のノードで動作してい
ます。その様子を図 1-4 に示します。
図 1-4
ノード 1 がクラスタに復帰
ノード 1
SG
A.11.15.02
Red Hat
EL 3
ノード 2
Pkg1
Pkg2
SG
A.11.14.02
RedHat
AS 2.1
手順 4
この手順をノード 2 で繰り返します。次のようにしてノードを停止します。
# cmhaltnode -f node2
第1章
39
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
これにより、両方のパッケージがノード 1 に移動します。次にノード 2 を Red Hat 3 および新
しいバージョンの Serviceguard にアップグレードします。
図 1-5
パッケージがノード 1 に移動した状態の稼働中のクラスタ
ノード 1
Pkg1
Pkg2
ノード 2
SG
SG
A.11.15.02
A.11.15.02
Red Hat
EL 3
Red Hat
EL 3
手順 5
Pkg2 を元のノードに戻します。次のコマンドを実行します。
# cmhaltpkg pkg2
# cmrunpkg -n node2 pkg2
# cmmodpkg -e pkg2
40
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
cmmodpkg コマンドは、cmhaltpkg コマンドで無効にしたパッケージの切り替えを再度有効にし
ます。最終的な稼働中のクラスタを図 1-6 に示します。
図 1-6
アップグレード後の動作中のクラスタ
ノード 1
Pkg1
SG
A.11.15.02
Red Hat
EL 3
第1章
ノード 2
Pkg2
SG
A.11.15.02
Red Hat
EL 3
41
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
段階的アップグレードの制限事項
段階的アップグレードには以下の制限があります。
•
段階的アップグレードの最中は、Serviceguard の各コマンド (cmrunnode と cmhaltnode を除
く ) は、最新版のソフトウェアがインストールされているノード上でのみ実行するようにし
ます。以前の版のソフトウェアがインストールされているノード上でコマンドを実行する
と、まったく動作しないか、結果の整合性がなくなります。
•
アップグレードが完了するまでは、クラスタやパッケージの構成を変更できません。段階的
アップグレードの最中は、クラスタのネットワーク構成を含め、ハードウェア構成を変更す
ることはできません。したがって、構成ファイルを変更して全ノードにコピーする前に、す
べてのノードを新しいリリースにアップグレードする必要があります。
•
新しいリリースの Serviceguard が持つ機能は、すべてのノードのアップグレードが完了する
までは使用できません。
•
バイナリ形式構成ファイルは、Serviceguard の各リリース間で互換性がないことがありま
す。構成ファイルをノード間で手動でコピーしないでください。Serviceguard のバイナリ形
式構成ファイル (cmclconfd) が正しいディレクトリにないと、クラスタは正常に動作しませ
ん。
•
1 つの Serviceguard クラスタ内では、段階的アップグレード中に 3 つ以上のバージョンの
Serviceguard が動作することはできません。
•
段階的アップグレードは、クラスタを最後に起動してから構成が変更されていない場合にだ
け実行できます。アップグレードの前に、すべてのノードで同じリリースの Linux と
Serviceguard が動作していなくてはなりません。
•
段階的アップグレードは、クラスタ内で複数バージョンの Serviceguard や Linux を混在させ
ることを目的としたものではありません。すべてのクラスタノードをできるだけ早く新しい
リリースレベルにアップグレードすることを強くお勧めします。
•
クラスタを段階的にアップグレードしている間は、ノードから Serviceguard ソフトウェアを
(rpm -e により ) 削除することはできません。
•
最後に、この手順では、アップグレードや再インストールで、デバイスの命名規則や一般的
なシステム構成が変わらないということを前提としています。デバイス名が変わったりス
キャンの順番が変わり、修正できない場合もあります。その場合は、クラスタをアップグ
レードするのではなく、クラスタを再構築する必要があります。
42
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
Serviceguard に関する Linux ディストリビューションでの相違点
HP Serviceguard は、SUSE Linux Enterprise Server ディストリビューションと Red Hat ディ
ストリビューションとで詳細が少し異なります。この相違点を以下に示します。
ディレクトリの場所
Serviceguard は、専用ファイル cmcluster.conf を使用して、Linux ファイルシステム内の構
成ファイルとログファイルの場所を定義します。ディストリビューションによって、ファイルの
場所が異なります。表 1-2 に、一般的な SUSE Linux Enterprise Server 9 のファイルの場所を
示します。表 1-3 に、一般的な Red Hat のファイルの場所を示します。
表 1-2 SUSE Linux Enterprise Server 9 ディストリビューションでの HP
Serviceguard ファイルの場所
ディレクトリの用途
パス名
構成
/opt/cmcluster/config
バイナリ
/opt/cmcluster/bin
マンページ
/opt/cmcluster/doc/man
ログ
/var/log/cmcluster
ライブラリ
/opt/cmcluster/lib
表 1-3 Red Hat ディストリビューションでの HP Serviceguard ファイルの場所
ディレクトリの用途
パス名
構成
/usr/local/cmcluster/config
バイナリ
/usr/local/cmcluster/bin
マンページ
/usr/local/cmcluster/doc/man
ログ
/usr/local/log/cmcluster
ライブラリ
/usr/local/cmcluster/lib
第1章
43
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
SUSE SLES10 を実行しているクラスタノードの正常なシャットダウンを確実に行なう
シャットダウンの際にクラスタノードを正常に停止させるには、各ノードの
/etc/sysconfig/boot ファイルを編集し、RUN_PARALLEL パラメータの値を yes から no に
変更します。
SUSE Linux Enterprise Server でのチャネルボンディングの導入
SUSE Linux Enterprise Server と Red Hat ディストリビューションでは、チャネルボンディン
グの導入方法が異なります。どちらの手順も『HP Serviceguard の管理 Linux 用』の第 5 章に
説明があります。このマニュアルは HP Serviceguard for Linux ソフトウェアと同じ CD に収録
されています。
ブート時に vgscan が実行されないようにし、Serviceguard ボリュームグループがアクティブ
にならないようにする
デフォルトでは、システムをリブートするたびに Linux は LVM の起動動作を実行します。これ
には、vgscan ( いくつかの Linux ディストリビューション ) とボリュームグループのアクティ
ブ化が含まれます。これにより、Serviceguard 環境で使われるボリュームで問題が発生する可
能性があります。たとえば、現在実行中でない Serviceguard パッケージ用のボリュームグルー
プがアクティブ化されることがあります。この問題を避けるには、各 Linux バージョンで以下
の手順を実行します。
SUSE Linux Enterprise Server
ブート時に vgscan コマンドが実行されないようにするには、すべてのクラスタノードから
/etc/rc.d/boot.d/S07boot.lvm ファイルを削除します。
注記
YAST または YAST2 を使ってボリュームグループを構成すると、すべてのボ
リュームグループがアクティブ化される可能性があるため、注意してください。
YAST または YAST2 を実行した後で、現在実行中でない Serviceguard パッケージ
のボリュームグループがアクティブ化されていないことを確認し、アクティブ化
されている場合には、LVM コマンドを使って非アクティブ化してください。たと
えば、ボリュームグループ sgvg00 を非アクティブ化するには、コマンド
vgchange -a n /dev/sgvg00 を実行します。
Red Hat 3
ノード上でボリュームグループを作成した後、vgcfgbackup を使ってバックアップし、
/etc/rc.d/rc.sysinit ファイル内の以下の行をコメントアウトします ( コメントアウトが必
要な箇所は 2 箇所あります )。
44
第1章
Serviceguard for Linux A.11.16 リリースノート
互換性に関する情報とインストールのための要件
# LVM initialization
if [ -e /proc/lvm -a -x /sbin/vgchange -a -f /etc/lvmtab ]; then
action $"Setting up LVM:" /sbin/vgscan && /sbin/vgchange -a y
fi
これらの行をコメントアウトすると、vgscan が古いボリュームグループのデバイスファイルを
削除するのを防ぐことができ、またブート時にボリュームグループが自動的にアクティブ化され
なくなります。
注記
Serviceguard の制御下にないボリュームグループがあるときには、次の例のよう
にして、sysinit ファイル内でそれらのボリュームグループを明示的にアクティ
ブにする必要があります。
vgchange -a y /dev/vg00
vgchange -a y /dev/vg01
Red Hat 4
RedHat 4 では、vgscan が実行されないようにする必要はありません。
Serviceguard の制御下にあるボリュームグループを非アクティブ化するには、vgchange コマン
ドを /etc/rc.d/rc.sysinit の最後に追加します。たとえば、ボリュームグループ sgvg00 と
sgvg01 が Serviceguard の制御下にある場合は、ファイルの最後に次の行を追加します。
vgchange -a n /dev/sgvg00
vgchange -a n /dev/sgvg01
vgchange コマンドは、一時的にボリュームグループをアクティブ化してから非アクティブ化し
ます。これは正常な動作です。
第1章
45
Serviceguard for Linux A.11.16 リリースノート
このバージョンでの修正点
このバージョンでの修正点
この項では、HP Serviceguard for Linux バージョン A.11.16 における、必要なパッチと修正さ
れた不具合について説明します。
必須パッチ
本書の発行時点では、HP Serviceguard for Linux A.11.16 の必須パッチや推奨パッチはありま
せん。ただし、Serviceguard をインストールする前に、下記の当社 IT リソースセンターの Web
ページで、新しいパッチ要件を確認してください。
http://itrc.hp.com
注記
46
パッチは随時更新または削除される可能性があります。ダウンロードする前に、
必ずパッチのステータスを確認してください。
第1章
Serviceguard for Linux A.11.16 リリースノート
このバージョンでの修正点
不具合の修正
HP Serviceguard for Linux A.11.16.02 では、以下の不具合が修正されました。
JAGaf49627、JAGaf50940、JAGaf46380、JAGaf56322: cmclnodelist ファイルと /etc/hosts
の IP アドレスが誤って扱われる
•
問題 : Serviceguard は、cmclnodelistファイル内の IPアドレスを正しく扱っていませんでし
た。この不具合により、コマンドを実行すると “Permission Denied” エラーが表示されます。
( この問題は、クラスタを構成する前の状態でのみ発生します。いったんクラスタを構成す
ると、cmclnodelist ファイルは無視され、アクセスはクラスタ構成ファイルで定義されて
いるアクセス制御ポリシー (ACP) を介して制御されます。)
さらに問題があり、ACP を決定する際に適切な IP アドレス解決が行われていませんでし
た。
•
解決策 : プログラムコードが修正され、送信元の IP アドレスと、cmclnodelist ファイル内の
IP アドレスを比較するようになりました。また、最高の権限を持つホスト名が見つかるまで
ACP の検索を続けるようになりました。
JAGaf57378: cmcld でのメモリーリーク
•
問題 : cmcld プロセスがメモリーを取得し続け、長期に渡ってメモリー使用量が増え続けま
す。クラスタの再編成の際に、使わなくなったメモリーを解放しないプログラムコードが存
在していました。
•
解決策 : パッケージマネージャーのプログラムコードで、メモリー解放ルーチンを呼び出さ
なければならないのに呼び出していないことがありました。この問題を解決するために、メ
モリーを解放すべきときに解放するようにプログラムコードが変更されました。
JAGaf57613: cmcld がハングアップし、TOC が発生することがある
•
問題 : cmcld プロセスがハングアップし、“Warning: cmcld process was unable to run” のよ
うなメッセージが syslog に出力されることがあります。また、ハングアップディテクタに
よって cmcld プロセスが抹消され、TOC が発生することがあります。
プログラムコード内にデッドロックが存在し、1 つのスレッドがあるロックを保持したまま
別のロックを待ち、他のスレッドとの間でデッドロック状態を引き起こしていました。
•
解決策 : スレッドが他のロックを取得しようとする前に、ロックを解放するように修正が行
われました。
第1章
47
Serviceguard for Linux A.11.16 リリースノート
このバージョンでの修正点
JAGaf45937: cmcld により直接または間接的に起動されたプロセスのログファイル内の日付を
報告するときに、ここで示す値が使われる (cmviewcl -p で正しいパッケージステータスが表示
されない )
•
問題 : 状況によっては、cmviewcl -p pkg により、状態とノードが認識不能と表示されます。
cmviewcl では、正しい状態が表示されます。この問題は、クラスタをシングルノードモー
ドで起動した特殊な状況でのみ再現します。
•
解決策 : cmviewcl -p コマンドでは、"view_node" でパッケージの状態を検索していました。
この処理が修正され、本当のパッケージステータスをチェックするようになりました。
HP Serviceguard for Linux A.11.16.01 では、以下の不具合が修正されました。
JAGae91411: サブネットマスクの変更をオンラインの cmapplyconf が検出しない
•
問題 : クラスタで使用中の LAN カード上でサブネットマスクを変更しても、オンラインの
cmapplyconf がこの変更を検出しないため、クラスタ構成がアップデートされません。オ
フラインの cmapplyconf ではクラスタ構成がアップデートされます。
たとえば、クラスタ構成が最初に適用された時に lan0 でサブネットマスク 255.255.255.128
が使われており、その後 255.255.255.192 に変更した後に cmapplyconf を実行すると、以
下のように表示されます。
# cmapplyconf -C cluster.ascii
Begin cluster verification...
Modifying configuration on node A
Modifying configuration on node B
Modify the cluster configuration ([y]/n)? y
There were no configuration changes to apply.
Completed the cluster creation.
•
解決策 : コマンドの gather_network_config フェーズで違いを検出できるように、データを
ASCII 形式ファイルから読み込んだ後、既存の構成から new_cl にネットマスクをコピーし
ます。
JAGae91413: IP 追加時に cmmodnet がサブネットマスクをチェックしない
•
問題 : ネットワークインタフェースのサブネットマスクが、クラスタ構成を最後に適用した
ときの値から変更されても、パッケージ起動時にネットワークインタフェースに追加される
パッケージの再配置可能 IP アドレスは、元のサブネットマスクのままになり、ネットワー
ク構成に不整合が生じます。
•
解決策 : システムと SG の構成の間でサブネットマスクの不一致を検出するようにコマンドが
変更され、不整合があればエラーとなるようになりました。
48
第1章
Serviceguard for Linux A.11.16 リリースノート
このバージョンでの修正点
JAGae91937: クラスタが存在しないと cmgetconf が何も返さない
•
問題 : cmgetconf コマンドは、以下の場合に何も表示しません。
— クラスタが構成されていない
— 存在しないクラスタが指定された
•
解決策 : ログメッセージが追加されました。
JAGae95386: cmresmond でファイル記述子がリークする
問題 : 極端な状況下で、cmresmond でファイル記述子がリークし、出力の際に予測不可能な動作
をすることがあります。ユーザーに見える唯一の現象は、cmresmond によって予測不能で異常
な内容がログファイルに出力されることです。ほとんどの場合、混乱した内容になっていたり、
意味のないテキストになります。リソースが破棄される際にファイル記述子がクローズされませ
ん。これにより、エージェントの生成時、cmresmond の再起動時、エージェントの復帰時に
リークが起きる可能性があります。
解決策 : いくつかのメッセージのログレベルが変更されました。
JAGaf01170: シャットダウン / 再起動 / 再ロード時に cmresmond がエージェントを停止させな
い
問題 : cmresmond --shutdown、--restart、--reload のいずれかを実行した時に、コマンドを実行
する前に動作していたディスクエージェントが停止されず、動作したままになることがありま
す。通常、ディスクエージェントは自分で終了するため、このような場合に明示的に停止される
ことはありません。
解決策 : 再ロード、再起動、シャットダウン時にエージェントが明示的に停止されるようになり
ました。
JAGaf09870: cmresmond 内で何かが異常終了しコアダンプが生成される
問題 : cmresmond の動作中に "cmresmond --reload" が実行されると、cmresmond がセグメン
テーションフォルトで終了します。再ロード中は SIGCHLD の処理が正しく動作しません。シグ
ナルを無視せずにシグナルハンドラーが閉じられるため、再ロードの最中に SIGCHLD が発生す
ると、セグメンテーションフォルトが発生します。
解決策 : シグナルハンドラーを閉じる前にシグナルを無視するようになりました。
第1章
49
Serviceguard for Linux A.11.16 リリースノート
このバージョンでの修正点
JAGaf11607: deadman ドライバがロードされていないと Linux 上の cmcld が異常終了する
問題 : deadman ドライバがロードされていない状態でクラスタを起動すると、cmcld が異常終
了します。可能性は低いものの、システムのブート時に、ノードがクラスタに参加できなくなる
わずかな期間があります。ノードのリブートによりネットワークサービスが起動された直後、
deadman ドライバがロードされる前に他のノードで cmrunnode が実行されると、このような状
況になります。
解決策 : システムブート時に、ネットワークが有効になる前に deadman ドライバがロードされ
るようになりました。cmcluster.init は 2 つのファイルに分割されました。最初のファイルは
SGSafety という名前で、ブート時にネットワークサービスが起動される前に deadman ドライ
バをロードします。
JAGaf11704: ゼロサブネットを指定すると cmmodnet が無限ループに陥る
問題 : cmmodnet の引き数として正しいサブネットを指定せずにゼロサブネットを指定すると、
cmmodnet が無限ループに陥り、パッケージ制御スクリプトからパッケージが起動された時に
パッケージの起動がハングします。cmmodnet コマンドでは、引き数でゼロサブネットが渡され
ると、そのようなケースを考慮していないため、while(1) ループから抜けることができず、無限
ループに陥ります。
解決策 : コマンド引き数を解析する際にこの状況を検出し、直ちにエラーとして、cmmodnet コ
マンドにはゼロ以外の引き数が必要であることを示すメッセージが出力されます。cmmodnet の
解析処理が変更され、ゼロサブネットを検出して、適切にエラーとするようになりました。
JAGaf17444: ブート時に cmrunnode を使ってクラスタを編成できない
問題 : システムブート時に実行される Serviceguard の RC スクリプトでは、正しく 600 秒間ク
ラスタの構成を再試行しません。最初の試行でクラスタに参加できないと、そこであきらめてし
まいます。cmcluster.init は、失敗すると再試行せずに以下のメッセージを出力します。
cmrunnode: Issuing cmrunnode again may succeed.
解決策 : cmcluster.init は、上記メッセージで失敗したときに 10 分間再試行するようになり
ました。
JAGaf47433: Serviceguard の locklund がデフォルトのロギングレベルでも大量のログを出力
する
問題 : cmlocklund が過剰な情報をログに出力します。
解決策 : リソースが破棄される際に、ファイル記述子をクローズするようになりました。
50
第1章
Serviceguard for Linux A.11.16 リリースノート
このバージョンでの修正点
A.11.16.07 および A.11.16.08 での不具合の修正点
HP Serviceguard for Linux A.11.16.07 および A.11.16.08 では、以下の不具合が修正されていま
す。
JAGaf30745: hacl-cfg/udp ポートに対する nmap で inetd がループし、cmclconfd で問題が発
生する
問題 : cmclconfd は、不正なメッセージのヘッダーを見つけると、メッセージを受け取らずに終
了していました。これにより、inetd のソケットバッファーにメッセージが残るため、inetd が
別の cmclconfd プロセスを生成し、Serviceguard のコマンドは、タイムアウトしてエラーメッ
セージを出力するまでは、ハングアップしたように見えていました。
解決策 : cmclconfd は、不正なメッセージでも受け取るようになりました。JAGaf93186 も参照
してください。
JAGaf55446: inetd.conf に cmclconfd -i と設定すると、syslog に大量のメッセージが書き込ま
れる
問題 : identd を無効にすると、cmclconfd を実行するたびにセキュリティ警告メッセージが
syslog に書き込まれていました。
解決策 : cmclconfd は、ノードがクラスタに参加した後、ブート後に最初に実行されたときに
だけ syslog にメッセージを書き込むようになりました。
JAGaf61355: SG 11.16.01 でログファイルの時間帯が必ず PST8PDT となる
問題 : 場合によって、TZ 変数が設定されていないと、cmcld によって起動されたプロセスでは、
タイムスタンプの時間帯がデフォルトで太平洋時間帯 (PST/PDT) になることがありました。こ
れらのタイムスタンプは、ログファイル内の他のタイムスタンプと一致していませんでした。
解決策 : TZ が設定されていない場合、Serviceguard はデフォルト値として NULL を使用するよ
うになりました。これにより、ログファイルでのタイムスタンプの不一致が解消されます。
JAGaf62885: システムの再起動後に deadman ドライバがすぐに発動する
問題 : 整数のオーバーフローや折り返しが発生すると、deadman タイマーが満了し、システム
リセット (TOC) が発生する場合がありました。
解決策 : deadman タイマーが修正されました。( この修正は、Serviceguard for Linux
A.11.16.02 でも行われています。)
第1章
51
Serviceguard for Linux A.11.16 リリースノート
このバージョンでの修正点
JAGaf65384: ロック LUN の破損による不明なステータス ( ロック LUN) と DB エラーステータ
ス (cmcld)
問題 : ロック LUN の初期設定の際に、デバイス名を格納するために割り当てたメモリーが誤っ
て解放され、locklund がデバイス名に対して誤ったアクセスを行うようになっていました。
解決策 : コードが修正され、デバイス名にアクセスする必要があるすべてのルーチンがデバイス
名を取得するまでメモリーが解放されないようになりました。
JAGaf78275: 1 台のノードでのカーネルの問題により、SG クラスタが修復不可能な障害に陥る
問題 : 1 台のノードのタイマーループスレッドまたはシステムクロックの問題で、クラスタ内の
すべてのノードが同時に停止 (TOC) することがまれにありました。
解決策 : cmcld は、ハートビートメッセージのタイムスタンプでクロックが進んでいることを確
認し、一定の期間にわたって進んでいないことを検出すると中断するようになりました。その結
果、クロックに問題があるノードが障害となりますが、クラスタ全体が障害に陥ることはなくな
りました。
JAGaf83113, JAGaf97723: “Unable to stat /etc/cmcluster/cmclconfig, No such file or
directory” メッセージが syslog に大量に出力される
問題 : このメッセージは、Serviceguard クラスタノードとして構成されていないシステムが
UDP プローブを受け取るたびに syslog に出力されていました。
解決策 : メッセージのログレベルが変更され、cmclconfd のロギングが有効でない限り syslog
に書き込まれないようになりました。
JAGaf88042: Serviceguard パッケージ制御スクリプト内の Linux LVM2 用の vgcfgrestore の
構文が正しくない
問題 : パッケージ制御スクリプト内での vgcfgrestore の呼び出しで、LVM バージョン 1 しか
処理できず、LVM バージョン 2 を使うとパッケージ起動障害となっていました。
解決策 : スクリプトが変更され、LVM バージョン 1 だけでなく、LVM バージョン 2 に対しても
vgcfgrestore が正しく呼び出されるようになりました。
52
第1章
Serviceguard for Linux A.11.16 リリースノート
このバージョンでの修正点
JAGaf93186: hacl-cfg/udp ポートに対する amap で inetd がループし、cmclconfd で問題が発
生する
問題 : UDP メッセージは、メッセージ中の長さとオフセットのフィールドの値が正しくない場
合でも、不正と見なされず、cmclconfd はメッセージを受け取らずに終了していました。
cmviewcl も無限にループする可能性がありました。cmclconfd のケースでは、メッセージが
inetd のソケットバッファーに残るため、inetd は別の cmclconfd プロセスを生成します。
解決策 : 長さまたはオフセットのフィールドの値が正しくない場合、メッセージは不正と見なさ
れるようになりました。JAGaf30745 も参照してください。
JAGaf97723: shutdown -h を使ってクラスタノードを停止すると、Serviceguard が正常に停止
しない
問題 : クラスタノードを停止したときに、cmcluster の停止スクリプトが /etc/rc0.d に含まれ
ていなかったため、このスクリプトが実行されませんでした。その結果、シャットダウンの一環
としてパッケージが自動的に停止されず、パッケージが引き継ぎノードにフェイルオーバーされ
ませんでした。パッケージがサブネットを監視している場合は、システム停止スクリプトがネッ
トワークを停止したときにパッケージが障害になります。
解決策 : Serviceguard の停止スクリプト (K01cmcluster) が適切な場所 (Red Hat では
/etc/rc0.d、SUSE では /etc/rc3.d) に置かれ、シャットダウン時に実行されるようになりま
した。
JAGag02408: パッケージ制御スクリプトによって一時ファイルが作成される
問題 : 何らかの理由でパッケージの起動または停止が正常にできないと、パッケージ制御スクリ
プトによって作成された vgchange_pids$$、mount_pids$$、 umount_pids$$、および
fsck_pids$$ などの一時ファイルが削除されず、ルートディレクトリ (/) に残っていました。
解決策 : 一時ファイルではなく、ローカル変数を使って PID 情報が格納されるようになりまし
た。
JAGag03891: パッケージ制御スクリプト内の umount_fs 関数によってクラスタが停止する
問題 : クラスタノード上で mount や umount が何度も実行されると、パッケージ制御スクリプト
から実行される umount コマンドによってノードが停止することがありました。
解決策 : パッケージ制御スクリプト内の umount 関数が修正され、ファイルシステムのマウント
ポイントではなくブロックデバイスを操作するようになりました。
第1章
53
Serviceguard for Linux A.11.16 リリースノート
このバージョンでの修正点
JAGag09310: パッケージ名が 12 文字を超えていると、cmviewcl によってホスト名が切り捨て
られる
問題 : ホスト名とパッケージ名が 12 文字を超えていると、cmviewcl がホスト名を 12 文字に切
り捨てていました。
解決策 : cmviewcl の出力では、最大 31 文字までホスト名が表示されるようになりました。
必要な Linux ネットワークドライバ
HP Serviceguard でサポートされているネットワークドライバの最低限のバージョンは基本 OS
に付属しています。すべてのネットワークドライバの最新版は、PSP (ProLiant Support Pack)
で提供されています。これらのドライバはテストしたうえで認定されています。
http://www.hp.com/jp で、[ ドライバ&ソフトウェアダウンロード ] をクリックしてください。
基本 OS に付属のドライバを使用してください。
54
第1章
Serviceguard for Linux A.11.16 リリースノート
既知の問題と回避策
既知の問題と回避策
ここでは、HP Serviceguard for Linux バージョン A.11.16.01 および A.11.16.02 の既知の問題
とその回避策について説明します。ただし、記載内容は予告なしに変更される場合があります。
最新情報については、当社サポート担当までお問い合わせください。
注記
パッチは随時更新または削除される可能性があります。ダウンロードする前に、
必ずパッチのステータスを確認してください。
パッチの最新リストは当社の IT リソースセンターの Web ページから入手できま
す。
http://itrc.hp.com
SUSE Linux Enterprise Server 9 をリブートすると、/var/run/cmcluster
ディレクトリ内のファイルが削除される
•
問題 : SLES9 システムをリブートすると、クリーンアップスクリプトが起動され、
/var/run/cmcluster ディレクトリ内のファイルが消去されます。これは通常は問題となり
ませんが、cmcld が異常終了するようなことがあると、コアファイルが
/var/run/cmcluster 内に作成され、システムは TOC を実行します。しかし、
/var/run/cmcluster 内のファイルは消去されるため、この時点でコアファイルも削除さ
れ、それ以上の解析ができなくなります。
•
回避策 : ファイル /etc/rc.d/boot.localnet を編集して、次の行を探します。
'find /var/run /var/lock -type f -print0 |xargs -0 -r rm -f 2>/dev/null'
/var/run を削除します。
第1章
55
Serviceguard for Linux A.11.16 リリースノート
既知の問題と回避策
同じ UID を持つ複数のユーザーを構成すると、ユーザー名の解決で、UID に
よって 1 つのユーザー名に決定されない
•
問題 : 一般的なデータベーススキーマをユーザー / パスワードの検索で使用すると、同じ UID
を持つ複数のユーザーを構成すると、UID によってユーザー名が 1 つに決定されません。た
とえば、ユーザー名が “root”、“jacksu”、“jillsu” の 3 つユーザーが同じ UID 0 を持つと
します。この場合、“root” でログインして id コマンドを実行すると、ユーザー名には
“root”、“jacksu”、または “jillsu” のいずれかが表示されます。
この問題は nscd というデーモンで発生します。このデーモンは、/etc/passwd ファイルで
順次検索するのではなく、キャッシュを保持してハッシュリストで検索するためです。ただ
し、これは一般的な問題であり、さまざまなパスワードデータベーススキーマ (NIS、
LDAP、または nss_db および libdb を使用してローカルデータベースに保存した
/etc/passwd) で発生する可能性があります。
この結果、Serviceguard for Linux のコマンドがユーザーの検索に失敗し、Serviceguard の
ログファイルがコマンドの実行時に不正なユーザーをリストすることがあります。
•
回避策 : Serviceguard for Linux のクラスタのすべてのノードで、UID 0 にはユーザーを 1 つ
のみ構成し、このユーザーの名前を “root” にする必要があります。Serviceguard コマンドを
実行するか Serviceguard Manager を実行するように構成されているリモート ( 非クラスタ
) の Linux ノードでも、UID 0 のユーザーはこの規則に従う必要があります。Serviceguard
コマンドを実行するか Serviceguard Manager を実行するように構成されている Linux シス
テムの個々のユーザーは、ルート以外のすべてユーザーが固有の UID を持つ必要がありま
す。
リソースモニターが実行時間としてマイナス 1 秒を返す
•
問題 : リソースモニターエージェントの実行時間は、リソースモニターデーモンの照会に
よってレポートされます。この値はエージェントのポーリング周期ごとに更新されます。時
折、この実行時間がマイナス 1 秒とレポートされることがあります。これは、エージェント
がマイナス 1 秒間実行されたという意味ではありません。デーモンのエラーが原因です。
•
回避策 : 報告されたステータスは、次回のポーリング周期で訂正されます。
56
第1章
Serviceguard for Linux A.11.16 リリースノート
既知の問題と回避策
JAGad39695: ユーザーエラーにより「ゴースト」サービスが発生することがあ
る
•
問題 : クラスタに、障害の発生したサービスのあるパッケージがあり、そのサービスが実際
は不要なサービスである場合、パッケージの ASCII 形式ファイルおよびパッケージスクリプ
トを編集して cmapplyconf を実行すると、このパッケージはまだ実行中であるためエラーに
なります。その後でパッケージを停止した場合、このサービスは、定義がパッケージ制御ス
クリプトからすでに削除されているため停止されません。この時点で、このサービスは
「ゴーストサービス」となります。cmapplyconf を実行してパッケージをエラーなく再起動
できるようになりますが、Serviceguard にゴーストサービスを停止するように知らせる方法
がありません。syslog には、ゴーストサービスが再起動されていることが 10 秒ごとに繰り
返し記録されます。
Nov 23 13:37:55 yyzhqpd1 cmcld: Service oasmon terminated due to an exit(1).
Nov 23 13:37:55 yyzhqpd1 cmcld: Automatically restarted service oasmon for
the 7995th time after failure.
Nov 23 13:37:55 yyzhqpd1 cmcld: Service oasmon has no status entry.
Either its package is not running or this is not a configured service name.
Nov 23 13:37:55 yyzhqpd1 cmsrvassistd[17286]: Unable to mark service oasmon
(pid 17286) as UP
根本的な原因は、パッケージがシャットダウンされたときに、このサービスに対する参照が
すでにパッケージ制御スクリプトから削除されていて、パッケージが停止している間にサー
ビスが異常終了したことです。
このサービスはファイル内にはすでに存在していないので、手動で停止させることはできま
せん。このような試行はすべてエラーとなります。
cmhaltserv : Service name oasmon is not running.
•
回避策 : サービスを削除するときは、必ず正しい手順に従ってください。すなわち、ファイ
ルの編集を開始する前にパッケージを停止します。ゴーストサービスが発生してしまった場
合は、削除したサービスと一致するサービス名を持つ新しいパッケージを追加した後、
cmhaltserv を使用してそのサービスを停止します。この方法では、パッケージ、ノード、
クラスタのいずれも停止させずに問題が解決されます。クラスタまたはノードを停止して再
起動して、ゴーストサービスを削除する方法もあります。2 番目の方法は、クラスタまたは
ノードのダウンタイムが必要になるため、週 7 日 24 時間稼働する環境には適合しません。
第1章
57
Serviceguard for Linux A.11.16 リリースノート
既知の問題と回避策
JAGae29576: cmviewcl によるクラスタステータスのレポートに 15 秒かかる
•
問題 : クラスタノードにアクセスできない場合、cmviewcl によるクラスタステータスのレ
ポートに最大 15 秒かかります。
•
回避策 : コマンドは正常に実行されます。
JAGaf09394: サービスコマンド中に埋め込まれた引用符がパッケージ制御スク
リプトに渡されない
•
問題 : SDF データ内で引用符を使うことができません。SDF で、以下のように設定するとし
ます。
service ourXclock {
command = /usr/bin/X11/xclock -title "$(hostname)" -display
15.244.59.204:0.0 restartsAllowed = 1 }
制御スクリプトは、$hostname を囲んでいる引用符を削除します。
•
回避策 : "\" を使って引用符をエスケープしてください。上記のサービスコマンドは次のよう
に記述します。
/usr/bin/X11/xclock -title \"$(hostname)\" -display
JAGaf14481: 存在しない ID を execMethod に渡すとサーバープロバイダエ
ラーが発生する
•
問題 : この問題は、クライアントが要求したパッケージの ID が不正であるというエラーメッ
セージが COM ノードから返されることで起こります。ここで説明する問題は非常にまれな
状況で、複数の SGMGR 操作が同じクラスタで実行された場合に起こります。たとえば、
SGMGR の別のユーザーがあるパッケージを同時に削除した場合などです。このような状況
はごくまれです。
•
回避策 : この問題を避けるためには、パッケージやクラスタに対して同時に複数の操作 ( 特に
パッケージやクラスタの構成を削除するような操作 ) を行わないでください。
58
第1章
Serviceguard for Linux A.11.16 リリースノート
既知の問題と回避策
JAGaf41625: locklun デバイスへのアクセス失敗が lock 拒否として報告される
•
問題 : ロックを取得するための locklun デバイスへのアクセスに失敗すると、ロック拒否とし
て報告されます。たとえば、locklun デバイスが利用できず ( ケーブルが外れているといっ
た理由で )、ロックの取得に失敗した場合などです。これは動作としては正常ですが、実際
にはデバイス使用不可として報告されるべきものが、ロック拒否としてログに記録されま
す。
•
回避策 : 回避策はありません。
JAGaf14645: パッケージ名に '(' が含まれていると cmprovider で構文エラーに
なる
•
問題 : パッケージ名に特殊文字が使用されていると、Serviceguard Manager が想定している
パッケージ名に違反していることになります。
•
回避策 : パッケージ名として "(,)" のような特殊文字を含むパッケージを構成しないでくださ
い。
JAGaf45808: SGMgr 4.02 FR プロパティシートにデータが表示されない
•
問題 : パッケージ pkgjb のパッケージ構成を変更する際に、以下のエラーが表示されます。
Error: Unable to copy file to hasupt22: Input/output error
Error: Unable to copy file to hasupt21: Input/output error
Error: A temporary configuration file ($SGCONF/cmclconfig.tmp) cannot be
written to disk on one or more nodes: Permission denied
Error: Unable to copy file to hasupt22: Input/output error
Error: Unable to copy file to hasupt21: Input/output error
Error: A temporary configuration file ($SGCONF/cmclconfig.tmp) cannot be
removed from one or more nodes: Permission denied
Error: Unable to apply the configuration change: Permission denied.
Check the syslog file(s) for additional information.
cmapplyconf : Unable to apply the configuration
•
回避策 : すべてのインタフェースのIPアドレスが/etc/hostsファイル内にあることを確認し
てください。A.11.16.01 のドキュメントに記載されています。
第1章
59
Serviceguard for Linux A.11.16 リリースノート
既知の問題と回避策
JAGaf45963: クラスタ内のノードからルートで cmapplyconf が実行できない
•
問題 : リソースモニターデーモン cmresmond はエージェントに対してファイル記述子をオー
プンし、エージェントはその監視対象ディスクを読み取って、ディスクがアクティブで動作
しているかどうかを判別します。ファイル記述子がオープンされているときに “cmresmond
--reload” を実行すると、ファイル記述子のリークが発生します。時間が経過するにつれ、
リークが増加してファイル記述子のオープン数の限界に達する可能性があります。ファイル
記述子の限界に達すると、I/O の際に予想できない事象が発生し、コアダンプが発生します。
•
回避策 : “cmresmond --reload” の代わりに “cmresmond --restart” を使用します。これで、
リソースモニターが停止し、別の PID で再起動されるため、cmresmond によって開かれて
いたすべてのファイル記述子がクリアされます。
JAGaf46362: cmviewcl がパッケージを unknown でなく down/unowned と表
示する
•
問題 : クラスタコーディネータの cmcld が停止し、ノードの TOC が開始される前の状態では、
cmviewcl は、実際には動作中のパッケージの状態を “down”、“unowned” として表示しま
す。しかし、ステータスと所有権として “unknown” を表示するのがより適切です。
•
回避策 : 回避策はありません。
JAGaf48214: SDFComponent.setName が 'package' などのキーワードでエ
ラーとなる
•
問題 : この問題は、“cluster” という名前のクラスタや “package” という名前のパッケージでク
ラスタを構成しようとしたときに発生します。SGMGR を使っている場合は、“cannot
create a package named 'package' ” というエラーが表示されます。Sgmgr を使った現在の実
装では、このような名前はサポートしていません。しかし、cluster という名前のクラスタ
や package という名前のパッケージは、通常の Serviceguard コマンドでは構成できます。
コマンドでこのような名前を付けると、SGMGR ではパッケージを変更できなくなります。
•
回避策 : この問題を避けるには、クラスタ名を cluster としたり、パッケージ名を package と
しないようにします。また、service、subnet といったキーワードもネームサービスやサブ
ネットに使用しないでください。
60
第1章
Serviceguard for Linux A.11.16 リリースノート
各言語でのソフトウェア使用の可否
各言語でのソフトウェア使用の可否
HP Serviceguard for Linux バージョン A.11.16 は英語版のみのリリースですが、以下のマニュ
アルの日本語版が HP Serviceguard for Linux CD に収録されています。
• 『HP Serviceguard の管理 Linux 用』第 6 版 (B9903-90052)
• 『HP Serviceguard A.11.16 リリースノート Linux 用』第 3 版 ( 本書 ) (B9903-90053)
第1章
61
Serviceguard for Linux A.11.16 リリースノート
各言語でのソフトウェア使用の可否
62
第1章