HP-UX -> LVM

LVM構築例

新規構築例

構築構成

今回構築するLVM構成は以下の通り
・クラスタはnode01とnode02の2ノードで構成する。
・クラスタリソースパッケージ pkg_disk1 が 論理ボリュームをアクティブノード側に提供する。
・通常 node01 側でパッケージ pkg_disk1 が起動しており FailOver すると node02側に切り替わり、
  論理ボリュームが node02 側にマウントされる。
・物理ディスクは4台あり、全てボリュームグループ vg10 に所属させる
・論理ボリューム lovl1 の容量は 400GB必要なので 2つの物理ディスクを使用する。

LVMの構築

node01側での作業

キャラクタスペシャルファイルディレクトリを作成
# mkdir /dev/vg10
# mknod /dev/vg10/group -c 64 0x220000
 
* mknod
  c:        キャラクタ型デバイス
  64:       グループデバイスファイルの場合 64 固定
  0x010000: 16進数で指定。上2桁"01"が全ボリュームグループで一意の値を設定。後4桁"0000"は固定。
  0xNN0000:
  NNの値は 00〜ff。最大値はカーネル調整可能パラメータ maxvgs で制御される

LVM物理ボリュームの作成(ディスクを初期化する) * rawデバイス名を指定する。
# pvcreate /dev/rdsk/c10t0d1
# pvcreate /dev/rdsk/c10t0d2
# pvcreate /dev/rdsk/c10t0d3
# pvcreate /dev/rdsk/c10t0d4


LVMボリュームグループを作成する。/dev/dsk/c0t0d1〜4 の4ディスクを追加する。
# vgcreate /dev/vg10 /dev/dsk/c10t0d1 /dev/dsk/c10t0d2 /dev/dsk/c10t0d3 /dev/dsk/c10t0d4


LUを作成し各ディスク容量を割り当てる
# lvcreate -n lvol1  /dev/vg10
# lvextend -L 400000 /dev/vg10/lvol1 /dev/dsk/c10t0d1 /dev/dsk/c10t0d2

# lvcreate -n lvol2  /dev/vg10
# lvextend -L 200000 /dev/vg10/lvol2 /dev/dsk/c10t0d3

# lvcreate -n lvol3  /dev/vg10
# lvextend -L 200000 /dev/vg10/lvol3 /dev/dsk/c10t0d4


ファイルシステムを作成する。
# mkfs -F vxfs -o version=4,largefiles /dev/vg10/lvol1
# mkfs -F vxfs -o version=4,largefiles /dev/vg10/lvol2
# mkfs -F vxfs -o version=4,largefiles /dev/vg10/lvol3


マウント先を作成する。
# mkdir /Backup1
# chmod 755 /Backup1
# chown root:sys /Backup1

  * Backup2,3,4 に対して繰り返し実行する。

マウントできるか確認する。
# mount /dev/vg10/lvol1  /Backup1
# mount /dev/vg10/lvol2  /Backup2
# mount /dev/vg10/lvol3  /Backup3

各種確認コマンドで各種設定内容を確認する。
# bdf
# strings /etc/lvmtab
# vgdisplay -v vg10
# diskinfo /dev/rdsk/c0t10d1
# diskinfo /dev/rdsk/c0t10d2
# diskinfo /dev/rdsk/c0t10d3
# diskinfo /dev/rdsk/c0t10d4
# ioscan -fnC disk
# ioscan -fnkC disk

node01側でのnode02側作業用の準備

アンマウントする。

# umount /Backup1
# umount /Backup2
# umount /Backup3


クラスタノードへ構成をコピーするファイルを作成する。
/etc/lvmtab の構成情報をクラスタノードへコピーする為に、vgexport コマンドを
使用して、-m オプションで指定したマップファイルに出力する。
このファイルを他のクラスタノード側で vgimport コマンドで /etc/lvmtab を更新する。

# cd /tmp
# vgexport -p -m vg10.map vg10 -f vg10.out

注意) -p (previous) オプションを付けないと /etc/lvmtab 及び 
デバイス /dev/vg10が削除されてしまう。

node02側での作業

キャラクタスペシャルファイルディレクトリを作成
# mkdir /dev/vg10
# mknod /dev/vg10/group c 64 0x010000
 
* mknod
  c:        キャラクタ型デバイス
  64:       グループデバイスファイルの場合 64 固定
  0x010000: 16進数で指定。上2桁"01"が全ボリュームグループで一意の値を設定。後4桁"0000"は固定。
  0xNN0000:
  NNの値は 00〜ff。最大値はカーネル調整可能パラメータ maxvgs で制御される

マップファイルを取り込む
 node01側で出力したファイルをnode02側にコピーして vgimportの入力ファイルとする。
# vgimport -m vg10.map -f vg10.out /dev/vg10 

* vgimport
 -m 論理ボリューム名と番号を読み取る
 -f pv_path(物理ボリュームのブロkックデバイスパス名)のセットをボリュームグループにimportする。

構成情報をバックアップする
# vgcfgbackup -f /tmp/vg10.bk /dev/vg10

マウントできるか確認する。
# mount /dev/vg10/lvol1  /Backup1
# mount /dev/vg10/lvol2  /Backup2
# mount /dev/vg10/lvol3  /Backup3


確認コマンドで各種設定内容を確認する。
# bdf
# strings /etc/lvmtab
# vgdisplay -v vg10
# diskinfo /dev/rdsk/c0t10d1 [2,3,4]
# ioscan -fnC disk
# ioscan -fnkC disk

クラスタ環境の構築

クラスタ構成ファイルを更新

/etc/cmcluster/cmclconfig.ascii

以下の記述を追加する

VOLUME_GROUP     /dev/vg10

パッケージ構成ファイルを作成

/etc/cmcluster/pkg_disk01/pkg_disk01.conf

テンプレートを作成する場合は以下のコマンドを実行する
# cmmakepkg -p /etc/cmcluster/pkg_disk/pkg_disk.conf

主な設定内容は以下の通り

PACKAGE_NAME                 pkg_disk01
PACKAGE_TYPE                 FAILOVER
FAILOVER_POLICY              FAILOVER
FAILBACK_POLICY              MANUAL
NODE_NAME                    node01
NODE_NAME                    node02
AUTO_RUN                     NO
LOCAL_LAN_FAILOVER_ALLOWED   YES
NODE_FAIL_FAST_ENABLED       NO
RUN_SCRIPT                   /etc/cmcluster/pkg_disk01.sh
RUN_SCRIPT_TIMEOUT           NO_TIMEOUT

パッケージ制御スクリプトを作成する。

/etc/cmcluster/pkg_disk01/pkg_disk01.sh

テンプレートを作成する場合は以下のコマンドを実行する
# cmmakepkg -s /etc/cmcluster/pkg1/pkg1.sh

主な設定内容は以下の通り

起動時に以下のコマンドを実行するよう記述する。

# vgchange -a e /dev/vg10/lvol1
# vgchange -a e /dev/vg10/lvol2
# vgchange -a e /dev/vg10/lvol3

* vgchange
  e : 排他モードでActivate する。
  y : 共有モードでActivate する。

起動時に以下のコマンドを実行するよう記述する。

# vgchange -a n /dev/vg10/lvol1
# vgchange -a n /dev/vg10/lvol2
# vgchange -a n /dev/vg10/lvol3

クラスタ関連の構成コマンドを実行


パッケージ構成ファイル及び、パッケージ制御スクリプトを配布する。
node01# rcp -p pkg_disk.conf node02:/etc/cmcluster/pkg_disk/.
node01# rcp -p pkg_disk.sh   node02:/etc/cmcluster/pkg_disk/.

クラスタ構成ファイルの検証
# cmcheckconf -v -C /etc/cmcluster/cmclconfig.ascii

 クラスタロックディスク使用の場合のみ。(有効化)
# vgchange -a y /dev/vglock

クラスタ構成ファイルの反映と配布。全クラスタノードへバイナリファイルを配布。
# cmapplyconf -v -C /etc/cmcluster/cmclconfig.ascii

 クラスタロックディスク使用の場合のみ(無効化)
# vgchange -a n /dev/vglock

パッケージ構成ファイルの検証
# cmcheckconf -v -P /etc/cmcluster/pkg_disk01/pkg_disk01.conf

パッケージ構成ファイルをクラスタに組み込む
# cmapplyconf -v -P /etc/cmcluster/pkg1/pkg1.conf

クラスタを起動する
# cmruncl -v




先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google