Upload
vothuan
View
299
Download
3
Embed Size (px)
Citation preview
HP Integrity サーバ + HP-UX 11i v3(11.31)
Serviceguard + Oracle DB 構築手順
2.共有ディスクの作成
初版 2009/07
目次
2. 共有ディスクの作成....................................................................................................................... 2
2.1 ボリュームグループ(VG)の作成 .............................................................................................. 3
2.2 論理ボリューム(LV)の作成 ..................................................................................................... 8
2.3 ファイルシステムの作成 ........................................................................................................ 10
2.4 ボリュームグループ(VG)の共有化 ......................................................................................... 12
関連情報 .......................................................................................................................................... 21
HP-UX 11i Knowledge-on-Demand ....................................................................................................... 21
2
2. 共有ディスクの作成
この章の概要
Serviceguard 構成の Oracle DB では、共有ボリュームグループ(VG)上のファイルシステムに以下の
ファイルを配置します。
必ず共有ボリューム上に配置するファイル:
・Oracle データベースのデータ(テーブル・インデックス)表領域
・Oracle データベースの制御ファイル
・Oracle データベースの REDO ログファイル
・Oracle データベースのロールバックセグメント表領域又は UNDO 表領域
・Oracle データベースのシステム表領域
・Oracle データベースの SYSAUX 表領域(Oracle10g のみ)
・Oracle データベースのリカバリ領域(使用している場合、Oracle10g のみ)
設計によって、共有ボリュームに配置するファイル:
・Oracle データベースのアーカイブログファイル
・Oracle データベースの SPFILE(使用している場合)
・Oracle データベースのパスワードファイル(使用している場合)
ここでは、これらのファイルを配置するために必要な共有ボリュームを作成します。これらの作業はすべてスーパーユ
ーザ(root)で行います。
含まれる内容
□ボリュームグループ(VG)の作成
□論理ボリューム(LV)の作成
□ファイルシステムの作成
□ボリュームグループ(VG)の共有化
3
2.1 ボリュームグループ(VG)の作成
1. ボリュームグループ(VG)のデバイスファイルの作成
VG へアクセスさせるためのデバイスファイルを作成します。mkdir(1) コマンドで、/dev/VG 名のディレクトリを作成し
た時点で VG 名も決定されます。
引数 設定する内容/設定値の意味
VGの group デバイス
ファイル
/dev/VG 名/group という形で指定します。
c キャラクタデバイスとして作成します。(変更不可)
メジャー番号 LVM のメジャー番号 64 を指定します。(変更不可)
マイナー番号 16 進数で指定します。0xXX0000の XX 部分をすべての VGの中でユニークに設定しま
す。
実行例
「# ls -l /dev/*/group」コマンドで確認し、既に使用されているマイナー番号(0x[XX]0000)は使用しないようにしてく
ださい。
ワンポイント・アドバイス
VG 名は頭に“vg”を付ける等、システム全体で規則を持たせると管理が容易になります。他にも、“vg”の後の数字
“01”をデバイスファイルのマイナー番号と同じにする等も管理上便利です。
システム内に存在する VG を確認するには、「# strings /etc/lvmtab」コマンドで VG とデバイスファイルがリストされま
す。
[コマンド説明]
# mkdir /dev/VG 名
# mknod [VG の group デバイスファイル] c [メジャー番号] [マイナー番号]
4
作業をやりなおす場合
「# rm -r /dev/vg02」コマンドで削除します。
5
2. 物理ボリューム(VG)の作成
共有ディスクとして使用する物理ディスクを LVM で扱えるようにフォーマットします。
引数 設定する内容/設定値の意味
-f 強制実行オプションです。
キャラクタデバイス名 選択する物理ディスクのキャラクタデバイスファイル名を指定します。
実行例
選択したディスクが過去に LVM で使用されていた場合、警告メッセージが出ます。そのディスクが現在使用されていな
い事を確認し、“-f” オプションで無視して作成可能です。
ワンポイント・アドバイス
サーバに接続されている物理ディスクのデバイスファイル名は、「# ioscan -fnNC disk」コマンドで確認できます。デバ
イスファイルには命名規則に従って“diskn”の名前が付けられます。diskn の数値 n は、ディスクデバイスのインスタン
ス番号を示します。「# ioscan –fnNC disk」コマンドの実行結果の"I"のカラムの数値がこの番号になります。たとえば、
"/dev/disk/disk7"(ブロックデバイスファイル)と"/dev/rdisk/disk7"(キャラクタデバイスファイル)が表示されます。
各ディスクデバイスへの物理的なパス(lunpath ハードウェアパス)は、「# ioscan -fnNC lunpath」コマンドで確認できま
す。たとえば、disk7 への lunpath ハードウェアパスとして
"0/3/0/0/0/0.0x50014380000612d9.0x4000000000000000"が表示された場合、左からサーバのスロット
番号("0/3/0/0/0")、ホストバスアダプタ(HBA)のポート番号("0")、ターゲットアドレス
("0x50014380000612d9")、LUN(論理ユニット)アドレス("0x4000000000000000")を表します。
クラスタ環境で共有ディスクを識別するには、各ノード上で「# scsimgr get_attr -a wwid -D キャラクタデバイスファイ
ル」コマンドを実行してディスクデバイスの一意な識別子である WWID(World Wide ID)を調べます。たとえば、disk7
の WWID は「# scsimgr get_attr -a wwid -D /dev/rdisk/disk7」コマンドで確認できます。
[コマンド説明]
# pvcreate { -f } [キャラクターデバイス名]
6
3. ボリュームグループ(VG)の作成
VG を作成します。
オプション 設定する内容/設定値の意味
–s [PE サイズ]
VG を構成する最小単位である物理エクステント(PE)の値を設定可能です。デフォルトは
4MBです。1 ~ 256 までの範囲の 2 のべき乗(1 、2 、4 、8 、16 、…、256)を指定しま
す。1PV あたりの最大 PE 数は 65535 個です。128GB 以上のサイズの物理ディスク(ディ
スクアレイ装置の場合は論理ユニット)を使用している場合は、このオプションを設定して、
PE サイズを大きくする必要があります。
–p [最大 PV 数]
これから作成する VG に参加できる PV の最大数です。デフォルトは 16 です。将来の拡張
も含め、最大数を設定する必要があります。[最大 PV 数] に大きな値を設定する場合、“-s
[ PE サイズ]”オプションを設定して、PE サイズを大きくする必要があります。
引数 設定する内容/設定値の意味
VG名 ボリュームグループ名を指定します。
PV 名pvcreate で作成した物理ボリューム名を指定します。スペース区切りで指定し、一度に複数
の物理ボリュームを登録することも可能です。
実行例
ここでは、物理ボリューム(PV)の容量が大きいため、最初の vgcreate コマンドでは、物理エクステント(PE)の数が最大
数(65535)を超え、VG の作成に失敗しています。2番目以降の vgcreate コマンドでは、”-s 8” オプションを指定して
PE サイズを 8MB に拡大して PE数を減らすことにより、VG の作成が成功しています。
[コマンド説明]
# vgcreate –s [PE サイズ] –p [最大 PV 数] [VG 名] [PV 名] …
7
ワンポイント・アドバイス
「# vgdisplay -v /dev/vg01」コマンドで、VG の詳細情報を確認できます。
「# strings /etc/lvmtab」コマンドで、システム内の“VG 名と含まれる PV 名”を確認できます。
“-p”オプションを使用して"最大 PV 数"に大きな値を設定する場合
VG の情報を格納するエリアの制約に影響を与えます。その制約のため vgcreate(1M) コマンドが失敗する場合があ
ります。最大 PV 数と 1PV あたりの最大 PE 数に依存します。
失敗した実行例:
デフォルトの PE_SIZE=4MB のため、64 個の PV 分の PE 情報を所持しきれないためです。
回避する実行例:
作業をやりなおす場合
「# vgchange -a n /dev/vg01」コマンドで VG をディアクティベイト(非活性化)します。これで VG は閉じられた状態に
なります。「# vgexport -m /dev/null /dev/vg01」コマンドで削除します。
「# strings /etc/lvmtab」コマンドで、vg01 がないことを確認します。
デバイスファイルも削除され、PV も再利用できない状態のままですので、VG のデバイスファイルの作成からやりなお
します。
Solaris では…
HP-UX の“ボリュームグループ(VG)” は、Solaris では“ディスクグループ(dg)” に相当します。
dg の作成は、vxdg コマンドで行います。
8
2.2 論理ボリューム(LV)の作成
1. 論理ボリューム(LV)の作成
VG の中に LV を作成します。
オプション 設定する内容/設定値の意味
–n [LV 名]論理ボリューム名を指定します。-n オプションを指定しない場合、論理ボリューム名には、
lvol1 、lvol2 、…という名前で順に名前が付けられます。
–L [LV サイズ]論理ボリュームのサイズを指定します。MB 単位でサイズを指定します。サイズを指定しな
い場合、0[MB]で論理ボリュームが作成されます。
引数 設定する内容/設定値の意味
VG名 論理ボリュームを作成するボリュームグループを指定します。
実行例
ここでは、アーカイブ用、オンライン REDO ログ用、データファイル用の 3 つのファイルシステムを作成する以下の設計
例での例を示します。
Logical Volume(LV)名 マウントポイント名 使用 VxFS オプション 容量(GB)
lvol1(例) /oraarch -o log,largefiles 64
lvol2(例) /oraredo -o log,largefiles 4
lvol3(例) /oradata -o log,largefiles 64
[コマンド説明]
# lvcreate –n [LV 名] –L [LV サイズ] [VG 名]
9
ワンポイント・アドバイス
「# lvdisplay -v /dev/vg01/lvol1」コマンドで、LV の詳細情報を確認できます。
LV サイズはメガバイト単位で指定しますが、LV は物理エクステント(PE)の集合ですので、PE の倍数の大きさしか設定
できません。倍数でない場合は、自動的に倍数値まで切り上げられます。PE のサイズを調べるには、「# vgdisplay
/dev/vg01」コマンドで、“PE サイズ(Mbytes)”の値を調べます。
“-L(大文字)”オプションではなく、“-l(小文字)”オプションで LV サイズ指定することで、メガバイト単位ではなく PE 数単
位で指定できます。
VG の空き容量を調べるには、「# vgdisplay /dev/vg01」コマンドで、“PE サイズ”と“空き PE”(PE 数)の値を調べます。
“PE サイズ× 空き PE”の値が空き容量(メガバイト)です。
使用する PV を指定して LV を作成したい場合は、サイズをゼロ(“-L”オプション無し)で LV を作成し、「# lvextend -L
2048 /dev/vg06/lvol1 /dev/disk/disk21」コマンドで PV を指定して LV を拡張します。
作業をやりなおす場合
「# lvremove /dev/vg01/lvol1」コマンドで削除します。
「# vgdisplay -v /dev/vg01」コマンドで lvol1 がないことを確認します。
Solaris では…
HP-UX の“論理ボリューム(LV)” は、Solaris では“ボリューム” に相当します。
ボリュームの作成は、vxassist コマンドで行います。
# vxassist -g[ dg 名] make[ ボリューム名][ size][ disk#1][ disk#2] …[ disk#n]
10
2.3 ファイルシステムの作成
1. ファイルシステムの作成
LV 上にファイルシステムを作成します。
オプション 設定する内容/設定値の意味
–F fstypeファイルシステムタイプを指定します。一般的な目的のためには、VxFS が推奨されていま
す。
–o largefiles 2GB を超えるファイル(ラージファイル)を使用可能にします。
引数 設定する内容/設定値の意味
LV のキャラクタデバイス
ファイル名
論理ボリュームのキャラクタデバイスファイルを指定します。ブロックデバイスファイルと異な
り、LV 名に“r”が付いていますので注意します。
実行例
Solaris では…
mkfs コマンドを実行して、ファイルシステムを作成します。
# mkfs -F vxfs -o [オプション] /dev/vx/rdsk/[DG 名]/[ボリューム名]
[コマンド説明]
# newfs –F fstype –o largefiles [LV のキャラクターデバイスファイル名]
11
2. ファイルシステムのマウント
マウントポイントを作成し、ファイルシステムをマウントします。
オプション 設定する内容/設定値の意味
–F fstype ファイルシステムタイプを指定します。ここでは、vxfs を指定します。
–o logファイルシステムのメタデータの変更もディスクに記録し、システムコールがアプリケーショ
ンに戻る動作にします。
–o largefiles 2GB を超えるファイル(ラージファイル)を使用可能にします。
-o nodatainlog
ファイルへのデータの書き込みと i-node データの更新を同期して実行するように指定しま
す。データベースのように、ファイルシステムに対して重要な同期書き込みを行う必要があ
る場合にはこのオプションを指定します。
引数 設定する内容/設定値の意味
LV のブロックデバイスフ
ァイル名論理ボリュームのブロックデバイスファイル名を指定します。
マウントポイント マウント先のディレクトリ名を指定します。
実行例
ここでは、共有ディスクとして使用するため、/etc/fstab(システム起動時の自動マウント設定ファイル)への登録を行い
ません。
ワンポイント・アドバイス
bdf(1M) コマンドまたは df(1M) コマンドで、マウント状況を確認できます。
mount コマンドの log オプションは可用性を考慮し、設定しています。
Solaris では…
mount コマンドを実行して、ファイルシステムをマウントポイントにマウントします。
# mount -F [FSType] /de/vx/dsk/[DG 名]/[ボリューム名] [マウントポイント]
[コマンド説明]
# mkdir [マウントポイント]
# mount -F fstype -o log,largefiles,nodatainlog [LV のブロックデバイスファイル名] [マウントポ
イント]
12
2.4 ボリュームグループ(VG)の共有化
1. ボリュームグループ(VG)のマップファイルの取得
ファイルシステムをアンマウントして VG をディアクティベイト(非活性化)し、マップファイル(LV
情報)を入手します。入手後、マップファイルをノード 2 にファイル転送します。
オプション 設定する内容/設定値の意味
–a [y/n]y を指定すると、ボリュームグループをアクティベイト(活性化)します。
n を指定すると、ボリュームグループをディアクティベイト(非活性化)します。
引数 設定する内容/設定値の意味
VG名 ボリュームグループ名を指定します。
オプション 設定する内容/設定値の意味
–v ボリュームグループ名を含む詳細なメッセージを出力します。
–p マップファイルを出すだけで、ボリュームグループのエクスポートは行いません。
–s 共有モードでエクスポートします。
–m [マップファイル名] 情報を出力するマップファイル名を指定します。名称は任意です。
引数 設定する内容/設定値の意味
VG名 エクスポートするボリュームグループ名を指定します。
[コマンド説明]
# vgchange –a n [VG 名]
[コマンド説明]
# vgexport –v –p –s –m [マップファイル名] [VG 名]
13
実行例
必ず vgexport 実行時に“-p” オプションを付けます。
作業中のノード 1 では、このままディアクティベイトした状態にしておきます。
マップファイルをノード 2(hp02)に転送します。ここでは FTP 転送を使用しています。
14
ワンポイント・アドバイス
アンマウントを行う時に、“Device Busy”でアンマウントできないことがあります。この場合は、何かのプロセスがファイ
ルシステムを使用しています。使用中はアンマウントできません。どのプロセスが使用しているのかわからない場合は、
「# fuser -u /oradata」などを実行します。プロセス番号が表示された場合は、その数字の部分だけ(英字は削ります)
を「# ps -ef | grep[ 数字部分]」コマンドで調べることにより使用中のプロセスを特定できます。fuser コマンドで複数の
プロセスが表示された場合も、この方法で1つずつ解決します。su コマンドを繰り返し使用している場合、作業をしてい
る自分自身のシェルのどれかが/oradata などにいるケースもあります。どうしても解決できない場合は、すべてのター
ミナルを exit コマンドで抜けて、新規ターミナルから再度アンマウントを行います。
vgexport 実行時に“-p”オプションを付け忘れると、本当に VG をエクスポート(管理から外す)してしまいます。「#
strings /etc/lvmtab」コマンドで管理対象 VG のリストを確認できます。管理から外れた VG は操作できません。間違っ
てエクスポートしてしまった場合は、インポートして元に戻します。VG のデバイスファイルまで作成しなおして、「#
vgimport -v -s -N -m /tmp/vg01_mapfile /dev/vg01」コマンドを実行すると元に戻ります。「# vgchange -a y
/dev/vg01」コマンドで VG をアクティベイト(活性化)し、「# vgcfgbackup /dev/vg01」コマンドで VG の構造情報を
/etc/lvmconf ディレクトリにバックアップできます。「# strings /etc/lvmtab」コマンドでリストされることを確認します。
FTP 転送の場合、接続するユーザにパスワードが設定されていなければなりません。構築作業時に便宜上パスワード
を外して運用されている場合、FTP 接続が出来ませんので注意が必要です。
RCP 転送の場合、転送作業後、.rhosts 設定の削除し忘れに注意が必要です(セキュリティ上)。
Solaris では…
vxdg コマンドを実行して、DG をディアクティベイト(デポート)します。
# vxdg deport [DG 名]
15
2. ボリュームグループ(VG)のインポート
この作業はノード 2 で行います。ノード 1 で作成した VG を、マップファイルを適用してノード 2 にインポートします。
VG のデバイスファイルをノード 1 と同じ名前で作成しておきます。
オプション 設定する内容/設定値の意味
-v ボリュームグループ名を含む詳細なメッセージを出力します。
-s 共有モードでインポートします。
-NLUN ハードウェアパスと関連付けられたデバイスファイル(一貫性のあるデバイス特殊ファ
ル)を使用します。
-m [ マップファイル名] 情報を格納したマップファイル名を絶対パスで指定します。
引数 設定する内容/設定値の意味
VG名 インポートするボリュームグループ名を指定します。
[コマンド説明]
# vgimport -v -s -N -m [マップファイル名] [VG 名]
16
実行例
インポート後、vgchange(1M) コマンドで VG をアクティベイトし、VG の構造情報をノード 2 にも vgcfgbackup(1M)
コマンドでバックアップを取っておきます。
USB DVD を使用している場合は、以下のメッセージが出力される場合がありますが、正しく vgimport は実行されてい
ますので無視してください。
vgimport: 物理ボリューム "" は "/etc/lvmtab" に追加することはできません。
したがって、ボリュームグループには追加されません。
17
ワンポイント・アドバイス
vgimport 実行時に“-s”オプションを付けると、マップファイルの中の VG の ID と同じ VG の ID を持つ PV を自動的に
選択してインポートします。“-s”の付け忘れに注意が必要です。
インポート後は、「# strings /etc/lvmtab」コマンドで、ノード 2 側の管理対象の VG として vg01 が登録されていること
が確認できます。PV がきちんと揃っているかどうかも確認します。
VG アクティベイト後は、「# vgdisplay -v /dev/vg01」コマンドで確認できます。LV がきちんとノード 1 と同じ名前でイ
ンポートされていることを確認します。
作業をやりなおす場合
「# vgchange -a n /dev/vg01」コマンドで VG をディアクティベイト(非活性化)します。これで VG は閉じられた状態に
なります。「# vgexport -m /dev/null /dev/vg01」コマンドでエクスポートします。「# strings /etc/lvmtab」コマンドで、
VG が存在しないことを確認します。
デバイスファイルも削除されますので、VG のデバイスファイルの作成からやりなおします。
Solaris では…
vxdg コマンドを実行して、DG をアクティベイト(インポート)します。
# vxdg import [DG 名]
18
3. ファイルシステムのマウント
ノード 2 側で、マウントポイントを作成し、ファイルシステムをマウントします。
オプション 設定する内容/設定値の意味
–F fstype ファイルシステムタイプを指定します。ここでは、vxfs を指定します。
–o logファイルシステムのメタデータの変更もディスクに記録し、システムコールがアプリケーショ
ンに戻る動作にします。
–o largefiles 2GB を超えるファイル(ラージファイル)を使用可能にします。
-o nodatainlog
ファイルへのデータの書き込みと i-node データの更新を同期して実行するように指定しま
す。データベースのように、ファイルシステムに対して重要な同期書き込みを行う必要があ
る場合にはこのオプションを指定します。
引数 設定する内容/設定値の意味
LV のブロックデバイスフ
ァイル名論理ボリュームのブロックデバイスファイル名を指定します。
マウントポイント マウント先のディレクトリ名を指定します。
実行例
ノード 2 でも、共有ディスクとして使用するため、/etc/fstab(システム起動時の自動マウント設定ファイル)への登録を
行いません。
ファイルシステムのマウント確認後は、安全のためアンマウントして、VG もディアクティベイトを忘れずに行います。
[コマンド説明]
# mkdir [マウントポイント]
# mount -F fstype -o log,largefiles,nodatainlog [LV のブロックデバイスファイル名] [マウントポ
イント]
19
ワンポイント・アドバイス
bdf(1M) コマンドまたは df(1M) コマンドで、マウント状況を確認できます。
アンマウントを行う時に、“Device Busy”でアンマウントできないことがあります。この場合は、何かのプロセスがファイ
ルシステムを使用しています。使用中はアンマウントできません。どのプロセスが使用しているのかわからない場合は、
「# fuser -u /oradata」などを実行します。プロセス番号が表示された場合は、その数字の部分だけ(英字は削ります)
を「# ps -ef | grep [数字部分]」コマンドで調べることにより使用中のプロセスを特定できます。fuser コマンドで複数の
プロセスが表示された場合も、この方法で 1 つずつ解決します。
su コマンドを繰り返し使用している場合、作業をしている自分自身のシェルのどれかが/oradata などにいるケースも
あります。どうしても解決できない場合は、すべてのターミナルを exit コマンドで抜けて、新規ターミナルから再度アンマ
ウントを行います。
Solaris では…
mount コマンドを実行して、ファイルシステムをマウントポイントにマウントします。
# mount -F [FSType] /de/vx/dsk/[DG 名]/[ボリューム名] [マウントポイント]
20
4. HP-UX 起動時の自動ボリュームグループ(VG)アクティベイト機能の停止
ノード 1 、ノード 2 の両方で作業をします。HP-UX 起動時の自動 VG アクティベイト機能をオフにします。
実行例
/etc/lvmrc ファイルを編集します。ここではエディターとして vi を使用しています。
/etc/lvmrc ファイル:
AUTO_VG_ACTIVATE=0 に変更します。これで HP-UX 起動時の自動アクティベイトはオフになります。vg00 以外の
“共有でない VG” がノードに存在する場合は、custom_vg_activation() に追加しておきます。ここに追加した VG は
HP-UX 起動時に自動的にアクティベイトされます。本書で作成した共有 VG01 を追加してはいけません。
ワンポイント・アドバイス
HP-UX 起動時の自動 VG アクティベイト機能をオフにしておかないと、共有 VG を複数のノードで自動的にアクティベイ
トしてしまいます。さらに、設定を間違って共有 VG 上のファイルシステムを/etc/fstab で自動マウント設定を行ってし
まっていた場合、複数のノードで同時に同じファイルシステムをマウントしようとし、ファイルシステムに不整合が発生す
る可能性があります。システム構築中でも、操作ミスによりこの現象は発生してしまいます。例えば、ノード 1 で vg01
をアクティベイトし、ファイルシステムをマウントした状態で、ノード 2 から vg01 をアクティベイトしマウントしてしまう、と
いう操作ミスです。Serviceguard クラスタに共有 VG を登録した時点で、クラスタ側で、かならず 1 つのノードでしか
VG を同時にアクティベイトできないように排他制御されます。共有 VG をクラスタに登録するまでは十分注意をして「#
vgchange -a y /dev/vg01」コマンドを使用します。
[設定ファイル]
/etc/lvmrc
21
関連情報
Serviceguard の管理
http://www.docs.hp.com/ja/B3936-90136/B3936-90136.pdf
Serviceguard A.11.18 リリースノート
http://www.docs.hp.com/ja/B3935-90120/index.html
HP-UX 11i Knowledge-on-Demand
www.hp.com/jp/kod
HP-UX をはじめとした技術情報を Web 経由で提供する情報提供プログラムです。
記載されている会社名および商品名は、各社の商標または登録商標です。記載事項は2009 年7 月現在のものです。本書に記載された内容は、予告なく変更されることがあります。本書中の技術的あるいは校正上の誤り、省略に対して、いかなる責任も負いかねますのでご了承ください。© Copyright 2009 Hewlett-Packard Development Company, L.P.
日本ヒューレット・パッカード株式会社〒102-0076 東京都千代田区五番町7
PDFHS09018-01