Veritas InfoScale™ 7.3.1 ソリューションガイド - Linux
- 第 I 部 Veritas InfoScale の概要
- 第 II 部 Veritas InfoScale 製品のソリューション
- 第 III 部 データベースのパフォーマンスの向上
- データベースアクセラレータの概要
- Veritas Concurrent I/O によるデータベースパフォーマンスの向上
- Atomic Write I/O によるデータベースパフォーマンスの向上
- 第 IV 部 PITC の使用
- 第 V 部 ストレージ利用率の最大化
- 第 VI 部 データ移行
- データ移行の理解
- LVM から VxVM へのオフライン移行
- ネーティブファイルシステムから VxFS へのオフライン変換
- ネーティブファイルシステムの VxFS ファイルシステムへのオンライン移行
- ストレージアレイの移行
- プラットフォーム間のデータ移行
- CDS(Cross-Platform Data Sharing)機能の概要
- CDS ディスク形式とディスクグループ
- CDS(Cross-platform Data Sharing)を使用するためのシステムの設定
- システムの管理
- ディスクの操作
- ディスクグループの操作
- 情報の表示
- ファイルシステムに関する注意事項
- Oracle ASM から Veritas File System への移行
- 第 VII 部 vSphere の Just In Time Availability ソリューション
- 第 VIII 部 Veritas InfoScale 4 K セクタのデバイスサポートのソリューション
- 第 IX 部 参照
複製データベースの準備
プライマリホストの複製データベースのスナップショットを準備するには
- データベース表のコピーを含むスナップショットボリュームを使うホストを準備します(まだ準備していない場合)。 データベースの初期化に必要な新規データベースログと設定ファイルを設定します。 マスターノードで、ボリュームにインスタントスナップデータ変更オブジェクト(DCO)と DCO ボリュームがあることと、ボリュームで FastResync が有効になっていることを確認します。
# vxprint -g database_dg -F%instant database_vol
# vxprint -g database_dg -F%fastresync database_vol
2 つのコマンドがどちらも ON の値を返した場合は、手順 3 に進みます。 それ以外の場合は、引き続き手順 2 を実行してください。
- 次のコマンドを使って、インスタントスナップショット用のボリュームを準備します。
# vxsnap -g database_dg prepare database_vol [regionsize=size] \ [ndcomirs=number] [alloc=storage_attributes]
- 次のコマンドを実行し、元のボリュームからプレックスを切り離す方式で表領域ボリュームのフルサイズスナップショット snapvol を作成します。
# vxsnap -g database_dg make \ source=volume/newvol=snapvol/nmirror=N
nmirror 属性には、スナップショットボリュームのミラー数 N を指定します。
ボリューム内に使用可能なプレックスが存在しない場合、またはプレックスのブレークオフをサポートしていないボリュームレイアウトの場合は、スナップショット用に空のボリュームを用意します。
- 元のボリュームに対して vxprint コマンドを実行し、スナップショットボリュームに必要なサイズを検索します。
# LEN='vxprint [-g diskgroup] -F%len volume'
メモ:
以降の手順に示すコマンドは、sh、ksh、bash などの Bourne シェルを使っていることを前提にしています。 その他のシェル(csh や tcsh など)を使う場合は、シェルに合わせてコマンドを修正する必要があります。 これらの手順は、インスタントスナップ DCO でのみ有効です。
- 元のボリュームに対して vxprint コマンドを実行し、DCO ボリュームの名前を確認します。
# DCONAME='vxprint [-g diskgroup] -F%dco_name volume'
- DCO ボリュームに対して vxprint コマンドを実行し、その領域のサイズ(ブロック数)を確認します。
# RSZ='vxprint [-g diskgroup] -F%regionsz $DCONAME'
- vxassist コマンドを使って、必要なサイズと冗長性を備えたボリューム snapvol を作成します。ストレージ属性は、ボリュームを配置するディスクを指定する場合に使います。 init=active 属性を指定すると、ボリュームがすぐに使用可能になります。
# vxassist [-g diskgroup] make snapvol $LEN \ [layout=mirror nmirror=number] init=active \ [storage_attributes]
- 次のように、インスタントスナップショット操作用にスナップショットボリュームを準備します。
# vxsnap [-g diskgroup] prepare snapvol [ndcomirs=number] \ regionsz=$RSZ [storage_attributes]
DCO ミラーの数(ndcomirror)をボリューム内のミラー数(nmirror)と同数にすることを推奨します。
- スナップショットを作成するには、次のコマンドを使います。
# vxsnap -g database_dg make source=volume/snapvol=snapvol
たとえば、データベースが複数のボリュームに分散している場合は、各ボリュームとそのスナップショットボリュームを一組として同一行で個別に指定します。たとえば、次のように指定します。
# vxsnap -g database_dg make \ source=vol1/snapvol=svol1/nmirror=2 \ source=vol2/snapvol=svol2/nmirror=2 \ source=vol3/snapvol=svol3/nmirror=2
ディスク領域を節約する必要がある場合は、代わりに次のコマンドを実行して、領域最適化スナップショットを作成します。
# vxsnap -g database_dg make \ source=volume/newvol=snapvol/cache=cacheobject
引数 cacheobject には、領域最適化スナップショット用にディスクグループ内に作成した既存のキャッシュの名前を指定します。 キャッシュオブジェクトを作成するには、手順 10 から手順 13 までを実行します。
複数の領域最適化スナップショットを同時に作成する場合は、次の例に示すように、すべてのスナップショットに対して同一のキャッシュオブジェクトを指定することができます。
# vxsnap -g database_dg make \ source=vol1/newvol=svol1/cache=dbaseco \ source=vol2/newvol=svol2/cache=dbaseco \ source=vol3/newvol=svol3/cache=dbaseco
キャッシュオブジェクトの基盤となるキャッシュボリュームに適用する特性を決定します。
キャッシュボリュームにはスナップショットの更新の合間に発生した親ボリュームの変更が記録されるため、それに見合ったサイズが必要です。更新間隔が 24 時間の場合の推奨値は、親ボリュームの合計サイズの 10 % です。
キャッシュボリュームに冗長性が必要な場合は、ミラー化を行う必要があります。キャッシュボリュームをミラー化すると、必要な領域がミラー数に比例して増大します。
キャッシュボリュームをミラー化する場合は、ミラーと同数以上のディスク上に領域が必要になります。親ボリュームと同じディスクは使えません。また、重要なボリュームの I/O 処理効率に影響を与えたり、ディスクグループの分割および結合の操作を妨げることのないよう、適切なディスクを選択する必要があります。
- 特性を決定したら、vxassist コマンドを使って、キャッシュボリュームに使うボリュームを作成します。次の例は、ディスク disk16 と disk17 を使ってディスクグループ mydg 内に 1 GB のキャッシュボリューム cachevol を作成し、そのキャッシュボリュームをミラー化する方法を示しています。
# vxassist -g mydg make cachevol 1g layout=mirror \ init=active disk16 disk17
属性 init=active を指定して、キャッシュボリュームをただちに使えるようにしています。
- vxmake cache コマンドを使って、前の手順で作成したキャッシュボリュームの上にキャッシュオブジェクトを作成します。
# vxmake [-g diskgroup] cache cache_object \ cachevolname=volume [regionsize=size] [autogrow=on] \ [highwatermark=hwmk] [autogrowby=agbvalue] \ [maxautogrow=maxagbvalue]]
領域のサイズを指定する場合は、16 KB(16k)以上の 2 の累乗の値にする必要があります。 この値を指定しなかった場合、キャッシュの領域のサイズは 64 KB に設定されます。
メモ:
キャッシュを共有する領域最適化スナップショットの領域のサイズは、キャッシュに設定した領域のサイズと同サイズかまたはその整数倍にする必要があります。また、元のボリュームの領域のサイズがキャッシュの領域のサイズより小さいと、スナップショットの作成は失敗します。
必要に応じてキャッシュのサイズを拡張できないようにするには、autogrow=off と指定します。 特に指定しないかぎり、キャッシュの自動拡張機能は有効になっています。
次の例では、キャッシュボリューム cachevol の上にキャッシュオブジェクト cobjmydg を作成し、キャッシュの領域のサイズを 32 KB に設定して、自動拡張機能を有効にしています。
# vxmake -g mydg cache cobjmydg cachevolname=cachevol \ regionsize=32k autogrow=on
- キャッシュオブジェクトの作成が完了したら、次のコマンドを使ってキャッシュオブジェクトを有効にします。
# vxcache [-g diskgroup] start cache_object
たとえば、キャッシュオブジェクト cobjmydg を起動するには、次のコマンドを実行します。
# vxcache -g mydg start cobjmydg
メモ:
この手順を実行するとスナップショットボリュームが設定され、元のボリュームに対する変更の追跡が開始されます。