プライマリ・コンテンツに移動
Oracle® Grid Infrastructureインストレーション・ガイド
12cリリース1 (12.1) for Linux
B71324-15
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

F インストール前の作業を手動で行う方法

この付録では、通常、クラスタ検証ユーティリティ(CVU)およびOracle Universal Installer (OUI)がインストール時に修正スクリプトを使用して完了する構成作業を、手動で行う方法について説明します。この付録は、修正スクリプトを使用できないときに参考にしてください。

この付録の内容は次のとおりです。

F.1 すべてのクラスタ・ノードでの手動によるSSHの構成

パスワードなしのSSH構成は、必須のインストール要件です。SSHは、インストール時にクラスタ・メンバー・ノードの構成に使用され、またインストール後にはコンフィギュレーション・アシスタント、Oracle Enterprise Manager、Opatchおよび他の機能によって使用されます。

OUIを使用したパスワードなしのSSHの自動構成によって、クラスタのすべてのノード上にRSA暗号化キーが作成されます。システム上の制約により、DSA鍵を使用するなどして手動でSSHを設定することが求められる場合は、この手順を参考にして、パスワードなしのSSHを設定してください。

この後の例では、Oracleソフトウェア所有者をgridユーザーとしています。

SSHが使用できない場合は、OUIはかわりにrshとrcpの使用を試行します。ただし、ほとんどのLinux Systemsでは、デフォルトではこれらのサービスを使用できません。


注意:

LinuxディストリビューションでサポートされているバージョンのSSHはOpenSSHです。

この項の内容は次のとおりです。

F.1.1 システム上の既存のSSH構成の確認

次のコマンドを入力して、SSHが実行されているかどうかを確認します。

$ pgrep sshd

SSHが実行されている場合、このコマンドの結果は1つ以上のプロセスID番号になります。インストール・ソフトウェア所有者(gridoracle)のホーム・ディレクトリで、コマンドls -alを使用して、.sshディレクトリを所有し、そのディレクトリへの書込みが可能であるのはそのユーザーのみであることを確認します。

SSHプロトコルには、RSA鍵またはDSA鍵のいずれかが必要です。RSAはSSH 1.5プロトコルで使用され、DSAはSSH 2.0プロトコルのデフォルトです。OpenSSHの場合は、RSAまたはDSAのいずれかを使用できます。この後の説明ではSSH1を想定しています。SSH2をインストールしており、SSH1を使用できない場合は、SSHディストリビューションのドキュメントを参照して、SSH1互換を構成するか、またはDSAを使用してSSH2を構成します。

F.1.2 クラスタ・ノードでのSSHの構成

SSHを構成するには、最初に各クラスタ・ノードにRSA鍵およびDSA鍵を作成してから、すべてのクラスタ・ノード・メンバーで生成されたすべての鍵を各ノードで同じ認証鍵ファイルにコピーする必要があります。SSHファイルを読み取ることができのは、rootおよびソフトウェア・インストール・ユーザー(oraclegrid)のみである必要があります。これは、SSHが他のユーザーによってアクセス可能であると、SSHは秘密鍵を無視するためです。この後の例では、DSA鍵が使用されています。

インストールに使用するOracleソフトウェアのインストール所有者ごとにSSHを構成する必要があります。

SSHを構成するには、次の手順を実行します。

F.1.2.1 各ノードでのSSHディレクトリおよびSSH鍵の作成

各ノードに対し、次の手順を実行します。

  1. ソフトウェア所有者(この例ではgridユーザー)としてログインします。

  2. コマンドidおよびid gridを入力して、gridとしてログインしていること、およびユーザーIDがgridユーザーに割り当てたユーザーIDと一致していることを確認します。Oracleユーザー・グループおよびユーザーと、使用しているユーザー端末ウィンドウ・プロセスのグループIDおよびユーザーIDが同じであることを確認します。次に例を示します。

    $ id 
    uid=1100(grid) gid=1000(oinstall) groups=1000(oinstall)
    1100(grid,asmadmin,asmdba)
    $ id grid
    uid=1100(grid) gid=1000(oinstall) groups=1000(oinstall),
    1100(grid,asmadmin,asmdba)
    
  3. 必要に応じて、gridユーザーのホーム・ディレクトリに.sshディレクトリを作成して適切な権限を設定し、読取り/書込み権限を持っているのはoracleユーザーのみであることを確認します。

    $ mkdir ~/.ssh
    $ chmod 700 ~/.ssh
    

    注意:

    権限が700に設定されていないと、SSH構成は失敗します。

  4. 次のコマンドを入力します。

    $ /usr/bin/ssh-keygen -t dsa
    

    プロンプトで、鍵ファイルには、デフォルトの位置を使用します([Enter]を押します)。


    注意:

    パス・フレーズを持つSSHは、Oracle Clusterware 11gリリース2以上のリリースではサポートされません。

    このコマンドによって、DSA公開鍵が~/.ssh/id_dsa.pubファイルに、秘密鍵が~/.ssh/id_dsaファイルに書き込まれます。

    秘密鍵は、Oracleソフトウェア・インストールの実行を許可されていない他のユーザーには配布しないでください。

  5. DSA鍵を使用して、クラスタ・メンバーを作成する各ノードで手順1から手順4を実行します。

F.1.2.2 共通のauthorized_keysファイルへのすべての鍵の追加

次の手順を実行します。

  1. ローカル・ノードで、Oracle Grid Infrastructure所有者のホーム・ディレクトリ(通常、gridまたはoracle)にある.sshディレクトリに移動します。

    次に、次のコマンドを使用してDSA鍵をauthorized_keysファイルに追加します。

    $ cat id_dsa.pub >> authorized_keys
    $ ls
    

    SSHディレクトリに、作成したid_dsa.pub鍵とauthorized_keysファイルが表示されるはずです。

  2. ローカル・ノードで、SCP(セキュア・コピー)またはSFTP(セキュアFTP)を使用して、authorized_keysファイルをリモート・ノードのoracleユーザーの.sshディレクトリにコピーします。次の例では、node2というノードでSCPを使用しています。Oracle Grid Infrastructureの所有者はgridです。gridユーザーのパスは/home/gridです。

    [grid@node1 .ssh]$ scp authorized_keys node2:/home/grid/.ssh/
    

    DSA鍵を受け入れるように求められます。Yesと入力して、コピー先のノードがknown_hostsファイルに追加されていることを確認します。

    プロンプトに従って、Gridユーザーのパスワードを入力します(パスワードは、クラスタ内のすべてのノードで同じにする必要があります)。authorized_keysファイルがリモート・ノードにコピーされます。

    出力結果は、次のようになります。xxxは有効なIPアドレスの一部を示しています。

    [grid@node1 .ssh]$ scp authorized_keys node2:/home/grid/.ssh/
    The authenticity of host 'node2 (xxx.xxx.173.152) can't be established.
    DSA key fingerprint is 7e:60:60:ae:40:40:d1:a6:f7:4e:zz:me:a7:48:ae:f6:7e.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'node1,xxx.xxx.173.152' (dsa) to the list
    of known hosts
    grid@node2's password:
    authorized_keys       100%             828             7.5MB/s      00:00
    
  3. SSHを使用して、authorized_keysファイルをコピーしたノードにログインします。.sshディレクトリに移動し、catコマンドを使用して2つ目のノードのDSA鍵をauthorized_keysファイルに追加します。このとき、パスワードを求められたら[Enter]をクリックすることで、パスワードなしのSSHが設定されます。

    [grid@node1 .ssh]$ ssh node2
    [grid@node2 grid]$ cd .ssh
    [grid@node2 ssh]$ cat id_dsa.pub  >> authorized_keys
    

    各ノードからクラスタ内の他の各メンバー・ノードに対して手順2および3を繰り返します。

    クラスタ・ノード・メンバーにする最後のノードのauthorized_keysファイルに各クラスタ・ノード・メンバーから鍵を追加した後、scpを使用して、すべてのノードの鍵を含むauthorized_keysファイルを各クラスタ・ノード・メンバーに再度コピーし、他のノードの既存のバージョンを上書きします。

    authorized_keysファイルにすべてのノードが含まれていることを確認するには、more authorized_keysコマンドを入力して、各メンバー・ノードのDSA鍵が存在するかどうかを確認します。ファイルには、鍵のタイプ(ssh-dsa)、鍵、ユーザーおよびサーバーの順で示されます。次に例を示します。

    ssh-dsa AAAABBBB . . . = grid@node1
    

    注意:

    各ノードのgridユーザーの/.ssh/authorized_keysファイルには、すべてのクラスタ・ノードで生成した/.ssh/id_dsa.pubファイルのすべての内容が含まれている必要があります。

F.1.3 クラスタ・ノードでのSSHユーザー等価関係の有効化

すべての鍵が含まれているauthorized_keysファイルをクラスタ内の各ノードにコピーしたら、示されている順に次の手順を実行します。この例では、Oracle Grid Infrastructureソフトウェア所有者の名前はgridです。

  1. OUIを実行するシステムにgridユーザーとしてログインします。

  2. 次のコマンド構文を使用して、ローカル・ノードから各ノードにSSHを実行します(ローカル・ノードからローカル・ノード自体へのSSHの実行、各ノードから他の各ノードへのSSHの実行を含みます)。hostname1hostname2などは、クラスタ内のノードのパブリック・ホスト名(別名および完全修飾されたドメイン名)です。

    [grid@nodename]$ ssh hostname1 date
    [grid@nodename]$ ssh hostname2 date
        .
        .
        .
    

    次に例を示します。

    [grid@node1 grid]$ ssh node1 date
    The authenticity of host 'node1 (xxx.xxx.100.101)' can't be established.
    DSA key fingerprint is 7z:60:60:zz:48:48:z1:a0:f7:4e.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'node1,xxx.xxx.100.101' (DSA) to the list of
    known hosts.
    Mon Dec 4 11:08:13 PST 2006
    [grid@node1 grid]$ ssh node1.example.com date
    The authenticity of host 'node1.example.com (xxx.xxx.100.101)' can't be
    established.
    DSA key fingerprint is 7z:60:60:zz:48:48:z1:a0:f7:4e.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'node1.example.com,xxx.xxx.100.101' (DSA) to the
    list of known hosts.
    Mon Dec 4 11:08:13 PST 2006
    [grid@node1 grid]$ ssh node2 date
    Mon Dec 4 11:08:35 PST 2006
    .
    .
    .
    

    この処理の終了時に、各メンバー・ノードのパブリック・ホスト名を、他のすべてのクラスタ・ノードのknown_hostsファイルに登録する必要があります。

    リモート・クライアントを使用してローカル・ノードに接続しているときに、xauthデータがなく、X11転送に偽の認証データを使用することを示す警告メッセージが表示された場合は、認証鍵ファイルは適切に構成されているが、SSH構成でX11転送が有効になっていることを示しています。この問題を解決するには、第6.2.4項「リモート表示およびX11転送の構成の設定」に進みます。

  3. 各クラスタ・ノード・メンバーに対して手順2を繰り返します。

SSHが適切に構成されていれば、パスワードを求めるプロンプトは表示されることなくsshscpコマンドを使用できます。次に例を示します。

[grid@node1 ~]$ ssh node2 date
Mon Feb 26 23:34:42 UTC 2009
[grid@node1 ~]$ ssh node1 date
Mon Feb 26 23:34:48 UTC 2009

パスワードを求めるノードがある場合、そのノードの~/.ssh/authorized_keysファイルに適切な公開鍵が含まれていること、および同じグループ・メンバーシップおよびIDを持つOracleソフトウェア所有者が作成されていることを確認します。

F.2 カーネル・パラメータの構成

この項の内容は次のとおりです。


注意:

次の項には、カーネル・パラメータおよびシェル制限の推奨値のみを示します。本番データベース・システムでは、これらの値を調整してシステムのパフォーマンスを最適化することをお薦めします。カーネル・パラメータの調整については、ご使用のオペレーティング・システムのマニュアルを参照してください。

F.2.1 インストールのための最小パラメータ設定

インストール時、またはフラグ-fixupを使用したCluster Verification Utility(cluvfy)の実行時、修正スクリプトが生成されます。このスクリプトは、必要なカーネル・パラメータを必要に応じて最小値に更新します。

修正スクリプトを使用できない場合は、表F-1を参照して手動で値を設定します。

表F-1 Linuxへのインストールのためのオペレーティング・システムの最小パラメータ設定

パラメータ ファイル

semmsl
semmns
semopm
semmni

250
32000
100
128

/proc/sys/kernel/sem

shmall

物理メモリー・サイズ(ページ数)の40%。

サーバーが複数のデータベースをサポートする場合、または大規模なSGAを使用する場合は、このパラメータを、システムが1回に使用できる共有メモリーの合計量(4Kページ単位)に等しい値に設定します。

/proc/sys/kernel/shmall

shmmax

物理メモリー・サイズの半分(バイト)

shmmaxの設定の詳細は、My Oracle SupportのNote 567506.1を参照してください。

/proc/sys/kernel/shmmax

shmmni

4096

/proc/sys/kernel/shmmni

file-max

6815744

/proc/sys/fs/file-max

aio-max-nr

1048576

注意: この値は同時未処理リクエストを制限するもので、I/Oサブシステムの障害を防ぐために設定する必要があります。

/proc/sys/fs/aio-max-nr

ip_local_port_range

最小: 9000

最大: 65500

/proc/sys/net/ipv4/ip_local_port_range

rmem_default

262144

/proc/sys/net/core/rmem_default

rmem_max

4194304

/proc/sys/net/core/rmem_max

wmem_default

262144

/proc/sys/net/core/wmem_default

wmem_max

1048576

/proc/sys/net/core/wmem_max

panic_on_oops

1

/proc/sys/kernel/panic_on_oops



注意:

Oracle DatabaseまたはOracle RACデータベースをクラスタ上にインストールする場合、各サーバーの/dev/shmマウント領域は、サーバーのデータベースのシステム・グローバル領域(SGA)およびプログラム・グローバル領域(PGA)よりも大きいサイズである必要があることに注意してください。SGAおよびPGAの予想サイズをデータベース管理者に確認し、データベースをクラスタにインストールした後に/dev/shmを増やす必要がないようにしてください。

F.2.2 SUSE Linux Enterprise Server用の追加のパラメータおよびカーネルの設定

SUSE Linux Enterprise Serverシステムの場合にのみ、必要に応じて次の手順を実行します。

  1. 次のコマンドを入力して、システムの再起動時に/etc/sysctl.confファイルが読み込まれるようにします。

    # /sbin/chkconfig boot.sysctl on
    
  2. パラメータ/proc/sys/vm/hugetlb_shm_groupの値としてoinstallグループのGIDを入力します。これを行うと、oinstallのメンバーに共有メモリー・セグメントを作成するためのグループ権限が付与されます。

    たとえば、oinstallグループのGIDが1000の場合は次のようになります。

    # echo 1000 > /proc/sys/vm/hugetlb_shm_group
    

    このコマンドを実行したら、viを使用して/etc/sysctl.confに次のテキストを追加し、システムの再起動時にboot.sysctlスクリプトを実行できるようにします。

    vm.hugetlb_shm_group=1000
    

    注意:

    vm.hugetlb_shm_groupとして定義できるのは1つのグループのみです。

  3. クラスタ内の他のすべてのノードで手順1から3を繰り返します。

F.3 UDPおよびTCPカーネル・パラメータの手動設定

修正スクリプトやCVUを使用してエフェメラル・ポートを設定しない場合は、サーバーの予測負荷に対応できる十分なエフェメラル・ポートを提供するために、TCP/IPエフェメラル・ポート範囲のパラメータを手動で設定します。下限を9000以上に設定し、Well KnownポートとOracleおよびその他のサーバー・ポートで一般的に使用される登録済ポート範囲のポートを避けます。使用するアプリケーションに予約済のポートを避けるようにポート範囲を高く設定します。範囲の下限が9000を超え、予想されるワークロードに対して範囲が十分大きい場合は、エフェメラル・ポート範囲に関するOUI警告は無視できます。

たとえば、IPv4の場合は、次のコマンドを使用してエフェメラル・ポートの現在の範囲を確認します。

$ cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000

上の例では、最低ポート(32768)および最高ポート(61000)はデフォルト範囲に設定されています。

必要に応じて、UDPとTCPのエフェメラル・ポート範囲を予想されるシステム・ワークロードに十分対応できるように高い範囲に更新し、エフェメラル・ポート範囲が9000以上になるようにします。次に例を示します。

# echo 9000 65500 > /proc/sys/net/ipv4/ip_local_port_range

これらの設定は永続的にすることをお薦めします。たとえば、rootとして、テキスト・エディタを使用して/etc/sysctl.confを開き、net.ipv4.ip_local_port_range = 9000 65500を追加またはこれに変更した後、ネットワークを再起動します(# /etc/rc.d/init.d/network restart)。システム再起動時にこのエフェメラル・ポート範囲の変更を自動化する方法の詳細は、Linuxディストリビューションのシステム管理に関するドキュメントを参照してください。

F.4 ストレージ・パスとディスク・デバイスの構成

永続デバイスの名前の場合、ASMLIBを構成するか、udevルールを設定できます。

この項の内容は次のとおりです。

F.4.1 Oracle ASMLIBを使用したストレージ・デバイス・パスの永続性の構成

デバイスの永続性のために、Oracle ASMフィルタ・ドライバ(ASMFD)を使用することをお薦めします。ただし、デバイスの永続性のためにASMLIBを使用することもできます。

Oracle ASMLIBを構成する場合は、次の項を確認してください。


注意:

IBM: Linux on System zでは、Oracle ASMLIBはサポートされていません。

F.4.1.1 Oracle ASMLIBを使用したOracle ASMについて

Oracle Automatic Storage Management (Oracle ASM)ライブラリ・ドライバ(ASMLIB)を使用すると、システムを再起動するたびにOracle ASMで使用するブロック・ディスク・デバイスをリバインドする必要がなくなるため、ブロック・ディスク・デバイスの構成および管理が簡単になります。

ASMLIBで、Oracle ASMディスクとして使用可能にするディスク範囲を定義します。ASMLIBによって、ストレージ・デバイス上で永続する権限とディスク・ラベルが保持されます。そのため、オペレーティング・システムのアップグレード後でもそのラベルを使用できます。各ノードでoracleasmコマンドを1つ実行することによって、すべてのクラスタ・メンバー・ノードで記憶域パスを更新可能であり、権限とパスの永続性を提供するために手動でudevファイルを変更する必要はありません。


注意:

ASMLIBを使用してディスクを構成する場合は、ディスク検出文字列をORCL:*に変更する必要があります。ディスク文字列をORCL:*に設定するか、空("")のままにすると、インストーラでこれらのディスクが検出されます。

F.4.1.2 ブロック・デバイスの維持のためのOracle ASMLIBの構成

Oracle Automatic Storage Managementライブラリ(ASMLIB)・ドライバを使用してOracle ASMデバイスを構成するには、次の作業を行います。


注意:

Oracle ASMライブラリ・ドライバを使用して、インストール中にデータベースを作成するには、対話型モードでASMCAを実行するインストール方法を選択する必要があります。また、デフォルトのディスク検出文字列をORCL:*に変更する必要があります。

F.4.1.2.1 Oracle ASMライブラリ・ドライバ・ソフトウェアのインストールおよび構成

ASMLIBは、Oracle Linuxパッケージ、およびSUSE Linux Enterprise Serverにすでに含まれています。Unbreakable Linux Networkのメンバーの場合、Oracle Linuxチャネルをサブスクライブし、yumを使用してシステムおよびカーネルの最新パッケージを取得することによって、ASMLIB RPMをインストールできます。追加情報については、次のURLを参照してください。

http://www.oracle.com/technetwork/topics/linux/asmlib/index-101839.html

ASMLIBドライバ・ソフトウェアを手動でインストールおよび構成するには、次の手順を実行します。

  1. 次のコマンドを入力して、システムのカーネル・バージョンおよびアーキテクチャを判別します。

    # uname -rm
    
  2. 次のOracle Technology NetworkのWebサイトから必要なASMLIBパッケージをダウンロードします。

    http://www.oracle.com/technetwork/server-storage/linux/downloads/index-088143.html
    

    注意:

    Red Hat Enterprise Linux 5 Advanced ServerでASMLIBを使用するには、oracleasm-supportパッケージのバージョン2.0.1以上をインストールする必要があります。ASMLIBは、SUSE Linux Enterprise Serverディストリビューションにすでに含まれています。


    関連項目:

    Red HatディストリビューションでのASMLIBサポートの詳細は、My Oracle SupportのNote 1089399.1を参照してください。

    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1089399.1


  3. ユーザーをrootユーザーに切り替えます。

    $ su -
    
  4. 次のパッケージを順にインストールします(versionはASMLIBドライバのバージョン、archはシステム・アーキテクチャ、kernelは使用しているカーネル・バージョンです)。

    oracleasm-support-version.arch.rpm
    oracleasm-kernel-version.arch.rpm
    oracleasmlib-version.arch.rpm
    

    次のようなコマンドを入力してパッケージをインストールします。

    # rpm -ivh oracleasm-support-version.arch.rpm \
               oracleasm-kernel-version.arch.rpm \
               oracleasmlib-version.arch.rpm
    

    たとえば、AMD64システムでRed Hat Enterprise Linux 5 ASのカーネルを使用している場合は、次のコマンドを入力します。

    # rpm -ivh oracleasm-support-2.1.3-1.el5.x86_64.rpm \
         oracleasm-2.6.18-194.26.1.el5xen-2.0.5-1.el5.x86_64.rpm \
         oracleasmlib-2.0.4-1.el5.x86_64.rpm
    
  5. 次のコマンドを入力し、configureオプションを使用してoracleasm初期化スクリプトを実行します。

    # /usr/sbin/oracleasm configure -i
    

    注意:

    /usr/sbinにあるoracleasmコマンドを使用してください。/etc/init.dパスは非推奨ではありませんが、このパスにあるoracleasmバイナリは、現在では通常、内部コマンドに使用されています。

  6. スクリプトで表示されるプロンプトへの応答で、次の情報を入力します。

    表F-2 ORACLEASMの構成プロンプトおよびレスポンス

    プロンプト 推奨されるレスポンス

    ドライバ・インタフェースを所有するデフォルト・ユーザー:

    グループおよびユーザーの標準構成: Oracleソフトウェア所有者ユーザー(oracleなど)を指定します。

    役割区分によるグループおよびユーザーの構成: Oracle Grid Infrastructureソフトウェア所有者(gridなど)を指定します。

    ドライバ・インタフェースを所有するデフォルト・グループ:

    グループおよびユーザーの標準構成: データベースのOSDBAグループ(dbaなど)を指定します。

    役割区分によるグループおよびユーザーの構成: 記憶域管理のOSASMグループ(asmadminなど)を指定します。

    ブート時のOracle ASMライブラリ・ドライバの起動(y/n):

    yを入力して、システムの起動時に、Oracle Automatic Storage Managementライブラリ・ドライバを起動します。

    ブート時のOracle ASMディスクのスキャン(y/n):

    システムの起動時にOracle ASMディスクをスキャンするには、yと入力します。


    スクリプトによって、次の作業が実行されます。

    • /etc/sysconfig/oracleasm構成ファイルの作成

    • /dev/oracleasmマウント・ポイントの作成

    • ASMLIBドライバのファイル・システムのマウント


      注意:

      ASMLIBドライバのファイル・システムは、通常のファイル・システムではありません。Oracle ASMドライバと通信するOracle ASMライブラリでのみ使用されます。

  7. 次のコマンドを入力して、oracleasmカーネル・モジュールをロードします。

    # /usr/sbin/oracleasm init
    
  8. Oracle RACのインストール先となるクラスタ内のすべてのノードでこの手順を繰り返します。

F.4.1.2.2 x86システムでOracle ASMライブラリ・ドライバを使用するためのディスク・デバイスの構成

Oracle ASMディスク・グループで使用するディスク・デバイスを構成するには、次の手順を実行します。

  1. Oracle ASMディスク・グループでIDE、SCSIまたはRAIDデバイスを使用する場合は、次の手順を実行します。

    1. 必要に応じて、ディスク・グループで使用する共有ディスク・デバイスを設置または構成し、システムを再起動します。

    2. 次のコマンドを入力して、使用するディスクのデバイス名を確認します。

      # /sbin/fdisk -l
      

      ディスクのタイプに応じて、デバイス名が異なる可能性があります。表F-3では、ディスク・パスのいくつかのタイプについて説明します。

      表F-3 Linux記憶域のディスク・パスのタイプ

      ディスク・タイプ デバイス名の形式 説明

      IDEディスク

      /dev/hdxn
      

      この例で、xは、IDEディスクを識別する文字です。また、nは、パーティションの番号です。たとえば、/dev/hdaは最初のIDEバスの最初のディスクを表します。

      SCSIディスク

      /dev/sdxn
      

      この例で、xは、SCSIディスクを識別する文字です。また、nは、パーティションの番号です。たとえば、/dev/sdaは、第1 SCSIバスの第1ディスクです。

      RAIDディスク

      /dev/rd/cxdypz
      /dev/ida/cxdypz
      

      RAIDコントローラに応じて、RAIDデバイスは異なるデバイス名を持つことができます。この例で、xはコントローラの識別番号、yはディスクの識別番号、zはパーティションの識別番号です。たとえば、/dev/ida/c0d1は最初のコントローラ上の第2の論理ドライブです。


      ディスク・グループにデバイスを含めるには、ドライブ・デバイス名またはパーティション・デバイス名のいずれかを指定します。


      注意:

      各ディスクに、単一のディスク全体パーティションを作成することをお薦めします。

    3. fdiskまたはpartedのいずれかを使用して、ディスク・デバイスに、単一のディスク全体パーティションを作成します。

  2. 次のコマンドを入力して、ディスクをOracle ASMディスクとしてマークします。

    # /usr/sbin/oracleasm createdisk DISK1 /dev/sdb1
    

    この例で、DISK1はディスクに割り当てる名前です。


    注意:

    ディスク名に使用できる文字は、大文字、数字およびアンダースコアです。ディスク名の先頭は大文字にする必要があります。

    Oracle ASMでマルチ・パス・ディスク・ドライバを使用している場合は、そのディスクに正しい論理デバイス名を指定してください。


  3. ディスクをクラスタ内の他のノードで使用可能にするには、各ノードでrootとして次のコマンドを入力します。

    # /usr/sbin/oracleasm scandisks
    

    このコマンドによって、Oracle ASMディスクとしてマークされているノードに接続されている共有ディスクが識別されます。

F.4.1.2.3 IBM zSeries SystemsでASMライブラリ・ドライバを使用するためのディスク・デバイスの構成
  1. DASDを互換ディスク・レイアウトでフォーマットした場合は、次のコマンドを入力して、デバイスに単一のディスク全体パーティションを作成します。

    # /sbin/fdasd -a /dev/dasdxxxx
    
  2. 次のコマンドを入力して、ディスクをASMディスクとしてマークします。

    # /etc/init.d/oracleasm createdisk DISK1 /dev/dasdxxxx
    

    この例で、DISK1はディスクに割り当てる名前です。


    注意:

    ディスク名に使用できる文字は、大文字、数字およびアンダースコアです。ディスク名の先頭は大文字にする必要があります。

    ASMでマルチ・パス・ディスク・ドライバを使用している場合は、そのディスクに正しい論理デバイス名を指定してください。


  3. ディスクを他のクラスタ・ノードで使用可能にするには、各ノードでrootとして次のコマンドを入力します。

    # /etc/init.d/oracleasm scandisks
    

    このコマンドによって、ASMディスクとしてマークされているノードに接続されている共有ディスクが識別されます。

F.4.1.2.4 Oracle ASMライブラリ・ドライバおよびディスクの管理

Oracle Automatic Storage Managementライブラリ・ドライバ(ASMLIB)およびディスクを管理するには、表F-4に示す様々なオプションとともに/usr/sbin/oracleasm初期化スクリプトを使用します。

表F-4 ORACLEASMを使用したディスクの管理タスク

作業 コマンドの例 説明

ASMLIBの構成または再構成

oracleasm configure -i

必要に応じて、configureオプションを使用してOracle Automatic Storage Managementライブラリ・ドライバを再構成します。

コマンド・オプションを表示するには、oracleasm configure-iフラグなしで入力します。

ASMLIBのシステム再起動ロード・オプションの変更

oracleasm enable

オプションは、disableおよびenableです。

disableおよびenableオプションを使用して、システムの起動時のOracle Automatic Storage Managementライブラリ・ドライバの動作を変更します。enableオプションを使用すると、システムの起動時にOracle Automatic Storage Managementライブラリ・ドライバがロードされます。

システムを再起動せずにASMLIBをロードまたはアンロード

oracleasm restart

オプションは、startstopおよびrestartです。

startstopおよびrestartオプションを使用して、システムを再起動せずにOracle Automatic Storage Managementライブラリ・ドライバをロードまたはアンロードします。

ASMLIBで使用するディスクをマーク

oracleasm createdisk VOL1 /dev/sda1

次のようにcreatediskオプションを使用して、Oracle Automatic Storage Managementライブラリ・ドライバで使用するディスク・デバイスをマークし、名前を付けます(labelnameはデバイスのマークに使用する名前、devicepathはデバイスへのパスです)

oracleasm createdisk labelname devicepath

名前付きディスク・デバイスのマーク解除

oracleasm deletedisk VOL1

次のようにdeletediskオプションを使用して、名前の付いたディスク・デバイスのマークを解除します(disknameはディスクの名前です)。

oracleasm deletedisk diskname

注意: このコマンドを使用して、Oracle Automatic Storage Managementディスク・グループで使用されているディスクのマークは外さないでください。このディスクは、Oracle Automatic Storage Managementディスク・グループから削除した後でマークを外す必要があります。

ASMLIBがディスク・デバイスを使用しているかどうかの確認

oracleasm querydisk

次のようにquerydiskオプションを使用して、ディスク・デバイスまたはディスク名がOracle Automatic Storage Managementライブラリ・ドライバで使用されているかどうかを確認します(diskname_devicenameは、問い合せるディスクまたはデバイスの名前です。)。

oracleasm querydisk diskname_devicename

Oracle ASMLIBディスクのリスト

oracleasm listdisks

listdisksオプションを使用して、マークされたASMLIBディスクのディスク名を表示します。

ASMLIBディスクとしてマークされたディスクの識別

oracleasm scandisks

scandisksオプションを使用すると、別のノードでASMLIBディスクとしてマークされている共有ディスクを、クラスタ・ノードで識別できます。

ASMLIBディスクの名前を変更する

oracleasm renamedisk VOL1 VOL2

次の構文を使用してrenamediskオプションを使用して、Oracle ASMライブラリ・ドライバ・ディスクまたはデバイスのラベルを変更します(managerにはマネージャ・デバイスを指定し、label_deviceには名前を変更するディスクをOracleASMラベル名またはデバイス・パスの指定どおりに指定し、new_labelにはディスクに使用する新しいラベルを指定します)。

oracleasm renamedisk [-l manager] [-v] label_device new_label

デバッグ用に詳細な出力を指定するには、-vフラグを使用します。

注意: ディスクのラベルを変更する前に、すべてのOracle DatabaseおよびOracle ASMインスタンスがそのディスクの使用を停止したことを確認する必要があります。これを行わないと、データが失われる可能性があります。


F.4.1.3 マルチパス・ディスク用のOracle ASMLIBの構成

サード・パーティ・ベンダーのマルチパス・ディスクでOracle Automatic Storage Managementライブラリ・ドライバ(ASMLIB)を使用するには、追加の構成が必要です。


関連項目:

サポートされている記憶域オプションの更新については、My Oracle Supportのサイトを参照してください。
https://support.oracle.com/

F.4.1.3.1 マルチパス・ディスクでのOracle ASMの使用について

Oracle ASMでは、各ディスクが一意に識別されている必要があります。同じディスクが複数のパスの下に存在するとエラーになります。マルチパス・ディスク構成では、同じディスクが次の3か所で存在できます。

  1. ディスクへの最初のパス

  2. ディスクへの2つ目のパス

  3. マルチパス・ディスクのアクセス・ポイント

例: 1つのローカル・ディスク(/dev/sda)および外部記憶域に接続した1つのディスクがある場合、サーバーにはその外部記憶域への2つの接続またはパスが表示されます。Linux SCSIドライバは、両方のパスを示します。それらは、/dev/sdbおよび/dev/sdcとして表示されます。システムは/dev/sdbまたは/dev/sdcのいずれかにアクセスする場合がありますが、同じディスクにアクセスしていることになります。

マルチパスを有効にすると、/dev/sdbおよび/dev sdcの両方にアクセス可能なマルチパス・ディスク(/dev/multipathaなど)を持つことになり、multipathaへのすべてのI/Oはsdbまたはsdcのいずれかのパスを使用できます。システムが/dev/sdbパスを使用している場合にそのケーブルが抜かれると、システムはエラーを表示します。ただし、マルチパス・ディスクは/dev/sdbパスから/dev/sdcパスへ切り替わります。

ほとんどのシステム・ソフトウェアはマルチパス構成を認識していません。任意のパス(sdbsdcまたはmultipatha)を使用できます。ASMLIBもマルチパス構成を認識していません。

デフォルトでは、ASMLIBはLinuxがレポートする最初のディスク・パスを認識しますが、アイデンティティがディスクに残るため、そのディスクが1つのパスにのみあると認識します。ストレージ・ドライバによっては、マルチパス・ディスクを認識する場合や、またはいずれかの単一ディスク・パスを認識する場合があります。

デフォルトのままにするのではなく、マルチパス・ディスクを認識するようにOracle ASMを構成する必要があります。

F.4.1.3.2 ディスク・スキャン順序

ASMLIB構成ファイルはパス/etc/sysconfig/oracleasmにあります。これは、コマンド/etc/init.d/oracleasm configureで指定したすべての起動時構成が含まれます。このコマンドでスキャン順序を構成することはできません。

構成ファイルには多くの構成変数が含まれます。ORACLEASM_SCANORDER変数は、最初にスキャンされるディスクを指定します。ORACLEASM_SCANEXCLUDE変数は、無視されるディスクを指定します。

スペース区切り接頭辞文字列を使用して、ORACLEASM_SCANORDERの値を構成します。接頭辞文字列は、ディスクのタイプに関連付けられている一般的な文字列です。たとえば、接頭辞文字列sdを使用すると、この文字列は/dev/sda/dev/sdb/dev/sdcなどを含むすべてのSCSIデバイスと一致します。globでないことに注意してください。これらはワイルドカードを使用しません。単に接頭辞です。また、パスは接頭辞の一部ではないことに注意してください。たとえば、/dev/パスは、パス/dev/sd*に含まれるSCSIディスクの接頭辞の一部ではありません。

Oracle LinuxおよびRed Hat Enterprise Linuxバージョン5では、スキャン時にカーネルはデバイスを/dev/mapper/XXXエントリとみなします。デフォルトでは、デバイスのファイル・ネーミング・スキームudevによって、わかりやすさを考慮して/dev/mapper/XXXという名前が作成されます。ORACLEASM_SCANORDERを使用するすべての構成では、/dev/mapper/XXXエントリを使用する必要があります。

F.4.1.3.3 マルチパス・ディスクを選択するためのディスク・スキャン順序の構成

最初にマルチパス・ディスクを選択するようにASMLIBを構成するには、次の手順を実行します。

  1. テキスト・エディタを使用して、ASMLIB構成ファイル/etc/sysconfig/oracleasmを開きます。

  2. ORACLEASM_SCANORDER変数を編集して、マルチパス・ディスクの接頭辞パスを指定します。たとえば、マルチパス・ディスクが接頭辞multipath(/dev/mapper/multipatha/dev/mapper/multipathbなど)を使用しており、マルチパス・ディスクがSCSIディスクをマウントする場合、次のような接頭辞パスを指定します。

    ORACLEASM_SCANORDER="multipath sd"
    
  3. ファイルを保存します。

この手順が完了すると、ASMLIBがディスクをスキャンするときに、最初に接頭辞文字列multipathを持つすべてのディスクがスキャンされ、それらのディスクは/dev/mapper/multipathXという値を使用してOracle ASMディスクとしてラベル付けされます。その後、接頭辞文字列sdを持つすべてのディスクがスキャンされます。ただし、ASMLIBではこれらのディスクはすでに/dev/mapper/multipath文字列値でラベル付けされているものとして認識するため、これらのディスクは無視されます。接頭辞文字列multipathおよびsdをスキャンした後、Oracle ASMによりスキャン順に一致しないその他のディスクがスキャンされます。

手順2の例では、キーワードのmultipathは、実際にmultipathsセクションの下の/etc/multipath.confで構成されたマルチパス・デバイスの別名です。次に例を示します。

multipaths {
       multipath {
               wwid                    3600508b4000156d700012000000b0000
               alias                   multipath
               ...
       }
       multipath {
               ...
               alias                   mympath
               ...
       }
       ...
}

デフォルトのデバイス名は、/dev/mapper/mpath*のような形式です。

F.4.1.3.4 単一パス・ディスクを除外するためのディスク順序スキャンの構成

特定の単一パス・ディスクを除外するようにASMLIBを構成するには、次の手順を実行します。

  1. テキスト・エディタを使用して、ASMLIB構成ファイル/etc/sysconfig/oracleasmを開きます。

  2. ORACLEASM_SCANEXCLUDE変数を編集して、単一パス・ディスクの接頭辞パスを指定します。たとえば、単一パス・ディスク/dev sdbおよび/dev/sdcを除外する場合は、次のような接頭辞パスを指定します。

    ORACLEASM_SCANEXCLUDE="sdb sdc"
    
  3. ファイルを保存します。

この手順が完了すると、ASMLIBがディスクをスキャンするときに、接頭辞がsdbおよびsdcのディスクを除くすべてのディスクがスキャンされ、/dev/sdbおよび/dev/sdcは無視されます。他のSCSIディスクもマルチパス・ディスクも無視されません。/dev/sdbおよび/dev/sdcにアクセスするマルチパス・ディスク(/dev/multipathaなど)を持ち、sdbおよびsdcを無視するようにASMLIBを構成した場合は、これらのディスクは無視され、マルチパス・ディスクがOracle ASMとしてマーク付けされるだけになります。

F.4.1.4 Oracle ASMLIBの削除

Oracle ASMLIBがインストールされているが、ストレージの永続性のためにそれを使用していない場合は、次のように一度に1ノードずつローリング・モードで削除できます。

  1. rootとしてログインします。

  2. Oracle ASMと、ノード上に実行中のデータベース・インスタンスがあればそれも停止します。

    srvctl stop asm -node node_name
    srvctl stop instance -d db_unique_name -node node_name
    

    ノードで最後のOracle Flex ASMインスタンスを停止するには、Oracle Clusterwareスタックを停止します。

    Grid_home/bin/crsctl stop crs
    
  3. Oracle ASMLIBを停止します。

    /etc/init.d/oracleasm disable
    
  4. oracleasmライブラリとツールのRPMを削除します。

    rpm -e oracleasm-support
    rpm -e oracleasmlib
    
  5. ベンダーによって提供されたoracleasmカーネルドライバRPMを削除します。

    rpm -e oracleasm
    
  6. oracleasm RPMが残っていないかどうか確認します。

    rpm -qa| grep oracleasm
    
  7. oracleasm構成ファイルが残っている場合には、削除します。

    rpm -qa| grep oracleasm | xargs rpm -e
    

    Oracle ASMLIBと関連RPMが削除されます。

  8. Oracle Clusterwareスタックを起動します。オプションで、Oracle Clusterwareスタックを起動する前にOracle ASMフィルタ・ドライバ(Oracle ASMFD)をインストールし、構成します。


関連項目:

Oracle ASMフィルタ・ドライバを使用したストレージ・デバイス・パスの永続性の構成の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

F.4.2 Oracle ASM用のディスク・デバイスの手動構成

この項では、Oracle ASMで使用するディスク・デバイスを準備する方法について、次の内容で説明します。


注意:

udevの動作は、Linuxのバージョン、ベンダーおよび記憶域の構成によって異なります。

F.4.2.1 デバイスのファイル名およびLinux所有権について

サーバーが起動すると、デフォルトで、デバイス・ファイル・ネーミング・スキームudevによって、デバイス・ファイル名が動的に作成され、その所有権がrootに割り当てられます。udevでデフォルトの設定が適用される場合は、投票ファイルまたはOracle Cluster Registryパーティションのデバイス・ファイル名と所有者が変更されるため、サーバーの再起動時にアクセスができなくなります。たとえば、ユーザーgridが所有する/dev/sddというデバイス上の投票ファイルが、サーバーの再起動後には、rootが所有する/dev/sdfというデバイスに置かれる可能性もあります。

ASMFDを使用する場合、udevで権限およびデバイス・パスの永続性を確認する必要はありません。

ASMFDを使用しない場合は、カスタム・ルール・ファイルを作成する必要があります。udevが起動すると、ルール・ファイルに定義されたルール(構成ディレクティブ)が順次実行されます。これらのファイルのパスは/etc/udev/rules.d/です。ルール・ファイルは、字句順に読み取られます。たとえば、ルール・ファイル10-wacom.rulesファイルのルールは、ルール・ファイル90-ib.rulesのルールより先に解析され実行されます。

UDEVルール・ファイルにデバイス情報を指定する場合は、表示されている順に、他のすべての特性より前に、OWNER、GROUPおよびMODEが指定される必要があります。たとえば、UDEV行に特性ACTIONを含める場合、OWNER、GROUPおよびMODEの後にACTIONを指定します。

複数のルール・ファイルに同じデバイスの記述があった場合、サポートされているLinuxカーネル・バージョンでは、最後に読み取られたファイルが適用されます。

F.4.2.2 Oracle ASM用のディスク・デバイスの権限ファイルの構成

Oracle ASMのディスク・デバイスの権限ファイルを構成するには、次の作業を行います。

  1. 既存のブロック・デバイスに関する情報を取得するには、1つのクラスタ・ノードのストレージ・デバイスでコマンドscsi_id(/sbin/scsi_id)を実行し、一意のデバイス識別子を取得します。-s引数を付けてscsi_idコマンドを実行する場合、渡されるデバイス・パスおよび名前は、/sys/block/deviceを参照するときのsysfsディレクトリ/sysに対する相対パスである必要があります(/block/deviceなど)。次に例を示します。

    # /sbin/scsi_id -g -s /block/sdb/sdb1
    360a98000686f6959684a453333524174
     
    # /sbin/scsi_id -g -s /block/sde/sde1
    360a98000686f6959684a453333524179
    

    必要時に指定できるように、クラスタウェア・デバイスの一意のSCSI識別子を記録します。


    注意:

    コマンドscsi_idは、どのノードでコマンドが実行されるかにかかわらず、指定されたデバイスで同じデバイス識別子値を戻す必要があります。

  2. /etc/scsi_id.configファイルを編集し、options=-gを追加することで、SCSIデバイスを信頼できるデバイス(ホワイト・リスト)として構成します。次に例を示します。

    # cat > /etc/scsi_id.config
    vendor="ATA",options=-p 0x80
    options=-g
    
  3. テキスト・エディタを使用してOracle ASMデバイス用のUDEVルール・ファイルを作成し、インストール所有者と、メンバーがOracle Grid Infrastructureソフトウェアの管理者であるグループの権限を0660に設定します。たとえば、Oracle Linuxで、インストール所有者がgridおよびOSASMグループasmadminである役割ベースの構成rules.dファイルを作成するには、次のようなコマンドを入力します。

    # vi /etc/udev/rules.d/99-oracle-asmdevices.rules
     
    KERNEL=="sd?1", OWNER="grid", GROUP="asmadmin", MODE="0660", 
    BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="14f70656e66696c00000000"
    KERNEL=="sd?2", OWNER="grid", GROUP="asmadmin", MODE="0660",
    BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="14f70656e66696c00000001"
    KERNEL=="sd?3", OWNER="grid", GROUP="asmadmin", MODE="0660",
    BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="14f70656e66696c00000002"
    
  4. rules.dファイルを、クラスタ上の他のすべてのノードにコピーします。次に例を示します。

    # scp 99-oracle-asmdevices.rules root@node2:/etc/udev/rules.d/99-oracle-asmdevices.rules
    
  5. /sbin/partprobe devicenameを使用して、更新されたブロック・デバイス・パーティション表をクラスタのすべてのメンバー・ノードにロードします。 この操作は、rootで行う必要があります。

  6. コマンドudevtest(/sbin/udevtest)を実行して、作成したUDEVルール構成をテストします。出力には、デバイスが使用可能であり、ルールが予想どおり適用されていることが示されます。次に例を示します。

    # udevtest /block/sdb/sdb1
    main: looking at device '/block/sdb/sdb1' from subsystem 'block'
    udev_rules_get_name: add symlink
    'disk/by-id/scsi-360a98000686f6959684a453333524174-part1'
    udev_rules_get_name: add symlink
    'disk/by-path/ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.887085-part1'
    udev_node_mknod: preserve file '/dev/.tmp-8-17', because it has correct dev_t
    run_program: '/lib/udev/vol_id --export /dev/.tmp-8-17'
    run_program: '/lib/udev/vol_id' returned with status 4
    run_program: '/sbin/scsi_id'
    run_program: '/sbin/scsi_id' (stdout) '360a98000686f6959684a453333524174'
    run_program: '/sbin/scsi_id' returned with status 0
    udev_rules_get_name: rule applied, 'sdb1' becomes 'data1'
    udev_device_event: device '/block/sdb/sdb1' validate currently present symlinks
    udev_node_add: creating device node '/dev/data1', major = '8', minor = '17', 
    mode = '0640', uid = '0', gid = '500'
    udev_node_add: creating symlink
    '/dev/disk/by-id/scsi-360a98000686f6959684a453333524174-part1' to '../../data1'
    udev_node_add: creating symlink
    '/dev/disk/by-path/ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.84187085
    -part1' to '../../data1'
    main: run: 'socket:/org/kernel/udev/monitor'
    main: run: '/lib/udev/udev_run_devd'
    main: run: 'socket:/org/freedesktop/hal/udev_event'
    main: run: '/sbin/pam_console_apply /dev/data1
    /dev/disk/by-id/scsi-360a98000686f6959684a453333524174-part1
    /dev/disk/by-path/ip-192.168.1.1:3260-iscsi-iqn.1992-08.com.netapp:sn.84187085-
    part1'
    

    出力例では、ルールを適用したことで、OCRデバイス/dev/sdb1/dev/data1にリネームされています。

  7. UDEVサービスを再起動するコマンドを入力します。

    Oracle LinuxおよびRed Hat Enterprise Linuxでのコマンドは、次のとおりです。

    # /sbin/udevcontrol reload_rules
    # /sbin/start_udev
    

    SUSE Linux Enterprise Serverでのコマンドは、次のとおりです。

    # /etc/init.d boot.udev restart
    

F.5 手動によるOCFS2のバージョンの確認

OCFS2のバージョンを手動で確認するには、次のコマンドを入力します。

modinfo ocfs2
rpm -qa |grep ocfs2

ocfs2consoleおよびocfs2-toolsがバージョン1.2.7以上であること、またその他のOCFS2コンポーネントがパターンocfs2-kernel_version-1.2.7以上に対応していることを確認します。Oracle RACを共有ホームにインストールする場合は、OCFS2のバージョンは1.4.1以上である必要があります。

OCFS2の詳細は、次のWebサイトを参照してください。

http://oss.oracle.com/projects/ocfs2/