一次コンテンツに移動
Oracle® Hierarchical Storage Manager and StorageTek QFS Software 保守および管理ガイド
リリース 6.0
E56773-02
  ドキュメント・ライブラリへ移動
ライブラリ
目次へ移動
目次
索引へ移動
索引

前
 
次
 

7 新しいストレージメディアへの移行

アーカイブファイルを古いメディアから新しいメディアに移行するには、通常の Oracle Hierarchical Storage Manager ファイルシステム操作を妨害することなく、移行するファイルを特定し、それをディスクキャッシュにステージングし、新しいメディアに書き込む必要があります。この章では、プロセス内の次のステージについて説明します。

データ移行の計画

データの移動を開始する前に、次のタスクを実行する必要があります。

使用可能なリソースの評価

実際のデータ移行プロセスの詳細は、使用可能なディスクストレージ容量と使用可能なリムーバブルメディアドライブ数の 2 つの要素によって大きく異なります。メディアの移行中、Oracle HSM ステージャーは、古いメディアフォーマットを読み取ることができるドライブに古いリムーバブルボリュームをロードし、アーカイブされたファイルをディスクキャッシュに復元します。そのあと、Oracle HSM アーカイバが、新しいメディアフォーマットを書き込むことができるドライブを使用して、新しいリムーバブルボリュームにファイルを再度アーカイブします。そのため、特定のテープボリューム上にあるすべてのファイルを一度にディスクにステージングして、すぐに新しいメディアにアーカイブする方法が理想的です。

これを行うには、移行中に大容量のリソースを割り当てる必要があります。

  • テープ全体の容量と同等のディスク領域

  • 古いテープ形式を読み込むドライブの排他的使用

  • 新しい形式を書き込むドライブの排他的使用。

移行が完了するまでファイルシステムを休止できる場合は、上記のことは問題になりません。ただし、進行中のファイルシステムおよびアーカイブ操作を必要以上に妨害することなく、本稼動設定でデータを移行するには、検討が必要となります。ディスク領域またはテープドライブ数が不足している場合は、移行用に合理的に確保しておくことができるリソースを確認してから、移行プロセスを調整する必要があります。そのため、次のように進めます。

  1. 通常のファイルシステム操作を妨害せずに、移行用に使用できるディスクキャッシュの量を評価します。

  2. 移行専用に使用できるテープドライブの数を評価します。

    使用可能なテープドライブの数が限定されている場合は、移行プロセスで通常の操作が妨害されないように、ステージングおよびアーカイブのプロセスを調整することを計画します。

  3. 上記の見積もりに基づいて、ステージングおよびアーカイブのパラメータを決定します。使用可能なディスク領域に常時保持される移行ファイルの最大数、およびファイルをキャッシュから新しいメディアに移動できる最大速度を決定します。

  4. リソースの見積りを行なったら、古いメディアの移行後処理の計画を実行します。

古いメディアの移行後処理の計画

データの移行後に、古いメディアを保持する必要がある場合と必要がない場合があります。したがって、データ移行プロセスを開始する前に、ここで要件を特定し、メディア処理を計画します。

移行前に samfsdump を使用して作成した回復ポイントファイルが存在する場合でも、ダンプファイルにあるファイルシステムのメタデータは古いテープボリュームを参照します。元のメディア上のデータにアクセスしなければ、これらの回復ポイントにファイルシステムを復元できない可能性があります。したがって、少なくとも、ファイルシステムを古い回復ポイントファイルが作成された時点の状態に戻す必要が確実になくなるまで、古いメディアを保持するようにしてください。samfsdump を十分な回数繰り返して、新しいボリュームを参照する回復ポイントを作成したら、古いボリュームを処分できます。

最新の回復ポイントファイルがすべて新しいメディアを参照するようになれば、メディアタイプに応じて、ロボットライブラリから古いボリュームをエクスポートしたり、再利用のために更新してラベルを付け直したりすることができます。たとえば、単に処分対象の DLT メディアをエクスポートすることもできます。ただし、古い Oracle StorageTek T10000C ドライブ用のメディアのラベルを付け直し、新しい T10000D ドライブで使用することもできます。

古いメディアの処分方法を決定したら、移行用のアーカイブプロセスの構成をすぐに開始できます。

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

移行プロセス中に、交換対象メディアのタイプとともに新しい交換用メディアのタイプも含まれるように、アーカイバ構成ファイル archiver.cmd を変更します。

archiver.cmd ファイルの編集

2 番目のアーカイブコピーが新しいメディアに送信されるように、archiver.cmd ファイルを変更します。追加のアーカイブコピーを追加する理由はありません。

  1. テキストエディタで /etc/opt/SUNWsamfs/archiver.cmd ファイルを開きます。

    アーカイブポリシーには、2 つのコピーが指定されています。どちらのコピーも、交換対象のメディアタイプに書き込まれます。この例では、vi エディタでファイルを開きます。DLT カートリッジ (タイプ lt) を交換します。

    root@solaris: vi /etc/opt/SUNWsamfs/archiver.cmd
    # =============================================
    # /etc/opt/SUNWsamfs/archiver.cmd
    # ---------------------------------------------
    ...
    # ---------------------------------------------
    # VSN Directives
    vsns
    allfiles.1 lt .*
    allfiles.2 lt .*
    endvsns
    
  2. コピー 2 に対するディレクティブで、指定されたメディアタイプを新しいメディアの識別子に変更し、ファイルを保存して、テキストエディタを閉じます。

    この例では、データを古い DLT テープから新しい LTO カートリッジに移行します。したがって、コピー 2 で、古いメディアタイプ lt (DLT) を li (LTO) に変更します。

    root@solaris: vi /etc/opt/SUNWsamfs/archiver.cmd
    # =============================================
    # /etc/opt/SUNWsamfs/archiver.cmd
    # ---------------------------------------------
    ...
    # ---------------------------------------------
    # VSN Directives
    vsns
    allfiles.1 lt .*
    allfiles.2 li .*
    endvsns
    :wq
    root@solaris:~# 
    
  3. archiver.cmd ファイルに構文エラーがないかどうかを確認します。コマンド archiver -lv を実行して、エラーが見つからなくなるまでエラーを修正します。

    archiver -lv コマンドは、ファイルを 1 行ずつ出力します。エラーが発生すると、エラーが発生したところで実行が停止します。

    root@solaris:~# archiver -lv
    Reading '/etc/opt/SUNWsamfs/archiver.cmd'.
    1: # =============================================
    2: # /etc/opt/SUNWsamfs/archiver.cmd
    3: # ---------------------------------------------
    4: # Global Directives
    5: logfile = /var/opt/SUNWsamfs/archiver.log
    6: # ---------------------------------------------
    7: # File System Directives:
    8: fs = samqfsms
    9: all .
    10: 1 5m ...
    root@solaris:~# 
    
  4. 変更した archiver.cmd ファイルにエラーがなくなったら、コマンド samd config を使用して現在の構成にファイルをロードします。

    root@solaris:~# samd config
    Configuring SAM-FS
    root@solaris:~# 
    
  5. 次に、別のカートリッジへのデータの移行を実行します。

交換用メディアへのデータの移行

推奨されるデータ移行の手順は、sfind (GNU find コマンドの Oracle HSM 拡張機能) を使用する方法です。sfind コマンドは、指定されたテープボリューム上でファイルを検索し、見つかったすべてのファイルに対して、stage および rearchive コマンドを起動する際に使用されます。

sfindstage、または rearchive コマンドを使い慣れていない場合は、それぞれのマニュアルページを確認するようにしてください。次に、移行する必要のあるデータを保持しているテープカートリッジごとに、次のように進めます。

別のカートリッジへのデータの移行

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

    root@solaris:~# 
    
  2. 移行するファイルを保持しているファイルシステムのマウントポイントディレクトリに移動します。

    この例では、/samqfs1 でマウントされた samqfs1 ファイルシステムに格納されているファイルのアーカイブコピーを移行します。

    root@solaris:~# cd /samqfs1
    root@solaris:~# 
    
  3. テープボリュームを選択します。

    メディアタイプからメディアタイプにデータを移行する場合は、一度に 1 つのボリュームを操作します。次の例では、ボリュームシリアル番号 VOL008 を操作します。

  4. まず、選択したボリュームに、損傷して正常にステージングできないファイルがないかどうかを検索します。Oracle HSM コマンド sfind . -vsn volume-serial-number -damaged を使用します。ここで volume-serial-number は、ライブラリ内のボリュームを一意に識別する英数字の文字列です。

    この例では、現在の作業ディレクトリ (.) から検索を開始します。-vsn パラメータは、現在のテープ VOL008 上で見つかったファイルに検索を限定します。-damaged フラグは、正常にステージングできないファイルに検索を限定します。

    root@solaris:~# sfind . -vsn VOL008 -damaged 
    
  5. sfind による損傷したファイルの検索で結果が返されたら、ファイルの修正を試行します。コマンド undamage -m media-type -vsn volume-serial-number file を使用します。ここでは:

    • media-type は、付録A 装置タイプの用語集に一覧表示されている 2 文字のメディアタイプコードの 1 つです。

    • volume-serial-number は、ボリュームを一意に識別する英数字の文字列です。

    • file は、破損したファイルのパスおよび名前です。

    一時的な入出力エラーにより、コピーに破損のマークが付くことがあります。この状態は、Oracle HSM undamage コマンドでクリアします。この例では、アーカイブファイルコピー /samqfs1/data0008/20131025DAT が破損していると報告されます。そのため、この破損を修復し、破損ファイルの検索を再試行します。

    root@solaris:~# sfind . -vsn VOL008 -damaged
    /samqfs1/data0008/20131025DAT
    root@solaris:~# undamage -m lt -vsn VOL008 /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind . -vsn VOL008 -damaged 
    
  6. sfind コマンドにより再度このファイルが破損されていると一覧表示された場合、そのコピーは使用できません。アーカイブに、このファイルの破損していない別のコピーがないか探します。使用可能なコピーを一覧表示するには、コマンド sls -D file を使用します。ここで file は、ファイルのパスおよび名前です。検出されたコピーのステータスをチェックするには、コマンド sfind file -vsn volume-serial-number を使用します。

    この例では、undamage コマンドはコピーを修正できませんでした。そのため、sls を使用して、ファイル /samqfs1/data0008/20131025DAT のすべてのコピーを一覧表示します。

    root@solaris:~# undamage -m lt -vsn VOL008 /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind . -vsn VOL008 -damaged
    /samqfs1/data0008/20131025DAT
    root@solaris:~# sls -D /samqfs1/data0008/20131025DAT
    20131025DAT:
    mode: -rw-r--r--  links:   1  owner: root      group: other
                length:    319279  admin id:      7  inode: 1407.5
                project: system(0)
                offline;  archdone;  stage -n;
                copy 1: ---- May 21 07:12     1e4b1.1    lt VOL008
                copy 2: ---- May 21 10:29     109c6.1    lt VOL022
    ...
    

    テープボリューム VOL022 は、ファイルの 2 番目のコピーを保持しています。そのため、sfind で 2 番目のコピーをチェックします。

    root@solaris:~# sfind /samqfs1/data0008/20131025DAT -vsn VOL022 -damaged
    
  7. コピーを使用できず、破損していないファイルのコピーが 1 つ存在する場合は、そのファイルを再アーカイブします。アーカイブに 2 つの良好なコピーが保持されたら、次に、破損したコピーをアーカイブ解除します。

    この例では、ボリューム VOL008 上のファイル /samqfs1/data0008/20131025DAT のコピー 1 が使用不能ですが、sfind コマンドでコピー 2 の破損が見つかりませんでした。そのため、archive コマンドに -c オプションを指定して発行し、有効なコピー 1 を作成してから、ボリューム VOL008 上の破損したコピーをアーカイブ解除します。

    root@solaris:~# sfind /samqfs1/data0008/20131025DAT -vsn VOL022 -damaged
    root@solaris:~# archive -c 1 /samqfs1/data0008/20131025DAT
    ...
    root@solaris:~# unarchive -m lt -vsn VOL008 /samqfs1/data0008/20131025DAT
    
  8. 使用可能なコピーが存在しない場合は、キャッシュ内にファイルが存在するかどうかを確認します。コマンド sfind . -vsn volume-serial-number -online を使用します。

    この例では、ボリューム VOL008 のコピー 1 とボリューム VOL022 のコピー 2 がどちらも破損していて使用できません。そのため、ディスクキャッシュで、ファイルがオンラインで使用可能かどうかを確認します。

    root@solaris:~# undamage -m lt -vsn VOL008 /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind . -vsn VOL008 -damaged
    /samqfs1/data0008/20131025DAT
    root@solaris:~# undamage -m lt -vsn VOL022 /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind /samqfs1/data0008/20131025DAT -vsn VOL022 -damaged
    /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind /samqfs1/data0008/20131025DAT -online
    
  9. 使用可能なコピーが存在しないが、キャッシュ内にファイルが存在する場合は、そのファイルをアーカイブします。アーカイブに 2 つの良好なコピーが保持されたら、次に、破損したコピーをアーカイブ解除します。

    この例では、ボリューム VOL008 のコピー 1 およびボリューム VOL022 のコピー 2 のいずれも使用できないため、archive コマンドを発行して 2 つの有効なコピーを作成してから、ボリューム VOL008 上の破損したコピーをアーカイブ解除します。

    root@solaris:~# undamage -m lt -vsn VOL008 /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind . -vsn VOL008 -damaged
    /samqfs1/data0008/20131025DAT
    root@solaris:~# undamage -m lt -vsn VOL022 /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind /samqfs1/data0008/20131025DAT -vsn VOL022 -damaged
    /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind /samqfs1/data0008/20131025DAT -online
    /samqfs1/data0008/20131025DAT
    root@solaris:~# archive /samqfs1/data0008/20131025DAT
    root@solaris:~# unarchive -m lt -vsn VOL008 /samqfs1/data0008/20131025DAT
    
  10. 使用可能なコピーが存在せず、ディスクキャッシュ内にファイルが存在しない場合は、データが失われた可能性が高くなります。データがクリティカルである場合は、データ回復の専門家がいる会社に連絡して支援を求めてください。それ以外の場合、破損したコピーをアーカイブ解除します。

    この例では、ボリューム VOL008 のコピー 1 とボリューム VOL022 のコピー 2 がどちらも使用できません。sfind コマンドは、ディスクキャッシュ内でファイルを見つけられませんでした。データは重要ではありません。そのため、ボリューム VOL008 上の破損したコピーをアーカイブ解除します。

    root@solaris:~# undamage -m lt -vsn VOL008 /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind . -vsn VOL008 -damaged
    /samqfs1/data0008/20131025DAT
    root@solaris:~# undamage -m lt -vsn VOL022 /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind /samqfs1/data0008/20131025DAT -vsn VOL022 -damaged
    /samqfs1/data0008/20131025DAT
    root@solaris:~# sfind /samqfs1/data0008/20131025DAT -online
    root@solaris:~# archive /samqfs1/data0008/20131025DAT
    root@solaris:~# unarchive -m lt -vsn VOL008 /samqfs1/data0008/20131025DAT
    
  11. sfind による損傷したファイルの検索で結果が返されない場合は、ファイルを現在のテープからディスクキャッシュにステージングします。コマンド sfind . -vsn volume-serial-number -offline -exec stage {}\; を使用します

    -vsn パラメータは、現在のテープで見つかったファイルに検索を限定します (必ず一度に 1 つのテープのデータを移行します)。

    -offline パラメータは、データが上書きされないように、キャッシュ内にまだ存在しないファイルに sfind の出力をさらに限定します。

    -exec stage {}\; 引数は、sfind が返す各パスとファイル名を取り、それを Oracle HSM stage コマンドの引数として使用します。次に、stage コマンドが、指定したファイルをディスクキャッシュに復元します。対象のすべてのファイルがステージングされるまでプロセスは繰り返されます。

    この例では、sfind -vsn VOL008 -damaged コマンドが出力を返しません。そのため、sfind を使用して、VOL008 上で見つかったファイルのうち、キャッシュ内にないすべてのファイルをステージングします。

    root@solaris:~# sfind . -vsn VOL008 -damaged
    root@solaris:~# sfind . -vsn VOL008 -offline -exec stage {}\;
    
  12. ファイルがテープからステージングされたら、ファイルを選択的に再度アーカイブします。コマンド sfind . -vsn volume-serial-number -online -exec rearch -r -m media-type {}\; を使用します。ここで media-type は、移行元メディアのタイプです。

    -vsn パラメータは、現在のテープでも見つかったファイルに検索を限定します (必ず一度に 1 つのテープのデータを移行します)。

    -online パラメータは、データが上書きされないように、キャッシュ内に存在するファイルに sfind の出力をさらに限定します。

    -exec rearch -r -m media-type {}\; 引数は、sfind が返す各パスとファイル名を取り、それを Oracle HSM rearch -r -m media-type コマンドの引数として使用します。-r 引数は、サブディレクトリを介してプロセスを再帰的に実行します。-m 引数は、ソースメディア上にあるファイルのみを再アーカイブします。

    この例では、-vsn パラメータの値は VOL008-m パラメータの値は DLT メディアを表す lt に指定されています。

    root@solaris:~# sfind . -vsn VOL008 -online -exec rearch -r -m lt {}\;
    
  13. sfind による検索でファイルが見つからなくなるまで、上記の手順を繰り返します。

  14. すべてのファイルが再度アーカイブされたら、計画通りにテープを処分します (古いメディアの移行後処理の計画を参照)。

  15. すべての古いメディアから新しいメディアにデータが移行されるまで、この手順を繰り返します。