Load Sharing SnapMirror とは
クアライアントからの Read(読み取り)要求を分散して、スループットを向上させる機能になります。
具体的には、Root を含む任意の Volume のコピー(読み取り専用)を、マスターとは別の Aggregate に作成し、クライアントからの Read 要求を分散します。*1書き込みについては、マスターにのみ行われ、分散されません。
注意点
マスターからコピーに対し、リアルタイムミラーリングが行われないため、マスターで更新されたデータを、読み取れるようにするには、LS ミラーをアップデートする必要があります。これに関連して、Root volume をコピーした際、Root 配下に新たな Volume を作成しても、(LS ミラーをアップデートするまで、コピー先の、Junction Path が更新されないため)当該 Volume にアクセスできない事に注意してください。
設定例
SnapMirror 送信先の Volume を作成します。
cluster1::> volume create -vserver svm-01 -volume rootvol_ls -aggregate aggr2 -type DP
送信先の Volume が作成された事を確認します。
cluster1::> volume show -volume rootvol_ls Vserver Volume Aggregate State Type Size Available Used% --------- ------------ ------------ ---------- ---- ---------- ---------- ----- svm-01 rootvol_ls aggr2 online DP 20MB 19.89MB 0%
LS SnapMirror を作成します。
cluster1::> snapmirror create -source-path svm-01:rootvol -destination-path svm-01:rootvol_ls -type LS
LS SnapMirror が作成された事を確認します。
cluster1::> snapmirror show Progress Source Destination Mirror Relationship Total Last Path Type Path State Status Progress Healthy Updated ----------- ---- ------------ ------- -------------- --------- ------- -------- cluster1://svm-01/rootvol LS cluster1://svm-01/rootvol_ls Uninitialized Idle - - -
LS SnapMirror の Initialize を行います。
cluster1::> snapmirror initialize-ls-set -source-path svm-01:rootvol
Initialize が完了した事を確認します。
cluster1::> snapmirror show Progress Source Destination Mirror Relationship Total Last Path Type Path State Status Progress Healthy Updated ----------- ---- ------------ ------- -------------- --------- ------- -------- cluster1://svm-01/rootvol LS cluster1://svm-01/rootvol_ls Snapmirrored Idle - true -
Volume サイズが、マスターと同様となっている事を確認します。
cluster1::> volume show -volume rootvol,rootvol_ls Vserver Volume Aggregate State Type Size Available Used% --------- ------------ ------------ ---------- ---- ---------- ---------- ----- svm-01 rootvol aggr1 online RW 2GB 1.90GB 5% svm-01 rootvol_ls aggr2 online LS 2GB 1.90GB 5% 2 entries were displayed.
新規の Volume を作成すると、下記のとおり、留意事項が通知されます。
cluster1::> volume create -vserver svm-01 -volume vol_nfs02 -aggregate aggr1 -size 1g -security-style unix -space-guarantee none -junction-path /vol_nfs02 [Job 82] Job succeeded: Successful Notice: Volume vol_nfs02 now has a mount point from volume rootvol. The load sharing (LS) mirrors of volume rootvol have no replication schedule. Volume vol_nfs02 will not be visible in the global namespace until the LS mirrors of volume rootvol have been updated. 現状、LS SnapMirror スケジュールが設定されていないため、アップデートされるまで、クライントからアクセスできません。
LS SnapMirror をアップデートします。
cluster1::> snapmirror update-ls-set -source-path svm-01:rootvol
LS SnapMirror がアップデートされた事を確認します。
cluster1::> snapmirror show Progress Source Destination Mirror Relationship Total Last Path Type Path State Status Progress Healthy Updated ----------- ---- ------------ ------- -------------- --------- ------- -------- cluster1://svm-01/rootvol LS cluster1://svm-01/rootvol_ls Snapmirrored Idle - true -
LS SnapMirror のスケジュールを作成します。
cluster1::> job schedule cron create -name sched01 -hour 1 -minute 0
LS SnapMirror にスケジュールを適用します。
cluster1::> snapmirror modify -destination-path svm-01:rootvol_ls -schedule sched01
LS SnapMirror にスケジュールが設定されている事を確認します。
cluster1::> snapmirror show -fields schedule source-path destination-path schedule ------------------------- ---------------------------- -------- cluster1://svm-01/rootvol cluster1://svm-01/rootvol_ls sched01
以上
*1:クライアントからの Read 要求は、全てコピーされた Volume に向けられます。