Oracle® Solaris Cluster Data Service for Oracle Real Application Clusters ガイド

印刷ビューの終了

更新: 2016 年 4 月
 
 

Oracle RAC データベース用の Solaris Volume Manager for Sun Cluster に複数所有者ディスクセットを作成する方法


注 -  このタスクは、Solaris Volume Manager for Sun Cluster を使用している場合にのみ実行します。

Solaris Volume Manager for Sun Cluster を使用している場合、Solaris Volume Manager では、使用する Oracle RAC のサポート データベース、StorageTek QFS 共有ファイルシステム、または Oracle ASM の複数所有者ディスクセットが必要になります。Solaris Volume Manager for Sun Cluster の複数所有者ディスクセットについては、Solaris Volume Manager 管理ガイド の 複数所有者ディスクセットの概念を参照してください。

始める前に

次の点に注意してください。

  • 必要な Oracle RAC のサポート ソフトウェアパッケージが各ノードにインストールされていることを確認します。詳細は、Support for Oracle RAC パッケージのインストールを参照してください。

  • 複数所有者ボリュームマネージャーのフレームワークリソースグループが作成され、オンラインになっていることを確認します。詳細は、複数所有者ボリュームマネージャーのフレームワークリソースグループの登録と構成を参照してください。


    Caution

    注意  -  /var/run/nodelist ファイルを手動で作成しようとしないでください。作成すると、クラスタ全体でパニックが発生する恐れがあります。


  • StorageTek QFS 共有ファイルシステムを使用していないかぎり、複数所有者ディスクセットにはどのファイルシステムも作成しないでください。StorageTek QFS 共有ファイルシステムを含まない構成では、このディスクセットは raw データファイルでのみ使用されます。

  • 複数所有者ディスクセットに追加するディスクデバイスは、すべてのクラスタノードに直接接続する必要があります。

  1. 複数所有者ディスクセットを作成します。

    このためには、metaset(1M) コマンドを使用します。

    # metaset -s setname -M -a -h nodelist
    -s setname

    作成するディスクセットの名前を指定します。

    -M

    作成するディスクセットを複数所有者ディスクセットにすることを指定します。

    -a

    –h オプションで指定したノードをディスクセットに追加することを指定します。

    -h nodelist

    ディスクセットに追加するノードのリストをスペースで区切って指定します。このリスト内の各ノードに Oracle RAC のサポート ソフトウェアパッケージがインストールされている必要があります

  2. Step 1で作成したディスクセットにグローバルデバイスを追加します。
    # metaset -s setname -a devicelist
    -s setname

    Step 1 で作成したディスクセットを変更することを指定します。

    -a

    devicelist で指定したデバイスをディスクセットに追加することを指定します。

    devicelist

    ディスクセットに追加するグローバルデバイスの完全なデバイス ID パス名のリストをスペースで区切って指定します。クラスタ内のどのノードからも一貫して各デバイスにアクセスできるようにするには、それぞれのデバイス ID パス名を /dev/did/dsk/dN という形式で指定する必要があります。N はデバイス番号です。

  3. Step 1 で作成したディスクセットに対して、Oracle RAC のサポート データベースまたは StorageTek QFS 共有ファイルシステムで使用するボリュームを作成します。

    ヒント  -  Oracle データファイル用に多数のボリュームを作成する場合は、ソフトパーティションを使用するとこの手順が簡単になります。ただし、StorageTek QFS 共有ファイルシステムを使用していて、システムに対する I/O 負荷が高い場合は、データとメタデータに別のパーティションを使用してください。そうしないと、システムのパフォーマンスが低下する可能性があります。ソフトパーティションについては、Solaris Volume Manager 管理ガイド の 第 12 章, ソフトパーティション (概要)およびSolaris Volume Manager 管理ガイド の 第 13 章, ソフトパーティション (タスク)を参照してください。

    各ボリュームは、Step 2 で追加したグローバルデバイス上のスライスを連結して作成します。このためには、metainit(1M) コマンドを使用します。

    # metainit -s setname volume-abbrev numstripes width slicelist
    -s setname

    Step 1 で作成したディスクセットのボリュームを作成することを指定します。

    volume-abbrev

    作成するボリュームの省略名を指定します。ボリュームの省略名の形式は dV です。V はボリューム番号です。

    numstripes

    ボリュームのストライプ数を指定します。

    width

    各ストライプのスライス数を指定します。width を 1 より大きい値に設定すると、スライスがストライプ化されます。

    slicelist

    ボリュームに含めるスライスのリストをスペースで区切って指定します。各スライスは、Step 2 で追加したグローバルデバイスに含まれている必要があります。

  4. 各ノードが複数所有者ディスクセットに正しく追加されたことを確認します。

    このためには、metaset コマンドを使用します。

    # metaset -s setname
    -s setname

    Step 1 で作成したディスクセットを検証することを指定します。

    このコマンドを実行すると、ディスクセットに正しく追加された各ノードについて、次の情報を含む表が表示されます。

    • Host 列にノード名が表示されます。

    • Owner 列に multi-owner というテキストが表示されます。

    • Member 列に Yes というテキストが表示されます。

  5. 複数所有者ディスクセットが正しく構成されたことを確認します。
    # cldevicegroup show setname
    setname

    Step 1 で作成したディスクセットの構成情報のみを表示することを指定します。

    このコマンドを実行すると、ディスクセットのデバイスグループ情報が表示されます。複数所有者ディスクセットの場合、デバイスグループタイプは Multi-owner_SVM です。

  6. 複数所有者ディスクセットのオンラインステータスを確認します。
    # cldevicegroup status setname

    このコマンドを実行すると、複数所有者ディスクセット内の各ノードについて、複数所有者ディスクセットのステータスが表示されます。

  7. (StorageTek QFS 共有ファイルシステムを含まない構成のみ) ディスクセットを所有できる各ノードで、Step 3 で作成した各ボリュームの所有権を変更します。

    StorageTek QFS 共有ファイルシステムを使用している場合は、この手順を省略します。


    注 -  ゾーンクラスタの場合、この手順はそのゾーンクラスタで実行してください。

    ボリュームの所有権を次のように変更します。

    • 所有者: DBA ユーザー

    • グループ: DBA グループ

    DBA ユーザーと DBA グループは、DBA グループと DBA ユーザーアカウントを作成する方法に従って作成します。

    所有権を変更するのは、Oracle RAC のサポート データベースで使用するボリュームだけです。

    # chown user-name:group-name volume-list
    user-name

    DBA ユーザーのユーザー名を指定します。通常、このユーザーには、oracle という名前が付けられます。

    group-name

    DBA グループの名前を指定します。通常、このグループの名前は dba です。

    volume-list

    ディスクセット用に作成したボリュームの論理名のリストをスペースで区切って指定します。名前の形式は、ボリュームが配置されたデバイスの種類によって次のように異なります。

    • ブロック型デバイス: /dev/md/setname/dsk/dV

    • raw デバイス: /dev/md/setname/rdsk/dV

    これらの名前の各項目の意味は次のとおりです。

    setname

    Step 1 で作成した複数所有者ディスクセットの名前を指定します。

    V

    Step 3 で作成したボリュームのボリューム番号を指定します。

    このリストには、Step 3 で作成した各ボリュームを指定してください。

  8. (StorageTek QFS 共有ファイルシステムを含まない構成のみ) Step 7 で所有権を変更した各ボリュームの所有者に、読み取りアクセスと書き込みアクセスを付与します。

    StorageTek QFS 共有ファイルシステムを使用している場合は、この手順を省略します。


    注 -  ゾーンクラスタの場合、この手順はそのゾーンクラスタで実行してください。

    ボリュームへのアクセスは、ディスクセットを所有できるノードごとに付与します。アクセス権を変更するのは、Oracle RAC のサポート データベースで使用するボリュームだけです。

    # chmod u+rw volume-list
    volume-list

    所有者に読み取りアクセスと書き込みアクセスを付与するボリュームの論理名のリストをスペースで区切って指定します。このリストには、Step 7 で指定したボリュームを指定してください。

  9. Oracle ASM を使用している場合は、Oracle ASM ディスクグループで使用している raw デバイスを指定します。

    デバイスを指定するには、ASM_DISKSTRING Oracle ASM インスタンス初期化パラメータを変更します。

    たとえば、Oracle ASM ディスクグループに /dev/md/setname/rdsk/d パスを使用するには、ASM_DISKSTRING パラメータに値 /dev/md/*/rdsk/d* を追加します。Oracle 初期化パラメータファイルを編集してこのパラメータを変更する場合は、次のように編集します。

    ASM_DISKSTRING = '/dev/md/*/rdsk/d*'

    詳細は、Oracle Database のドキュメントを参照してください。

使用例 3  Solaris Volume Manager for Sun Cluster での複数所有者ディスクセットの作成

この例では、4 ノードクラスタ用の Solaris Volume Manager for Sun Cluster で複数所有者ディスクセットを作成するために必要な一連の操作を示します。

ディスクセットは、StorageTek QFS 共有ファイルシステムで使用されます。この例では、ディスクセットに追加されるデバイス上の StorageTek QFS 共有ファイルシステムの作成については説明しません。

  1. 複数所有者ディスクセットを作成するために、次のコマンドを実行します。

    # metaset -s oradg -M -a -h  pclus1 pclus2 pclus3 pclus4

    複数所有者ディスクセットに oradg という名前が付けられます。このディスクセットに、ノード pclus1pclus2pclus3、および pclus4 が追加されます。

  2. ディスクセットにグローバルデバイスを追加するために、次のコマンドを実行します。

    # metaset -s oradg -a  /dev/did/dsk/d8  /dev/did/dsk/d9 /dev/did/dsk/d15 \
    /dev/did/dsk/d16

      前述のコマンドは、ディスクセットに次のグローバルデバイスを追加します。

    • /dev/did/dsk/d8

    • /dev/did/dsk/d9

    • /dev/did/dsk/d15

    • /dev/did/dsk/d16

  3. ディスクセット用のボリュームを作成するために、次のコマンドを実行します。

    # metainit -s oradg d10 1 1 /dev/did/dsk/d9s0
    # metainit -s oradg d11 1 1 /dev/did/dsk/d16s0
    # metainit -s oradg d20 1 1 /dev/did/dsk/d8s0
    # metainit -s oradg d21 1 1 /dev/did/dsk/d15s0

    各ボリュームは、次の表に示すようにスライスの 1 対 1 の連結で作成されます。スライスはストライプ化されません

    ボリューム
    スライス
    d10
    /dev/did/dsk/d9s0
    d11
    /dev/did/dsk/d16s0
    d20
    /dev/did/dsk/d8s0
    d21
    /dev/did/dsk/d15s0
  4. 各ノードが複数所有者ディスクセットに正しく追加されたことを確認するために、次のコマンドを実行します。

    # metaset -s oradg
    Multi-owner Set name = oradg, Set number = 1, Master = pclus2
    
    Host                Owner          Member
    pclus1             multi-owner   Yes
    pclus2             multi-owner   Yes
    pclus3             multi-owner   Yes
    pclus4             multi-owner   Yes
    
    Drive Dbase
    
    d8    Yes
    
    d9    Yes
    
    d15   Yes
    
    d16   Yes  
  5. 複数所有者ディスクセットが正しく構成されたことを確認するために、次のコマンドを実行します。

    # cldevicegroup show oradg
    === Device Groups ===
    
    Device Group Name:                              oradg
    Type:                                            Multi-owner_SVM
    failback:                                        false
    Node List:                                       pclus1, pclus2, pclus3, pclus4
    preferenced:                                     false
    numsecondaries:                                  0
    diskset name:                                    oradg
  6. 複数所有者ディスクセットのオンラインステータスを確認するために、次のコマンドを実行します。

    # cldevicegroup status oradg
    
    === Cluster Device Groups ===
    
    --- Device Group Status ---
    
    Device Group Name     Primary     Secondary     Status
    -----------------     -------     ---------     ------
    
    
    --- Multi-owner Device Group Status ---
    
    Device Group Name           Node Name           Status
    -----------------           ---------           ------
    oradg                       pclus1              Online
                                pclus2              Online
                                pclus3              Online
                                pclus4              Online

次のステップ

Oracle Database ファイル用のストレージリソースの登録および構成に進みます。