12.4 OCFS2ボリュームの作成

ここでは、OCFS2ボリュームの作成方法、およびOCFS2を使用するためのシステムの設定方法について説明していきます。

12.4.1 前提条件

まず、次の作業を行ってください。

  • OCFS2ボリュームに使用する予定のブロックデバイスを準備します。デバイスには、空き領域を残してください。

    アプリケーションファイルとデータファイルは、異なるOCFS2ボリュームに保管することをお勧めします。アプリケーション用ボリュームとデータ用ボリュームでマウントの要件が異なる場合は、必ずそうしてください。

  • ocfs2-toolsパッケージがインストールされていることを確認します。これらのパッケージがインストールされていない場合は、YaSTまたはコマンドラインを使ってインストールします。YaSTを使ったインストール方法については、Section 12.3, OCFS2のパッケージを参照してください。

12.4.2 OCFS2サービスの設定

OCFS2ボリュームを作成する前に、OCFS2サービスを設定する必要があります。

クラスタ中の1台のノードに対して、次の作業を行います。

  1. ターミナルウィンドウを開いて、rootまたは同等のユーザとしてログインします。

  2. 分散ロックマネージャ構成を追加します。

    1. crmシェルを起動して、新しいスクラッチ構成を作成します。

      crm
      cib new stack-glue
             
    2. DLMサービスを作成して、クラスタ内のすべてのマシン上で実行します。

      configure
      primitive dlm ocf:pacemaker:controld op monitor interval=120s
      clone dlm-clone dlm meta globally-unique=false interleave=true
      end
             
    3. クラスタに行った変更を確認してからコミットします。

      cib diff
      configure verify
             
    4. 構成をクラスタにアップロードして、シェルを終了します。

      cib commit stack-glue
      quit
             
  3. O2CB構成をcrmで追加します。

    1. crmシェルを起動して、新しいスクラッチ構成を作成します。

      crm
      cib new oracle-glue
             
    2. Pacemakerを構成してo2cbサービスをクラスタ内の各ノードで起動します。

      configure
      primitive o2cb ocf:ocfs2:o2cb op monitor interval=120s
      clone o2cb-clone o2cb meta globally-unique=false interleave=true
             
    3. Pacemakerがp2cbサービスのみをdlmサービスのコピーが既に実行されているノード上で起動することを確認してください。

      colocation o2cb-with-dlm INFINITY: o2cb-clone dlm-clone
      order start-o2cb-after-dlm mandatory: dlm-clone o2cb-clone
      end
             
    4. 構成をクラスタにアップロードして、シェルを終了します。

      cib commit oracle-glue
      quit
             

12.4.3 OCFS2ボリュームの作成

OCFS2ファイルシステムを作成してクラスタに新しいノードを追加する作業は、クラスタ中の1台のノードに対してのみ行います。

  1. ターミナルウィンドウを開いて、rootまたは同等のユーザとしてログインします。

  2. クラスタがオンラインであることをcrm_monで確認します。

  3. 次のいずれかの方法を使って、ボリュームを作成、フォーマットします。

    • mkfs.ocfs2ユーティリティを使用します。このコマンドの指定形式については、mkfs.ocfs2マニュアルページを参照してください。

      最大16クラスタノードをサポートする新しいOCFS2ファイルシステムを/dev/sdb1上に作成するには、次のコマンドを使用します。

      mkfs.ocfs2 -N 16 /dev/sdb1

    推奨する設定については、次の表を参照してください。

    OCFS2パラメータ

    説明と推奨設定

    Volume label

    異なるノードへのマウント時に、正しく識別できるように、一意のわかりやすいボリューム名を指定します。

    ラベルを変更するには、tunefs.ocfs2ユーティリティを使用します。

    Cluster size

    クラスタサイズは、ファイルに割り当てられる、データ保管領域の最小単位です。

    4、8、16、32、64、128、256、512、および1024KBを指定することができます。ボリュームのフォーマット後にクラスタサイズを変更することはできません。

    Oracleでは、データベースボリュームのクラスタサイズに128KB以上を指定することを推奨しています。また、Oracle Homeの場合は32KBまたは64KBを指定することも推奨しています。

    Number of node slots

    同時にボリュームをマウントできる最大ノード数を指定します。各ノードについて、OCFS2はジャーナルなどの個別のシステムファイルを作成します。ボリュームにアクセスするノードに、リトルエンディアン形式のノード(x86、x86-64、およびia64など)とビッグエンディアン形式のノード(ppc64やs390xなど)が混在しても構いません。

    ノード固有のファイルは、ローカルファイルとして参照されます。ローカルファイルには、ノードスロット番号が付加されます。たとえば、「journal:0000」は、スロット番号0がが割り当てられているノードに所属します。

    各ボリュームの作成時に、ボリュームに同時にマウントする予定のノード数に応じて、そのボリュームの最大ノードスロット数を指定します。必要に応じて、tunefs.ocfs2ユーティリティを使って、ノードスロット数を増やすことができます。ただし、ノードスロット数を減らすことはできません。

    Block size

    ファイルシステムがアドレス可能な領域の最小単位を指定します。ブロックサイズは、ボリュームの作成時に指定します。

    512Byte (推奨されません)、1KB、2KB、または4KB (ほぼすべてのボリュームに最適)を選択することができます。ブロックサイズは、ボリュームのフォーマット後に変更することはできません。