QFS ファイルシステムは、すべての Oracle HSM ソリューションの基本構成ブロックです。これは単独で使用され、高いパフォーマンス、事実上無制限の容量、および非常に大きいファイルのサポートを提供します。Oracle Hierarchical Storage Manager および適切に構成されたアーカイブストレージとともに使用された場合は、Oracle HSM アーカイブファイルシステムになります。これにより、アーカイブおよび非アーカイブの両方の 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
のマニュアルページを参照してください。
構成プロセスを開始する前に、計画した構成に必要なディスクリソースを選択します。raw デバイススライスである ZFS zvol
ボリュームまたは Solaris Volume Manager ボリュームを使用できます。
ms
ファイルシステムの構成ファイルシステムホストに root
としてログインします。ゾーンを含むホストが構成されている場合、大域ゾーンにログインします。
root@solaris:~#
ファイル /etc/opt/SUNWsamfs/mcf
を作成します。
mcf
(マスター構成ファイル) は、空白文字で区切られた 6 列からなる表で、それぞれの列は、QFS ファイルシステムを定義する次のパラメータの 1 つを表します。Equipment Identifier
、Equipment Ordinal
、Equipment Type
.Family Set
、Device State
、および Additional Parameters
。表内の行は、ストレージデバイスとデバイスのグループ (ファミリセット) の両方を含むファイルシステム装置を表します。
mcf
ファイルを作成するには、Oracle HSM Manager のグラフィカルユーザーインタフェースでオプションを選択するか、テキストエディタを使用します。次の例では、vi
テキストエディタを使用します。
root@solaris:~# vi /etc/opt/SUNWsamfs/mcf ~ ~ "/etc/opt/SUNWsamfs/mcf" [New File]
わかりやすくするために、列見出しはコメントとして入力します。
コメント行は、シャープ記号 (#
) で始まります。
# Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #----------------- --------- --------- --------- ------ ----------------
最初の行の Equipment Identifier
フィールド (最初の列) に、新しいファイルシステムの名前を入力します。
この例では、ファイルシステムの名前は qfsms
です。
# Equipment Equipment Equipment Family Device Additional
# Identifier Ordinal Type Set State Parameters
#----------------- --------- --------- --------- ------ ----------------
qfsms
Equipment Ordinal
フィールド (2 番目の列) に、ファイルシステムを一意に識別する番号を入力します。
装置番号は、Oracle HSM によって制御されるすべての装置を一意に識別します。この例では、qfsms
ファイルシステムに 100
を使用します。
# Equipment Equipment Equipment Family Device Additional
# Identifier Ordinal Type Set State Parameters
#----------------- --------- --------- --------- ------ ----------------
qfsms 100
「Equipment Type
」フィールド (3 番目の列) に、汎用 QFS ファイルシステムの装置タイプ ms
を入力します。
# Equipment Equipment Equipment Family Device Additional
# Identifier Ordinal Type Set State Parameters
#----------------- --------- --------- --------- ------ ----------------
qfsms 100 ms
Family Set
フィールド (4 番目の列) に、ファイルシステムの名前を入力します。
Family Set
パラメータは、無人のテープライブラリとその常駐テープドライブや、ファイルシステムとそのコンポーネントディスクデバイスなど、ユニットを形成するために一緒に構成されている装置のグループを定義します。
# Equipment Equipment Equipment Family Device Additional
# Identifier Ordinal Type Set State Parameters
#----------------- --------- --------- --------- ------ ----------------
qfsms 100 ms qfsms
Device State
列に on
と入力して、Additional Parameters
列はブランクのままにします。
この行は完成です。
# Equipment Equipment Equipment Family Device Additional
# Identifier Ordinal Type Set State Parameters
#----------------- --------- --------- --------- ------ ----------------
qfsms 100 ms qfsms on
新しい行を開始します。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
ディスクデバイス行 (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
ディスクデバイス行 (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
次に、残りのディスクデバイスのエントリを追加して、ファイルを保存し、エディタを終了します。
# 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:~#
sam-fsd
コマンドを実行して、mcf
ファイルにエラーがないかどうかを確認します。
sam-fsd
コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーを検出すると停止します。
root@solaris:~# sam-fsd
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
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()
新しいファイルシステム用のマウントポイントディレクトリを作成し、マウントポイントに対するアクセス権を設定します。
ユーザーはマウントポイントポイントディレクトリに移動し、マウントしたファイルシステム内のファイルにアクセスするための実行権 (x
) を持っている必要があります。この例では、/qfsms
マウントポイントディレクトリを作成し、アクセス権を 755
(-rwxr-xr-x
) に設定します。
root@solaris:~# mkdir /qfsms root@solaris:~# chmod 755 /qfsms
mcf
ファイルを再度読み取り、ソフトウェア自体を適宜再構成するように Oracle HSM ソフトウェアに指示します。コマンド samd
config
を使用します。
root@solaris:~# samd config Configuring SAM-FS root@solaris:~#
コマンド 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:~#
/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
のマニュアルページを参照してください。
オペレーティングシステムの /etc/vfstab
ファイルをバックアップします。
root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
新しいファイルシステムをオペレーティングシステムの仮想ファイルシステム構成に追加します。ファイルをテキストエディタで開き、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 -
/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
ラウンドロビン式割り当てを指定するには、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
ストライプ化割り当てを指定するには、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 つずつ書き込みます。
その他の必要な変更を /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
vfstab
ファイルを保存して、エディタを閉じます。
...
qfsms - /qfsms samfs - no stripe=1
:wq
root@solaris:~#
新しいファイルシステムをマウントします。
root@solaris:~# mount /qfsms
ファイルシステムが完成し、使用する準備ができました。
次の手順:
Oracle Hierarchical Storage Manager を使用してアーカイブファイルシステムを設定する場合、Oracle HSM アーカイブファイルシステムの構成を参照してください。
ファイルシステムで WORM (書き込み 1 回、読み取り複数回) 機能を有効にする必要がある場合、Write Once Read Many (WORM) ファイルのサポートの有効化を参照してください。
LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、Linear Tape File System (LTFS) のサポートの有効化を参照してください。
複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。
ma
ファイルシステムの構成Oracle HSM ソフトウェアをファイルシステムホストにインストールしたら、後述のとおりに ma
ファイルシステムを構成します。
ファイルシステムホストに root
としてログインします。ゾーンを含むホストが構成されている場合、大域ゾーンにログインします。
root@solaris:~#
メタデータを保持するディスクデバイスを選択します。
データを保持するディスクデバイスを選択します。
mcf
ファイルを作成します。
mcf
ファイルを作成するには、Oracle HSM Manager のグラフィカルユーザーインタフェースでオプションを選択するか、テキストエディタを使用します。次の例では、vi
テキストエディタを使用します。
root@solaris:~# vi /etc/opt/SUNWsamfs/mcf ~ "/etc/opt/SUNWsamfs/mcf" [New File]
わかりやすくするために、列見出しはコメントとして入力します。
コメント行は、シャープ記号 (#
) で始まります。
# Equipment Equipment Equipment Family Device Additional # Identifier Ordinal Type Set State Parameters #------------------ --------- --------- ------ ------ -----------------
ファイルシステムファミリセットのエントリを作成します。
この例では、ファイルシステムを qfsma
と指定し、装置番号を 200
に増分し、装置タイプを ma
に設定し、ファミリセット名を qfsma
に設定して、デバイスの状態 on
を設定します。
# Equipment Equipment Equipment Family Device Additional
# Identifier Ordinal Type Set State Parameters
#------------------ --------- --------- ------ ------ -----------------
qfsma 200 ma qfsma on
メタデータデバイスごとにエントリを追加します。装置識別子の列で選択したディスクデバイスの識別子を入力し、装置番号を設定して、装置タイプを 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
次に、データデバイスのエントリを追加して、ファイルを保存し、エディタを終了します。
これらは、md
、mr
、またはストライプグループ (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:~#
sam-fsd
コマンドを実行して、mcf
ファイルにエラーがないかどうかを確認します。
sam-fsd
コマンドは、Oracle HSM 構成ファイルを読み取り、ファイルシステムを初期化します。エラーを検出すると停止します。
root@solaris:~# sam-fsd
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
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()
/opt/SUNWsamfs/sbin/sammkfs
コマンドとファイルシステムのファミリセット名を使用してファイルシステムを作成します。
この例では、md
デバイスを持つ ma
ファイルシステムのデフォルトのディスク割り当て単位 (DAU) サイズである 64
K バイトを使用してファイルシステムを作成します。
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 サイズに 16
K バイトまたは 32
K バイトを指定することもできます。16K バイトの DAU を指定するには、-a
オプションを指定して sammkfs
コマンドを使用します。
root@solaris:~# sammkfs -a 16 qfsma
mr
デバイスと g
XXX
ストライプグループの DAU は、8 - 65528
K バイトの範囲内で、8K バイト単位の増分で完全に調整可能です。デフォルトは、mr
デバイスの場合は 64
K バイトで、g
XXX
ストライプグループの場合は 256
K バイトです。詳細は、sammkfs
のマニュアルページを参照してください。
オペレーティングシステムの /etc/vfstab
ファイルをバックアップします。
root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
新しいファイルシステムをオペレーティングシステムの仮想ファイルシステム構成に追加します。テキストエディタで /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 -
/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
ラウンドロビン式割り当てを指定するには、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
ストライプ化割り当てを指定するには、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
使用可能なハードウェアをよりよく活用するために、ストライプ幅の調整を試すことができます。ファイルシステムの 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
それ以外の場合は、vfstab
ファイルを保存します。
...
qfsma - /qfsma samfs - no stripe=1
:wq
root@solaris:~#
新しいファイルシステムをマウントします。
root@solaris:~# mount /qfsms
基本ファイルシステムが完成し、使用する準備ができました。
Oracle Hierarchical Storage Manager を使用してアーカイブファイルシステムを設定する場合、Oracle HSM アーカイブファイルシステムの構成を参照してください。
ファイルシステムで WORM (書き込み 1 回、読み取り複数回) 機能を有効にする必要がある場合、Write Once Read Many (WORM) ファイルのサポートの有効化を参照してください。
LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、Linear Tape File System (LTFS) のサポートの有効化を参照してください。
複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。
それ以外の場合は、通知とロギングの構成に進みます。
アーカイブファイルシステムは、1 つ以上の QFS ma
- タイプまたは ms
- タイプのファイルシステムをアーカイブストレージおよび Oracle HSM software と組み合わせます。Oracle HSM software は、セカンダリディスクストレージまたはリムーバブルメディア、あるいはその両方を基本ファイルシステムの操作と統合するため、ファイルはさまざまメディアの複数のコピーに保持されます。この冗長性により、データの保護は連続して行われ、非常に大きいファイルのポリシー主導型の保存と効率的なストレージがサポートされます。
Oracle HSM ホスト上に必要なすべてのディスクアーカイブファイルシステムを作成し、ホスト構成にローカルとリモートの両方のディスクアーカイブファイルシステムを追加します。次に示されている手順を使用します。
Oracle HSM サーバー上のファイルシステムをディスクアーカイブとして使用する予定がある場合は、次の手順を実行します。
Oracle HSM サーバーにローカルにマウントされているディスクアーカイブボリュームごとに QFS、ZFS、または UFS ファイルシステムを作成します。
ほかのアプリケーションと共有する必要のある既存の汎用ファイルシステムを使用しないでください。
ディスクアーカイブボリュームとして 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
次に、Oracle HSM ホストシステムの構成にディスクアーカイブを追加します。
Oracle HSM ホスト上で、物理テープライブラリがアーカイブテープボリュームを保持するのと同様に、ディスクアーカイブボリュームのマウントポイントを保持するための 1 つの親ディレクトリを作成します。
この例では、ディレクトリ /diskvols
を作成します。
root@solaris:~# mkdir /diskvols
親ディレクトリで、アーカイブファイルシステムごとにマウントポイントディレクトリを作成します。
この例では、マウントポイントディレクトリ DISKVOL1
および DISKVOL2
- DISKVOL15
を作成します。
root@solaris:~# mkdir /diskvols/DISKVOL1 root@solaris:~# mkdir /diskvols/DISKVOL2 ... root@solaris:~# mkdir /diskvols/DISKVOL15
Oracle HSM ホストで、/etc/vfstab
ファイルをバックアップします。
root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
エディタで /etc/vfstab
ファイルを開きます。
root@solaris:~# vi /etc/vfstab
ディスクアーカイブとして機能するローカル 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
ディスクアーカイブとして機能する 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 -
/etc/vfstab
ファイルを保存して、エディタを閉じます。
...
oscsa1:/DISKVOL14 - /diskvols/DISKVOL3 nfs - yes -
oscsa1:/DISKVOL15 - /diskvols/DISKVOL15 nfs - yes -
:wq
root@solaris:~#
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
このセクションでは、次のタスクについて説明します。
Oracle StorageTek ACSLS ネットワーク接続ライブラリを使用している場合、次のように構成するか、Oracle HSM Managerのグラフィカルユーザーインタフェースを使用してライブラリを自動的に検出して構成できます (Oracle HSM Manager の使用手順については、オンラインヘルプを参照してください)。
次のように進めます。
Oracle HSM サーバーホストに root
としてログインします。
root@solaris:~#
/etc/opt/SUNWsamfs
ディレクトリに移動します。
root@solaris:~# cd /etc/opt/SUNWsamfs
テキストエディタで、構成するネットワーク接続ライブラリのタイプに対応する名前で新しいファイルを開始します。
この例では、Oracle StorageTek ACSLS ネットワーク接続ライブラリのパラメータファイルを開始します。
root@solaris:~# vi /etc/opt/SUNWsamfs/acsls1params # Configuration File for an ACSLS Network-Attached Tape Library 1
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)
ファイルを保存して、エディタを閉じます。
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:~#
ライブラリまたはアプリケーションソフトウェアがバーコード付きリムーバブルメディアの非標準のラベルを使用する場合は、ここでラベル付け動作を構成します。
ドライブまたはアプリケーションソフトウェアが Oracle HSM のデフォルトと互換性がないことがわかっている場合は、ここでドライブ時間値を設定します。
それ以外の場合は、アーカイブファイルシステムの構成に進みます。
デフォルトでは、ライブラリがバーコードリーダーとバーコード付きメディアを保持している場合、Oracle HSM ソフトウェアは、バーコードの最初の 6 文字でボリュームを自動的にラベル付けします。ただし、代わりのバーコード読み取りに基づいたボリュームラベルになるように Oracle HSM を構成できます。それを行うには、次の手順を実行します。
Oracle HSM ホストに root
としてログインします。
root@solaris:~#
デフォルト以外の動作が必要な場合、または以前にデフォルトをオーバーライドしており、それをリセットする必要がある場合は、テキストエディタでファイル /etc/opt/SUNWsamfs/defaults.conf
を開きます。
この例では、vi
エディタでファイルを開きます。
root@solaris:~# vi /opt/SUNWsamfs/examples/defaults.conf ...
行 labels
=
が存在する場合はそれを見つけ、存在しない場合はこの行を追加します。
この例では、ディレクティブを追加します。
root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf # These are the defaults. ... labels =
バーコードの最初の 6 文字に基づく自動的なラベル付け (デフォルト) を再度有効にするには、labels
ディレクティブの値を barcodes
に設定します。ファイルを保存して、エディタを閉じます。
これで、Oracle HSM ソフトウェアは、テープのバーコードの最初の 6 文字をラベルとして使用して、ラベルが付いていないテープに自動的に再ラベル付けします。
root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf ... labels = barcodes :wq root@solaris:~#
テープのバーコードの最後の 6 文字に基づいた自動ラベル付けを有効にするには、labels
ディレクティブの値を barcodes_low
に設定します。ファイルを保存して、エディタを閉じます。
labels
ディレクティブを barcodes_low
に設定すると、Oracle HSM ソフトウェアは、テープのバーコードの最後の 6 文字をラベルとして使用して、ラベルが付いていないテープを自動的に再ラベル付けします。
root@solaris:~# vi /etc/opt/SUNWsamfs/defaults.conf ... labels = barcodes_low :wq root@solaris:~#
自動ラベル付けを無効にして、テープからラベルを読み取るように 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:~#
ドライブまたはアプリケーションソフトウェアが Oracle HSM のデフォルトと互換性がないことがわかっている場合は、ここでドライブ時間値を設定します。
それ以外の場合は、アーカイブファイルシステムの構成に進みます。
デフォルトでは、Oracle HSM ソフトウェアは、次のようにしてドライブ時間パラメータを設定します。
指定されたデバイスタイプがメディアをマウント解除するまでに必要な最小経過時間は、60
秒です。
SCSI unload
コマンドに応答しているライブラリに対して新しいコマンドを発行するまでに Oracle HSM ソフトウェアが待機する時間は、15
秒です。
アイドル状態のドライブをアンロードするまでに Oracle HSM ソフトウェアが待機する時間は、600
秒 (10 分) です。
複数の Oracle HSM サーバーによって共有されるアイドル状態のドライブをアンロードするまでに Oracle HSM ソフトウェアが待機する時間は、600
秒 (10 分) です。
デフォルトの時間値を変更するには、次のように進めます。
ログインしていない場合は、Oracle HSM ホストに root
としてログインします。
root@solaris:~#
テキストエディタで /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.
...
必要に応じて、指定されたデバイスタイプがメディアをマウント解除するまでに必要な最小経過時間を指定します。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
必要に応じて、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
必要に応じて、アイドル状態のドライブをアンロードするまでに 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
必要に応じて、アイドル状態の共有ドライブをアンロードするまでに 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
ファイルを保存して、エディタを閉じます。
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:~#
アーカイブファイルシステムを構成するための手順は、データファイルの追加のコピーを格納するためのデバイスを追加する点を除き、非アーカイブファイルシステムを作成する場合と同じです。
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
アーカイブテープストレージを追加するには、ライブラリのエントリの追加から開始します。「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
装置タイプを汎用 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
オプションで、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
次に、ライブラリファミリセットの一部である各テープドライブのエントリを追加します。各ドライブは、ライブラリに物理的に取り付けられている順序で追加します。
ドライブをライブラリに取り付ける順序の確認で作成したドライブマッピングファイルに表示されているドライブの順序に従います。この例では、/dev/rmt/1
、/dev/rmt/0
、/dev/rmt/2
、および /dev/rmt/3
で Solaris に接続されているドライブはそれぞれ、ライブラリ内のドライブ 1
、2
、3
、および 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
最後に、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
mcf
ファイルを保存して、エディタを閉じます。
...
/dev/rmt/3cbn 904 tp library1 on
historian 999 hy - - ...catalog/historian_cat
:wq
root@solaris:~#
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:~#
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
新しいファイルシステム用のマウントポイントディレクトリを作成し、マウントポイントに対するアクセス権を設定します。
ユーザーはマウントポイントポイントディレクトリに移動し、マウントしたファイルシステム内のファイルにアクセスするための実行権 (x
) を持っている必要があります。この例では、/samms
マウントポイントディレクトリを作成し、アクセス権を 755
(-rwxr-xr-x
) に設定します。
root@solaris:~# mkdir /samms root@solaris:~# chmod 755 /samms
mcf
ファイルを再度読み取り、ソフトウェア自体を適宜再構成するように Oracle HSM ソフトウェアに指示します。報告されたエラーをすべて修正して、必要に応じて繰り返します
root@solaris:~# /opt/SUNWsamfs/sbin/samd config Configuring SAM-FS root@solaris:~#
ファイルシステムホストに root
としてログインします。ゾーンを含むホストが構成されている場合、大域ゾーンにログインします。
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 -
高位境界値を設定します。これは、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
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
以前にアーカイブされたファイルがディスクから解放されるときに、ユーザーが一部のファイルデータをディスクキャッシュに保持する必要がある場合、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
」セクションを参照してください。
この例では、アプリケーションの特性に基づいて maxpartial
を 128
、partial
を 64
に設定し、それ以外はデフォルト値を受け入れます。
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
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
/etc/vfstab
ファイルを保存して、エディタを閉じます。
...
server:/DISKVOL15 - /diskvols/DISKVOL15 nfs - yes
:wq
root@solaris:~#
Oracle HSM アーカイブファイルシステムをマウントします
root@solaris:~# mount /samms
次に、アーカイブプロセスを構成します。
アーカイブファイルシステムを作成してマウントしたら、通常はアーカイブ要件のすべてまたはほとんどに対応でき、追加の構成はほとんどありません。ほとんどの場合、ファイルシステムを識別し、それぞれのアーカイブコピーの数を指定して、各コピーにメディアボリュームを割り当てるテキストファイル archiver.cmd
を作成する以外の作業は必要ありません。
Oracle HSM アーカイブ処理には多数のチューンアップパラメータがありますが、明確な特殊要件がない場合、通常はデフォルト設定を受け入れるべきです。デフォルトは、可能なかぎり広範な状況でメディアマウントの数を最小限に抑えて、メディアの利用率を最大化し、エンドツーエンドのアーカイブパフォーマンスを最適化するために慎重に選択されています。そのため、調整を行う必要がある場合は、アーカイバが作業のスケジューリングとメディアの選択を行うための自由を不必要に制限する変更については特に気をつけてください。ストレージ操作の細かい管理を試みるときには、場合によってはパフォーマンスと全体的な効率が大幅に低下することがあります。
ただし、ほとんどすべての状況でアーカイブのロギングを有効にするべきです。ログファイルは適切に管理しないと過剰なサイズに達する可能性があるため、アーカイブロギングはデフォルトでは有効になっていません (管理については、『Oracle Hierarchical Storage Manager and StorageTek QFS Software 保守および管理ガイド』で説明します)。ただし、ファイルシステムが破損したり失われたりした場合、アーカイブログファイルを使用すると、通常であれば簡単には復元できないファイルを回復できます。ファイルシステムの保護を構成する場合は、回復ポイントファイル内のファイルシステムメタデータを使用すると、アーカイブコピーに格納されているデータからファイルシステムをすばやく再構築できます。ただし、ファイルシステムが破損したり失われたりする前、かつ最後の回復ポイントが生成されたあとで、必然的にいくつかのファイルがアーカイブされます。この状況では、アーカイブメディアは有効なコピーを保持しますが、ファイルシステムのメタデータがない場合、コピーを自動的に見つけることができません。ファイルシステムのアーカイブログには、各アーカイブコピーと各ボリューム内での対応する tar
ファイルの位置を保持するメディアのボリュームシリアル番号が記録されるため、tar
ユーティリティーを使用すると、これらのファイルを回復し、ファイルシステムを完全に復元できます。
archiver.cmd
ファイルを作成して、アーカイブ処理を構成するには、次のように進めます。
ホストに root
としてログインします。
root@solaris:~#
テキストエディタで新しい /etc/opt/SUNWsamfs/archiver.cmd
ファイルを開きます。
archiver.cmd
内の各行は、空白文字で区切られた 1 つ以上のフィールドで構成されます (先頭の空白文字は無視されます)。
この例では、vi
エディタを使用してファイルを開き、コメントを入力します。
root@solaris:~# vi /etc/opt/SUNWsamfs/archiver.cmd
# Configuration file for archiving file systems
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
必要な汎用アーカイブディレクティブをすべて入力したら、アーカイブセットへのファイルの割り当てを開始します。新しい行に、割り当てディレクティブ 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
次の行で、アーカイブロギングを有効にします。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
次の行で、このファイルシステムからアーカイブセットにファイルを割り当てます。作成する必要があるアーカイブセットごとに、ディレクティブ 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 .
次に、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
残りのファイルシステムのアーカイブセットを定義します。
この例では、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 .
次に、コピーの作成方法を管理するディレクティブを入力します。新しい行で、キーワード params
を入力して、コピーパラメータセクションを開始します。
...
fs = DISKVOL1 # QFS File System (Archival Media)
no_archive .
#-----------------------------------------------------------------------
# Copy Parameter Directives
params
すべてのアーカイブセットのすべてのコピーに適用される共通のコピーパラメータを設定する必要がある場合、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
すべてのアーカイブセット内の特定のコピーのコピーパラメータを設定する必要がある場合、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
特定のアーカイブセットとコピーにディレクティブを設定する必要がある場合、archive-set-name
.
copy-number
-
param
value
...
形式の行を入力します。ここで、archive-set-name
は、アーカイブセットに使用される名前、copy-number
は、ディレクティブが適用されるコピーの番号で、-
param
value
...
は、スペースで区切られた 1 つ以上のパラメータ/値のペアを表します。
パラメータとその値の詳細は、archiver.cmd
マニュアルページの「ARCHIVE SET COPY PARAMETERS SECTION
」を参照してください。
次の例では、2 つのアーカイブセット hq
および branches
が corpfs
ファイルシステムに対して定義されています。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
必要なすべてのコピーパラメータを設定したら、新しい行に 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
オプションで、vsnpools
キーワード、pool-name
media-type
volumes
形式の 1 つ以上のディレクティブを入力して、メディアプールを定義できます。ここで、pool-name
は、プールに割り当てた名前、media-type
は、付録A 装置タイプの用語集で定義されているメディアタイプコードの 1 つ、volumes
は、1 つ以上のボリュームシリアル番号 (VSN) と一致する正規表現です。endvsnpools
キーワードを使用してディレクティブのリストを閉じます。
メディアプールはオプションであり、通常はアーカイブ処理に使用可能なメディアを制限する必要はありません。そのため、これらの例ではメディアプールを定義しません。詳細は、archiver.cmd
のマニュアルページの「VSN POOL DEFINITIONS SECTION
」を参照してください。
次に、アーカイブセットコピーで使用するべきアーカイブメディアの特定を開始します。新しい行に、キーワード 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
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]
すべてのアーカイブセットコピーにメディアを指定したら、新しい行に 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:~#
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:~#
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:~#
archiver.cmd
ファイルを再度読み取り、それに従って Oracle HSM ソフトウェア自体を再構成するようにこのソフトウェアに指示します。samd
config
コマンドを使用します。
root@solaris:~# /opt/SUNWsamfs/sbin/samd config Configuring SAM-FS root@solaris:~#
テキストエディタで /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:~#
テキストエディタで /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:~#
リサイクルはデフォルトでは有効になっていません。そのため、リムーバブルメディアボリュームのリサイクルが必要な場合、リサイクルプロセスの構成に進みます。
Oracle HSM アーカイブファイルシステムの mcf
ファイルのアーカイブ装置セクションに、ネットワーク接続テープライブラリが含まれている場合、ネットワーク接続テープライブラリに格納されているアーカイブメディアのカタログ作成に進みます。
アーカイブテープボリュームの整合性を検証できる必要がある場合、アーカイブメディア検証の構成に進みます。
それ以外の場合は、ファイルシステムの保護の構成を実行します。
リムーバブルメディアボリュームに含まれている有効なアーカイブセットの数が、ユーザー指定の数より少ない場合、リサイクラはほかのボリュームに関する有効なデータを統合して、元のボリュームを長期間のストレージのためにエクスポートしたり、再使用のために再ラベル付けできるようにします。リサイクルは、次の 2 つの方法のいずれかで構成できます。
アーカイブセット単位でメディアをリサイクルする場合は、リサイクルディレクティブを archiver.cmd
ファイルに追加します。各アーカイブセットコピー内のメディアをリサイクルする方法を正確に指定できます。アーカイブセットのメンバーのみが考慮されるため、リサイクル基準はより厳密に適用されます。
可能な場合は、ライブラリ単位ではなくアーカイブセット単位でメディアをリサイクルしてください。Oracle HSM アーカイブファイルシステムでは、リサイクルは論理的に、ライブラリ管理ではなくファイルシステム操作の一部です。リサイクルによって、アーカイブ処理、解放処理、およびステージングが補完されます。そのため、これをアーカイブ処理の一部として構成することは理にかなっています。構成にディスクアーカイブボリュームや SAM-Remote が含まれている場合は、アーカイブセット単位でリサイクルを構成する必要があります。
ライブラリ単位でメディアをリサイクルする場合は、リサイクルディレクティブを recycler.cmd
ファイルに追加します。そのため、指定したライブラリに含まれているすべてのメディアに共通のリサイクルパラメータを設定できます。リサイクルディレクティブは、ライブラリ内のすべてのボリュームに適用されるため、アーカイブセットに固有のディレクティブよりも本質的に粒度が低くなります。指定したボリュームシリアル番号 (VSN) を検査から明示的に除外できます。ただし、それ以外の場合、リサイクル処理では単に、現在有効なアーカイブファイルと見なされないものを含むボリュームが検索されます。
その結果、ライブラリ単位でリサイクルすると、リサイクルされるファイルシステムの一部ではないファイルが破壊されることがあります。リサイクルディレクティブで明示的に除外しない場合、アーカイブログやライブラリカタログのバックアップコピーなどの役に立つデータや、ほかのファイルシステムのアーカイブメディアが危険にさらされることがあります。このため、SAM-Remote を使用している場合は、ライブラリ単位ではリサイクルできません。SAM-Remote サーバーによって制御されるライブラリ内のボリュームには、サーバーではなくクライアントによって所有される外部アーカイブファイルが含まれています。
Oracle HSM ファイルシステムホストに root
としてログインします。
root@solaris:~#
/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
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:~#
archiver.cmd
ファイルでエラーを調べます。コマンド archiver -lv
を使用します。
コマンド archiver -lv
は archiver.cmd
を読み取って、エラーが見つからない場合は構成レポートを生成します。それ以外の場合、エラーを記録して停止します。この例では、ファイルにはエラーは含まれていません。
root@solaris:~# archiver -lv
Reading '/etc/opt/SUNWsamfs/archiver.cmd'.
...
VOL399
Total space available: 300T
root@solaris:~#
archiver.cmd
ファイル内にエラーが見つかった場合、修正して、ファイルを再度チェックします。
テキストエディタで 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:~#
テキストエディタで /etc/opt/SUNWsamfs/scripts/recycler.sh
スクリプトを開き、リサイクルしたリムーバブルメディアボリュームを処理するためのシェルコマンドを入力します。
有効なアーカイブコピーが排出されたリムーバブルメディアボリュームがリサイクル処理で識別されると、リサイクルされたメディアを処理するために設計された C シェルスクリプトである recycler.sh
ファイルが呼び出されます。
ボリュームのリサイクルの準備ができたことを管理者に通知するタスク、再利用のためにボリュームを再ラベル付けするタスク、または長期間の履歴保存のためにライブラリからボリュームをエクスポートするタスクなど、必要なタスクを実行するようにファイルを編集します。
デフォルトでは、スクリプトは、スクリプトを設定するよう root
ユーザーに通知します。
Oracle HSM アーカイブファイルシステムの mcf
ファイルのアーカイブ装置セクションに、ネットワーク接続テープライブラリが含まれている場合、ネットワーク接続テープライブラリに格納されているアーカイブメディアのカタログ作成に進みます。
それ以外の場合は、ファイルシステムの保護の構成に進みます。
Oracle HSM ファイルシステムホストに root
としてログインします。
root@solaris:~#
テキストエディタで /etc/opt/SUNWsamfs/recycler.cmd
ファイルを作成します。
次の例では、vi
エディタを使用します。
root@solaris:~# vi /etc/opt/SUNWsamfs/recycler.cmd # Configuration file for archiving file systems #-----------------------------------------------------------------------
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
リサイクルするべきではないボリュームがアーカイブメディアライブラリ内に存在する場合、ディレクティブ 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]
新しい行に、ディレクティブ 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
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:~#
Oracle HSM アーカイブファイルシステムの mcf
ファイルのアーカイブ装置セクションに、ネットワーク接続テープライブラリが含まれている場合、ネットワーク接続テープライブラリに格納されているアーカイブメディアのカタログ作成に進みます。
それ以外の場合は、ファイルシステムの保護の構成に進みます。
ファイルシステムをマウントしたあと、Oracle HSM ソフトウェアが、mcf
ファイルで構成されている各自動ライブラリのカタログを作成します。ただし、ネットワーク接続ライブラリがある場合は、カタログを生成するためにいくつかの追加の手順を行う必要があります。
次のように進めます。
ファイルシステムホストに root
としてログインします。
root@solaris:~#
アーカイブファイルシステムが Oracle StorageTek ACSLS 接続テープライブラリを使用する場合、必要な Oracle HSM アーカイブメディアをライブラリのスクラッチプールから取得して、カタログを自動的に生成します。コマンド samimport -c
volumes
-s
pool
を使用します。ここで、volumes
は必要なボリュームの数で、pool
はライブラリに対して定義されているスクラッチメディアプールの名前です。ここで停止します。
この例では、scratch
というプールから取得された 20
のテープボリュームを要求します。
root@solaris:~# samimport -c 20 -s scratch
アーカイブファイルシステムが単一の非共有論理ライブラリとして構成された IBM 3494 ネットワーク接続ライブラリを使用する場合、必要なテープボリュームをライブラリメールスロット内に配置して、ライブラリで自動的にカタログ化できるようにします。ここで停止します。
mcf
ファイルの Additional Parameters
フィールドに access=private
が指定されている場合、IBM 3494 ライブラリは単一の論理ライブラリとして構成されます。access=shared
の場合、IBM 3494 ライブラリは複数の論理ライブラリに分割されるため、次に指定されている方法を使用する必要があります。
それ以外の場合、アーカイブファイルシステムが IBM 3494 の共有ネットワーク接続ライブラリまたはその他のネットワーク接続ライブラリを使用するときは、テキストエディタを使用してカタログ入力ファイルを作成します。
この例では、vi
エディタを使用して、ファイル input3494cat
を作成します。
root@solaris:~# vi input3494cat ~ "~/input3494cat" [New File]
レコードの index
を入力して、レコードを開始します。最初のレコードには常に 0
(ゼロ) を入力し、次に後続のレコードごとにインデックスを増分してください。フィールドの終わりを示すスペースを入力します。
行は、build_cat
入力ファイル内のレコードとスペース区切りフィールドを定義します。最初のフィールドの値である index
は単に、Oracle HSM カタログ内のレコードを識別する 0
から始まる連続する整数です。この例では、これは最初のレコードであるため、0
を入力します。
0
~
"~/input3494cat" [New File]
レコードの 2 番目のフィールドには、テープボリュームのボリュームシリアル番号 (VSN) を入力するか、VSN がない場合は単一の ?
(疑問符) を入力します。次に、フィールドの終わりを示すスペースを入力します。
空白文字がある場合、空白文字が含まれている値を "VOL 01"
のように二重引用符で囲みます。この例では、最初のボリュームの VSN には空白文字が含まれていません。
0 VOL001
~
"~/input3494" [New File]
3 番目のフィールドには、ボリュームのバーコード (ボリュームシリアル番号と異なる場合) とボリュームシリアル番号を入力し、ボリュームシリアル番号がない場合は、文字列 NO_BAR_CODE
を入力します。次に、フィールドの終わりを示すスペースを入力します。
この例では、最初のボリュームのバーコードの値は VSN と同じです。
0 VOL001 VOL001
~
"~/input3494cat" [New File]
最後に 4 番目のフィールドに、ボリュームのメディアタイプを入力します。次に、フィールドの終わりを示すスペースを入力します。
メディアタイプは、li
(LTO メディアの場合) などの 2 文字のコードです (メディア装置タイプの総合リストについては、付録A 装置タイプの用語集を参照)。この例では、LTO テープドライブを持つ IBM 3494 ネットワーク接続テープライブラリを使用しているため、li
(最後の空白文字を含める) と入力します。
0 VOL001 VOL001 li
~
"~/input3494cat" [New File]
Oracle HSM で使用するボリュームごとに追加のレコードを作成するには、手順 3 - 6 を繰り返します。次に、ファイルを保存します。
0 VOL001 VOL001 li 1 VOL002 VOL002 li ... 13 VOL014 VOL014 li :wq root@solaris:~#
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
アーカイブファイルシステムが共有されている場合、使用する可能性がある各メタデータサーバーで前述の手順を繰り返します。
アーカイブファイルシステムが完成し、使用する準備ができました。
ファイルシステムを保護するには、2 つのことを実行する必要があります。
データが保持されているファイルを保護する必要があります。
データを使用、整理、検索、アクセス、および管理できるように、ファイルシステム自体を保護する必要があります。
Oracle HSM アーカイブファイルシステムでは、ファイルデータはアーカイバによって自動的に保護されます。変更されたファイルは、テープなどのアーカイブストレージメディアに自動的にコピーされます。ただし、ファイルしかバックアップしていないときに、ディスクデバイスまたは RAID グループに回復不能な障害が発生した場合は、データは保持されますが使用することは難しくなります。代替のファイルシステムの作成、各ファイルの特定、新しいファイルシステム内の適切な場所の決定、そのファイルの取り込み、およびそのファイルとユーザー、アプリケーション、その他のファイルとの間の失われた関係の再作成を行う必要があります。このような回復は、最善の状況でも、面倒で時間のかかるプロセスとなります。
したがって、すばやく効率的に回復するには、ファイルおよびアーカイブコピーを使用可能にするファイルシステムのメタデータを積極的に保護する必要があります。リムーバルメディア上でアーカイブされたコピーに、ディレクトリパス、i ノード、アクセス制御、シンボリックリンク、およびポインタをバックアップする必要があります。
Oracle HSM ファイルシステムのメタデータを保護するには、回復ポイントをスケジュールし、アーカイブログを保存します。回復ポイントは、Oracle HSM ファイルシステムのメタデータのポイントインタイムバックアップコピーを格納する圧縮ファイルです。データの損失 (ユーザーファイルの誤った削除から、ファイルシステム全体の壊滅的な損失まで) が発生した場合は、ファイルまたはファイルシステムが元の状態のままである最新の回復ポイントを見つければ、即座にファイルまたはファイルシステムの既知の良好な最新状態まで回復できます。次に、その時点で記録されたメタデータを復元し、メタデータに示されているファイルをアーカイブメディアからディスクキャッシュにステージングするか、または可能であれば、ユーザーおよびアプリケーションがファイルにアクセスするときに必要に応じてファイルシステムでファイルをステージングするようにします。
ポイントインタイムバックアップコピーと同様に、回復ポイントが障害が発生した時点のファイルシステムの状態の完全なレコードであることは、ほとんどありません。必然的に、1 つの回復ポイントが完成してから、次の回復ポイントが作成されるまで、少なくとも数個のファイルが作成および変更されます。ファイルシステムが使用されていないときに回復ポイントを頻繁に作成するようにスケジュールすれば、この問題を最小限にできます。ただし、現実には、ファイルシステムは使用するために存在するため、スケジューリングには妥協が必要です。
このため、アーカイバログファイルのポイントインタイムコピーを保存する必要もあります。それぞれのデータファイルがアーカイブされると、ログファイルには、アーカイブメディアのボリュームシリアル番号、アーカイブセットとコピー番号、メディアでのアーカイブ (tar
) ファイルの位置、および tar
ファイル内でのデータファイルのパスと名前が記録されます。この情報があれば、Solaris または Oracle HSM tar
ユーティリティーを使用して、失われたファイルを回復ポイントから回復できます。ただし、この情報は変動します。大部分のシステムログと同様に、アーカイバログは急速に増加するため、頻繁に上書きされてしまいます。定期的にコピーして回復ポイントを補完していなければ、必要なときにログ情報がないことになります。
そのため、ファイルシステムの保護にはいくつかの計画が必要です。一方で、回復ポイントとログファイルのコピーを十分な頻度で作成して、失われたり破損したりしたファイルとファイルシステムを回復するために最適な機会を得るのに十分な期間保持する必要があります。他方、データファイルが頻繁に変更されていて、使用しているディスク領域を認識する必要があるときは、回復ポイントとログファイルのコピーを作成することは望ましくありません (回復ポイントファイルとログが大きい可能性があります)。そのため、このセクションでは、変更なしで多数のファイルシステム構成で使用でき、幅広く適用可能な構成を推奨しています。変更が必要な場合は、推奨される構成に問題が説明されており、開始点として優れた役割を果たします。このセクションの残りでは、回復ポイントを作成および管理する手順について説明します。次のサブセクションが含まれます。
構成したアーカイブファイルシステムごとに、次のように進めます。
ファイルシステムホストに root
としてログインします。
root@solaris:~#
回復ポイントファイルのストレージ場所を選択します。ファイルシステムのホストにマウントできる独立したファイルシステムを選択します。
新しい回復ポイントファイルと、指定した任意の時点で保持する予定の数の回復ポイントファイルの両方を格納するのに十分な領域を、選択したファイルシステムに確保してください。
回復ポイントファイルは大きいサイズになる可能性があり、作成する頻度と保持する期間によっては、多数のファイルを格納する必要があります。
選択したファイルシステムが、どの物理デバイスもアーカイブファイルシステムと共有しないようにしてください。
保護対象のファイルシステムに回復ポイントファイルを格納しないでください。アーカイブファイルシステムもホストしている物理デバイス上にある論理デバイス (パーティションや LUN など) に回復ポイントファイルを格納しないでください。
選択したファイルシステムで、回復ポイントファイルを保持するディレクトリを作成します。コマンド mkdir
mount-point
/
path
を使用します。ここで、mount-point
は、選択した独立ファイルシステム用のマウントポイント、path
は、選択したディレクトリのパスと名前です。
複数のアーカイブファイルシステムの回復ポイントファイルを単一のキャッチオールディレクトリに格納しないでください。回復ポイントファイルが編成され、必要に応じて簡単に見つけられるように、それぞれに別個のディレクトリを作成してください。
この例では、アーカイブファイルシステム /samms
用の回復ポイントを構成します。そのため、独立ファイルシステム /zfs1
にディレクトリ /zfs1/samms_recovery
を作成しました。
root@solaris:~# mkdir /zfs1/samms_recovery
ファイルシステムでアーカイブファイルシステムと物理デバイスを共有しない場合、ファイルシステムのアーカイバログのポイントインタイムコピーを格納するためのサブディレクトリを作成します。
この例では、ログのコピーをホストのルートファイルシステムの /var
ディレクトリに格納することを選択します。アーカイブファイルシステム /samms
のファイルシステムの保護を構成します。そのため、ディレクトリ /var/samms_archlogs
を作成します。
root@solaris:~# mkdir /var/samms_archlogs
crontab
ファイルでエントリを作成するか、Oracle HSM Manager のグラフィカルユーザーインタフェースのスケジューリング機能を使用することで、メタデータの回復ポイントファイルを自動的に作成できますが、後者の方法ではアーカイバログデータは自動的には保存されません。そのため、このセクションでは、crontab
の方法に焦点を当てます。グラフィカルユーザーインタフェースを使用して回復ポイントをスケジュールする場合、Manager のオンラインヘルプを参照してください。
次の手順では、毎日実行される 2 つの crontab
エントリを作成します。1 つは、期限切れの回復ポイントファイルを削除してから新しい回復ポイントを作成し、もう 1 つは、アーカイバログを保存します。構成したアーカイブファイルシステムごとに、次のように進めます。
ファイルシステムホストに root
としてログインします。
root@solaris:~#
編集のために 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
最初に、期限切れの回復ポイントファイルを削除して新しい回復ポイントを作成するエントリを作成します。新しい行で、作業を行う時間を指定します。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 * * *
続けて同じ行に、古い回復ポイントファイルをクリーンアップするシェルコマンドを入力します。テキスト ( 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;
同じ行で続けて、回復ポイントが作成されるディレクトリに変更するシェルコマンドを入力します。テキスト 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;
同じ行に続けて、毎日新しい回復ポイントを作成するシェルコマンドを入力します。テキスト /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')
次に、アーカイバログを保存するエントリを作成します。新しい行に、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
同じ行に続けて、現在のアーカイバログをバックアップの場所に移動して一意の名前を指定するシェルコマンドを入力します。テキスト ( 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";
同じ行に続けて、アーカイバログファイルを再初期化するシェルコマンドを入力します。テキスト 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 )
ファイルを保存して、エディタを閉じます。
# 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:~#
ファイルシステムで WORM (書き込み 1 回、読み取り複数回) 機能を有効にする必要がある場合、Write Once Read Many (WORM) ファイルのサポートの有効化を参照してください。
LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、Linear Tape File System (LTFS) のサポートの有効化を参照してください。
アーカイブテープボリュームの整合性を検証できる必要がある場合、アーカイブメディア検証の構成に進みます。
複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。
それ以外の場合は、通知とロギングの構成に進みます。
メディア検証は、SCSI verify
コマンドを使用してテープメディアのデータ整合性を評価する手法です。ホストの SCSI ドライバは、ドライブに書き込むデータの論理ブロックの CRC チェックサムを計算して、verify
コマンドを送信します。ドライブはデータブロックを読み取り、独自のチェックサムを計算して、結果をドライバによって提供された値と比較します。矛盾があった場合はエラーを返します。ドライブは、チェックサムが完了すると読み取ったデータをすぐに破棄するため、ホストで追加の入出力関連のオーバーヘッドは発生しません。
Oracle HSM では、次の 2 つの方法でのメディア検証がサポートされます。
データ整合性検証 (DIV) をサポートするように Oracle HSM を構成することにより、Oracle HSM の定期的なメディア検証の下で手動または自動で StorageTek T10000 テープメディア上のデータを検証できます。
また、Oracle HSM の定期的なメディア検証を構成することにより、StorageTek T10000 テープメディアと LTO Ultrium などのその他の形式の両方のデータを自動的に検証できます。
データ整合性検証 (DIV) は、Oracle StorageTek テープドライブの機能であり、格納されているデータの整合性を保証するために Oracle HSM software とともに機能します。この機能が有効になっている (div = on
または div = verify
) 場合、サーバーホストとドライブの両方が、入出力中にチェックサムを計算して比較します。書き込み操作中に、サーバーは、データブロックごとに 4 バイトチェックサムを計算して、チェックサムをデータとともにドライブに渡します。次に、テープドライブはチェックサムを再計算し、結果をサーバーによって提供された値と比較します。値が一致した場合、ドライブはデータブロックとチェックサムの両方をテープに書き込みます。読み取り操作中に、ドライブとホストの両方が、データブロックとその関連するチェックサムをテープからを読み取ります。それぞれが、データブロックからチェックサムを再計算し、結果を格納されているチェックサムと比較します。どの時点でもチェックサムが一致しない場合、ドライブは、エラーが発生したことをアプリケーションソフトウェアに通知します。
div = verify
オプションは、データの書き込み時に保護機能を強化します。書き込み操作が完了すると、ホストはデータを再検証するようテープドライブに指示します。次に、ドライブはデータを再スキャンし、チェックサムを再計算して、結果をテープに格納されているチェックサムと比較します。ドライブは、すべての操作を内部で実行し、追加の入出力は行われない (データは破棄されます) ため、ホストシステムで追加のオーバーヘッドは発生しません。必要に応じて、Oracle HSM tpverify
(tape-verify) コマンドを使用して、この手順を実行することもできます。
データ整合性検証を構成するには、次のように進めます。
Oracle HSM サーバーに root
としてログインします。
この例では、メタデータサーバーの名前は samfs-mds
です。
[samfs-mds]root@solaris:~#
メタデータサーバーで Oracle Solaris 11 以上が実行されていることを確認します。
[samfs-mds]root@solaris:~# uname -r
5.11
[samfs-mds]root@solaris:~#
Oracle HSM mcf
ファイルで定義されているアーカイブストレージ装置に、互換性のあるテープドライブである StorageTek T10000C (最小のファームウェアレベルは 1.53.315) または T10000D が含まれていることを確認します。
アーカイブプロセスがある場合、すべてアイドル状態にします。コマンド samcmd aridle
を使用します。
このコマンドは現在のアーカイブおよびステージングを完了できますが、新しいジョブは開始されません。
[samfs-mds]root@solaris:~# samcmd aridle
[samfs-mds]root@solaris:~#
ステージングプロセスがある場合、すべてアイドル状態にします。コマンド samcmd stidle
を使用します。
このコマンドは現在のアーカイブおよびステージングを完了できますが、新しいジョブは開始されません。
[samfs-mds]root@solaris:~# samcmd stidle
[samfs-mds]root@solaris:~#
アクティブなアーカイブジョブが完了するまで待機します。コマンド 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
アクティブなステージングジョブが完了するまで待機します。コマンド 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:~#
すべてのリムーバブルメディアドライブをアイドル状態にしてから、続行します。ドライブごとに、コマンド samcmd
equipment-number
idle
を使用します。ここで equipment-number
は、/etc/opt/SUNWsamfs/mcf
ファイル内のドライブに割り当てられている装置の順序番号です。
このコマンドはドライブを「off
」にする前に、現在のアーカイブジョブおよびステージングジョブを完了できますが、新しいジョブは開始されません。この例では、4 つのドライブ (順序番号 801
、802
、803
、804
) をアイドル状態にします。
[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:~#
実行中のジョブが完了するまで待機します。
コマンド 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:~#
アーカイバおよびステージャープロセスがアイドル状態で、テープドライブがすべて「notrdy
」になっている場合は、ライブラリ制御デーモンを停止します。コマンド samd
stop
を使用します。
[samfs-mds]root@solaris:~# samd stop [samfs-mds]root@solaris:~#
/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
データ整合性検証の読み取り、書き込み、および検証操作を有効にするには、行 #div
=
off
を div
=
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:~#
データ整合性検証機能の書き込み後の検証オプションを有効にするには、行 #div
=
off
を div
=
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:~#
defaults.conf
ファイルを再度読み取り、それに従って Oracle HSM software 自体を再構成するようにこのソフトウェアに指示します。samd
config
コマンドを使用します。
[samfs-mds]root@solaris:~# /opt/SUNWsamfs/sbin/samd config
前の手順で Oracle HSM 操作を停止した場合、この時点で samd
start
コマンドを使用して再開します。
[samfs-mds]root@solaris:~# samd start [samfs-mds]root@solaris:~#
これで、データ整合性検証が構成されました。
データ整合性検証を自動化する必要がある場合、Oracle HSM の定期的なメディア検証の構成に進みます。
ファイルシステムで WORM (書き込み 1 回、読み取り複数回) 機能を有効にする必要がある場合、Write Once Read Many (WORM) ファイルのサポートの有効化を参照してください。
LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、Linear Tape File System (LTFS) のサポートの有効化を参照してください。
複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。
Oracle HSM アーカイブファイルシステムの定期的なメディア検証 (PMV) を設定できます。定期的なメディア検証は、ファイルシステム内のリムーバブルメディアのデータ整合性を自動的にチェックします。StorageTek データ整合性検証を使用して StorageTek T10000 メディアをチェックし、幅広くサポートされる SCSI verify(6)
コマンドを使用してその他のドライブをチェックします。
定期的なメディア検証機能は、定期的に tpverify
コマンドを適用する Oracle HSM デーモン verifyd
の追加、検出されたエラーの記録、管理者への通知、および指定された回復アクションの自動的な実行を行います。定期的なメディア検証を構成するには、構成ファイル verifyd.cmd
でポリシーディレクティブを設定します。ポリシーでは、検証スキャンが実行される時間、行われるスキャンのタイプ、使用できるライブラリとドライブ、スキャンするべきテープボリューム、およびエラーの検出時に Oracle HSM で行うアクションを指定できます。Oracle HSM は、たとえば、エラーが含まれているファイルを自動的に再アーカイブしたり、エラーが含まれているテープボリュームをリサイクルしたりできます。
Oracle HSM サーバーに root
としてログインします。
この例では、メタデータサーバーの名前は samfs-mds
です。
[samfs-mds]root@solaris:~#
まだ実行していない場合は、先に進む前に、データ整合性検証 (DIV) をサポートするように Oracle HSM を構成します。
メタデータサーバーで Oracle Solaris 11 以上が実行されていることを確認します。
[samfs-mds]root@solaris:~# uname -r
5.11
[samfs-mds]root@solaris:~#
テキストエディタで /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
定期的なメディア検証を有効にするには、行 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
実行時間を設定します。行 run_time =
always
(連続して検証を実行する場合)、または run_time =
HH
MM
hhmm
DD
dd
を入力します。ここで、HH
MM
と hhmm
は、それぞれ開始時間と終了時間で、DD
dd
は、オプションの開始日と終了日です。
HH
と hh
は、00-24
の範囲内の時間、MM
と mm
は、00-60
の範囲内の分数、DD
と dd
は、[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
検証方法を指定します。行 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
使用可能なすべてのライブラリとドライブを検証に使用するには、行 pmv_scan = all
を入力します。
[samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
...
pmv_method = legacy
pmv_scan = all
指定したライブラリ内のすべての使用可能なドライブを検証に使用するには、行 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
指定したライブラリ内で検証プロセスが使用できるドライブの数を制限するには、行 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
指定したライブラリ内で検証プロセスが使用できるドライブを指定するには、行 pmv_scan = library
equipment-number
drive
drive-numbers
を入力します。ここで、equipment-number
は、ファイルシステムの mcf
ファイルでライブラリに割り当てられた装置番号で、drive-numbers
は、mcf
ファイルで指定されたドライブに割り当てられた装置番号の空白文字区切りリストです。
この例では、ライブラリ 900
内のドライブ 903
と 904
を検証プロセスで使用できるようにします。
[samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
...
pmv_method = legacy
pmv_scan = library 900 drive 903 904
複数のライブラリで検証プロセスが使用できるドライブを指定するには、行 pmv_scan =
library-specification
library-specification
...
を入力します。ここで、equipment-number
は、ファイルシステムの mcf
ファイルでライブラリに割り当てられた装置番号で、drive-numbers
は、mcf
ファイルでの指定に割り当てられた装置番号のスペース区切りリストです。
この例では、ライブラリ 800
内の最大 2
台のドライブと、ライブラリ 900
内のドライブ 903
と 904
を検証プロセスで使用できるようにします。
[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
定期的なメディア検証を無効にして、どの装置も使用されないようにするには、行 pmv_scan = off
を入力します。
[samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
...
pmv_method = legacy
pmv_scan = off
指定された数の永続的なエラーが定期的なメディア検証で検出されたあとで、リサイクル対象としてメディアに自動的にフラグを設定するには、行 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
指定された期間エラーが累積されたあとで、不良ブロックが含まれているファイルを自動的に再アーカイブするには、行 action = rearch age
time
を入力します。ここで、time
は、SECONDS
s
、MINUTES
m
、HOURS
h
、DAYS
d
、または YEARS
y
の任意の組み合わせのスペース区切りリストで、SECONDS
、MINUTES
、HOURS
、DAYS
、および YEARS
は整数です。
もっとも古いメディアの不具合が指定の期間経過したあとで、アーカイブが必要なファイルがファイルシステムでスキャンされます。この例では、再アーカイブ経過時間を 1
分に設定します。
[samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd
...
pmv_scan = all
action = rearch age 1m
永続的なメディアエラーが定期的なメディア検証で検出されたときにメディアを不良とマークして、それ以外の場合はアクションを行わない場合は、行 action =
none
を入力します。
[samfs-mds]root@solaris:~# vi /etc/opt/SUNWsamfs/verifyd.cmd ... pmv_scan = all action = none
定期的に検証するべきテープボリュームを指定します。行 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 はボリュームの検証を試行しません。クリーニングカートリッジ、ラベルなしのボリューム、および重複したボリュームシリアル番号が付いたボリュームも除外されます。
必要な検証ポリシーを定義します。行 pmv_policy = verified age
vertime
[
modified
age
modtime
]
[
mounted
age
mnttime
]
を入力します。ここでは:
verified age
は、ボリュームが最後に検証されてから経過している必要がある最小時間を指定します。
modified
age
(オプション) は、ボリュームが最後に変更されてから経過している必要がある最小時間を指定します。
mounted
age
(オプション) は、ボリュームが最後にマウントされてから経過している必要がある最小時間を指定します。
パラメータ値 vertime
、modtime
、および 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
/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:~#
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:~#
新しい verifyd.cmd
ファイルを使用して、検証サービスを再開します。tpverify
-r
コマンドを入力します。
root@solaris:~# tpverify -r root@solaris:~#
定期的なメディア検証の構成が終了しました。
ファイルシステムで WORM (書き込み 1 回、読み取り複数回) 機能を有効にする必要がある場合、Write Once Read Many (WORM) ファイルのサポートの有効化を参照してください。
LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、Linear Tape File System (LTFS) のサポートの有効化を参照してください。
複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。
それ以外の場合は、通知とロギングの構成に進みます。
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 実装が有効になったら、指定された保存期間を通じてファイルを保持する必要があります。そのため、保存期間は、要件と一致する最短値に設定します。
マウントオプションを使用して、ファイルシステムで WORM サポートを有効にします。次のように進めます。
root
としてログインします。
root@solaris:~#
オペレーティングシステムの /etc/vfstab
ファイルをバックアップします。
root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
テキストエディタで /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 -
標準の 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
標準の 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
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
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
保存期間が明示的に割り当てられていないファイルのデフォルトの保存期間を変更するには、def_retention=
period
オプションを vfstab
ファイルの Mount
Options
列に追加します。ここで、period
は、次の段落で説明されている形式の 1 つを取ります。
period
の値には、次の 3 つの形式のいずれかを使用できます。
permanent
または 0
は、永続的な保存を指定します。
YEARS
y
DAYS
d
HOURS
h
MINUTES
m
。ここで、YEARS
、DAYS
、HOURS
、および MINUTES
は、負以外の整数で、指定子は省略できます。そのため、たとえば、5y3d1h4m
、2y12h
、および 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
vfstab
ファイルを保存して、エディタを閉じます。
ファイルシステムは WORM 対応です。1 つ以上の WORM ファイルがファイルシステムにある場合、Oracle HSM ソフトウェアは、WORM 機能を反映するためにファイルシステムのスーパーブロックを更新します。厳密な worm_capable
または worm_emul
マウントオプションを使用してファイルシステムがマウントされている場合、その後に sammkfs
でファイルシステムを再構築しようとすると失敗します。
LTFS を使用するシステムと相互作業する必要がある場合、またはリモートサイト間で大量のデータを転送する必要がある場合、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 のサポートを有効にするには、次のように進めます。
Oracle HSM メタデータサーバーに root
としてログインします。
[samfs-mds]root@solaris:~#
アーカイブプロセスがある場合、すべてアイドル状態にします。コマンド samcmd aridle
を使用します。
このコマンドは現在のアーカイブおよびステージングを完了できますが、新しいジョブは開始されません。
[samfs-mds]root@solaris:~# samcmd aridle
[samfs-mds]root@solaris:~#
ステージングプロセスがある場合、すべてアイドル状態にします。コマンド samcmd stidle
を使用します。
このコマンドは現在のアーカイブおよびステージングを完了できますが、新しいジョブは開始されません。
[samfs-mds]root@solaris:~# samcmd stidle
[samfs-mds]root@solaris:~#
アクティブなアーカイブジョブが完了するまで待機します。コマンド 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
アクティブなステージングジョブが完了するまで待機します。コマンド 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:~#
すべてのリムーバブルメディアドライブをアイドル状態にしてから、続行します。ドライブごとに、コマンド samcmd
equipment-number
idle
を使用します。ここで equipment-number
は、/etc/opt/SUNWsamfs/mcf
ファイル内のドライブに割り当てられている装置の順序番号です。
このコマンドはドライブを「off
」にする前に、現在のアーカイブジョブおよびステージングジョブを完了できますが、新しいジョブは開始されません。この例では、4 つのドライブ (順序番号 801
、802
、803
、804
) をアイドル状態にします。
[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:~#
実行中のジョブが完了するまで待機します。
コマンド 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:~#
アーカイバおよびステージャープロセスがアイドル状態で、テープドライブがすべて「notrdy
」になっている場合は、ライブラリ制御デーモンを停止します。コマンド samd
stop
を使用します。
[samfs-mds]root@solaris:~# samd stop [samfs-mds]root@solaris:~#
テキストエディタで /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.
...
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:~#
defaults.conf
ファイルを再度読み取り、それに従って Oracle HSM ソフトウェア自体を再構成するようにこのソフトウェアに指示します。報告されたエラーをすべて修正して、必要に応じて繰り返します。
[samfs-mds]root@solaris:~# /opt/SUNWsamfs/sbin/samd config
前の手順で Oracle HSM 操作を停止した場合、この時点で samd
start
コマンドを使用して再開します。
[samfs-mds]root@solaris:~# samd start
これで、LTFS の Oracle HSM のサポートが有効になりました。複数ホストのファイルシステムアクセスや高可用性構成などの追加の要件がある場合、応用編を参照してください。
それ以外の場合は、通知とロギングの構成に進みます。
これで、Oracle HSM ファイルシステムの基本的なインストールと構成が完了します。この時点で、さまざまな目的のために最適に構成されている、完全に機能するファイルシステムが設定されています。
このマニュアルの残りの章では、より専門的なニーズに対処します。そのため、次に概要が説明されている追加の調整タスクと機能の実装タスクを開始する前に、要件を慎重に評価してください。次に、高可用性や共有ファイルシステム構成など、追加の機能が必要な場合は、基本構成から追加の機能を慎重に実装できます。ただし、これまでに行なった作業がニーズを満たしていると判断した場合は、追加の変更が向上につながる可能性はないと考えられます。単にメンテナンスと管理を複雑にする場合があります。
アプリケーションで異常に大きいか、異常に均一な量のデータをファイルシステムに転送する場合、追加のマウントオプションを設定することで、ファイルシステムのパフォーマンス向上が可能になることがあります。詳細は、特殊なニーズのための入出力特性の調整を参照してください。
ファイルシステムへの共有アクセスを構成する必要がある場合、Oracle HSM ソフトウェアを使用した複数のホストからのファイルシステムへのアクセスやNFS と SMB/CIFS を使用した複数のホストからファイルシステムへのアクセスを参照してください。
高可用性 QFS ファイルシステムまたは Oracle HSM アーカイブファイルシステムを構成する必要がある場合、高可用性ソリューションの準備を参照してください。
リモートの場所にホストされたアーカイブストレージを共有するように Oracle HSM アーカイブファイルシステムを構成する必要がある場合、SAM-Remote の構成を参照してください。
サイドバンドデータベース機能を使用する計画がある場合、レポートデータベースの構成に進みます。
それ以外の場合は、通知とロギングの構成に進みます。