6 基本ファイルシステムの構成

QFS ファイルシステムは、すべての Oracle HSM ソリューションの基本構成ブロックです。これは単独で使用され、高いパフォーマンス、事実上無制限の容量、および非常に大きいファイルのサポートを提供します。Oracle Hierarchical Storage Manager および適切に構成されたアーカイブストレージとともに使用された場合は、Oracle HSM アーカイブファイルシステムになります。これにより、アーカイブおよび非アーカイブの両方の QFS ファイルシステムが、より複雑な複数ホスト構成と高可用性構成の基礎となります。そのため、この章には、作成および構成時に必要な基本的なタスクの概要が記載されています。

QFS ファイルシステムの構成

基本的な QFS ファイルシステムの作成および構成は簡単です。ケースごとに次のタスクを実行します。

  • ファイルシステムをサポートするディスクデバイスを準備します。

  • マスター構成ファイル (mcf) を作成します。

  • /opt/SUNWsamfs/sbin/sammkfs コマンドを使用してファイルシステムを作成します。

  • /etc/vfstab ファイルを編集して、新しいファイルシステムをホストの仮想ファイルシステム構成に追加します。

  • 新しいファイルシステムをマウントします。

プロセスは、Oracle HSM Manager のグラフィカルインタフェースか、テキストエディタとコマンド行端末のいずれかを使用して実行できます。ただし、この例では、より理解しやすくするためにエディタとコマンド行による方法を使用してプロセスの一部を明確にしています。

簡単にするためと便宜のため、このセクションの手順では、Oracle HSM の初期構成中に Solaris 仮想ファイルシステム /etc/vfstab の構成ファイルでファイルシステムのマウントオプションを設定します。ただし、ほとんどのオプションは、オプションの /etc/opt/SUNWsamfs/samfs.cmd ファイルで設定することも、コマンド行から設定することもできます。詳細は、samfs.cmd および mount_samfs のマニュアルページを参照してください。

QFS ファイルシステムのディスクストレージの準備

構成プロセスを開始する前に、計画した構成に必要なディスクリソースを選択します。raw デバイススライスである ZFS zvol ボリュームまたは Solaris Volume Manager ボリュームを使用できます。

汎用の ms ファイルシステムの構成

  1. ファイルシステムホストに root としてログインします。ゾーンを含むホストが構成されている場合、大域ゾーンにログインします。

    root@solaris:~# 
    
  2. ファイル /etc/opt/SUNWsamfs/mcf を作成します。

    mcf (マスター構成ファイル) は、空白文字で区切られた 6 列からなる表で、それぞれの列は、QFS ファイルシステムを定義する次のパラメータの 1 つを表します。Equipment IdentifierEquipment OrdinalEquipment Type.Family SetDevice State、および Additional Parameters。表内の行は、ストレージデバイスとデバイスのグループ (ファミリセット) の両方を含むファイルシステム装置を表します。

    mcf ファイルを作成するには、Oracle HSM Manager のグラフィカルユーザーインタフェースでオプションを選択するか、テキストエディタを使用します。次の例では、vi テキストエディタを使用します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    ~                                                                               
    ~                                                                               
    "/etc/opt/SUNWsamfs/mcf"  [New File]
    
  3. わかりやすくするために、列見出しはコメントとして入力します。

    コメント行は、シャープ記号 (#) で始まります。

    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------------
    
  4. 最初の行の Equipment Identifier フィールド (最初の列) に、新しいファイルシステムの名前を入力します。

    この例では、ファイルシステムの名前は qfsms です。

    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------------
    qfsms
    
  5. Equipment Ordinal フィールド (2 番目の列) に、ファイルシステムを一意に識別する番号を入力します。

    装置番号は、Oracle HSM によって制御されるすべての装置を一意に識別します。この例では、qfsms ファイルシステムに 100 を使用します。

    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------------
    qfsms                100
    
  6. Equipment Type」フィールド (3 番目の列) に、汎用 QFS ファイルシステムの装置タイプ ms を入力します。

    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------------
    qfsms                100        ms
    
  7. Family Set フィールド (4 番目の列) に、ファイルシステムの名前を入力します。

    Family Set パラメータは、無人のテープライブラリとその常駐テープドライブや、ファイルシステムとそのコンポーネントディスクデバイスなど、ユニットを形成するために一緒に構成されている装置のグループを定義します。

    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------------
    qfsms                100        ms         qfsms
    
  8. Device State 列に on と入力して、Additional Parameters 列はブランクのままにします。

    この行は完成です。

    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------------
    qfsms                100        ms         qfsms      on
    
  9. 新しい行を開始します。Equipment Identifier フィールド (最初の列) で選択したディスクデバイスの 1 つの ID を入力して、Equipment Ordinal フィールド (2 番目の列) に一意の番号を入力します。

    この例では、デバイスが qfsms ファイルシステムファミリセットの一部であることを強調するためにデバイス行をインデントして、デバイス番号 (この場合は 101) を作成するためにファミリセットのデバイス番号を増分します。

    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------------
    qfsms                100        ms         qfsms      on
      /dev/dsk/c1t3d0s3   101
    
  10. ディスクデバイス行 (3 番目の列) の Equipment Type フィールドに、ディスクデバイスの装置タイプ md を入力します。

    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------------
    qfsms                100        ms         qfsms      on
      /dev/dsk/c1t3d0s3   101        md
    
  11. ディスクデバイス行 (4 番目の列) の Family Set フィールドにファイルシステムのファミリセット名を入力し、Device State フィールド (5 番目の列) に on と入力し、Additional Parameters フィールド (6 番目の列) はブランクのままにします。

    ファミリセット名 qfsms は、ファイルシステムのハードウェアの一部としてディスク装置を識別します。

    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------------
    qfsms                100        ms         qfsms      on
      /dev/dsk/c1t3d0s3   101        md         qfsms      on
    
  12. 次に、残りのディスクデバイスのエントリを追加して、ファイルを保存し、エディタを終了します。

    # Equipment          Equipment  Equipment  Family     Device   Additional
    # Identifier         Ordinal    Type       Set        State    Parameters
    #-----------------   ---------  ---------  ---------  ------   ----------------
    qfsms                100        ms         qfsms      on
      /dev/dsk/c1t3d0s3   101        md         qfsms      on
      /dev/dsk/c1t4d0s5   102        md         qfsms      on
    :wq
    root@solaris:~# 
    
  13. sam-fsd コマンドを実行して、mcf ファイルにエラーがないかどうかを確認します。

    sam-fsd コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーを検出すると停止します。

    root@solaris:~# sam-fsd
    
  14. sam-fsd コマンドによって mcf ファイルでエラーが見つかった場合は、ファイルを編集してエラーを修正し、前の手順の説明に従って再確認します。

    次の例では、sam-fsd によって、デバイスに関して何らかの問題があることが指摘されています。

    root@solaris:~# sam-fsd
    Problem in mcf file /etc/opt/SUNWsamfs/mcf for filesystem qfsms
    sam-fsd: Problem with file system devices.
    

    通常、このようなエラーの原因は不注意なタイプミスです。ここで、エディタで mcf ファイルを開くと、デバイス 102 (2 番目の md デバイス) の装置名のスライス番号の部分に 0 ではなく文字 o を入力したことがわかりました。

    qfsms                100        ms         qfsms      on       
      /dev/dsk/c0t0d0s0   101        md         qfsms      on
      /dev/dsk/c0t3d0so   102        md         qfsms      on
    
  15. sam-fsd コマンドがエラーなしで実行された場合、mcf ファイルは正確です。次の手順に進みます。

    この例は、エラーのない出力の一部です。

    root@solaris:~# sam-fsd
    Trace file controls:
    sam-amld      /var/opt/SUNWsamfs/trace/sam-amld
                  cust err fatal ipc misc proc date
                  size    10M  age 0
    sam-archiverd /var/opt/SUNWsamfs/trace/sam-archiverd
                  cust err fatal ipc misc proc date module
                  size    10M  age 0
    sam-catserverd /var/opt/SUNWsamfs/trace/sam-catserverd
                  cust err fatal ipc misc proc date module
                  size    10M  age 0
    ...
    Would start sam-archiverd()
    Would start sam-stagealld()
    Would start sam-stagerd()
    Would start sam-amld()
    
  16. 新しいファイルシステム用のマウントポイントディレクトリを作成し、マウントポイントに対するアクセス権を設定します。

    ユーザーはマウントポイントポイントディレクトリに移動し、マウントしたファイルシステム内のファイルにアクセスするための実行権 (x) を持っている必要があります。この例では、/qfsms マウントポイントディレクトリを作成し、アクセス権を 755 (-rwxr-xr-x) に設定します。

    root@solaris:~# mkdir /qfsms
    root@solaris:~# chmod 755 /qfsms
    
  17. mcf ファイルを再度読み取り、ソフトウェア自体を適宜再構成するように Oracle HSM ソフトウェアに指示します。コマンド samd config を使用します。

    root@solaris:~# samd config
    Configuring SAM-FS
    root@solaris:~# 
    
  18. コマンド samd config が失敗し、「You need to run /opt/SUNWsamfs/util/SAM-QFS-post-install」というメッセージが表示された場合、ソフトウェアのインストール時にインストール後スクリプトを実行することを忘れています。今すぐ実行します。

    root@solaris:~# /opt/SUNWsamfs/util/SAM-QFS-post-install
    - The administrator commands will be executable by root only (group bin).
    If this is the desired value, enter "y".  If you want to change
    the specified value enter "c".
    ...
    root@solaris:~# 
    
  19. /opt/SUNWsamfs/sbin/sammkfs コマンドとファイルシステムのファミリセット名を使用してファイルシステムを作成します。

    Oracle HSM ソフトウェアは、md デバイスのデュアル割り当てサイズとデフォルトのディスク割り当て単位 (DAU) サイズを使用します。これは、大きいファイルと小さいファイルの両方と入出力要求を格納できるため、汎用ファイルシステムに適した選択肢です。この例では、デフォルトを受け入れます。

    root@solaris:~# sammkfs qfsms
    Building 'qfsms' will destroy the contents of devices:
      /dev/dsk/c1t3d0s3
      /dev/dsk/c1t4d0s5
    Do you wish to continue? [y/N]yes
    total data kilobytes       = ...
    

    デフォルト以外の、入出力要件をより適切に満たした DAU サイズを指定するために必要な mr デバイスを使用するには、-a オプションを指定して sammkfs コマンドを使用します。

    root@solaris:~# sammkfs -a 16 qfs2ma 
    

    追加情報については、sammkfs のマニュアルページを参照してください。

  20. オペレーティングシステムの /etc/vfstab ファイルをバックアップします。

    root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    
  21. 新しいファイルシステムをオペレーティングシステムの仮想ファイルシステム構成に追加します。ファイルをテキストエディタで開き、qfsms ファミリセットデバイスの行を開始します。

    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    qfsms      -        /qfsms    samfs   -    
    
  22. /etc/vfstab ファイルの 6 番目の列 Mount at Boot には、ほとんどの場合 no を入力します。

    root@solaris:~# vi /etc/vfstab
    # File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    qfsms      -        /qfsms    samfs   -     no
    
  23. ラウンドロビン式割り当てを指定するには、stripe=0 マウントオプションを追加します。

    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    qfsms      -        /qfsms    samfs   -     no       stripe=0
    
  24. ストライプ化割り当てを指定するには、stripe=stripe-width マウントオプションを追加します。ここで、stripe-width は、ストライプ内の各ディスクに書き込まれるディスク割り当て単位 (DAU) の数です。

    この例では、ストライプ幅を 1 つの DAU に設定します。

    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    qfsms      -        /qfsms    samfs   -     no       stripe=1
    

    ここで、stripe=1 オプションは、ストライプ幅として 1 つの DAU、書き込みサイズとして 2 つの DAU を指定します。そのため、ファイルシステムが一度に 2 つの DAU を書き込む場合、qfsms ファミリセット内の 2 つの md ディスクデバイスのそれぞれに、DAU を 1 つずつ書き込みます。

  25. その他の必要な変更を /etc/vfstab ファイルに行います。

    たとえば、メタデータサーバーが応答していない場合にファイルシステムをバックグラウンドでマウントするには、bg マウントオプションを Mount Options フィールドに追加します。

    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    qfsms      -        /qfsms    samfs   -     no       stripe=1,bg
    
  26. vfstab ファイルを保存して、エディタを閉じます。

    ...
    qfsms      -        /qfsms    samfs   -     no       stripe=1
    :wq
    root@solaris:~# 
    
  27. 新しいファイルシステムをマウントします。

    root@solaris:~# mount /qfsms 
    
  28. ファイルシステムが完成し、使用する準備ができました。

    次の手順:

高パフォーマンス ma ファイルシステムの構成

Oracle HSM ソフトウェアをファイルシステムホストにインストールしたら、後述のとおりに ma ファイルシステムを構成します。

  1. ファイルシステムホストに root としてログインします。ゾーンを含むホストが構成されている場合、大域ゾーンにログインします。

    root@solaris:~# 
    
  2. メタデータを保持するディスクデバイスを選択します。

  3. データを保持するディスクデバイスを選択します。

  4. mcf ファイルを作成します。

    mcf ファイルを作成するには、Oracle HSM Manager のグラフィカルユーザーインタフェースでオプションを選択するか、テキストエディタを使用します。次の例では、vi テキストエディタを使用します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/mcf
    ~                                                                               
    "/etc/opt/SUNWsamfs/mcf"  [New File]
    
  5. わかりやすくするために、列見出しはコメントとして入力します。

    コメント行は、シャープ記号 (#) で始まります。

    # Equipment           Equipment  Equipment  Family  Device   Additional
    # Identifier          Ordinal    Type       Set     State    Parameters
    #------------------   ---------  ---------  ------  ------   -----------------
    
  6. ファイルシステムファミリセットのエントリを作成します。

    この例では、ファイルシステムを qfsma と指定し、装置番号を 200 に増分し、装置タイプを ma に設定し、ファミリセット名を qfsma に設定して、デバイスの状態 on を設定します。

    # Equipment           Equipment  Equipment  Family  Device   Additional
    # Identifier          Ordinal    Type       Set     State    Parameters
    #------------------   ---------  ---------  ------  ------   -----------------
    qfsma          200        ma         qfsma   on
    
  7. メタデータデバイスごとにエントリを追加します。装置識別子の列で選択したディスクデバイスの識別子を入力し、装置番号を設定して、装置タイプを mm に設定します。

    ファイルシステムのサイズに必要なメタデータを保持するために十分なメタデータデバイスを追加します。この例では、単一のメタデータデバイスを追加します。

    # Equipment           Equipment  Equipment  Family  Device   Additional
    # Identifier          Ordinal    Type       Set     State    Parameters
    #------------------   ---------  ---------  ------  ------   -----------------
    qfsma                 200        ma         qfsma   on
      /dev/dsk/c0t0d0s0    201        mm         qfsma   on
    
  8. 次に、データデバイスのエントリを追加して、ファイルを保存し、エディタを終了します。

    これらは、mdmr、またはストライプグループ (gXXX) デバイスのいずれでもかまいません。この例では、md デバイスを指定します。

    # Equipment          Equipment  Equipment  Family  Device   Additional
    # Identifier         Ordinal    Type       Set     State    Parameters
    #------------------  ---------  ---------  ------  ------   -----------------
    qfsma                200        ma         qfsma   on
      /dev/dsk/c0t0d0s0   201        mm         qfsma   on
      /dev/dsk/c0t3d0s0   202        md         qfsma   on
      /dev/dsk/c0t3d0s1   203        md         qfsma   on
    :wq
    root@solaris:~# 
    
  9. sam-fsd コマンドを実行して、mcf ファイルにエラーがないかどうかを確認します。

    sam-fsd コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーを検出すると停止します。

    root@solaris:~# sam-fsd
    
  10. sam-fsd コマンドによって mcf ファイルでエラーが見つかった場合は、ファイルを編集してエラーを修正し、前の手順の説明に従って再確認します。

    次の例では、sam-fsd によって、デバイスに関して何らかの問題があることが指摘されています。

    root@solaris:~# sam-fsd
    Problem in mcf file /etc/opt/SUNWsamfs/mcf for filesystem qfsma
    sam-fsd: Problem with file system devices.
    

    通常、このようなエラーの原因は不注意なタイプミスです。ここで、エディタで mcf ファイルを開くと、デバイス 202 (最初の md デバイス) の装置名のスライス番号の部分に 1 ではなく感嘆符 (!) を入力したことがわかりました。

    sharefs1              200         ma         qfsma   on       
      /dev/dsk/c0t0d0s0    201         mm         qfsma   on
      /dev/dsk/c0t0d0s!    202         md         qfsma   on
      /dev/dsk/c0t3d0s0    203         md         qfsma   on
    
  11. sam-fsd コマンドがエラーなしで実行された場合、mcf ファイルは正確です。次の手順に進みます。

    この例は、エラーのない出力の一部です。

    root@solaris:~# sam-fsd
    Trace file controls:
    sam-amld      /var/opt/SUNWsamfs/trace/sam-amld
                  cust err fatal ipc misc proc date
                  size    10M  age 0
    sam-archiverd /var/opt/SUNWsamfs/trace/sam-archiverd
                  cust err fatal ipc misc proc date module
                  size    10M  age 0
    sam-catserverd /var/opt/SUNWsamfs/trace/sam-catserverd
                  cust err fatal ipc misc proc date module
                  size    10M  age 0
    ...
    Would start sam-archiverd()
    Would start sam-stagealld()
    Would start sam-stagerd()
    Would start sam-amld()
    
  12. /opt/SUNWsamfs/sbin/sammkfs コマンドとファイルシステムのファミリセット名を使用してファイルシステムを作成します。

    この例では、md デバイスを持つ ma ファイルシステムのデフォルトのディスク割り当て単位 (DAU) サイズである 64K バイトを使用してファイルシステムを作成します。

    root@solaris:~# sammkfs qfsma
    Building 'qfsma' will destroy the contents of devices:
      /dev/dsk/c0t0d0s0
      /dev/dsk/c0t3d0s0
      /dev/dsk/c0t3d0s1
    Do you wish to continue? [y/N]yes
    total data kilobytes       = ...
    

    デフォルトは適切で汎用的な選択肢です。ただし、ファイルシステムが主に、小さいファイル、または少量のデータの読み取りおよび書き込みを行うアプリケーションをサポートする場合、DAU サイズに 16K バイトまたは 32K バイトを指定することもできます。16K バイトの DAU を指定するには、-a オプションを指定して sammkfs コマンドを使用します。

    root@solaris:~# sammkfs -a 16 qfsma 
    

    mr デバイスと gXXX ストライプグループの DAU は、8 - 65528K バイトの範囲内で、8K バイト単位の増分で完全に調整可能です。デフォルトは、mr デバイスの場合は 64K バイトで、gXXX ストライプグループの場合は 256K バイトです。詳細は、sammkfs のマニュアルページを参照してください。

  13. オペレーティングシステムの /etc/vfstab ファイルをバックアップします。

    root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    
  14. 新しいファイルシステムをオペレーティングシステムの仮想ファイルシステム構成に追加します。テキストエディタで /etc/vfstab ファイルを開き、qfsma ファミリセットの行を開始します。

    root@solaris:~# vi /etc/vfstab
    # File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    qfsma      -        /qfsma    samfs   -
    
  15. /etc/vfstab ファイルの 6 番目の列 Mount at Boot に、no と入力します。

    root@solaris:~# vi /etc/vfstab
    # File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    qfsma      -        /qfsma    samfs   -     no
      
    
  16. ラウンドロビン式割り当てを指定するには、stripe=0 マウントオプションを追加します。

    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    qfsma      -        /qfsma    samfs   -     no       stripe=0
    
  17. ストライプ化割り当てを指定するには、stripe=stripe-width マウントオプションを追加します。ここで、stripe-width は、ストライプ内の各ディスクに書き込まれるディスク割り当て単位 (DAU) の数を表す [1-255] の範囲の整数です。

    ストライプ化割り当てを指定すると、データは並行してデバイスに書き込まれます。そのため、最高のパフォーマンスを確保するには、ストレージハードウェアで使用可能な帯域幅を完全に使用するストライプ幅を選択してください。特定のストライプ幅に転送されるデータボリュームは、ハードウェアの構成方法によって異なります。単一のディスクボリュームに実装される md デバイスの場合、ストライプ幅 1 は、1 つの 64K バイトの DAU を 2 つのディスクのそれぞれに書き込みます (合計 128K バイト)。3+1 RAID 5 ボリュームグループに実装されている md デバイスの場合、同じストライプ幅は、1 つの 64K バイトの DAU を 2 つの各デバイス上の 3 つのデータディスクのそれぞれに転送します (転送ごとに合計 6 つの DAU 、つまり 384K バイト)。この例では、ストライプ幅を 1 つの DAU に設定します。

    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    qfsma      -        /qfsma    samfs   -     no       stripe=1
    
  18. 使用可能なハードウェアをよりよく活用するために、ストライプ幅の調整を試すことができます。ファイルシステムの Mount Options フィールドで、stripe=n マウントオプションを設定します。ここで、n は、ファイルシステムに指定された DAU サイズの倍数です。ファイルシステムの入出力パフォーマンスをテストして、必要に応じて設定を再調整します。

    stripe=0 を設定すると、Oracle HSM は、ラウンドロビン式割り当てを使用してデバイスにファイルを書き込みます。1 つのデバイスがいっぱいになるまで、各ファイルが完全にそのデバイスに割り当てられます。ラウンドロビン式は、共有ファイルシステムとマルチストリーム環境に適しています。

    この例では、RAID-5 ボリュームグループの帯域幅がストライプ幅 1 では十分に使用されていないことがわかったため、stripe=2 を試します。

    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    /proc      -        /proc     proc    -     no       -
    ...
    qfsma      -        /qfsma    samfs   -     no       ...,stripe=2
    
  19. それ以外の場合は、vfstab ファイルを保存します。

    ...
    qfsma      -        /qfsma    samfs   -     no       stripe=1
    :wq
    root@solaris:~# 
    
  20. 新しいファイルシステムをマウントします。

    root@solaris:~# mount /qfsms 
    

    基本ファイルシステムが完成し、使用する準備ができました。

  21. Oracle Hierarchical Storage Manager を使用してアーカイブファイルシステムを設定する場合、Oracle HSM アーカイブファイルシステムの構成を参照してください。

  22. ファイルシステムで WORM (書き込み 1 回、読み取り複数回) 機能を有効にする必要がある場合、Write Once Read Many (WORM) ファイルのサポートの有効化を参照してください。

  23. LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、Linear Tape File System (LTFS) のサポートの有効化を参照してください。

  24. 複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。

  25. それ以外の場合は、通知とロギングの構成に進みます。

Oracle HSM アーカイブファイルシステムの構成

アーカイブファイルシステムは、1 つ以上の QFS ma- タイプまたは ms- タイプのファイルシステムをアーカイブストレージおよび Oracle HSM software と組み合わせます。Oracle HSM software は、セカンダリディスクストレージまたはリムーバブルメディア、あるいはその両方を基本ファイルシステムの操作と統合するため、ファイルはさまざまメディアの複数のコピーに保持されます。この冗長性により、データの保護は連続して行われ、非常に大きいファイルのポリシー主導型の保存と効率的なストレージがサポートされます。

Oracle HSM ホスト構成へのディスクアーカイブファイルシステムの追加

Oracle HSM ホスト上に必要なすべてのディスクアーカイブファイルシステムを作成し、ホスト構成にローカルとリモートの両方のディスクアーカイブファイルシステムを追加します。次に示されている手順を使用します。

ディスクアーカイブとして使用するローカルファイルシステムの作成

Oracle HSM サーバー上のファイルシステムをディスクアーカイブとして使用する予定がある場合は、次の手順を実行します。

  1. Oracle HSM サーバーにローカルにマウントされているディスクアーカイブボリュームごとに QFS、ZFS、または UFS ファイルシステムを作成します。

    ほかのアプリケーションと共有する必要のある既存の汎用ファイルシステムを使用しないでください。

  2. ディスクアーカイブボリュームとして 1 つ以上の QFS ファイルシステムを構成する場合は、それぞれに、アーカイブストレージボリュームとして明確に識別するためのファミリセット名と一連の装置番号を割り当てます。

    QFS アーカイブストレージファイルシステムをほかの Oracle HSM プライマリファイルシステムと明確に区別することで、構成の理解と維持が簡単になります。この例では、新しいファイルシステムの名前 DISKVOL1 はその機能を示しています。mcf ファイルでは、この名前と装置番号 800 によって、ディスクアーカイブが、後続の例で Oracle HSM アーカイブファイルシステムを作成するときに使用するファミリセット名と装置番号である samms および 100 と区別されます。

    # Archiving file systems:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ -----------------
    
    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ -----------------
    DISKVOL1                  800       ms       DISKVOL1  on
     /dev/dsk/c6t0d1s7         801       md       DISKVOL1  on
     /dev/dsk/c4t0d2s7         802       md       DISKVOL1  on
    
  3. 次に、Oracle HSM ホストシステムの構成にディスクアーカイブを追加します。

Oracle HSM ホスト構成へのディスクアーカイブの追加

  1. Oracle HSM ホスト上で、物理テープライブラリがアーカイブテープボリュームを保持するのと同様に、ディスクアーカイブボリュームのマウントポイントを保持するための 1 つの親ディレクトリを作成します。

    この例では、ディレクトリ /diskvols を作成します。

    root@solaris:~# mkdir /diskvols
    
  2. 親ディレクトリで、アーカイブファイルシステムごとにマウントポイントディレクトリを作成します。

    この例では、マウントポイントディレクトリ DISKVOL1 および DISKVOL2 - DISKVOL15 を作成します。

    root@solaris:~# mkdir /diskvols/DISKVOL1
    root@solaris:~# mkdir /diskvols/DISKVOL2
    ...
    root@solaris:~# mkdir /diskvols/DISKVOL15
    
  3. Oracle HSM ホストで、/etc/vfstab ファイルをバックアップします。

    root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    
  4. エディタで /etc/vfstab ファイルを開きます。

    root@solaris:~# vi /etc/vfstab 
    
  5. ディスクアーカイブとして機能するローカル QFS ファイルシステムごとのエントリを追加します。samfs ファイルシステムタイプで各エントリを識別し、マウントオプション nosam を追加します (Oracle HSM でアーカイブをアーカイブする場合を除きます)。

    nosam マウントオプションは、QFS ファイルシステムに格納されたアーカイブコピーがそれ自体をアーカイブしないようにします。

    この例では、vi エディタを使用して、1 つのローカル QFS ファイルシステム DISKVOL1 のエントリを追加します。

    root@solaris:~# vi /etc/vfstab 
    #File
    #Device           Device   Mount               System  fsck  Mount    Mount
    #to Mount         to fsck  Point               Type    Pass  at Boot  Options
    #--------         -------  ------------------  ------  ----  -------  ---------
    /devices          -        /devices            devfs   -     no       -
    ...
    DISKVOL1          -        /diskvols/DISKVOL1  samfs   -     no       nosam
    
  6. ディスクアーカイブとして機能する NFS ファイルシステムごとのエントリを追加します。nfs ファイルシステムタイプで各エントリを識別します。

    この例では、vi エディタを使用して、エントリ DISKVOL2 から DISKVOL15 までを追加します。ここで、nfs1 はディスクアーカイブ DISKVOL2 から DISKVOL13 までをホストする NFS サーバーの名前であり、oscsa1 は残りのディスクアーカイブをホストする Oracle Storage Cloud Software Appliance ホストの名前です。

    root@solaris:~# vi /etc/vfstab 
    #File
    #Device           Device   Mount               System  fsck  Mount    Mount
    #to Mount         to fsck  Point               Type    Pass  at Boot  Options
    #--------         -------  ------------------  ------  ----  -------  ---------
    /devices          -        /devices            devfs   -     no       -
    ...
    DISKVOL1          -        /diskvols/DISKVOL1  samfs   -     no       nosam
    nfs1:/DISKVOL2    -        /diskvols/DISKVOL2  nfs     -     yes      -
    nfs1:/DISKVOL3    -        /diskvols/DISKVOL3  nfs     -     yes      -
    ...
    oscsa1:/DISKVOL14 -        /diskvols/DISKVOL3  nfs     -     yes      -
    oscsa1:/DISKVOL15 -        /diskvols/DISKVOL15 nfs     -     yes      -
    
    
  7. /etc/vfstab ファイルを保存して、エディタを閉じます。

    ...
    oscsa1:/DISKVOL14 -        /diskvols/DISKVOL3  nfs     -     yes      -
    oscsa1:/DISKVOL15 -        /diskvols/DISKVOL15 nfs     -     yes      -
    :wq
    root@solaris:~# 
    
  8. Oracle HSM ホスト上で、ディスクアーカイブファイルシステムをマウントします。

    この例では、DISKVOL1 および DISKVOL2 - DISKVOL15 をマウントします。

    root@solaris:~# mount /diskvols/DISKVOL1
    root@solaris:~# mount /diskvols/DISKVOL2
    ...
    root@solaris:~# mount /diskvols/DISKVOL14
    root@solaris:~# mount /diskvols/DISKVOL15
    
  9. 次に、リムーバブルメディアライブラリとドライブを準備します

リムーバブルメディアライブラリとドライブの準備

このセクションでは、次のタスクについて説明します。

Oracle StorageTek ACSLS ネットワーク接続自動ライブラリの構成

Oracle StorageTek ACSLS ネットワーク接続ライブラリを使用している場合、次のように構成するか、Oracle HSM Managerのグラフィカルユーザーインタフェースを使用してライブラリを自動的に検出して構成できます (Oracle HSM Manager の使用手順については、オンラインヘルプを参照してください)。

次のように進めます。

  1. Oracle HSM サーバーホストに root としてログインします。

    root@solaris:~# 
    
  2. /etc/opt/SUNWsamfs ディレクトリに移動します。

    root@solaris:~# cd /etc/opt/SUNWsamfs
    
  3. テキストエディタで、構成するネットワーク接続ライブラリのタイプに対応する名前で新しいファイルを開始します。

    この例では、Oracle StorageTek ACSLS ネットワーク接続ライブラリのパラメータファイルを開始します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/acsls1params
    # Configuration File for an ACSLS Network-Attached Tape Library 1
    
  4. ACSLS 接続ライブラリとの通信時に Oracle HSM ソフトウェアが使用するパラメータと値を入力します。

    Oracle HSM ソフトウェアは、次の Oracle StorageTek 自動カートリッジシステムアプリケーションプログラミングインタフェース (ACSAPI) パラメータを使用して、ACSLS 管理によるライブラリを制御します (詳細は、stk のマニュアルページを参照してください)。

    • access=user-id は、アクセス制御のオプションのユーザー識別子の値を指定します。デフォルトでは、ユーザー識別子ベースのアクセス制御はありません。

    • hostname=hostname は、StorageTek ACSLS インタフェースを実行するサーバーのホスト名を指定します。

    • portnum=portname は、ACSLS と Oracle HSM ソフトウェアとの間の通信に使用されるポート番号を指定します。

    • ssihost=hostname は、ACSLS ホストに接続するネットワークに対するマルチホーム Oracle HSM サーバーを識別するホスト名を指定します。デフォルトは、ローカルホストの名前。

    • ssi_inet_port=ssi-inet-port は、ACSLS サーバーのシステムインタフェースが着信 ACSLS 応答に使用する必要がある固定のファイアウォールポートを指定します。0、または [1024-65535] の範囲の値のいずれかを指定します。デフォルトの 0 を使用すると、ポートを動的に割り当てることができます。

    • csi_hostport=csi-port は、Oracle HSM がその ACSLS 要求を送信する ACSLS サーバーでのクライアントシステムインタフェースのポート番号を指定します。0、または [1024-65535] の範囲の値のいずれかを指定します。デフォルトの 0 を使用すると、システムは、ACSLS サーバーのポートマッパーでポートの照会を行います。

    • capid=(acs=acsnum, lsm=lsmnum, cap=capnum) は、カートリッジアクセスポート (CAP) の ACSLS アドレスを指定します。ここで、acsnum は、ライブラリの自動カートリッジシステム (ACS) 番号、lsmnum は、CAP を保持するモジュールのライブラリストレージモジュール (LSM) 番号、capnum は、必要な CAP の識別番号です。完全なアドレスは括弧で囲まれています。

    • capacity=(index-value-list) は、リムーバブルメディアカートリッジの容量を指定します。ここで、index-value-list は、index=value ペアのコンマ区切りリストです。リスト内のそれぞれの index は、ACSLS によって定義されたメディアタイプのインデックスで、それぞれの value は、対応するボリューム容量 (1024 バイト単位) です。

      ACSLS ファイル /export/home/ACSSS/data/internal/mixed_media/media_types.dat は、メディアタイプインデックスを定義します。サポートされる容量をオーバーライドする必要がある場合、通常指定する必要があるのは新しいカートリッジタイプの容量エントリのみです。

    • device-path-name=(acs=ACSnumber, lsm=LSMnumber, panel=Panelnumber, drive=Drivenumber)[shared] は、クライアントに接続されているドライブの ACSLS アドレスを指定します。ここで、device-path-name は、Oracle HSM サーバーでデバイスを識別し、acsnum は、ライブラリの自動カートリッジシステム (ACS) 番号、lsmnum は、ドライブを制御するモジュールのライブラリストレージモジュール (LSM) 番号、Panelnumber は、ドライブが取り付けられているパネルの識別番号、Drivenumber はドライブの識別番号です。完全なアドレスは括弧で囲まれています。

      ACSLS アドレスのあとにオプションの shared キーワードを追加すると、複数の Oracle HSM サーバーが独自のメディアをそれぞれ排他的に制御できるかぎり、これらのサーバーはドライブを共有できます。デフォルトの場合、共有ドライブ内のカートリッジは、60 秒間のアイドル状態のあとにロード解除されます。

    この例では、acslserver1 を ACSLS ホストとして識別して、アクセスを sam_user に制限し、動的ポート割り当てを指定し、カートリッジアクセスポートと 2 つのドライブをマップします。

    root@solaris:~# vi /etc/opt/SUNWsamfs/acsls1params
    # Configuration File for an ACSLS Network-Attached Tape Library 1
    hostname = acslserver1
    portnum = 50014
    access = sam_user
    ssi_inet_port = 0
    csi_hostport = 0
    capid = (acs=0, lsm=1, cap=0)
    /dev/rmt/0cbn = (acs=0, lsm=1, panel=0, drive=1)
    /dev/rmt/1cbn = (acs=0, lsm=1, panel=0, drive=2) 
    
  5. ファイルを保存して、エディタを閉じます。

    root@solaris:~# vi /etc/opt/SUNWsamfs/acsls1params
    # /etc/opt/SUNWsamfs/acslibrary1
    # Configuration File for an ACSLS Network-Attached Tape Library
    ...
    /dev/rmt/0cbn = (acs=0, lsm=1, panel=0, drive=1)
    /dev/rmt/1cbn = (acs=0, lsm=1, panel=0, drive=2) 
    :wq
    root@solaris:~# 
    
  6. ライブラリまたはアプリケーションソフトウェアがバーコード付きリムーバブルメディアの非標準のラベルを使用する場合は、ここでラベル付け動作を構成します

  7. ドライブまたはアプリケーションソフトウェアが Oracle HSM のデフォルトと互換性がないことがわかっている場合は、ここでドライブ時間値を設定します

  8. それ以外の場合は、アーカイブファイルシステムの構成に進みます。

バーコード付きリムーバブルメディアのラベル付け動作の構成

デフォルトでは、ライブラリがバーコードリーダーとバーコード付きメディアを保持している場合、Oracle HSM ソフトウェアは、バーコードの最初の 6 文字でボリュームを自動的にラベル付けします。ただし、代わりのバーコード読み取りに基づいたボリュームラベルになるように Oracle HSM を構成できます。それを行うには、次の手順を実行します。

  1. Oracle HSM ホストに root としてログインします。

    root@solaris:~# 
    
  2. デフォルト以外の動作が必要な場合、または以前にデフォルトをオーバーライドしており、それをリセットする必要がある場合は、テキストエディタでファイル /etc/opt/SUNWsamfs/defaults.conf を開きます。

    この例では、vi エディタでファイルを開きます。

    root@solaris:~# vi /opt/SUNWsamfs/examples/defaults.conf
    ...
    
  3. labels = が存在する場合はそれを見つけ、存在しない場合はこの行を追加します。

    この例では、ディレクティブを追加します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults.
    ...
    labels = 
    
  4. バーコードの最初の 6 文字に基づく自動的なラベル付け (デフォルト) を再度有効にするには、labels ディレクティブの値を barcodes に設定します。ファイルを保存して、エディタを閉じます。

    これで、Oracle HSM ソフトウェアは、テープのバーコードの最初の 6 文字をラベルとして使用して、ラベルが付いていないテープに自動的に再ラベル付けします。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    ...
    labels = barcodes
    :wq
    root@solaris:~# 
    
  5. テープのバーコードの最後の 6 文字に基づいた自動ラベル付けを有効にするには、labels ディレクティブの値を barcodes_low に設定します。ファイルを保存して、エディタを閉じます。

    labels ディレクティブを barcodes_low に設定すると、Oracle HSM ソフトウェアは、テープのバーコードの最後の 6 文字をラベルとして使用して、ラベルが付いていないテープを自動的に再ラベル付けします。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    ...
    labels = barcodes_low
    :wq
    root@solaris:~# 
    
  6. 自動ラベル付けを無効にして、テープからラベルを読み取るように Oracle HSM を構成するには、labels ディレクティブの値を read に設定します。ファイルを保存して、エディタを閉じます。

    labels ディレクティブが値 read に設定されている場合、Oracle HSM software はテープを自動的に再ラベル付けできません。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    ...
    labels = read
    idle_unload = 0
    ...
    :wq
    root@solaris:~# 
    
  7. ドライブまたはアプリケーションソフトウェアが Oracle HSM のデフォルトと互換性がないことがわかっている場合は、ここでドライブ時間値を設定します

  8. それ以外の場合は、アーカイブファイルシステムの構成に進みます。

ドライブ時間値の設定

デフォルトでは、Oracle HSM ソフトウェアは、次のようにしてドライブ時間パラメータを設定します。

  • 指定されたデバイスタイプがメディアをマウント解除するまでに必要な最小経過時間は、60 秒です。

  • SCSI unload コマンドに応答しているライブラリに対して新しいコマンドを発行するまでに Oracle HSM ソフトウェアが待機する時間は、15 秒です。

  • アイドル状態のドライブをアンロードするまでに Oracle HSM ソフトウェアが待機する時間は、600 秒 (10 分) です。

  • 複数の Oracle HSM サーバーによって共有されるアイドル状態のドライブをアンロードするまでに Oracle HSM ソフトウェアが待機する時間は、600 秒 (10 分) です。

デフォルトの時間値を変更するには、次のように進めます。

  1. ログインしていない場合は、Oracle HSM ホストに root としてログインします。

    root@solaris:~# 
    
  2. テキストエディタで /etc/opt/SUNWsamfs/defaults.conf ファイルを開きます。

    この例では、vi エディタを使用します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character and change the value.
    ...
    
  3. 必要に応じて、指定されたデバイスタイプがメディアをマウント解除するまでに必要な最小経過時間を指定します。defaults.conf ファイルに、ディレクティブを equipment-type_delay = number-of-seconds 形式で追加します。ここで、equipment-type は、構成するドライブタイプを示す 2 文字の Oracle HSM コード、number-of-seconds は、このデバイスタイプのデフォルトの秒数を表す整数です。

    装置タイプコードと対応する装置のリストについては、付録A 装置タイプの用語集を参照してください。この例では、LTO ドライブ (装置タイプ li) のアンロード遅延をデフォルト値 (60 秒) から 90 秒に変更します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character and change the value.
    ...
    li_delay = 90
    
  4. 必要に応じて、SCSI unload コマンドに応答しているライブラリに新しいコマンドを発行するまでに Oracle HSM ソフトウェアが待機する時間を指定します。defaults.conf ファイルに、ディレクティブを equipment-type_unload = number-of-seconds 形式で追加します。ここで、equipment-type は、構成するドライブタイプを示す 2 文字の Oracle HSM コード、number-of-seconds は、このデバイスタイプの秒数を表す整数です。

    装置タイプコードと対応する装置のリストについては、付録A 装置タイプの用語集を参照してください。最悪の場合に、unload コマンドへの応答時にライブラリで必要になる可能性がある最大時間を設定します。この例では、LTO ドライブ (装置タイプ li) のアンロード遅延をデフォルト値 (15 秒) から 35 秒に変更します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character and change the value.
    ...
    li_delay = 90
    li_unload = 35
    
  5. 必要に応じて、アイドル状態のドライブをアンロードするまでに Oracle HSM ソフトウェアが待機する時間を指定します。defaults.conf ファイルで、ディレクティブを idle_unload = number-of-seconds 形式で追加します。ここで、number-of-seconds は、指定された秒数を表す整数です。

    この機能を無効にするには、0 を指定します。この例では、デフォルト値 (600 秒) を 0 に変更することでこの機能を無効にします。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character and change the value.
    ...
    li_delay = 90
    li_unload = 35
    idle_unload = 0
    
  6. 必要に応じて、アイドル状態の共有ドライブをアンロードするまでに Oracle HSM ソフトウェアが待機する時間を指定します。defaults.conf ファイルで、ディレクティブを shared_unload = number-of-seconds 形式で追加します。ここで、number-of-seconds は、指定された秒数を表す整数です。

    リムーバブルメディアドライブを共有するように Oracle HSM サーバーを構成できます。このディレクティブは、ロードされたメディアを所有するサーバーが実際にはドライブを使用していない場合に、ほかのサーバーで使用できるようにドライブを解放します。この機能を無効にするには、0 を指定します。この例では、デフォルト値 (600 秒) を 0 に変更することでこの機能を無効にします。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character and change the value.
    ...
    idle_unload = 600
    li_delay = 90
    li_unload = 35
    idle_unload = 0
    shared_unload = 0
    
  7. ファイルを保存して、エディタを閉じます。

    root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character and change the value.
    ...
    idle_unload = 600
    li_delay = 90
    li_unload = 35
    idle_unload = 0
    shared_unload = 0
    :wq
    root@solaris:~# 
    
  8. 次に、アーカイブファイルシステムを構成します

アーカイブファイルシステムの構成

アーカイブファイルシステムを構成するための手順は、データファイルの追加のコピーを格納するためのデバイスを追加する点を除き、非アーカイブファイルシステムを作成する場合と同じです。

  1. QFS ファイルシステムの構成から開始します。汎用の ms または高性能な ma ファイルシステムを構成できます。

    Oracle HSM Manager のグラフィカルユーザーインタフェースを使用してファイルシステムを作成できますが、このセクションの例では vi エディタを使用します。ここでは、ファミリセット名が samms で、装置番号が 100 の汎用 ms ファイルシステムを作成します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/mcf 
    # Archiving file systems:
    #
    # Equipment              Equipment Equipment Family  Device Additional
    # Identifier             Ordinal   Type      Set     State  Parameters
    #----------------------- --------- --------- ------  ------ -------------------
    samms                    100       ms        samms   on
     /dev/dsk/c1t3d0s3        101       md        samms   on
     /dev/dsk/c1t3d0s4        102       md        samms   on 
    
  2. アーカイブテープストレージを追加するには、ライブラリのエントリの追加から開始します。「Equipment Identifier」フィールドで、ライブラリのデバイス ID を入力し、装置番号を割り当てます。

    この例では、ライブラリの装置 ID は /dev/scsi/changer/c1t0d5 です。装置番号は 900 (ディスクアーカイブ用に選択された範囲に続く範囲) に設定します。

    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ -----------------
    DISKVOL1                 800       ms        DISKVOL1  on
     /dev/dsk/c6t0d1s7        801       md        DISKVOL1  on
     /dev/dsk/c4t0d2s7        802       md        DISKVOL1  on
    /dev/scsi/changer/c1t0d5 900
    
  3. 装置タイプを汎用 SCSI 接続テープライブラリ rb に設定して、テープライブラリファミリセットの名前を指定し、デバイスの状態を on に設定します。

    この例では、ライブラリ library1 を使用しています。

    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ -----------------
    DISKVOL1                 800       ms        DISKVOL1  on
     /dev/dsk/c6t0d1s7        801       md        DISKVOL1  on
     /dev/dsk/c4t0d2s7        802       md        DISKVOL1  on
    /dev/scsi/changer/c1t0d5 900       rb        library1  on
    
  4. オプションで、Additional Parameters 列に、ライブラリカタログを格納するパスを入力します。

    カタログパスを指定することを選択しない場合、ソフトウェアによってデフォルトのパスが設定されます。

    ドキュメントのレイアウトの制限のために、例ではライブラリカタログの長いパス var/opt/SUNWsamfs/catalog/library1cat は省略されています。

    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ -----------------
    DISKVOL1                 800       ms        DISKVOL1  on
     /dev/dsk/c6t0d1s7        801       md        DISKVOL1  on
     /dev/dsk/c4t0d2s7        802       md        DISKVOL1  on
    /dev/scsi/changer/c1t0d5 900       rb        library1  on     ...catalog/library1cat
    
  5. 次に、ライブラリファミリセットの一部である各テープドライブのエントリを追加します。各ドライブは、ライブラリに物理的に取り付けられている順序で追加します。

    ドライブをライブラリに取り付ける順序の確認で作成したドライブマッピングファイルに表示されているドライブの順序に従います。この例では、/dev/rmt/1/dev/rmt/0/dev/rmt/2、および /dev/rmt/3 で Solaris に接続されているドライブはそれぞれ、ライブラリ内のドライブ 123、および 4 です。そのため、/dev/rmt/1 は、mcf ファイル内でデバイス 901 として最初に表示されています。装置タイプ tp は、汎用 SCSI 接続テープドライブを指定します。

    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------  ------ -----------------
    DISKVOL1                  800       ms        DISKVOL1 on
     /dev/dsk/c6t0d1s7         801       md        DISKVOL1 on
     /dev/dsk/c4t0d2s7         802       md        DISKVOL1 on
    /dev/scsi/changer/c1t0d5  900       rb        library1  on     ...catalog/library1cat
     /dev/rmt/1cbn             901       tp        library1  on
     /dev/rmt/0cbn             902       tp        library1  on
     /dev/rmt/2cbn             903       tp        library1  on
     /dev/rmt/3cbn             904       tp        library1  on
    
  6. 最後に、Oracle HSM ヒストリアンを自分で構成する場合、装置タイプ hy を使用してエントリを追加します。「Family Set」列と「Device State」列にハイフンを入力し、「Additional Parameters」列にヒストリアンのカタログへのパスを入力します。

    ヒストリアンは、アーカイブからエクスポートされたボリュームをカタログする仮想ライブラリです。ヒストリアンを構成しない場合、指定された最大の装置番号に 1 を加えた値を使用して、ソフトウェアによってヒストリアンが自動的に作成されます。

    例では、ページレイアウトのためにヒストリアンカタログの長いパスは省略されています。フルパスは /var/opt/SUNWsamfs/catalog/historian_cat です。

    # Archival storage for copies:
    #
    # Equipment              Equipment Equipment Family    Device Additional
    # Identifier             Ordinal   Type      Set       State  Parameters
    #----------------------- --------- --------- --------- ------ -----------------
    DISKVOL1                 800       ms        DISKVOL1  on
     /dev/dsk/c6t0d1s7        801       md        DISKVOL1  on
     /dev/dsk/c4t0d2s7        802       md        DISKVOL1  on
    /dev/scsi/changer/c1t0d5 900       rb        library1  on     ...catalog/SL150cat
     /dev/rmt/0cbn            901       tp        library1  on
     /dev/rmt/1cbn            902       tp        library1  on
     /dev/rmt/2cbn            903       tp        library1  on
     /dev/rmt/3cbn            904       tp        library1  on
    historian                999       hy        -         -      ...catalog/historian_cat
    
  7. mcf ファイルを保存して、エディタを閉じます。

    ...
     /dev/rmt/3cbn            904       tp        library1  on
    historian                999       hy         -      -      ...catalog/historian_cat
    :wq
    root@solaris:~# 
    
  8. sam-fsd コマンドを実行して、mcf ファイルにエラーがないかどうかを確認します。見つかったエラーを修正します。

    sam-fsd コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーを検出すると停止します。

    root@solaris:~# sam-fsd
    Trace file controls:
    ...
    Would start sam-archiverd()
    Would start sam-stagealld()
    Would start sam-stagerd()
    Would start sam-amld()
    root@solaris:~# 
    
  9. 1 つ以上のファイルシステムをアーカイブストレージボリュームとして使用している場合、テキストエディタで /etc/opt/SUNWsamfs/diskvols.conf ファイルを作成して、ボリュームシリアル番号 (VSN) を各ファイルシステムに割り当てます。ファイルシステムごとに、必要なボリュームシリアル番号、空白文字、およびファイルシステムのマウントポイントのパスで構成される新しい行を開始します。次に、ファイルを保存します。

    この例では、3 つのディスクベースのアーカイブボリュームがあります。DISKVOL1 は、この目的のためにローカルに作成した QFS ファイルシステムです。DISKVOL2 - DISKVOL15 は UFS ファイルシステムです。すべてが /diskvols/ ディレクトリにマウントされています。

    root@solaris:~# vi /etc/opt/SUNWsamfs/diskvols.conf
    # Volume 
    # Serial     Resource
    # Number     Path       
    # ------     ---------------------
    DISKVOL1     /diskvols/DISKVOL1
    DISKVOL2     /diskvols/DISKVOL2
    ...
    DISKVOL15     /diskvols/DISKVOL3
    
  10. 新しいファイルシステム用のマウントポイントディレクトリを作成し、マウントポイントに対するアクセス権を設定します。

    ユーザーはマウントポイントポイントディレクトリに移動し、マウントしたファイルシステム内のファイルにアクセスするための実行権 (x) を持っている必要があります。この例では、/samms マウントポイントディレクトリを作成し、アクセス権を 755 (-rwxr-xr-x) に設定します。

    root@solaris:~# mkdir /samms
    root@solaris:~# chmod 755 /samms
    
  11. mcf ファイルを再度読み取り、ソフトウェア自体を適宜再構成するように Oracle HSM ソフトウェアに指示します。報告されたエラーをすべて修正して、必要に応じて繰り返します

    root@solaris:~# /opt/SUNWsamfs/sbin/samd config
    Configuring SAM-FS
    root@solaris:~# 
    
  12. 次に、アーカイブファイルシステムをマウントします

アーカイブファイルシステムのマウント

  1. ファイルシステムホストに root としてログインします。ゾーンを含むホストが構成されている場合、大域ゾーンにログインします。

  2. Solaris /etc/vfstab ファイルをバックアップして、テキストエディタで開きます。

    次の例では、vi エディタを使用します。

    root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    samms      -        /samms    samfs   -     yes      -
    
  3. 高位境界値を設定します。これは、Oracle HSM が以前アーカイブしたファイルをディスクから解放するディスクキャッシュ利用率です。Oracle HSM ファイルシステムのエントリの最後の列に、マウントオプション high=percentage を入力します。ここで、percentage は、[0-100] の範囲の数値です。

    ディスクのストレージ容量、平均ファイルサイズ、特定の時間にアクセスされるファイル数の見積もりに基づいてこの値を設定します。ユーザーが作成する新しいファイルと、ユーザーがアクセスする必要があるアーカイブ済みファイルの両方について十分なキャッシュ領域を常に確保する必要があります。ただし、リムーバブルメディアボリュームのマウントに関連するオーバーヘッドを回避できるように、ステージングを可能なかぎり少なくする必要もあります。

    最新の高速ディスクまたはソリッドステートデバイスを使用してプライマリキャッシュが実装されている場合、高位境界値を 95% に設定します。それ以外の場合は、80 - 85% を使用します。この例では、高位境界値を 85% に設定します。

    root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    samms      -        /samms    samfs   -     yes      high=85
    
  4. Oracle HSM が以前にアーカイブしたファイルをディスクから解放しないようにするディスクキャッシュ利用率である低位境界値を設定します。Oracle HSM ファイルシステムのエントリの最後の列に、マウントオプション low=percentage を入力します。ここで、percentage は、[0-100] の範囲の数値です。

    ディスクのストレージ容量、平均ファイルサイズ、特定の時間にアクセスされるファイル数の見積もりに基づいてこの値を設定します。パフォーマンス上の理由により、ファイルが頻繁に要求および変更される場合は特に、最近アクティブになっているファイルを可能なかぎり多くキャッシュに保持する必要があります。これによって、ステージング関連のオーバーヘッドが最小限に抑えられます。ただし、アーカイブコピーからディスクにステージングする必要がある新しいファイルと新たにアクセスされるファイルのために必要な領域を、以前にキャッシュに入れたファイルが使用するのは望ましくありません。

    最新の高速ディスクまたはソリッドステートデバイスを使用してプライマリキャッシュが実装されている場合、低位境界値を 90% に設定します。それ以外の場合は、70 - 75% を使用します。この例では、ローカルの要件に基づいて高位境界値を 75% に設定します。

    root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    samms      -        /samms    samfs   -     yes      high=85,low=75
    
  5. 以前にアーカイブされたファイルがディスクから解放されるときに、ユーザーが一部のファイルデータをディスクキャッシュに保持する必要がある場合、Oracle HSM ファイルシステムエントリの最後の列に部分的解放のマウントオプションを入力します。

    部分的解放により、Oracle HSM は、ディスク領域を回復するためにアーカイブ済みファイルを解放する際に、指定されたファイルの最初の部分をディスクキャッシュに残します。この方法によって、アプリケーションはファイルの先頭にあるデータに即時にアクセスでき、残りのデータはテープなどのアーカイブメディアからステージングされます。次のマウントオプションは部分的解放を管理します。

    • maxpartial=value は、ファイルが部分的に解放されるときにディスクキャッシュに残すことができるファイルデータの最大量を value に設定します。ここで、value は、0-2097152 の範囲内の K バイト数です (0 は部分開放を無効にします)。デフォルトは 16 です。

    • partial=value は、ファイルが部分的に解放されたあとでディスクキャッシュに残るファイルデータのデフォルトの量を value に設定します。ここで、value は、[0-maxpartial] の範囲内の K バイト数です。デフォルトは 16 です。ただし、ファイルの保持される部分では常に、少なくとも 1 つのディスク割り当て単位 (DAU) と等しい K バイトが使用されます。

    • partial_stage=value は、部分的に解放されたファイル全体がステージングされる前に読み取られる必要があるファイルデータの最小量を value に設定します。ここで、value は、[0-maxpartial] の範囲内の K バイト数です。デフォルトは、設定する場合は -o partial で指定される値で、それ以外の場合は 16 です。

    • stage_n_window=value は、自動ステージングなしでテープメディアから直接読み取られるファイルから一度に読み取ることができるデータの最大量を設定します。指定される value は、[64-2048000] の範囲内の K バイト数です。デフォルトは 256 です。

      テープメディアから直接読み取られるファイルの詳細は、stage のマニュアルページの -n の下にある「OPTIONS」セクションを参照してください。

    この例では、アプリケーションの特性に基づいて maxpartial128partial64 に設定し、それ以外はデフォルト値を受け入れます。

    root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    samms      -        /samms    samfs   -     yes      ... maxpartial=128,partial=64
    
  6. QFS ファイルシステムをアーカイブから除外する必要がある場合、nosam マウントオプションをそれぞれの /etc/vfstab エントリに追加します。

    この例では、ディスクアーカイブである DISKVOL1 ファイルシステムの nosam オプションが設定されています。ここで、nosam マウントオプションにより、アーカイブコピー自体がアーカイブされないようにします。

    #File
    #Device           Device   Mount               System  fsck  Mount    Mount
    #to Mount         to fsck  Point               Type    Pass  at Boot  Options
    #--------         -------  ------------------  ------  ----  -------  ---------
    /devices          -        /devices            devfs   -     no       -
    ...
    samms             -        /samms              samfs   -     yes      ... ,partial=64
    DISKVOL1          -        /diskvols/DISKVOL1  samfs   -     yes      nosam
    server:/DISKVOL2  -        /diskvols/DISKVOL2  nfs     -     yes    
    ...  
    server:/DISKVOL15 -        /diskvols/DISKVOL15 nfs     -     yes
    
  7. /etc/vfstab ファイルを保存して、エディタを閉じます。

    ...
    server:/DISKVOL15 -        /diskvols/DISKVOL15 nfs     -     yes
    :wq
    root@solaris:~# 
    
  8. Oracle HSM アーカイブファイルシステムをマウントします

    root@solaris:~# mount /samms
    
  9. 次に、アーカイブプロセスを構成します

アーカイブプロセスの構成

アーカイブファイルシステムを作成してマウントしたら、通常はアーカイブ要件のすべてまたはほとんどに対応でき、追加の構成はほとんどありません。ほとんどの場合、ファイルシステムを識別し、それぞれのアーカイブコピーの数を指定して、各コピーにメディアボリュームを割り当てるテキストファイル archiver.cmd を作成する以外の作業は必要ありません。

Oracle HSM アーカイブ処理には多数のチューンアップパラメータがありますが、明確な特殊要件がない場合、通常はデフォルト設定を受け入れるべきです。デフォルトは、可能なかぎり広範な状況でメディアマウントの数を最小限に抑えて、メディアの利用率を最大化し、エンドツーエンドのアーカイブパフォーマンスを最適化するために慎重に選択されています。そのため、調整を行う必要がある場合は、アーカイバが作業のスケジューリングとメディアの選択を行うための自由を不必要に制限する変更については特に気をつけてください。ストレージ操作の細かい管理を試みるときには、場合によってはパフォーマンスと全体的な効率が大幅に低下することがあります。

ただし、ほとんどすべての状況でアーカイブのロギングを有効にするべきです。ログファイルは適切に管理しないと過剰なサイズに達する可能性があるため、アーカイブロギングはデフォルトでは有効になっていません (管理については、『Oracle Hierarchical Storage Manager and StorageTek QFS Software 保守および管理ガイド』で説明します)。ただし、ファイルシステムが破損したり失われたりした場合、アーカイブログファイルを使用すると、通常であれば簡単には復元できないファイルを回復できます。ファイルシステムの保護を構成する場合は、回復ポイントファイル内のファイルシステムメタデータを使用すると、アーカイブコピーに格納されているデータからファイルシステムをすばやく再構築できます。ただし、ファイルシステムが破損したり失われたりする、かつ最後の回復ポイントが生成されたあとで、必然的にいくつかのファイルがアーカイブされます。この状況では、アーカイブメディアは有効なコピーを保持しますが、ファイルシステムのメタデータがない場合、コピーを自動的に見つけることができません。ファイルシステムのアーカイブログには、各アーカイブコピーと各ボリューム内での対応する tar ファイルの位置を保持するメディアのボリュームシリアル番号が記録されるため、tar ユーティリティーを使用すると、これらのファイルを回復し、ファイルシステムを完全に復元できます。

archiver.cmd ファイルを作成して、アーカイブ処理を構成するには、次のように進めます。

  1. ホストに root としてログインします。

    root@solaris:~# 
    
  2. テキストエディタで新しい /etc/opt/SUNWsamfs/archiver.cmd ファイルを開きます。

    archiver.cmd 内の各行は、空白文字で区切られた 1 つ以上のフィールドで構成されます (先頭の空白文字は無視されます)。

    この例では、vi エディタを使用してファイルを開き、コメントを入力します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd
    # Configuration file for archiving file systems
    
  3. archiver.cmd ファイルの最初の部分に、必要な汎用アーカイブディレクティブを入力します。

    汎用ディレクティブは、2 番目のフィールドに等号 (=) 文字を含むか、またはそのほかのフィールドを持ちません。ほとんどの場合、汎用ディレクティブを設定せず、デフォルト値を使用できます (詳細は、archiver.cmd マニュアルページの「GENERAL DIRECTIVES SECTION」を参照してください)。

    このセクションは空のままにできますが、この例では、2 つの汎用ディレクティブの形式を説明するために、そのデフォルト値を入力しました。

    • archivemeta = off ディレクティブは、メタデータをアーカイブしないようにアーカイブ処理に指示します。

    • examine = noscan ディレクティブは、ファイルが変更されたことがファイルシステムによって報告されるたびに、アーカイブ処理を必要とするファイルがないかどうかを検査するようアーカイブ処理に指示します (デフォルト)。

      旧バージョンの Oracle HSM では、ファイルシステム全体が定期的にスキャンされていました。通常、旧バージョンの Oracle HSM 構成との互換性のために必要な場合を除き、このディレクティブを変更するべきではありません。

    # Configuration file for archiving file systems
    #-----------------------------------------------------------------------
    # General Directives
    archivemeta = off                                              # default
    examine = noscan                                               # default
    
  4. 必要な汎用アーカイブディレクティブをすべて入力したら、アーカイブセットへのファイルの割り当てを開始します。新しい行に、割り当てディレクティブ fs = filesystem-name を入力します。ここで、filesystem-name は、/etc/opt/SUNWsamfs/mcf ファイルで定義したファイルシステムのファミリセット名です。

    割り当てディレクティブは、指定されたファイルシステム内のファイルセットをアーカイブメディア上のコピーセットにマップします。ファイルセットは、すべてのファイルシステム全体と同じ大きさにすることも、少数のファイルと同じくらい小さくすることもできます。ただし、最高のパフォーマンスと効率を確保するには、必要以上に大きい値を指定しないでください。過剰なメディアマウント、不必要なメディアの再配置、およびメディアの全体的な利用率低下の原因となる可能性があるため、必要以上のアーカイブセットを作成しないでください。ほとんどの場合、ファイルシステムごとに 1 つのアーカイブセットを割り当てます。

    この例では、アーカイブファイルシステム samms のアーカイブセット割り当てディレクティブを開始します。

    # Configuration file for archiving file systems
    #-----------------------------------------------------------------------
    # General Directives
    archivemeta = off                                              # default
    examine = noscan                                               # default
    #-----------------------------------------------------------------------
    # Archive Set Assignments 
    fs = samms                                       # Archiving File System
    
  5. 次の行で、アーカイブロギングを有効にします。logfile = path/filename ディレクティブを入力します。ここで path/filename は、場所とファイル名を指定します。

    前述のとおり、アーカイブログデータは、ファイルシステムの損失後の完全な回復のために不可欠です。そのため、/var/adm/ など、Oracle HSM 以外のディレクトリにアーカイバログを書き込み、コピーを定期的に保存するように Oracle HSM を構成します。すべてのファイルシステムに関するアーカイバアクティビティーを一緒に記録するグローバル archiver.log を作成できますが、ファイルシステムごとにログを構成すると、ファイル回復中のログの検索が容易になります。そのため、この例では、ファイルシステム割り当てディレクティブを使用して、ここで /var/adm/samms.archiver.log を指定します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd
    ...
    #-----------------------------------------------------------------------
    # Archive Set Assignments 
    fs = samms                                       # Archiving File System
    logfile = /var/adm/samms.archiver.log
    
  6. 次の行で、このファイルシステムからアーカイブセットにファイルを割り当てます。作成する必要があるアーカイブセットごとに、ディレクティブ archiveset-name starting-directory expression を入力します。ここでは:

    • archiveset-name は、新しいアーカイブセットに選択する名前です。

    • starting-directory は、Oracle HSM がファイルの検索を開始するディレクトリのパス (ファイルシステムのマウントポイントに対して相対的) です。

    • expression は、Solaris find コマンドによって定義されるブール型の式の 1 つです。

    ほとんどの場合、アーカイブセット定義は可能なかぎり包括的で単純なままにするべきです。ただし、状況によって必要な場合、ユーザーまたはグループのファイル所有権、ファイルサイズ、ファイルの日付/時間のスタンプ、ファイル名など、(正規表現を使用して) より制約的な修飾子を追加で指定することで、アーカイブセットのメンバーシップを制限できます。詳細は、archiver.cmd のマニュアルページを参照してください。

    この例では、samms ファイルシステムで検出されたすべてのファイルを、allsamms という名前の単一のアーカイブセットに入れます。マウントポイントディレクトリ自体 (/samms) で検索を開始するには、ドット (.) を使用してパスを指定します。

    ...
    #-----------------------------------------------------------------------
    # Archive Set Assignments 
    fs = samms                                       # Archiving File System
    logfile = /var/adm/samms.archiver.log
    allsamms .
    
  7. 次に、samms ファイルシステムの allsamms アーカイブセットのコピーディレクティブを追加します。コピーごとに、1 つ以上の空白文字がある行を開始して、ディレクティブ copy-number -release -norelease archive-age unarchive-age を入力します。ここでは:

    • copy-number は整数です。

    • -release および -norelease は、コピーの作成後にディスクキャッシュ領域の管理方法を制御するオプションのパラメータです。-release を単独で使用すると、ディスク領域は、対応するコピーが作成されるとすぐに自動的に解放されます。-norelease を単独で使用すると、-norelease が設定されたすべてのコピーが作成され、さらにリリーサの処理が実行されるまで、ディスク領域は解放されません。-release および -norelease を一緒に使用すると、-norelease が設定されたすべてのコピーが作成されるとすぐに、ディスクキャッシュ領域が自動的に解放されます。

    • archive-age は、ファイルがアーカイブされる前に経過していることが必要な、最後に変更された時間からの時間です。時間は、整数と、識別子 s (秒)、m (分)、h (時)、d (日)、w (週)、および y (年) の任意の組み合わせで表します。デフォルトは 4m です。

    • unarchive-age は、ファイルがアーカイブ解除されるまでに必要な、最後に変更された時間からの経過時間です。デフォルトでは、コピーはアーカイブ解除されません。

    完全な冗長性を確保するには、常にアーカイブセットごとに少なくとも 2 つのコピーを指定します (最大は 4)。この例では、コピーが 15 分のアーカイブ経過時間に達するまでそれぞれ -norelease を使用して 3 つのコピーを指定します。コピー 1 がディスクアーカイブボリュームを使用して作成されるのに対して、コピー 2 および 3 はテープメディアに対して作成されます。

    ...
    #-----------------------------------------------------------------------
    # Archive Set Assignments 
    fs = samms                                       # Archiving File System
    logfile = /var/adm/samms.archiver.log
    allsamms .
        1 -norelease 15m
        2 -norelease 15m
        3 -norelease 15m
    
  8. 残りのファイルシステムのアーカイブセットを定義します。

    この例では、QFS ファイルシステム DISKVOL1 をコピープロセスのためのアーカイブメディアとして構成しました。そのため、fs = DISKVOL1 のエントリを開始します。ただし、アーカイブコピーのアーカイブコピーを作成する必要はありません。そのため、ログファイルは指定せず、このファイルシステム内のファイルのアーカイブが行われないようにする no_archive という特殊なアーカイブセットを使用します。

    ...
    #-----------------------------------------------------------------------
    # Archive Set Assignments 
    fs = samms                                       # Archiving File System
    logfile = /var/adm/samms.archiver.log
    allsamms .
        1 -norelease 15m
        2 -norelease 15m
        3 -norelease 15m
    fs = DISKVOL1                          # QFS File System (Archival Media)
    no_archive .
    
  9. 次に、コピーの作成方法を管理するディレクティブを入力します。新しい行で、キーワード params を入力して、コピーパラメータセクションを開始します。

    ...
    fs = DISKVOL1                          # QFS File System (Archival Media)
    no_archive .
    #-----------------------------------------------------------------------
    # Copy Parameter Directives
    params 
    
  10. すべてのアーカイブセットのすべてのコピーに適用される共通のコピーパラメータを設定する必要がある場合、allsets -param value ... 形式の行を入力します。ここで、allsets は、すべての構成済みのアーカイブセットを表す特殊なアーカイブセットで、-param value ... は、スペースで区切られた 1 つ以上のパラメータ/値のペアを表します。

    パラメータとその値の詳細は、archiver.cmd マニュアルページの「ARCHIVE SET COPY PARAMETERS SECTION」セクションを参照してください。

    例のディレクティブはほとんどのファイルシステムに最適です。特殊な allsets アーカイブセットは、最適なパフォーマンスと簡単な管理のために、すべてのアーカイブセットが均一に処理されるようにします。-sort path パラメータは、同じディレクトリ内のファイルがアーカイブメディア上にともに残るように、すべてのアーカイブセットのすべてのコピーのテープアーカイブ (tar) ファイルがパスでソートされるようにします。-offline_copy stageahead パラメータは、オフラインファイルのアーカイブ時にパフォーマンスを向上させることができます。

    ...
    #-----------------------------------------------------------------------
    # Copy Parameter Directives
    params
    allsets -sort path -offline_copy stageahead
    
  11. すべてのアーカイブセット内の特定のコピーのコピーパラメータを設定する必要がある場合、allfiles.copy-number -param value ... 形式の行を入力します。ここで、allsets は、すべての構成済みアーカイブセットを表す特殊なアーカイブセット、copy-number は、ディレクティブが適用されるコピーの番号で、-param value ... は、空白文字で区切られた 1 つ以上のパラメータ/値のペアを表します。

    パラメータとその値の詳細は、archiver.cmd マニュアルページの「ARCHIVE SET COPY PARAMETERS SECTION」を参照してください。

    この例では、ディレクティブ allfiles.1 -startage 10m -startsize 500M -drives 10 -archmax 1G は、ディスクボリュームのコピー 1 を最適化します。アーカイブ処理のために最初に選択されたファイルが 10 分間待機するか、待機しているすべてのファイルの合計サイズが 500M バイト以上になると、アーカイブ処理が開始されます。最大 10 台のドライブを使用してコピーを作成でき、コピー内の各 tar ファイルは最大 1G バイトです。

    残りのディレクティブ allfiles.2 -startage 24h -startsize 20G -drives 2 -archmax 24G -reserve set および allfiles.3 -startage 48h -startsize 20G -drives 2 -archmax 24G -reserve set は、テープメディアのコピー 2 および 3 を最適化します。アーカイブ処理のために最初に選択されたファイルがそれぞれ 24 時間または 48 時間待機するか、待機しているすべてのファイルの合計サイズが 20G バイト以上になると、アーカイブ処理が開始されます。最大 2 台のドライブを使用して、これらのコピーを作成でき (この数値は、インフラストラクチャーに合うように調整します)、コピー内の各 tar ファイルは最大 24G バイトです。-reserve set は、各アーカイブセットのコピー 2 および 3 が、同じアーカイブセットのコピーのみを含むテープメディアを使用して作成されるようにします。

    ...
    #-----------------------------------------------------------------------
    # Copy Parameter Directives
    params
    allsets -sort path -offline_copy stageahead
    allfiles.1 -startage 10m -startsize 500M -drives 10 -archmax 1G
    allfiles.2 -startage 24h -startsize 20G -drives 2 -archmax 24G -reserve set
    allfiles.3 -startage 48h -startsize 20G -drives 2 -archmax 24G -reserve set
    

    このセクションの例では、アーカイブ処理にディスクボリュームが使用されることを想定しています。テープボリュームのみを使用する場合は、2 つのコピーを指定して、より頻繁にテープにアーカイブします。指定されたドライブ数をインフラストラクチャーに合うように調整すれば、次の構成はほとんどのシステムにとって最適です。

    allsets -sort path -offline_copy stageahead -reserve set
    allfiles.1 -startage 8h -startsize 8G -drives 2 -archmax 10G
    allfiles.2 -startage 24h -startsize 20G -drives 2 -archmax 24G
    
  12. 特定のアーカイブセットとコピーにディレクティブを設定する必要がある場合、archive-set-name.copy-number -param value ... 形式の行を入力します。ここで、archive-set-name は、アーカイブセットに使用される名前、copy-number は、ディレクティブが適用されるコピーの番号で、-param value ... は、スペースで区切られた 1 つ以上のパラメータ/値のペアを表します。

    パラメータとその値の詳細は、archiver.cmd マニュアルページの「ARCHIVE SET COPY PARAMETERS SECTION」を参照してください。

    次の例では、2 つのアーカイブセット hq および branchescorpfs ファイルシステムに対して定義されています。hq.1 および hq.2 のコピーディレクティブは、アーカイブセット hq にのみ適用されます。アーカイブセット branches は影響を受けません。

    #-----------------------------------------------------------------------
    # Archive Set Assignments 
    fs = corpfs
    logfile = /var/adm/corporatefs.archive.log
    hq /corpfs/hq/
        1 -norelease 15m
        2 -norelease 15m
    branches /corpfs/branches/
        1 -norelease 15m
        2 -norelease 15m
    #-----------------------------------------------------------------------
    # Copy Parameter Directives
    params
    hq.1 -drives 4 
    hq.2 -drives 2 
    
  13. 必要なすべてのコピーパラメータを設定したら、新しい行に endparams キーワードを入力して、コピーパラメータリストを閉じます。

    root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd
    ...
    #-----------------------------------------------------------------------
    # Copy Parameter Directives
    params
    allsets -sort path -offline_copy stageahead
    allfiles.1 -startage 10m -startsize 500M -drives 10 -archmax 1G
    allfiles.2 -startage 24h -startsize 20G -drives 2 -archmax 24G -reserve set
    allfiles.3 -startage 48h -startsize 20G -drives 2 -archmax 24G -reserve set
    endparams
    
  14. オプションで、vsnpools キーワード、pool-name media-type volumes 形式の 1 つ以上のディレクティブを入力して、メディアプールを定義できます。ここで、pool-name は、プールに割り当てた名前、media-type は、付録A 装置タイプの用語集で定義されているメディアタイプコードの 1 つ、volumes は、1 つ以上のボリュームシリアル番号 (VSN) と一致する正規表現です。endvsnpools キーワードを使用してディレクティブのリストを閉じます。

    メディアプールはオプションであり、通常はアーカイブ処理に使用可能なメディアを制限する必要はありません。そのため、これらの例ではメディアプールを定義しません。詳細は、archiver.cmd のマニュアルページの「VSN POOL DEFINITIONS SECTION」を参照してください。

  15. 次に、アーカイブセットコピーで使用するべきアーカイブメディアの特定を開始します。新しい行に、キーワード vsns を入力します。

    ...
    #-----------------------------------------------------------------------
    # Copy Parameter Directives
    params
    allsets -sort path -offline_copy stageahead
    allfiles.1 -startage 10m -startsize 500M -drives 10 -archmax 1G
    allfiles.2 -startage 24h -startsize 20G -drives 2 -archmax 24G -reserve set
    allfiles.3 -startage 48h -startsize 20G -drives 2 -archmax 24G -reserve set
    endparams
    #-----------------------------------------------------------------------
    # VSN Directives
    vsns
    
  16. archive-set-name.copy-number media-type volumes 形式の行を入力して、アーカイブセットコピーごとにメディアを指定します。ここで、archive-set-name.copy-number は、ディレクティブが適用されるアーカイブセットとコピーを指定し、media-type は、付録A 装置タイプの用語集で定義されているメディアタイプコードの 1 つで、volumes は、1 つ以上のボリュームシリアル番号 (VSN) と一致する正規表現です。

    完全な冗長性を確保するには、両方のアーカイブセットコピーが同じ物理ボリューム上に存在することがないように、それぞれのコピーは常にメディアの異なる範囲に割り当ててください。可能な場合は、常に少なくとも 1 つのコピーをテープなどのリムーバブルメディアに割り当ててください。

    この例では、すべてのアーカイブセットの最初のコピーを、DISKVOL1 - DISKVOL15 の範囲内のボリュームシリアル番号が指定されたアーカイブディスクメディア (タイプ dk) に送信します。すべてのアーカイブセットの 2 番目のコピーを、VOL000 - VOL199 の範囲内のボリュームシリアル番号が指定されたテープメディア (タイプ tp) に、3 番目のコピーを、VOL200 - VOL399 の範囲内のボリュームシリアル番号が指定されたテープメディア (タイプ tp) に送信します。

    ...
    #-----------------------------------------------------------------------
    # Copy Parameter Directives
    params
    allsets -sort path -offline_copy stageahead
    allfiles.1 -startage 10m -startsize 500M -drives 10 -archmax 1G
    allfiles.2 -startage 24h -startsize 20G -drives 2 -archmax 24G -reserve set
    allfiles.3 -startage 48h -startsize 20G -drives 2 -archmax 24G -reserve set
    endparams
    #-----------------------------------------------------------------------
    # VSN Directives
    vsns
    allfiles.1 dk DISKVOL[1-15] 
    allfiles.2 tp VOL[0-1][0-9][0-9]
    allfiles.2 tp VOL[2-3][0-9][0-9]
    
  17. すべてのアーカイブセットコピーにメディアを指定したら、新しい行に endvsns キーワードを入力して、vsns ディレクティブのリストを閉じます。ファイルを保存して、エディタを閉じます。

    ...
    #-----------------------------------------------------------------------
    # Copy Parameter Directives
    params
    allsets -sort path -offline_copy stageahead
    allfiles.1 -startage 10m -startsize 500M -drives 10 -archmax 1G
    allfiles.2 -startage 24h -startsize 20G -drives 2 -archmax 24G -reserve set
    allfiles.3 -startage 48h -startsize 20G -drives 2 -archmax 24G -reserve set
    endparams
    #-----------------------------------------------------------------------
    # VSN Directives
    vsns
    allfiles.1 dk DISKVOL[1-15] 
    allfiles.2 tp VOL[0-1][0-9][0-9]
    allfiles.2 tp VOL[2-3][0-9][0-9]
    endvsns
    :wq
    root@solaris:~# 
    
  18. archiver.cmd ファイルでエラーを調べます。コマンド archiver -lv を使用します。

    archiver -lv コマンドは、archiver.cmd ファイルを画面に出力し、エラーが見つからない場合は構成レポートを生成します。それ以外の場合、エラーを記録して停止します。この例では、エラーがあります。

    root@solaris:~# archiver -lv
    Reading '/etc/opt/SUNWsamfs/archiver.cmd'.
    ...
    13: #   File System Directives
    14: #
    15: fs = samms
    16: logfile = /var/adm/samms.archiver.log
    17: all .
    18:     1 -norelease 15m
    19:     2 -norelease 15m
    20: fs=DISKVOL1                           # QFS File System (Archival Media)
    21: 
    ...
    42: endvsns
    DISKVOL1.1 has no volumes defined
    1 archive set has no volumes defined
    root@solaris:~# 
    
  19. archiver.cmd ファイル内にエラーが見つかった場合、修正して、ファイルを再度チェックします。

    上の例では、ディスクアーカイブとして構成した QFS ファイルシステムであるファイルシステムディレクティブ DISKVOL1 に対して no_archive ディレクティブを入力することを忘れていました。欠落を修正すると、archiver -lv はエラーなしで実行されます。

    root@solaris:~# archiver -lv
    Reading '/etc/opt/SUNWsamfs/archiver.cmd'.
    ...
    20: fs=DISKVOL1                           # QFS File System (Archival Media)
    21: no_archive .
    ...
    42: endvsns
    Notify file: /etc/opt/SUNWsamfs/scripts/archiver.sh
    ...
    allfiles.1
        startage: 10m startsize: 500M drives 10: archmax: 1G
     Volumes:  
      DISKVOL1 (/diskvols/DISKVOL15)
      ...
      DISKVOL15 (/diskvols/DISKVOL3)
     Total space available:   150T
    allfiles.2
        startage: 24h startsize: 20G drives: 2 archmax: 24G reserve: set
     Volumes:
       VOL000
    ...
       VOL199
     Total space available:  300T
    allfiles.3
        startage: 48h startsize: 20G drives: 2 archmax: 24G reserve: set
     Volumes:
       VOL200
    ...
       VOL399
     Total space available:  300T
    root@solaris:~# 
    
  20. archiver.cmd ファイルを再度読み取り、それに従って Oracle HSM ソフトウェア自体を再構成するようにこのソフトウェアに指示します。samd config コマンドを使用します。

    root@solaris:~# /opt/SUNWsamfs/sbin/samd config
    Configuring SAM-FS
    root@solaris:~# 
    
  21. テキストエディタで /etc/opt/SUNWsamfs/releaser.cmd ファイルを開き、行 list_size = 300000 を追加して、ファイルを保存してエディタを閉じます。

    list_size ディレクティブは、ファイルシステムから一度に解放できるファイルの数を、[10-2147483648] の範囲内の整数に設定します。.inodes ファイルに 100 万の i ノードに対する領域が十分にある (i ノードごとに 512 バイトを確保できる) 場合、デフォルト値は 100000 です。それ以外の場合、デフォルトは 30000 です。この数値を 300000 に増やすと、小さいファイルが多数含まれる標準的なファイルシステムにより適合するようになります。

    この例では、vi エディタを使用します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/releaser.cmd
    #       releaser.cmd
    logfile = /var/opt/SUNWsamfs/releaser.log
    list_size = 300000
    :wq
    root@solaris:~# 
    
  22. テキストエディタで /etc/opt/SUNWsamfs/stager.cmd ファイルを開き、行 maxactive = stage-requests を追加します。ここで、stage-requests は、8G バイト以上の RAM が搭載されたホストでは 500000、8G バイト未満の RAM が搭載されたホストでは 100000 です。ファイルを保存して、エディタを閉じます。

    maxactive ディレクティブは、一度にアクティブであることが可能なステージング要求の最大数を、[1-500000] の範囲内の整数に設定します。デフォルトでは、ホストメモリー 1G バイトあたり 5000 のステージング要求が許可されます。

    この例では、vi エディタを使用します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/stager.cmd
    #       stager.cmd
    logfile = /var/opt/SUNWsamfs/stager.log
    maxactive = 300000
    :wq
    root@solaris:~# 
    
  23. リサイクルはデフォルトでは有効になっていません。そのため、リムーバブルメディアボリュームのリサイクルが必要な場合、リサイクルプロセスの構成に進みます。

  24. Oracle HSM アーカイブファイルシステムの mcf ファイルのアーカイブ装置セクションに、ネットワーク接続テープライブラリが含まれている場合、ネットワーク接続テープライブラリに格納されているアーカイブメディアのカタログ作成に進みます。

  25. アーカイブテープボリュームの整合性を検証できる必要がある場合、アーカイブメディア検証の構成に進みます。

  26. それ以外の場合は、ファイルシステムの保護の構成を実行します。

リサイクルプロセスの構成

リムーバブルメディアボリュームに含まれている有効なアーカイブセットの数が、ユーザー指定の数より少ない場合、リサイクラはほかのボリュームに関する有効なデータを統合して、元のボリュームを長期間のストレージのためにエクスポートしたり、再使用のために再ラベル付けできるようにします。リサイクルは、次の 2 つの方法のいずれかで構成できます。

  • アーカイブセット単位でのリサイクルの構成

    アーカイブセット単位でメディアをリサイクルする場合は、リサイクルディレクティブを archiver.cmd ファイルに追加します。各アーカイブセットコピー内のメディアをリサイクルする方法を正確に指定できます。アーカイブセットのメンバーのみが考慮されるため、リサイクル基準はより厳密に適用されます。

    可能な場合は、ライブラリ単位ではなくアーカイブセット単位でメディアをリサイクルしてください。Oracle HSM アーカイブファイルシステムでは、リサイクルは論理的に、ライブラリ管理ではなくファイルシステム操作の一部です。リサイクルによって、アーカイブ処理、解放処理、およびステージングが補完されます。そのため、これをアーカイブ処理の一部として構成することは理にかなっています。構成にディスクアーカイブボリュームや SAM-Remote が含まれている場合は、アーカイブセット単位でリサイクルを構成する必要があります。

  • ライブラリ単位でのリサイクルの構成

    ライブラリ単位でメディアをリサイクルする場合は、リサイクルディレクティブを recycler.cmd ファイルに追加します。そのため、指定したライブラリに含まれているすべてのメディアに共通のリサイクルパラメータを設定できます。リサイクルディレクティブは、ライブラリ内のすべてのボリュームに適用されるため、アーカイブセットに固有のディレクティブよりも本質的に粒度が低くなります。指定したボリュームシリアル番号 (VSN) を検査から明示的に除外できます。ただし、それ以外の場合、リサイクル処理では単に、現在有効なアーカイブファイルと見なされないものを含むボリュームが検索されます。

    その結果、ライブラリ単位でリサイクルすると、リサイクルされるファイルシステムの一部ではないファイルが破壊されることがあります。リサイクルディレクティブで明示的に除外しない場合、アーカイブログやライブラリカタログのバックアップコピーなどの役に立つデータや、ほかのファイルシステムのアーカイブメディアが危険にさらされることがあります。このため、SAM-Remote を使用している場合は、ライブラリ単位ではリサイクルできません。SAM-Remote サーバーによって制御されるライブラリ内のボリュームには、サーバーではなくクライアントによって所有される外部アーカイブファイルが含まれています。

アーカイブセット単位でのリサイクルの構成

  1. Oracle HSM ファイルシステムホストに root としてログインします。

    root@solaris:~# 
    
  2. /etc/opt/SUNWsamfs/archiver.cmd ファイルをテキストエディタで開き、コピーの params セクションまでスクロールダウンします。

    次の例では、vi エディタを使用します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd
    ...
    #-----------------------------------------------------------------------
    # Copy Parameter Directives
    params
    allsets -sort path -offline_copy stageahead
    allfiles.1 -startage 6h  -startsize 6G  -startcount 500000
    allfiles.2 -startage 24h -startsize 20G -startcount 500000 -drives 5
    
  3. archiver.cmd ファイルの params セクションに、アーカイブセットごとにリサイクラディレクティブを archive-set directive-list 形式で入力します。ここで、archive-set は、アーカイブセットの 1 つで、directive-list は、ディレクティブの名前/値のペアのスペースで区切られたリストです (リサイクルディレクティブのリストについては、archiver.cmd のマニュアルページを参照してください)。その後、ファイルを保存してエディタを閉じます。

    この例では、アーカイブセット allfiles.1 および allfiles.2 のリサイクルディレクティブを追加します。-recycle_mingain 30 および -recycle_mingain 90 ディレクティブでは、ボリュームの容量の少なくともそれぞれ 30% と 90% を回復できる場合を除き、ボリュームはリサイクルされません。-recycle_hwm 60 ディレクティブは、リムーバブルメディア容量の 60% が使用されるとリサイクルを開始します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd
    ...
    #-----------------------------------------------------------------------
    # Copy Parameters Directives
    params
    allsets -sort path -offline_copy stageahead
    allfiles.1 -startage 6h  -startsize 6G -startcount 500000
    allfiles.1 -recycle_mingain 30 -recycle_hwm 60
    allfiles.2 -startage 6h -startsize 6G -startcount 500000 
    allfiles.2 -recycle_mingain 90 -recycle_hwm 60
    endparams
    #-----------------------------------------------------------------------
    # VSN Directives
    vsns
    allfiles.1 dk DISKVOL1
    allfiles.2 tp VOL0[0-1][0-9] 
    endvsns
    :wq
    [root@solaris:~# 
    
  4. archiver.cmd ファイルでエラーを調べます。コマンド archiver -lv を使用します。

    コマンド archiver -lvarchiver.cmd を読み取って、エラーが見つからない場合は構成レポートを生成します。それ以外の場合、エラーを記録して停止します。この例では、ファイルにはエラーは含まれていません。

    root@solaris:~# archiver -lv
    Reading '/etc/opt/SUNWsamfs/archiver.cmd'.
    ...
       VOL399
     Total space available:  300T
    root@solaris:~# 
    
  5. archiver.cmd ファイル内にエラーが見つかった場合、修正して、ファイルを再度チェックします。

  6. テキストエディタで recycler.cmd ファイルを作成します。リサイクラログのパスとファイル名を指定します。その後、ファイルを保存してエディタを閉じます。

    /var/adm/ など、Oracle HSM 以外のディレクトリにログを書き込むよう Oracle HSM を構成します。この例では、vi エディタを使用し、/var/adm/recycler.log を指定します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/recycler.cmd
    logfile = /var/adm/recycler.log
    :wq
    root@solaris:~# 
    
  7. テキストエディタで /etc/opt/SUNWsamfs/scripts/recycler.sh スクリプトを開き、リサイクルしたリムーバブルメディアボリュームを処理するためのシェルコマンドを入力します。

    有効なアーカイブコピーが排出されたリムーバブルメディアボリュームがリサイクル処理で識別されると、リサイクルされたメディアを処理するために設計された C シェルスクリプトである recycler.sh ファイルが呼び出されます。

    ボリュームのリサイクルの準備ができたことを管理者に通知するタスク、再利用のためにボリュームを再ラベル付けするタスク、または長期間の履歴保存のためにライブラリからボリュームをエクスポートするタスクなど、必要なタスクを実行するようにファイルを編集します。

    デフォルトでは、スクリプトは、スクリプトを設定するよう root ユーザーに通知します。

  8. Oracle HSM アーカイブファイルシステムの mcf ファイルのアーカイブ装置セクションに、ネットワーク接続テープライブラリが含まれている場合、ネットワーク接続テープライブラリに格納されているアーカイブメディアのカタログ作成に進みます。

  9. それ以外の場合は、ファイルシステムの保護の構成に進みます。

ライブラリ単位でのリサイクルの構成

  1. Oracle HSM ファイルシステムホストに root としてログインします。

    root@solaris:~# 
    
  2. テキストエディタで /etc/opt/SUNWsamfs/recycler.cmd ファイルを作成します。

    次の例では、vi エディタを使用します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/recycler.cmd
    # Configuration file for archiving file systems
    #-----------------------------------------------------------------------
    
  3. logfile ディレクティブを使用して、リサイクラログのパスとファイル名を指定します。

    /var/adm/ など、Oracle HSM 以外のディレクトリにログを書き込むよう Oracle HSM を構成します。この例では、/var/adm/recycler.log を指定します。

    root@solaris:~# vi /etc/opt/SUNWsamfs/recycler.cmd
    # Configuration file for archiving file systems
    #-----------------------------------------------------------------------
    logfile = /var/adm/recycler.log
    
  4. リサイクルするべきではないボリュームがアーカイブメディアライブラリ内に存在する場合、ディレクティブ no_recycle media-type volumes を入力します。ここで、media-type は、付録A 装置タイプの用語集で定義されているメディアタイプコードの 1 つで、volumes は、1 つ以上のボリュームシリアル番号 (VSN) と一致する正規表現です。

    この例では、[VOL020-VOL999] の範囲内のボリュームのリサイクルを無効にします。

    root@solaris:~# vi /etc/opt/SUNWsamfs/recycler.cmd
    # Configuration file for archiving file systems
    #-----------------------------------------------------------------------
    logfile = /var/adm/recycler.log
    no_recycle tp VOL[0-9][2-9][0-9]
    
  5. 新しい行に、ディレクティブ library parameters を入力します。ここで、library は、/etc/opt/SUNWsamfs/mcf ファイルがリムーバブルメディアライブラリに割り当てるファミリセット名で、parameters は、次のリストから取得されたパラメータ/値のペアの空白文字区切りリストです。

    • -dataquantity size は、再アーカイブのために一度にスケジュールできるデータの最大量を size に設定します。ここで、size はバイト数です。デフォルトは 1G バイトです。

    • -hwm percent は、使用した場合にリサイクルをトリガーするメディアの合計容量の割合である、ライブラリの高位境界値を設定します。高位境界値は、[0-100] の範囲内の数値の percent として表されます。デフォルトは 95 です。

    • recycler.cmd ファイルを非破壊的にテストできるように、-ignore は、このライブラリがリサイクルされないようにします。

    • -mail address は、リサイクルメッセージを address に送信します。ここで、address は有効な電子メールアドレスです。デフォルトでは、メッセージは送信されません。

    • -mingain percent は、合計容量の割合として表される最小容量以上に、使用可能な空き領域を増やすことができるボリュームのリサイクルを制限します。この最小増量率は、[0-100] の範囲内の数値である percent として指定されます。デフォルトは、合計容量が 200G バイト未満のボリュームでは 60、容量が 200G バイト以上のボリュームでは 90 です。

    • -vsncount count は、一度に再アーカイブ対象としてスケジュールできるボリュームの最大数を count に設定します。デフォルトは 1 です。

    この例では、ライブラリ library1 の高位境界値を 95% に設定し、カートリッジごとに 60% の最小容量増量率を必要とします。

    root@solaris:~# vi /etc/opt/SUNWsamfs/recycler.cmd
    # Configuration file for archiving file systems
    #-----------------------------------------------------------------------
    logfile = /var/adm/recycler.log
    no_recycle tp VOL[0-9][2-9][0-9]
    library1 -hwm 95 -mingain 60
    
  6. Oracle HSM 構成の一部であるほかのライブラリについて上述の手順を繰り返します。次に、recycler.cmd ファイルを保存して、エディタを閉じます。

    root@solaris:~# vi /etc/opt/SUNWsamfs/recycler.cmd
    # Configuration file for archiving file systems
    #-----------------------------------------------------------------------
    logfile = /var/adm/recycler.log
    no_recycle tp VOL[0-9][2-9][0-9]
    library1 -hwm 95 -mingain 60
    :wq
    root@solaris:~# 
    
  7. Oracle HSM アーカイブファイルシステムの mcf ファイルのアーカイブ装置セクションに、ネットワーク接続テープライブラリが含まれている場合、ネットワーク接続テープライブラリに格納されているアーカイブメディアのカタログ作成に進みます。

  8. それ以外の場合は、ファイルシステムの保護の構成に進みます。

ネットワーク接続テープライブラリに格納されているアーカイブメディアのカタログ作成

ファイルシステムをマウントしたあと、Oracle HSM ソフトウェアが、mcf ファイルで構成されている各自動ライブラリのカタログを作成します。ただし、ネットワーク接続ライブラリがある場合は、カタログを生成するためにいくつかの追加の手順を行う必要があります。

次のように進めます。

  1. ファイルシステムホストに root としてログインします。

    root@solaris:~# 
    
  2. アーカイブファイルシステムが Oracle StorageTek ACSLS 接続テープライブラリを使用する場合、必要な Oracle HSM アーカイブメディアをライブラリのスクラッチプールから取得して、カタログを自動的に生成します。コマンド samimport -c volumes -s pool を使用します。ここで、volumes は必要なボリュームの数で、pool はライブラリに対して定義されているスクラッチメディアプールの名前です。ここで停止します。

    この例では、scratch というプールから取得された 20 のテープボリュームを要求します。

    root@solaris:~# samimport -c 20 -s scratch
    
  3. アーカイブファイルシステムが単一の非共有論理ライブラリとして構成された IBM 3494 ネットワーク接続ライブラリを使用する場合、必要なテープボリュームをライブラリメールスロット内に配置して、ライブラリで自動的にカタログ化できるようにします。ここで停止します。

    mcf ファイルの Additional Parameters フィールドに access=private が指定されている場合、IBM 3494 ライブラリは単一の論理ライブラリとして構成されます。access=shared の場合、IBM 3494 ライブラリは複数の論理ライブラリに分割されるため、次に指定されている方法を使用する必要があります。

  4. それ以外の場合、アーカイブファイルシステムが IBM 3494 の共有ネットワーク接続ライブラリまたはその他のネットワーク接続ライブラリを使用するときは、テキストエディタを使用してカタログ入力ファイルを作成します。

    この例では、vi エディタを使用して、ファイル input3494cat を作成します。

    root@solaris:~# vi input3494cat
    ~
    "~/input3494cat" [New File]
    
  5. レコードの index を入力して、レコードを開始します。最初のレコードには常に 0 (ゼロ) を入力し、次に後続のレコードごとにインデックスを増分してください。フィールドの終わりを示すスペースを入力します。

    行は、build_cat 入力ファイル内のレコードとスペース区切りフィールドを定義します。最初のフィールドの値である index は単に、Oracle HSM カタログ内のレコードを識別する 0 から始まる連続する整数です。この例では、これは最初のレコードであるため、0 を入力します。

    0 
    ~
    "~/input3494cat" [New File]
    
  6. レコードの 2 番目のフィールドには、テープボリュームのボリュームシリアル番号 (VSN) を入力するか、VSN がない場合は単一の ? (疑問符) を入力します。次に、フィールドの終わりを示すスペースを入力します。

    空白文字がある場合、空白文字が含まれている値を "VOL 01" のように二重引用符で囲みます。この例では、最初のボリュームの VSN には空白文字が含まれていません。

    0 VOL001 
    ~
    "~/input3494" [New File]
    
  7. 3 番目のフィールドには、ボリュームのバーコード (ボリュームシリアル番号と異なる場合) とボリュームシリアル番号を入力し、ボリュームシリアル番号がない場合は、文字列 NO_BAR_CODE を入力します。次に、フィールドの終わりを示すスペースを入力します。

    この例では、最初のボリュームのバーコードの値は VSN と同じです。

    0 VOL001 VOL001 
    ~
    "~/input3494cat" [New File]
    
  8. 最後に 4 番目のフィールドに、ボリュームのメディアタイプを入力します。次に、フィールドの終わりを示すスペースを入力します。

    メディアタイプは、li (LTO メディアの場合) などの 2 文字のコードです (メディア装置タイプの総合リストについては、付録A 装置タイプの用語集を参照)。この例では、LTO テープドライブを持つ IBM 3494 ネットワーク接続テープライブラリを使用しているため、li (最後の空白文字を含める) と入力します。

    0 VOL001 VOL001 li 
    ~
    "~/input3494cat" [New File]
    
  9. Oracle HSM で使用するボリュームごとに追加のレコードを作成するには、手順 3 - 6 を繰り返します。次に、ファイルを保存します。

    0 VOL001 VOL001 li 
    1 VOL002 VOL002 li 
    ...
    13 VOL014 VOL014 li 
    :wq
    root@solaris:~# 
    
  10. build_cat input-file catalog-file コマンドを使用してカタログを作成します。ここで、input-file は、入力ファイルの名前で、catalog-file は、ライブラリカタログのフルパスです。

    mcf ファイルの Additional Parameters フィールドにカタログ名を指定した場合、その名前を使用します。それ以外の場合、カタログを作成しないときは、Oracle HSM ソフトウェアで、ファイル名 family-set-name を使用して /var/opt/SUNWsamfs/catalog/ ディレクトリにデフォルトのカタログが作成されます。ここで、family-set-name は、mcf ファイルでライブラリに使用する装置名です。この例では、ファミリセット i3494 を使用します。

    root@solaris:~# build_cat input_vsns /var/opt/SUNWsamfs/catalog/i3494
    
  11. アーカイブファイルシステムが共有されている場合、使用する可能性がある各メタデータサーバーで前述の手順を繰り返します。

    アーカイブファイルシステムが完成し、使用する準備ができました。

  12. 次に、ファイルシステムの保護を構成します

ファイルシステムの保護の構成

ファイルシステムを保護するには、2 つのことを実行する必要があります。

  • データが保持されているファイルを保護する必要があります。

  • データを使用、整理、検索、アクセス、および管理できるように、ファイルシステム自体を保護する必要があります。

Oracle HSM アーカイブファイルシステムでは、ファイルデータはアーカイバによって自動的に保護されます。変更されたファイルは、テープなどのアーカイブストレージメディアに自動的にコピーされます。ただし、ファイルしかバックアップしていないときに、ディスクデバイスまたは RAID グループに回復不能な障害が発生した場合は、データは保持されますが使用することは難しくなります。代替のファイルシステムの作成、各ファイルの特定、新しいファイルシステム内の適切な場所の決定、そのファイルの取り込み、およびそのファイルとユーザー、アプリケーション、その他のファイルとの間の失われた関係の再作成を行う必要があります。このような回復は、最善の状況でも、面倒で時間のかかるプロセスとなります。

したがって、すばやく効率的に回復するには、ファイルおよびアーカイブコピーを使用可能にするファイルシステムのメタデータを積極的に保護する必要があります。リムーバルメディア上でアーカイブされたコピーに、ディレクトリパス、i ノード、アクセス制御、シンボリックリンク、およびポインタをバックアップする必要があります。

Oracle HSM ファイルシステムのメタデータを保護するには、回復ポイントをスケジュールし、アーカイブログを保存します。回復ポイントは、Oracle HSM ファイルシステムのメタデータのポイントインタイムバックアップコピーを格納する圧縮ファイルです。データの損失 (ユーザーファイルの誤った削除から、ファイルシステム全体の壊滅的な損失まで) が発生した場合は、ファイルまたはファイルシステムが元の状態のままである最新の回復ポイントを見つければ、即座にファイルまたはファイルシステムの既知の良好な最新状態まで回復できます。次に、その時点で記録されたメタデータを復元し、メタデータに示されているファイルをアーカイブメディアからディスクキャッシュにステージングするか、または可能であれば、ユーザーおよびアプリケーションがファイルにアクセスするときに必要に応じてファイルシステムでファイルをステージングするようにします。

ポイントインタイムバックアップコピーと同様に、回復ポイントが障害が発生した時点のファイルシステムの状態の完全なレコードであることは、ほとんどありません。必然的に、1 つの回復ポイントが完成してから、次の回復ポイントが作成されるまで、少なくとも数個のファイルが作成および変更されます。ファイルシステムが使用されていないときに回復ポイントを頻繁に作成するようにスケジュールすれば、この問題を最小限にできます。ただし、現実には、ファイルシステムは使用するために存在するため、スケジューリングには妥協が必要です。

このため、アーカイバログファイルのポイントインタイムコピーを保存する必要もあります。それぞれのデータファイルがアーカイブされると、ログファイルには、アーカイブメディアのボリュームシリアル番号、アーカイブセットとコピー番号、メディアでのアーカイブ (tar) ファイルの位置、および tar ファイル内でのデータファイルのパスと名前が記録されます。この情報があれば、Solaris または Oracle HSM tar ユーティリティーを使用して、失われたファイルを回復ポイントから回復できます。ただし、この情報は変動します。大部分のシステムログと同様に、アーカイバログは急速に増加するため、頻繁に上書きされてしまいます。定期的にコピーして回復ポイントを補完していなければ、必要なときにログ情報がないことになります。

そのため、ファイルシステムの保護にはいくつかの計画が必要です。一方で、回復ポイントとログファイルのコピーを十分な頻度で作成して、失われたり破損したりしたファイルとファイルシステムを回復するために最適な機会を得るのに十分な期間保持する必要があります。他方、データファイルが頻繁に変更されていて、使用しているディスク領域を認識する必要があるときは、回復ポイントとログファイルのコピーを作成することは望ましくありません (回復ポイントファイルとログが大きい可能性があります)。そのため、このセクションでは、変更なしで多数のファイルシステム構成で使用でき、幅広く適用可能な構成を推奨しています。変更が必要な場合は、推奨される構成に問題が説明されており、開始点として優れた役割を果たします。このセクションの残りでは、回復ポイントを作成および管理する手順について説明します。次のサブセクションが含まれます。

回復ポイントファイルとアーカイバログのコピーを格納する場所の作成

構成したアーカイブファイルシステムごとに、次のように進めます。

  1. ファイルシステムホストに root としてログインします。

    root@solaris:~# 
    
  2. 回復ポイントファイルのストレージ場所を選択します。ファイルシステムのホストにマウントできる独立したファイルシステムを選択します。

  3. 新しい回復ポイントファイルと、指定した任意の時点で保持する予定の数の回復ポイントファイルの両方を格納するのに十分な領域を、選択したファイルシステムに確保してください。

    回復ポイントファイルは大きいサイズになる可能性があり、作成する頻度と保持する期間によっては、多数のファイルを格納する必要があります。

  4. 選択したファイルシステムが、どの物理デバイスもアーカイブファイルシステムと共有しないようにしてください。

    保護対象のファイルシステムに回復ポイントファイルを格納しないでください。アーカイブファイルシステムもホストしている物理デバイス上にある論理デバイス (パーティションや LUN など) に回復ポイントファイルを格納しないでください。

  5. 選択したファイルシステムで、回復ポイントファイルを保持するディレクトリを作成します。コマンド mkdir mount-point/path を使用します。ここで、mount-point は、選択した独立ファイルシステム用のマウントポイント、path は、選択したディレクトリのパスと名前です。

    複数のアーカイブファイルシステムの回復ポイントファイルを単一のキャッチオールディレクトリに格納しないでください。回復ポイントファイルが編成され、必要に応じて簡単に見つけられるように、それぞれに別個のディレクトリを作成してください。

    この例では、アーカイブファイルシステム /samms 用の回復ポイントを構成します。そのため、独立ファイルシステム /zfs1 にディレクトリ /zfs1/samms_recovery を作成しました。

    root@solaris:~# mkdir /zfs1/samms_recovery
    
  6. ファイルシステムでアーカイブファイルシステムと物理デバイスを共有しない場合、ファイルシステムのアーカイバログのポイントインタイムコピーを格納するためのサブディレクトリを作成します。

    この例では、ログのコピーをホストのルートファイルシステムの /var ディレクトリに格納することを選択します。アーカイブファイルシステム /samms のファイルシステムの保護を構成します。そのため、ディレクトリ /var/samms_archlogs を作成します。

    root@solaris:~# mkdir /var/samms_archlogs
    
  7. 次に、回復ポイントの作成およびアーカイバログの保存を自動化します

回復ポイントの自動作成とアーカイバログの保存

crontab ファイルでエントリを作成するか、Oracle HSM Manager のグラフィカルユーザーインタフェースのスケジューリング機能を使用することで、メタデータの回復ポイントファイルを自動的に作成できますが、後者の方法ではアーカイバログデータは自動的には保存されません。そのため、このセクションでは、crontab の方法に焦点を当てます。グラフィカルユーザーインタフェースを使用して回復ポイントをスケジュールする場合、Manager のオンラインヘルプを参照してください。

次の手順では、毎日実行される 2 つの crontab エントリを作成します。1 つは、期限切れの回復ポイントファイルを削除してから新しい回復ポイントを作成し、もう 1 つは、アーカイバログを保存します。構成したアーカイブファイルシステムごとに、次のように進めます。

  1. ファイルシステムホストに root としてログインします。

    root@solaris:~# 
    
  2. 編集のために root ユーザーの crontab ファイルを開きます。コマンド crontab -e を使用します。

    crontab コマンドは、root ユーザーの crontab ファイルの編集可能なコピーを、EDITOR 環境変数で指定されたテキストエディタで開きます (詳細は、Solaris crontab のマニュアルページを参照してください)。この例では、vi エディタを使用します。

    root@solaris:~# crontab -e
    ...
    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    15 3 * * 0 [ -x /usr/lib/fs/nfs/nfsfind ] && /usr/lib/fs/nfs/nfsfind
    30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    
  3. 最初に、期限切れの回復ポイントファイルを削除して新しい回復ポイントを作成するエントリを作成します。新しい行で、作業を行う時間を指定します。minutes hour * * * と入力します。ここでは:

    • minutes は、ジョブを開始する分を指定する、[0-59] の範囲内の整数です。

    • hour は、ジョブを開始する時を指定する、[0-23] の範囲内の整数です。

    • * (アスタリスク) は未使用の値を指定します。

      毎日実行されるタスクの場合は、日 [1-31]、月 [1-12]、および曜日 [0-6] の値は未使用です。

    • 空白は、時間の指定のフィールドを区切ります。

    • minutes hour は、ファイルが作成または変更されていない時間を指定します。

      ファイルシステムのアクティビティーが最小限のときに回復ポイントファイルを作成すると、アーカイブの状態が可能なかぎり正確かつ完全にファイルに反映されます。新しいファイルと変更されたファイルのすべてが、指定した時間の前にアーカイブされていることが理想です。

    この例では、作業が毎日午前 2:10 に開始されるようにスケジュールします。

    ...
    30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 2 * * *  
    
  4. 続けて同じ行に、古い回復ポイントファイルをクリーンアップするシェルコマンドを入力します。テキスト ( find directory -type f -mtime +retention -print | xargs -l1 rm -f; を入力します。ここでは:

    • ( (左括弧) は、crontab エントリによって実行されるコマンドシーケンスの開始をマークします。

    • directory は、回復ポイントファイルが格納されるディレクトリのパスとディレクトリ名であり、Solaris find コマンドで検索を開始するポイントです。

    • -type f は、プレーンファイル (ブロック特殊ファイル、文字特殊ファイル、ディレクトリ、パイプなどの反対) を指定する find コマンドオプションです。

    • -mtime +retention は、retention (回復ポイントファイルが保持される時間の数を表す整数) を超えて変更されていないファイルを指定する find コマンドオプションです。

    • -print は、見つかったすべてのファイルを標準出力に一覧表示する find コマンドオプションです。

    • |xargs -l1 rm -f は、 -print の出力を Solaris コマンド xargs -l1 にパイプ処理します。このコマンドは、一度に 1 行を引数として Solaris コマンド rm -f に送信し、次のこのコマンドが検出されたそれぞれのファイルを削除します。

    • ; (セミコロン) は、コマンド行の終わりをマークします。

    この例では、crontab エントリは、72 時間 (3 日) 以上変更されていないファイルをディレクトリ /zfs1/samms_recovery で検索し、見つかったファイルをすべて削除します。crontab エントリは引き続き 1 行です。改行はバックスラッシュでエスケープされます。

    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    15 3 * * 0 [ -x /usr/lib/fs/nfs/nfsfind ] && /usr/lib/fs/nfs/nfsfind
    30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 2 * * * ( find /zfs1/samms_recovery -type f -mtime +72 -print | \ 
    xargs -l1 rm -f; 
    
  5. 同じ行で続けて、回復ポイントが作成されるディレクトリに変更するシェルコマンドを入力します。テキスト cd mount-point; を入力します。ここで、mount-point は、アーカイブファイルシステムのルートディレクトリで、セミコロン (;) はコマンド行の終わりをマークします。

    回復ポイントファイルを作成するコマンド samfsdump は、現在のディレクトリとすべてのサブディレクトリ内にあるすべてのファイルのメタデータをバックアップします。この例では、保護するファイルシステムのマウントポイントである /samms ディレクトリに移動します。

    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    15 3 * * 0 [ -x /usr/lib/fs/nfs/nfsfind ] && /usr/lib/fs/nfs/nfsfind
    30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 2 * * * ( find /zfs1/samms_recovery -type f -mtime +72 -print | \ 
    xargs -l1 rm -f; cd /samms;
    
  6. 同じ行に続けて、毎日新しい回復ポイントを作成するシェルコマンドを入力します。テキスト /opt/SUNWsamfs/sbin/samfsdump -f directory/'date +\%y\%m\%d') を作成します。ここでは:

    • /opt/SUNWsamfs/sbin/samfsdump は、回復ポイントを作成するコマンドです (詳細は、マニュアルページを参照してください)。

    • -f は、回復ポイントファイルを保存する場所を指定する samfsdump コマンドオプションです。

    • directory は、このファイルシステムの回復ポイントを保持するために作成したディレクトリです。

    • 'date +\%y\%m\%d' は、Solaris date コマンドと、回復ポイントファイルの名前 YYMMDD を作成するフォーマットテンプレートです。ここで、YYMMDD は、現在の年の最後の 2 桁、現在の月の 2 桁の数値、2 桁の日 (たとえば、150122 は、2015 年 1 月 22 日) です。

    • ;(セミコロン) は、コマンド行の終わりをマークします。

    • ) (右括弧) は、crontab エントリによって実行されるコマンドシーケンスの終わりをマークします。

    この例では、上で作成した回復ポイントディレクトリ /zfs1/samms_recovery を指定します。crontab エントリは引き続き 1 行です。改行はバックスラッシュでエスケープされます。

    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    15 3 * * 0 [ -x /usr/lib/fs/nfs/nfsfind ] && /usr/lib/fs/nfs/nfsfind
    30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 2 * * * ( find /zfs1/samms_recovery -type f -mtime +72 -print | \ 
    xargs -l1 rm -f; cd /samms ; /opt/SUNWsamfs/sbin/samfsdump \ 
    -f /zfs1/samms_recovery/'date +\%y\%m\%d')
    
  7. 次に、アーカイバログを保存するエントリを作成します。新しい行に、minutes hour * * * を入力して、作業を行う時間を指定します。ここでは:

    • minutes は、ジョブを開始する分を指定する、[0-59] の範囲内の整数です。

    • hour は、ジョブを開始する時を指定する、[0-23] の範囲内の整数です。

    • * (アスタリスク) は未使用の値を指定します。

      毎日実行されるタスクの場合は、日 [1-31]、月 [1-12]、および曜日 [0-6] の値は未使用です。

    • 空白は、時間の指定のフィールドを区切ります。

    • minutes hour は、ファイルが作成または変更されていない時間を指定します。

    この例では、作業が毎週日曜日午前 3:15 に開始されるようにスケジュールします。

    ...
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 2 * * * ( find /zfs1/samms_recovery -type f -mtime +72 -print | \ 
    xargs -l1 rm -f; cd /samms ; /opt/SUNWsamfs/sbin/samfsdump \ 
    -f /zfs1/samms_recovery/'date +\%y\%m\%d')
    15 3 * * 0 
    
  8. 同じ行に続けて、現在のアーカイバログをバックアップの場所に移動して一意の名前を指定するシェルコマンドを入力します。テキスト ( mv /var/adm/samms.archive.log /var/samms_archlogs/"date +%y%m%d"; を入力します。

    この手順によって、アクティブなログファイルに残された場合に上書きされるログエントリが保存されます。例では、samms ファイルシステムのアーカイバログを選択した場所 /var/samms_archlogs/ に移動して、YYMMDD に名前変更します。ここで、YYMMDD は、現在の年の最後の 2 桁、現在の月の 2 桁の数値、および 2 桁の日 (たとえば、150122 は、2015 年 1 月 22 日です) です。

    ...
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 2 * * * ( find /samms_recovery/dumps -type f -mtime +72 -print | xargs -l1 rm -f; \ cd /samms ; /opt/SUNWsamfs/sbin/samfsdump -f /zfs1/samms_recovery/'date +\%y\%m\%d') 
    15 3 * * 0 ( mv /var/adm/samms.archiver.log /var/samms_archlogs/"date +%y%m%d";
    
  9. 同じ行に続けて、アーカイバログファイルを再初期化するシェルコマンドを入力します。テキスト touch /var/adm/samms.archive.log ) を入力します。

    この例では、crontab エントリは引き続き 1 行です。改行はバックスラッシュでエスケープされます。

    ...
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 2 * * * ( find /samms_recovery/dumps -type f -mtime +72 -print | xargs -l1 rm -f; \ cd /samms ; /opt/SUNWsamfs/sbin/samfsdump -f /zfs1/samms_recovery/'date +\%y\%m\%d') 
    15 3 * * 0 ( mv /var/adm/samms.archive.log /var/samms_archlogs/"date +%y%m%d";\ 
    touch /var/adm/samms.archiver.log ) 
    
  10. ファイルを保存して、エディタを閉じます。

    # The root crontab should be used to perform accounting data collection.
    10 3 * * * /usr/sbin/logadm
    15 3 * * 0 [ -x /usr/lib/fs/nfs/nfsfind ] && /usr/lib/fs/nfs/nfsfind
    30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
    30 0,9,12,18,21 * * * /usr/lib/update-manager/update-refresh.sh
    10 2 * * * ( find /samms_recovery/dumps -type f -mtime +72 -print | xargs -l1 rm -f; \ cd /samms ; /opt/SUNWsamfs/sbin/samfsdump -f /zfs1/samms_recovery/'date +\%y\%m\%d') 
    15 3 * * 0 ( mv /var/adm/samms.archive.log /var/samms_archlogs/"date +%y%m%d";\ touch /var/adm/samms.archive.log ) 
    :wq
    root@solaris:~# 
    
  11. ファイルシステムで WORM (書き込み 1 回、読み取り複数回) 機能を有効にする必要がある場合、Write Once Read Many (WORM) ファイルのサポートの有効化を参照してください。

  12. LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、Linear Tape File System (LTFS) のサポートの有効化を参照してください。

  13. アーカイブテープボリュームの整合性を検証できる必要がある場合、アーカイブメディア検証の構成に進みます。

  14. 複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。

  15. それ以外の場合は、通知とロギングの構成に進みます。

アーカイブメディア検証の構成

メディア検証は、SCSI verify コマンドを使用してテープメディアのデータ整合性を評価する手法です。ホストの SCSI ドライバは、ドライブに書き込むデータの論理ブロックの CRC チェックサムを計算して、verify コマンドを送信します。ドライブはデータブロックを読み取り、独自のチェックサムを計算して、結果をドライバによって提供された値と比較します。矛盾があった場合はエラーを返します。ドライブは、チェックサムが完了すると読み取ったデータをすぐに破棄するため、ホストで追加の入出力関連のオーバーヘッドは発生しません。

Oracle HSM では、次の 2 つの方法でのメディア検証がサポートされます。

データ整合性検証 (DIV) をサポートするための Oracle HSM の構成

データ整合性検証 (DIV) は、Oracle StorageTek テープドライブの機能であり、格納されているデータの整合性を保証するために Oracle HSM software とともに機能します。この機能が有効になっている (div = on または div = verify) 場合、サーバーホストとドライブの両方が、入出力中にチェックサムを計算して比較します。書き込み操作中に、サーバーは、データブロックごとに 4 バイトチェックサムを計算して、チェックサムをデータとともにドライブに渡します。次に、テープドライブはチェックサムを再計算し、結果をサーバーによって提供された値と比較します。値が一致した場合、ドライブはデータブロックとチェックサムの両方をテープに書き込みます。読み取り操作中に、ドライブとホストの両方が、データブロックとその関連するチェックサムをテープからを読み取ります。それぞれが、データブロックからチェックサムを再計算し、結果を格納されているチェックサムと比較します。どの時点でもチェックサムが一致しない場合、ドライブは、エラーが発生したことをアプリケーションソフトウェアに通知します。

div = verify オプションは、データの書き込み時に保護機能を強化します。書き込み操作が完了すると、ホストはデータを再検証するようテープドライブに指示します。次に、ドライブはデータを再スキャンし、チェックサムを再計算して、結果をテープに格納されているチェックサムと比較します。ドライブは、すべての操作を内部で実行し、追加の入出力は行われない (データは破棄されます) ため、ホストシステムで追加のオーバーヘッドは発生しません。必要に応じて、Oracle HSM tpverify (tape-verify) コマンドを使用して、この手順を実行することもできます。

データ整合性検証を構成するには、次のように進めます。

  1. Oracle HSM サーバーに root としてログインします。

    この例では、メタデータサーバーの名前は samfs-mds です。

    [samfs-mds]root@solaris:~#  
    
  2. メタデータサーバーで Oracle Solaris 11 以上が実行されていることを確認します。

    [samfs-mds]root@solaris:~# uname -r
    5.11
    [samfs-mds]root@solaris:~# 
    
  3. Oracle HSM mcf ファイルで定義されているアーカイブストレージ装置に、互換性のあるテープドライブである StorageTek T10000C (最小のファームウェアレベルは 1.53.315) または T10000D が含まれていることを確認します。

  4. アーカイブプロセスがある場合、すべてアイドル状態にします。コマンド samcmd aridle を使用します。

    このコマンドは現在のアーカイブおよびステージングを完了できますが、新しいジョブは開始されません。

    [samfs-mds]root@solaris:~# samcmd aridle
    [samfs-mds]root@solaris:~# 
    
  5. ステージングプロセスがある場合、すべてアイドル状態にします。コマンド samcmd stidle を使用します。

    このコマンドは現在のアーカイブおよびステージングを完了できますが、新しいジョブは開始されません。

    [samfs-mds]root@solaris:~# samcmd stidle
    [samfs-mds]root@solaris:~# 
    
  6. アクティブなアーカイブジョブが完了するまで待機します。コマンド samcmd a を使用して、アーカイブプロセスのステータスを確認します。

    アーカイブプロセスが Waiting for :arrun の場合、アーカイブプロセスはアイドル状態になっています。

    [samfs-mds]root@solaris:~# samcmd a
    Archiver status samcmd     6.0 14:20:34 Feb 22 2015
    samcmd on samfs-mds
    sam-archiverd:  Waiting for :arrun
    sam-arfind: ...
    Waiting for :arrun
    
  7. アクティブなステージングジョブが完了するまで待機します。コマンド samcmd u を使用してステージングプロセスのステータスを確認します。

    ステージングプロセスが Waiting for :strun の場合、ステージングプロセスはアイドル状態になっています。

    [samfs-mds]root@solaris:~# samcmd u
    Staging queue samcmd      6.0 14:20:34 Feb 22 2015
    samcmd on solaris.demo.lan
    Staging queue by media type: all
    sam-stagerd:  Waiting for :strun
    root@solaris:~# 
    
  8. すべてのリムーバブルメディアドライブをアイドル状態にしてから、続行します。ドライブごとに、コマンド samcmd equipment-number idle を使用します。ここで equipment-number は、/etc/opt/SUNWsamfs/mcf ファイル内のドライブに割り当てられている装置の順序番号です。

    このコマンドはドライブを「off」にする前に、現在のアーカイブジョブおよびステージングジョブを完了できますが、新しいジョブは開始されません。この例では、4 つのドライブ (順序番号 801802803804) をアイドル状態にします。

    [samfs-mds]root@solaris:~# samcmd 801 idle
    [samfs-mds]root@solaris:~# samcmd 802 idle
    [samfs-mds]root@solaris:~# samcmd 803 idle
    [samfs-mds]root@solaris:~# samcmd 804 idle
    [samfs-mds]root@solaris:~# 
    
  9. 実行中のジョブが完了するまで待機します。

    コマンド samcmd r を使用すると、ドライブのステータスを確認できます。すべてのドライブが「notrdy」または「empty」の場合は、続行できる状態になっています。

    [samfs-mds]root@solaris:~# samcmd r
    Removable media samcmd     6.0 14:20:34 Feb 22 2015
    samcmd on samqfs1host
    ty   eq   status      act  use  state  vsn
    li  801   ---------p    0   0%  notrdy
              empty
    li  802   ---------p    0   0%  notrdy
              empty
    li  803   ---------p    0   0%  notrdy
              empty
    li  804   ---------p    0   0%  notrdy
              empty
    [samfs-mds]root@solaris:~# 
    
  10. アーカイバおよびステージャープロセスがアイドル状態で、テープドライブがすべて「notrdy」になっている場合は、ライブラリ制御デーモンを停止します。コマンド samd stop を使用します。

    [samfs-mds]root@solaris:~# samd stop
    [samfs-mds]root@solaris:~# 
    
  11. /etc/opt/SUNWsamfs/defaults.conf ファイルをテキストエディタで開きます。必要に応じて、行 #div = off のコメントを解除するか、この行が存在しない場合は追加します。

    デフォルトでは、div (データ整合性検証) は off (無効) です。

    この例では、vi エディタでファイルを開き、行のコメントを解除します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    div = off
    
  12. データ整合性検証の読み取り、書き込み、および検証操作を有効にするには、行 #div = offdiv = on に変更して、ファイルを保存します。

    各ブロックの書き込みおよび読み取りが行われるたびにデータが検証されますが、Oracle HSM アーカイバソフトウェアは、ファイルコピーがアーカイブされたあとで完全なファイルコピーを検証しません。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    div = on
    :wq
    [samfs-mds]root@solaris:~# 
    
  13. データ整合性検証機能の書き込み後の検証オプションを有効にするには、行 #div = offdiv = verify に変更して、ファイルを保存します。

    各ブロックの書き込みまたは読み取りが行われると、ホストとドライブはデータ整合性検証を実行します。さらに、完全なアーカイブ要求がテープに書き込まれるたびに、ドライブは新たに格納されたデータとチェックサムを再度読み取り、再計算して、計算結果を格納されている結果と比較します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    div = verify
    :wq
    [samfs-mds]root@solaris:~# 
    
  14. defaults.conf ファイルを再度読み取り、それに従って Oracle HSM software 自体を再構成するようにこのソフトウェアに指示します。samd config コマンドを使用します。

    [samfs-mds]root@solaris:~# /opt/SUNWsamfs/sbin/samd config
    
  15. 前の手順で Oracle HSM 操作を停止した場合、この時点で samd start コマンドを使用して再開します。

    [samfs-mds]root@solaris:~# samd start
    [samfs-mds]root@solaris:~# 
    

    これで、データ整合性検証が構成されました。

  16. データ整合性検証を自動化する必要がある場合、Oracle HSM の定期的なメディア検証の構成に進みます。

  17. ファイルシステムで WORM (書き込み 1 回、読み取り複数回) 機能を有効にする必要がある場合、Write Once Read Many (WORM) ファイルのサポートの有効化を参照してください。

  18. LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、Linear Tape File System (LTFS) のサポートの有効化を参照してください。

  19. 複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。

Oracle HSM の定期的なメディア検証の構成

Oracle HSM アーカイブファイルシステムの定期的なメディア検証 (PMV) を設定できます。定期的なメディア検証は、ファイルシステム内のリムーバブルメディアのデータ整合性を自動的にチェックします。StorageTek データ整合性検証を使用して StorageTek T10000 メディアをチェックし、幅広くサポートされる SCSI verify(6) コマンドを使用してその他のドライブをチェックします。

定期的なメディア検証機能は、定期的に tpverify コマンドを適用する Oracle HSM デーモン verifyd の追加、検出されたエラーの記録、管理者への通知、および指定された回復アクションの自動的な実行を行います。定期的なメディア検証を構成するには、構成ファイル verifyd.cmd でポリシーディレクティブを設定します。ポリシーでは、検証スキャンが実行される時間、行われるスキャンのタイプ、使用できるライブラリとドライブ、スキャンするべきテープボリューム、およびエラーの検出時に Oracle HSM で行うアクションを指定できます。Oracle HSM は、たとえば、エラーが含まれているファイルを自動的に再アーカイブしたり、エラーが含まれているテープボリュームをリサイクルしたりできます。

  1. Oracle HSM サーバーに root としてログインします。

    この例では、メタデータサーバーの名前は samfs-mds です。

    [samfs-mds]root@solaris:~#  
    
  2. まだ実行していない場合は、先に進む前に、データ整合性検証 (DIV) をサポートするように Oracle HSM を構成します

  3. メタデータサーバーで Oracle Solaris 11 以上が実行されていることを確認します。

    [samfs-mds]root@solaris:~# uname -r
    5.11
    [samfs-mds]root@solaris:~# 
    
  4. テキストエディタで /etc/opt/SUNWsamfs/verifyd.cmd ファイルを開きます。

    この例では、vi エディタでファイルを開きます。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    # For additional information about the format of the verifyd.cmd file,
    # type "man verifyd.cmd".
    # Enable Oracle HSM Periodic Media Validation (PMV)
    pmv = off
    
  5. 定期的なメディア検証を有効にするには、行 pmv = on を入力します。

    デフォルトでは、定期的なメディア検証は off です。この例では、これを on に設定します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    # For additional information about the format of the verifyd.cmd file,
    # type "man verifyd.cmd".
    # Enable Oracle HSM Periodic Media Validation (PMV)
    pmv = on
    
  6. 実行時間を設定します。行 run_time = always (連続して検証を実行する場合)、または run_time = HHMM hhmm DD dd を入力します。ここで、HHMMhhmm は、それぞれ開始時間と終了時間で、DD dd は、オプションの開始日と終了日です。

    HHhh は、00-24 の範囲内の時間、MMmm は、00-60 の範囲内の分数、DDdd は、[0-6] の範囲内の曜日で、0 は日曜日、6 は土曜日です。デフォルトは 2200 0500 6 0 です。

    ただし、検証は、重要なファイルシステム操作とはすぐには競合しません。検証プロセスによって、アーカイバとステージャーで必要なテープボリュームやドライブを自動的に得られます。そのため、この例では、実行時間を always に設定します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    # For additional information about the format of the verifyd.cmd file,
    # type "man verifyd.cmd".
    # Enable Oracle HSM Periodic Media Validation (PMV)
    pmv = on
    # Run all of the time.  PMV will yield VSNs and drives when
    # resources are wanted by the SAM-QFS archiver and stager.
    run_time = always
    
  7. 検証方法を指定します。行 pmv_method = specified-method を入力します。ここで、specified-method は次のいずれかです。

    • standard メソッドは、Oracle StorageTek T10000C 以降のテープドライブで使用します。速度のために最適化された standard メソッドでは、メディアの端、先頭、終わり、および最初の 1,000 ブロックが検証されます。

    • complete メソッドも、Oracle StorageTek T10000C 以降のテープドライブで使用します。これは、メディアのすべてのブロックでメディアエラー訂正コード (ECC) を検証します。

    • complete plus メソッドも、Oracle StorageTek T10000C 以降のテープドライブで使用します。これは、メディアの各ブロックについてメディアのエラー訂正コード (ECC) とデータ整合性検証チェックサムの両方を検証します (データ整合性検証 (DIV) をサポートするための Oracle HSM の構成を参照)。

    • legacy メソッドは、その他すべてのテープドライブで使用でき、メディアがカタログ内で不良とマークされているときと、verifyd.cmd ファイルで指定された方法がドライブでサポートされないときに自動的に使用されます。これは、6 バイトの固定ブロックモードの SCSI 検証コマンドを実行し、前に記録された不具合をスキップします。新たに永続的なメディアエラーが見つかった場合、legacy メソッドは次のファイルにスキップし、新たに検出されたエラーをメディア不具合データベースに記録します。

    • メディア情報領域 (MIR) が欠落または破損している場合に、mir rebuild メソッドは、Oracle StorageTek テープカートリッジの MIR を再構築します。これは、メディアカタログで不良とマークされているメディアで機能し、MIR の破損が検出された場合に自動的に指定されます。

    この例では、LTO ドライブを使用するため、legacy を指定します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    # resources are wanted by the SAM-QFS archiver and stager.
    run_time = always
    pmv_method = legacy
    
  8. 使用可能なすべてのライブラリとドライブを検証に使用するには、行 pmv_scan = all を入力します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_method = legacy
    pmv_scan = all
    
  9. 指定したライブラリ内のすべての使用可能なドライブを検証に使用するには、行 pmv_scan = library equipment-number を入力します。ここで、equipment-number は、ファイルシステムの mcf ファイルでライブラリに割り当てられた装置番号です。

    この例では、ライブラリ 800 内のすべてのドライブを検証プロセスで使用できるようにします。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_method = legacy
    pmv_scan = library 800 
    
  10. 指定したライブラリ内で検証プロセスが使用できるドライブの数を制限するには、行 pmv_scan = library equipment-number max_drives number を使用します。ここで、equipment-number は、ファイルシステムの mcf ファイルでライブラリに割り当てられた装置番号で、number は、使用できるドライブの最大数です。

    この例では、ライブラリ 800 内の最大 2 台のドライブを検証プロセスで使用できるようにします。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_method = legacy
    pmv_scan = library 800 max_drives 2 
    
  11. 指定したライブラリ内で検証プロセスが使用できるドライブを指定するには、行 pmv_scan = library equipment-number drive drive-numbers を入力します。ここで、equipment-number は、ファイルシステムの mcf ファイルでライブラリに割り当てられた装置番号で、drive-numbers は、mcf ファイルで指定されたドライブに割り当てられた装置番号の空白文字区切りリストです。

    この例では、ライブラリ 900 内のドライブ 903904 を検証プロセスで使用できるようにします。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_method = legacy
    pmv_scan = library 900 drive 903 904 
    
  12. 複数のライブラリで検証プロセスが使用できるドライブを指定するには、行 pmv_scan = library-specification library-specification... を入力します。ここで、equipment-number は、ファイルシステムの mcf ファイルでライブラリに割り当てられた装置番号で、drive-numbers は、mcf ファイルでの指定に割り当てられた装置番号のスペース区切りリストです。

    この例では、ライブラリ 800 内の最大 2 台のドライブと、ライブラリ 900 内のドライブ 903904 を検証プロセスで使用できるようにします。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_method = legacy
    pmv_scan = library 800 max_drives 2 library 900 drive 903 904 
    
  13. 定期的なメディア検証を無効にして、どの装置も使用されないようにするには、行 pmv_scan = off を入力します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_method = legacy
    pmv_scan = off
    
  14. 指定された数の永続的なエラーが定期的なメディア検証で検出されたあとで、リサイクル対象としてメディアに自動的にフラグを設定するには、行 action = recycle perms number-errors を入力します。ここで、number-errors はエラーの数です。

    この例では、10 個のエラーが検出されたあとで、リサイクル対象としてメディアにフラグを設定するように Oracle HSM を構成します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_scan = all
    action = recycle perms 10 
    
  15. 指定された期間エラーが累積されたあとで、不良ブロックが含まれているファイルを自動的に再アーカイブするには、行 action = rearch age  time を入力します。ここで、time は、SECONDSsMINUTESmHOURShDAYSd、または YEARSy の任意の組み合わせのスペース区切りリストで、SECONDSMINUTESHOURSDAYS、および YEARS は整数です。

    もっとも古いメディアの不具合が指定の期間経過したあとで、アーカイブが必要なファイルがファイルシステムでスキャンされます。この例では、再アーカイブ経過時間を 1 分に設定します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_scan = all
    action = rearch age 1m  
    
  16. 永続的なメディアエラーが定期的なメディア検証で検出されたときにメディアを不良とマークして、それ以外の場合はアクションを行わない場合は、行 action = none を入力します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_scan = all
    action = none 
    
  17. 定期的に検証するべきテープボリュームを指定します。行 pmv_vsns = selection-criterion を入力します。ここで、selection-criterion は、all か、1 つ以上のボリュームシリアル番号 (VSN) を指定する正規表現のスペース区切りリストです。

    デフォルトは all です。この例では、3 つの正規表現を指定します。ˆVOL0[01][0-9]ˆVOL23[0-9] は、それぞれ VOL000 - VOL019 および VOL230 - VOL239 の範囲内のボリュームシリアル番号を持つ 2 つのボリュームのセットを指定し、VOL400 は、特定のボリュームシリアル番号を持つボリュームを指定します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_scan = all
    action = none
    pmv_vsns = ˆVOL0[01][0-9] ˆVOL23[0-9] VOL400
    

    ボリュームが監査を必要とする場合、リサイクル対象としてスケジュールする場合、使用不可の場合、外部 (Oracle HSM 以外の) ボリュームである場合、またはデータを含んでいない場合、Oracle HSM はボリュームの検証を試行しません。クリーニングカートリッジ、ラベルなしのボリューム、および重複したボリュームシリアル番号が付いたボリュームも除外されます。

  18. 必要な検証ポリシーを定義します。行 pmv_policy = verified age vertime [modified age modtime] [mounted age mnttime] を入力します。ここでは:

    • verified age は、ボリュームが最後に検証されてから経過している必要がある最小時間を指定します。

    • modified age (オプション) は、ボリュームが最後に変更されてから経過している必要がある最小時間を指定します。

    • mounted age (オプション) は、ボリュームが最後にマウントされてから経過している必要がある最小時間を指定します。

    • パラメータ値 vertimemodtime、および mnttime は、負ではない整数と時間単位 y (年)、m (月)、d (日)、H (時)、M (分)、および S (秒) の組み合わせです。

    Oracle HSM は、ボリュームが最後に検証され、オプションで変更またはマウントされてから経過した時間に基づいて、検証の候補を識別して、ランク付けします。デフォルトのポリシーは、単一のパラメータである verified age 6m (6 か月) です。この例では、最終の verified age を 3 か月に設定し、最終の modified age を 15 か月に設定します。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_scan = all
    action = none
    pmv_vsns = ˆVOL0[01][0-9] ˆVOL23[0-9] VOL400
    pmv_policy = verified age 3m modified age 15m   
    
  19. /etc/opt/SUNWsamfs/verifyd.cmd ファイルを保存して、エディタを閉じます。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
    ...
    pmv_vsns = ˆVOL0[01][0-9] ˆVOL23[0-9] VOL400
    pmv_policy = verified age 3m modified age 15m
    :wq
    root@solaris:~# 
    
  20. tpverify -x コマンドを入力して、verifyd.cmd ファイルでエラーを確認します。見つかったエラーを修正します。

    tpverify -x コマンドは verifyd.cmd を読み取って、エラーが検出された場合は停止します。

    root@solaris:~# tpverify -x
    Reading '/etc/opt/SUNWsamfs/verifyd.cmd'.
    PMV: off
         Run-time:
         Start Time: 2200
    End Time: 0500
    PMV Scan: all
    PMV Method: legacy
    STA Scan: off
    Action: none
    PMV VSNs: all
    PMV Policy:
         Last Verified Age: 6m
    root@solaris:~# 
    
  21. 新しい verifyd.cmd ファイルを使用して、検証サービスを再開します。tpverify -r コマンドを入力します。

    root@solaris:~# tpverify -r
    root@solaris:~# 
    

    定期的なメディア検証の構成が終了しました。

  22. ファイルシステムで WORM (書き込み 1 回、読み取り複数回) 機能を有効にする必要がある場合、Write Once Read Many (WORM) ファイルのサポートの有効化を参照してください。

  23. LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、Linear Tape File System (LTFS) のサポートの有効化を参照してください。

  24. 複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。

  25. それ以外の場合は、通知とロギングの構成に進みます。

Write Once Read Many (WORM) ファイルのサポートの有効化

WORM (Write Once Read Many) ファイルは、法律上およびアーカイブ上の理由で多くのアプリケーションで使用されます。WORM 対応の Oracle HSM ファイルシステムでは、デフォルトおよびカスタマイズ可能なファイル保持期間、データとパスの不変性、および WORM 設定のサブディレクトリの継承がサポートされます。次の 2 つの WORM モードのいずれかを使用できます。

  • 標準のコンプライアンスモード (デフォルト)

    ユーザーがディレクトリまたは実行可能ではないファイルで UNIX setuid 権限を設定する (chmod 4000 directory|file) と、標準の WORM モードは WORM 保持期間を開始します。実行可能ファイルに対して設定 setuid (set user ID upon execution (実行時にユーザー ID を設定)) 権限を設定すると、セキュリティー上のリスクが生じるため、UNIX 実行権限も持つファイルはこのモードを使用して保持できません。

  • エミュレーションモード

    ユーザーが書き込み可能ファイルまたはディレクトリを読み取り専用にする (chmod 444 directory|file) と、WORM エミュレーションモードは WORM 保持期間を開始するため、実行可能ファイルを保持できます。

標準モードとエミュレーションモードの両方に、厳密な WORM 実装と、root ユーザーのために一部の制限が緩和された制限の少ないライト実装があります。厳密な実装とライト実装のどちらでも、ファイルまたはディレクトリに対する保持が起動されたあとは、データまたはパスに対する変更は許可されません。厳密な実装では、だれも指定された保存期間 (デフォルトでは 43,200 分/30 日) を短縮したり、保存期間の終了前にファイルまたはディレクトリを削除したりすることはできません。また、sammkfs を使用して、現在保持されているファイルとディレクトリが格納されているボリュームを削除することもできません。そのため、厳密な実装は、法律および規制上のコンプライアンス要件を満たすのに適しています。ライト実装では、root ユーザーは、ファイルシステムの作成コマンド sammkfs を使用して保存期間の短縮、ファイルとディレクトリの削除、ボリュームの削除を行うことができます。そのため、データ整合性と柔軟な管理の両方が主な要件である場合に、ライト実装が適した選択肢である可能性があります。

WORM 実装を選択するとき、ファイルでの保存を有効にするときは、注意が必要です。通常、要件と一致するもっとも制約の少ないオプションを使用してください。標準モードからエミュレーションモード、またはその逆に変更することはできません。そのため、慎重に選択してください。管理の柔軟性が優先される場合、または保存の要件があとで変わる可能性がある場合、ライト実装を選択します。あとで必要なことがわかった場合、ライトバージョンの WORM モードから、厳密なバージョンにアップグレードできます。ただし、厳密な実装からライト実装に変更することはできません。厳密な WORM 実装が有効になったら、指定された保存期間を通じてファイルを保持する必要があります。そのため、保存期間は、要件と一致する最短値に設定します。

Oracle HSM ファイルシステムでの WORM サポートの有効化

マウントオプションを使用して、ファイルシステムで WORM サポートを有効にします。次のように進めます。

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

    root@solaris:~# 
    
  2. オペレーティングシステムの /etc/vfstab ファイルをバックアップします。

    root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    
  3. テキストエディタで /etc/vfstab ファイルを開き、WORM サポートを有効にする Oracle HSM ファイルシステムのエントリを見つけます。

    この例では、/etc/vfstab ファイルを vi エディタで開き、アーカイブファイルシステム worm1 を見つけます。

    root@solaris:~# vi /etc/vfstab 
    #File
    #Device   Device  Mount    System fsck Mount   Mount
    #to Mount to fsck Point    Type   Pass at Boot Options
    #-------- ------- -------- ------ ---- ------- -------------------------
    /devices  -       /devices devfs  -    no      -
    /proc     -       /proc    proc   -    no      -
    ...
    worm1     -       /worm1   samfs  -    yes     -
    
  4. 標準の WORM コンプライアンスモードの厳密な実装を有効にするには、vfstab ファイルの Mount Options 列に worm_capable オプションを入力します。

    #File
    #Device   Device  Mount    System fsck Mount   Mount
    #to Mount to fsck Point    Type   Pass at Boot Options
    #-------- ------- -------- ------ ---- ------- -------------------------
    /devices  -       /devices devfs  -    no      -
    /proc     -       /proc    proc   -    no      -
    ...
    worm1     -       /worm1   samfs  -    yes     worm_capable
    
  5. 標準の WORM コンプライアンスモードのライト実装を有効にするには、vfstab ファイルの Mount Options 列に worm_lite オプションを入力します。

    #File
    #Device   Device  Mount    System fsck Mount   Mount
    #to Mount to fsck Point    Type   Pass at Boot Options
    #-------- ------- -------- ------ ---- ------- -------------------------
    /devices  -       /devices devfs  -    no      -
    /proc     -       /proc    proc   -    no      -
    ...
    worm1     -       /worm1   samfs  -    yes     worm_lite
    
  6. WORM エミュレーションモードの厳密な実装を有効にするには、vfstab ファイルの Mount Options 列に worm_emul オプションを入力します。

    #File
    #Device   Device  Mount    System fsck Mount   Mount
    #to Mount to fsck Point    Type   Pass at Boot Options
    #-------- ------- -------- ------ ---- ------- -------------------------
    /devices  -       /devices devfs  -    no      -
    /proc     -       /proc    proc   -    no      -
    ...
    worm1     -       /worm1   samfs  -    yes     worm_emul
    
  7. WORM エミュレーションモードのライト実装を有効にするには、vfstab ファイルの Mount Options 列に emul_lite オプションを入力します。

    #File
    #Device   Device  Mount    System fsck Mount   Mount
    #to Mount to fsck Point    Type   Pass at Boot Options
    #-------- ------- -------- ------ ---- ------- -------------------------
    /devices  -       /devices devfs  -    no      -
    /proc     -       /proc    proc   -    no      -
    ...
    worm1     -      /worm1    samfs  -    yes     emul_lite
    
  8. 保存期間が明示的に割り当てられていないファイルのデフォルトの保存期間を変更するには、def_retention=period オプションを vfstab ファイルの Mount Options 列に追加します。ここで、period は、次の段落で説明されている形式の 1 つを取ります。

    period の値には、次の 3 つの形式のいずれかを使用できます。

    • permanent または 0 は、永続的な保存を指定します。

    • YEARSyDAYSdHOURShMINUTESm。ここで、YEARSDAYSHOURS、および MINUTES は、負以外の整数で、指定子は省略できます。そのため、たとえば、5y3d1h4m2y12h、および 365d はすべて有効です。

    • MINUTES。ここで、MINUTES[1-2147483647] の範囲内の整数です。

    2038 年を超える保存期間を設定する必要がある場合、デフォルトの保存期間を設定します。touch などの UNIX ユーティリティーは、符号付き 32 ビット整数を使用して、1970 年 1 月 1 日以降に経過した秒数として時間を表します。32 ビット整数が表すことができる最大秒数は、2038 年 1 月 18 日午後 10:14 に変換されます

    値が指定されていない場合、def_retention はデフォルトで 43200 分 (30 日) に設定されます。この例では、標準の WORM 対応ファイルシステムの保存期間を 777600 分 (540 日) に設定します。

    #File
    #Device   Device  Mount    System fsck Mount   Mount
    #to Mount to fsck Point    Type   Pass at Boot Options
    #-------- ------- -------- ------ ---- ------- -------------------------
    /devices  -       /devices devfs  -    no      -
    /proc     -       /proc    proc   -    no      -
    ...
    worm1     -       /worm1   samfs  -    no     worm_capable,def_retention=777600
    
  9. vfstab ファイルを保存して、エディタを閉じます。

    ファイルシステムは WORM 対応です。1 つ以上の WORM ファイルがファイルシステムにある場合、Oracle HSM ソフトウェアは、WORM 機能を反映するためにファイルシステムのスーパーブロックを更新します。厳密な worm_capable または worm_emul マウントオプションを使用してファイルシステムがマウントされている場合、その後に sammkfs でファイルシステムを再構築しようとすると失敗します。

  10. LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、Linear Tape File System (LTFS) のサポートの有効化を参照してください

  11. 複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。

  12. それ以外の場合は、通知とロギングの構成に進みます。

Linear Tape File System (LTFS) のサポートの有効化

Oracle HSM は、データを Linear Tape File System (LTFS) ボリュームからインポートしたり、このボリュームにエクスポートしたりできます。この機能により、LTFS を標準のテープ形式として使用するシステムとの相互作用が容易になります。また、一般的なワイドエリアネットワーク (WAN) 接続が遅すぎるか、タスクにとって高価すぎる場合に、大量のデータをリモート Oracle HSM サイト間で簡単に転送できます。

Oracle HSM ソフトウェアは LTFS 機能をサポートしていますが、その機能を含んでいるわけではありません。LTFS ファイルシステムを使用するには、ホストの Solaris オペレーティングシステムに SUNWltfs パッケージが含まれている必要があります。必要に応じて、先に進む前に SUNWltfs パッケージをダウンロードしてインストールしてください。

LTFS ボリュームの使用と管理については、samltfs のマニュアルページと『Oracle Hierarchical Storage Manager and StorageTek QFS Software 保守および管理ガイド』を参照してください。

Oracle HSM LTFS のサポートを有効にするには、次のように進めます。

  1. Oracle HSM メタデータサーバーに root としてログインします。

    [samfs-mds]root@solaris:~# 
    
  2. アーカイブプロセスがある場合、すべてアイドル状態にします。コマンド samcmd aridle を使用します。

    このコマンドは現在のアーカイブおよびステージングを完了できますが、新しいジョブは開始されません。

    [samfs-mds]root@solaris:~# samcmd aridle
    [samfs-mds]root@solaris:~# 
    
  3. ステージングプロセスがある場合、すべてアイドル状態にします。コマンド samcmd stidle を使用します。

    このコマンドは現在のアーカイブおよびステージングを完了できますが、新しいジョブは開始されません。

    [samfs-mds]root@solaris:~# samcmd stidle
    [samfs-mds]root@solaris:~# 
    
  4. アクティブなアーカイブジョブが完了するまで待機します。コマンド samcmd a を使用して、アーカイブプロセスのステータスを確認します。

    アーカイブプロセスが Waiting for :arrun の場合、アーカイブプロセスはアイドル状態になっています。

    [samfs-mds]root@solaris:~# samcmd a
    Archiver status samcmd     6.0 14:20:34 Feb 22 2015
    samcmd on samfs-mds
    sam-archiverd:  Waiting for :arrun
    sam-arfind: ...
    Waiting for :arrun
    
  5. アクティブなステージングジョブが完了するまで待機します。コマンド samcmd u を使用してステージングプロセスのステータスを確認します。

    ステージングプロセスが Waiting for :strun の場合、ステージングプロセスはアイドル状態になっています。

    [samfs-mds]root@solaris:~# samcmd u
    Staging queue samcmd      6.0 14:20:34 Feb 22 2015
    samcmd on solaris.demo.lan
    Staging queue by media type: all
    sam-stagerd:  Waiting for :strun
    root@solaris:~# 
    
  6. すべてのリムーバブルメディアドライブをアイドル状態にしてから、続行します。ドライブごとに、コマンド samcmd equipment-number idle を使用します。ここで equipment-number は、/etc/opt/SUNWsamfs/mcf ファイル内のドライブに割り当てられている装置の順序番号です。

    このコマンドはドライブを「off」にする前に、現在のアーカイブジョブおよびステージングジョブを完了できますが、新しいジョブは開始されません。この例では、4 つのドライブ (順序番号 801802803804) をアイドル状態にします。

    [samfs-mds]root@solaris:~# samcmd 801 idle
    [samfs-mds]root@solaris:~# samcmd 802 idle
    [samfs-mds]root@solaris:~# samcmd 803 idle
    [samfs-mds]root@solaris:~# samcmd 804 idle
    [samfs-mds]root@solaris:~# 
    
  7. 実行中のジョブが完了するまで待機します。

    コマンド samcmd r を使用すると、ドライブのステータスを確認できます。すべてのドライブが「notrdy」または「empty」の場合は、続行できる状態になっています。

    [samfs-mds]root@solaris:~# samcmd r
    Removable media samcmd     6.0 14:20:34 Feb 22 2015
    samcmd on samqfs1host
    ty   eq   status      act  use  state  vsn
    li  801   ---------p    0   0%  notrdy
              empty
    li  802   ---------p    0   0%  notrdy
              empty
    li  803   ---------p    0   0%  notrdy
              empty
    li  804   ---------p    0   0%  notrdy
              empty
    [samfs-mds]root@solaris:~# 
    
  8. アーカイバおよびステージャープロセスがアイドル状態で、テープドライブがすべて「notrdy」になっている場合は、ライブラリ制御デーモンを停止します。コマンド samd stop を使用します。

    [samfs-mds]root@solaris:~# samd stop
    [samfs-mds]root@solaris:~# 
    
  9. テキストエディタで /etc/opt/SUNWsamfs/defaults.conf を開きます。

    この例では、vi エディタでファイルを開きます。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    
  10. defaults.conf ファイルで、行 ltfs = mountpoint workers volumes を追加します。ここで、mountpoint は、LTFS ファイルシステムがマウントされているホストファイルシステム内のディレクトリ、workers は、LTFS に使用するドライブのオプションの最大数で、volumes は、ドライブごとのテープボリュームのオプションの最大数です。次に、ファイルを保存し、エディタを閉じます。

    この例では、LTFS マウントポイント /mnt/ltfs を指定して、ほかのパラメータではデフォルトを受け入れます。

    [samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf 
    # These are the defaults.  To change the default behavior, uncomment the
    # appropriate line (remove the '#' character from the beginning of the line)
    # and change the value.
    ...
    ltfs = /mnt/ltfs
    :wq
    [samfs-mds]root@solaris:~# 
    
  11. defaults.conf ファイルを再度読み取り、それに従って Oracle HSM ソフトウェア自体を再構成するようにこのソフトウェアに指示します。報告されたエラーをすべて修正して、必要に応じて繰り返します。

    [samfs-mds]root@solaris:~# /opt/SUNWsamfs/sbin/samd config
    
  12. 前の手順で Oracle HSM 操作を停止した場合、この時点で samd start コマンドを使用して再開します。

    [samfs-mds]root@solaris:~# samd start
    
  13. これで、LTFS の Oracle HSM のサポートが有効になりました。複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。

  14. それ以外の場合は、通知とロギングの構成に進みます。

応用編

これで、Oracle HSM ファイルシステムの基本的なインストールと構成が完了します。この時点で、さまざまな目的のために最適に構成されている、完全に機能するファイルシステムが設定されています。

このマニュアルの残りの章では、より専門的なニーズに対処します。そのため、次に概要が説明されている追加の調整タスクと機能の実装タスクを開始する前に、要件を慎重に評価してください。次に、高可用性や共有ファイルシステム構成など、追加の機能が必要な場合は、基本構成から追加の機能を慎重に実装できます。ただし、これまでに行なった作業がニーズを満たしていると判断した場合は、追加の変更が向上につながる可能性はないと考えられます。単にメンテナンスと管理を複雑にする場合があります。