#chiroito ’s blog

Java を中心とした趣味の技術について

スタンドアロン・サーバー用のASMの構築(11.2.0)

目的:

冗長性管理とボリューム管理、リバランスによってI/Oの効率化まで行えるASMをスタンドアロン構成で構築します。
今回はGrid Infrastructure 11.2.0を使います。(以前までのASMとかなり違います。)

環境:

Oracle VM上に下記の仮想マシンを作成
CPU:1つ
メモリ:1536MB
NIC:1つ
ディスク:
OS用(xvda):15GB(スワップ含む)
ASM管理用(sda):1GB(OCRやVoteなど)
データ用(xvdb,xvdc):5GB×2

流れとしては以下の通りです。
1.ユーザの作成
2.必要なパッケージのインストール
3.Grid Infrastructureのインストール
4.ASMディスクの準備
5.ASMインスタンスの作成

ユーザの作成

rootユーザでユーザとグループを作成と必要なソフトウェアをインストールします。。
oracleasmlibはotnから最新版をダウンロードして下さい。
[root@host1]groupadd oinstall
[root@host1]groupadd asmoper
[root@host1]groupadd asmadmin
[root@host1]groupadd asmdba
[root@host1]useradd grid -G oinstall -g asmoper -g asmadmin -g asmdba

必要なパッケージのインストール

oracleasmlibだけはリポジトリに入っていません。
その為、OTNからダウンロードして下さい。
http://www.oracle.com/technology/software/tech/linux/asmlib/rhel5.html
[root@host1]yum install oracleasm-`uname -r`.x86_64
[root@host1]wget http://otn.oracle.com/software/tech/linux/asmlib/files/RPMS/rhel5/amd64/2.0.4/oracleasmlib-2.0.4-1.el5.x86_64.rpm
[root@host1]yum install oracleasm
[root@host1]rpm -ivh oracleasmlib-2.0.4-1.el5.x86_64.rpm

[root@host1]yum install gcc elfutils-libelf-devel glibc-devel glibc-headers gcc-c++ libaio-devel libstdc++-devel sysstat unixODBC unixODBC-devel

Grid Infrastructureのインストール

Grid Infrastructureを解凍したディレクトリへ移動します。
[grid@host1]./runInstaller.sh
[インストール・オプションの選択]Grid Infrastructureソフトウェアのインストールのみ
[製品言語の選択]日本語、英語
[権限付きオペレーティング・システム・グループ]
OSDBAはasmdba
OSOPERはasmoper
OSASMはasmadmin
[インストール場所の指定]
Oracleベース /u01/app/grid
ソフトウェアの場所 /u01/app/11.2.0/grid
[前提条件チェックの実行]
ここまで行っていればカーネルパラメータとNTPだけのはずです。
カーネルパラメータは修正可能なので、
修正および再チェックを実行するとrootでこれを実行しろと言われます。
/tmp/CVU_11.2.0.1.0_grid/runfixup.sh
今回NTPは無視して結構です。
[サマリー]確認するだけ。[終了]
インストールの最後にrootでスクリプトを実行するようにダイアログが表示されます
[root@host1]/u01/app/oraInventory/orainstRoot.sh
権限を変更中 /u01/app/oraInventory.
グループの読取り/書込み権限を追加中。
全ユーザーの読取り/書込み/実行権限を削除中。

グループ名の変更 /u01/app/oraInventory 宛先 oinstall.
スクリプトの実行が完了しました。

[root@host1]/u01/app/11.2.0/grid/root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
スタンドアロン・サーバー用のGrid Infrastructureを構成するには、ルート・ユーザーとして次のコマンドを実行します:
/u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl


クラスタ・プラットフォーム用のGrid Infrastructureを構成するには、次の手順を実行します:
1.ファイル内のGrid Infrastructure構成パラメータの値を指定します - /u01/app/11.2.0/grid/crs/install/crsconfig_params. この方法の詳細は、インストレーション・ガイドを参照してください。
2.ルート・ユーザーとして次のコマンドを実行します:
/u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/rootcrs.pl
Grid Infrastructureのインベントリ・プロパティを更新するには、次を実行します
ステップ。11.2より前のホームがすでに構成されている場合は次を実行します:
11.2_Home/oui/bin/runInstaller -updateNodeList -silent -local CRS=false ORACLE_HOME=pre-11.2_Home
必ず次を実行して現在のホームを登録します:
11.2_Home/oui/bin/runInstaller -updateNodeList -silent -local CRS=true ORACLE_HOME=11.2_Home。
共有のホームがある場合は、追加の引数-cfsを指定します。

# スタンドアロン・サーバー用のGrid Infrastructureを構成
[root@host1]/u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl
2010-11-28 12:02:19: Checking for super user privileges
2010-11-28 12:02:19: User has super user privileges
2010-11-28 12:02:19: Parsing the host name
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
LOCAL ADD MODE
Creating OCR keys for user 'grid', privgrp 'oinstall'..
Operation successful.
CRS-4664: Node storage successfully pinned.
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting

storage 2010/11/28 12:03:06 /u01/app/11.2.0/grid/cdata/storage/backup_20101128_120306.olr
Successfully configured Oracle Grid Infrastructure for a Standalone Server
VMの場合ここまで完了した段階でテンプレートを作成しておくと便利です。

ASMディスクの準備

rootユーザでASMドライバの準備を行います。
oracleasm statusがyesになれば準備は完了です。
# oracleasmの構成
[root@host1]oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: n
Writing Oracle ASM library driver configuration: done

# oracleasmの初期化
[root@host1]oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm

# oracleasmの状況確認
[root@host1]oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
rootにてディスクの作成を行います。
# パーティションの確認
[root@host1]fdisk -l

# ASMディスクの確認(何も表示されないはずです)
[root@host1]oracleasm listdisks

# ディスクの作成
[root@host1]oracleasm createdisk VOL1 /dev/xvda1
[root@host1]oracleasm createdisk VOL2 /dev/xvdb1
[root@host1]oracleasm createdisk ENVDISK /dev/sda1

# ASMディスクの確認(追加したディスクが表示されます)
[root@host1]oracleasm listdisks
ENVDISK
VOL1
VOL2

ASMインスタンスの作成

gridにてASMインスタンス・ディスクグループの作成を行います。
[grid@host1]cd /u01/app/11.2.0/grid/bin
[grid@host1]./asmca
[ASMコンフィギュレーション・アシスタント:ASMの作成]
SYSパスワード、SYSパスワードの確認を入力
ASMSNMPパスワード、ASMSNMPの確認を入力
[ディスク・グループの指定]管理用DGを作成する
ENVDGにチェックを入れて冗長性を外部にする
[ASMの作成]
他にディスクグループを作る場合はその後に作成できます。
[ASMコンフィギュレーション・アシスタント:ASMの構成:ディスク・グループ]
[作成]ボタンを押すと上の[ディスク・グループの指定]の時と同じ画面になります。