ミラーリングしているボリュームから、一時的にスライスを切り離すことによって、ボリュームのスナップショット (つまり複製) を採取することができます。すなわち、切り離したスライスを使って、その時点のボリュームの内容にアクセスすることができます。
切り離したスライスは、ボリュームとは別の論理デバイスであるため、ボリュームを使用している業務アプリケーションと同時に、切り離したスライスを使用する別のアプリケーションを動作させることが可能です。例えば、業務アプリケーションと並行してバックアップアプリケーションを実行することができます。
また、複数のノードで共用しているボリュームにおいては、ボリュームを使用する業務アプリケーションが動作するノードと、切り離したスライスを使用するアプリケーションが動作するノードを分けることで、互いの処理負荷が影響し合うことのない運用形態を取ることもできます。
切り離したスライスを使用するアプリケーションが完了して、再度最新のスナップショットを採取するためには、切り離したスライスをボリュームへ組み込みます。このとき、スライスとボリュームのデータを等価にするためのコピーが行われます。このコピーは、スライス用の高速等価性回復機構 (JRM) を使って、切り離されている間に更新された箇所だけを高速に処理します。
注意
スナップショットデータの整合性
アプリケーションがボリュームにアクセスしている最中にスナップショットを作成すると、ボリュームに中途半端なデータが書き込まれた時点でのスナップショットとなる場合があり、スナップショットデータの整合性が保証できません。
一般的に、正しくデータの整合性の取れたスナップショットを作成するためには、ボリュームにアクセスしているアプリケーションを事前に停止しておく必要があります。スナップショットの作成が完了した後、アプリケーションを再度動作させてください。
例えば、ボリュームを GFS や ext4 といったファイルシステムとして利用している場合であれば、スナップショットを作成する前後に、umount(8) コマンドによってマウントを解除して、mount(8) コマンドによって、再度マウントしなおすことによって、確実にスナップショットデータの整合性を確保することができます。
アプリケーションを停止することなく、スナップショットを作成するためには、データを管理しているファイルシステムやデータベースシステムといったソフトウェア固有の方法で、整合性を確保する必要があります。
注意
スライス用の高速等価性回復機構
スライス用の JRM は、ボリュームから一時的に切り離されていたスライスをボリュームに再度組み込む際の等価性回復処理を高速化する仕組みです。GDS は、スライスが切り離されている間、ボリュームおよびスライスの更新箇所をメモリに記録しています。スライスを再度組み込む際に行われる等価性回復コピーでは、更新箇所のみをコピーすることによって、高速に等価性を回復します。
スライス用の JRM は、スライスの jrm 属性をオンに設定してスライスを切り離した場合に有効になります。しかし、スライスを切り離した状態で、システムが停止した場合、または sdxslice -T コマンドによるスライスの引継ぎを行った場合、以降にスライスを組み込む際には、高速等価性回復コピーは行われません。つまり、更新部分のみでなく、ボリューム全体のコピーが行われます。
したがって、計画的なシステムシャットダウンやスライスの引継ぎを行う前には、スライスをボリュームにいったん組み込むことを推奨します。
参考
JRM は何の略?
JRM は、Just Resynchronization Mechanism の略称です。
参考
3 種類の JRM
高速等価性回復機構 (JRM) には、ボリューム用、スライス用、プロキシ用の 3 種類があります。
詳しくは、「A.4 高速等価性回復機構 (JRM)」を参照してください。