= FlexCache :toc: :icons: :linkattrs: :imagesdir: ../resources/images == 概要 このセクションでは、*Amazon FSx for NetApp ONTAP* ファイルシステムに FlexCache をセットアップし、データセットまたはボリューム全体をコピーするのではなく、アクティブに読み取られたデータのみをキャッシュする方法について説明します。 FlexCacheを使用して次のことができます。 * 地震解析、メディアレンダリングワークフロー、チップ設計、財務シミュレーションなどの読み取り集約型アプリケーションのスループットを向上させます。 * 別リージョンからの Amazon FSx for NetApp ONTAP ファイルシステムのデータへの低レイテンシー アクセスを提供し、ワークフローを複数の AWS リージョン間またはオンプレミスの NetApp 環境に拡張します。 * FSx ファイルシステムに FlexCache ボリュームを作成し、それをオンプレミスの NetApp ストレージのオリジン ボリュームにリンクすることで、ワークロードをクラウドにバーストします。 === FlexCache の概要 FlexCache ボリュームは、オリジン ボリュームとも呼ばれるソース ボリュームのキャッシュとして機能し、頻繁にアクセスされるデータを格納する、まばらに配置されたボリュームです。ファイルが FlexCache ボリュームで使用できない場合、そのファイルは元のボリュームから読み取られ、クライアントに提供されます。その後のデータへのアクセスは、低レイテンシーで高速になります。 メディアレンダリング、自動電子設計(EDA)、金融アプリケーション、およびその他のユースケースは多くの場合、ある地域で生成して、別の地域のコンピューティング インスタンスまたはエンドユーザー ワークステーションから低レイテンシーでのアクセスが求められます。データを2番目のリージョンの別のボリュームに複製してローカルで使用できるようにすることはできますが、これは理想的ではありません (データの複製、追加のインフラストラクチャ、複製による遅延、管理オーバーヘッドなど)。代わりに、FlexCache ボリュームを使用してデータへのアクセスを高速化するか、読み取りが集中するボリュームへのトラフィックをオフロードします。同じファイルシステムに FlexCache ボリュームを配置して、頻繁にアクセスされるデータのパフォーマンスを向上させたり、別のリージョンの複数のファイルシステムにデータを分散して WAN のレイテンシーを短縮したりできます。FlexCache ボリュームを FSx に作成し、オンプレミスの NetApp ストレージにあるオリジン ボリュームにリンクしてクラウドにバーストするか、データへの低レイテンシー アクセスを提供するために別の AWS リージョンまたはオンプレミスの NetApp ファイラーに FlexCache ボリュームを作成して、FSx 上のオリジン ボリュームにリンクすることができます。 == 所要時間 NOTE: このセクションを完了するのに約 10 分かかります。 == ステップ-バイ-ステップ ガイド (FlexCache) IMPORTANT: 続ける前に全てのステップを読んでください。 //image::xxx.gif[align="left", width=600] === クラスター ピアリング 関係の確認 . *FSx for ONTAP Workshop Linux Instance* の SSH 接続に *_戻り_*、*プライマリー* ファイルシステム管理エンドポイントに SSH 接続します。 + [source,bash] ---- ssh ${ADMINUSER}@${MGMTENDPOINT} ---- + . 新しいターミナルウィンドウで、*FSx for ONTAP Workshop Linux Instance* への新しい SSH 接続を *_作成_* し、*セカンダリー* ファイルシステム管理エンドポイントへ SSH 接続します。 + [source,bash] ---- ssh ${ADMINUSER}@${DRMGMTENDPOINT} ---- + . クラスター ピア関係がすでに存在するかどうかを *_確認_* します。このワークショップの SnapMirror セクションを完了している場合、クラスターはすでにピアリングされています。 + [source,bash] ---- cluster peer show ---- + . ファイルシステムがすでにピアリングされている場合は、以下のコマンドを *_実行_* して *プライマリー* ファイルシステムの ONTAP CLI セッションを終了し、*FSx for ONTAP Workshop Linux Instance* に戻ります。 + [source,bash] ---- quit ---- === テストデータの生成 . *FSx for ONTAP Workshop Linux Instance* の SSH セッションに *_戻り_*、以下のスクリプトを実行して 1 GB のファイルを作成します。 + [source,bash] ---- mkdir ${MOUNTPOINT}/1GB threads=1 filesize=1024000 filecount=1 sudo python3 /home/ec2-user/smallfile/smallfile_cli.py --operation create --threads $threads --file-size $filesize --files $filecount --top ${MOUNTPOINT}/1GB & ---- === クラスターと SVM ピアリング関係の作成 NOTE: このワークショップの SnapMirror セクションですでに作成されている場合は、クラスターと SVM ピアリングの手順をスキップします。 . *FSx for ONTAP Workshop Linux Instance* の SSH 接続に *_戻り_*、*プライマリー* ファイルシステム管理エンドポイントに SSH 接続します。 + [source,bash] ---- ssh ${ADMINUSER}@${MGMTENDPOINT} ---- + . *プライマリー* ファイルシステムで ONTAP CLI を使用して以下のコマンドを *_実行_* して、クラスター間 LIF の IP アドレスとクラスター名を取得します。ファイルシステムが既にピアリングされている場合は、この手順をスキップしてください。 + [source,bash] ---- network interface show -service-policy default-intercluster ---- + . *セカンダリー* ファイルシステムで ONTAP CLI を使用してコマンドを *_繰り返し_*、クラスタ間 LIF の IP アドレスを取得します。ファイルシステムがすでにピアリングされている場合は、この手順をスキップしてください。 + [source,bash] ---- network interface show -service-policy default-intercluster ---- + . *セカンダリー* ファイルシステムからクラスター ピアリングを *_初期化_* します。IP アドレスを *プライマリー* ファイルシステムのクラスタ間 LIF の IP アドレスに置き換えます。プロンプトが表示されたらパスフレーズを入力します。ファイルシステムがすでにピアリングされている場合は、この手順をスキップしてください。 + [source,bash] ---- cluster peer create -peer-addrs x.x.x.x,y.y.y.y ---- + . ソース ファイルシステムからクラスター ピアリングを *_Accept_* します。IP アドレスを *セカンダリー* ファイルシステムのクラスタ間 LIF の IP アドレスに置き換えます。プロンプトが表示されたらパスフレーズを入力します。プロンプトが表示されたら、前に作成したパスフレーズを入力します。ファイルシステムがすでにピアリングされている場合は、この手順をスキップしてください。 + [source,bash] ---- cluster peer create -peer-addrs x.x.x.x,y.y.y.y ---- + . クラスターピア関係が正常に作成されたことを *_確認_* します。ファイルシステムがすでにピアリングされている場合は、この手順をスキップしてください。 + [source,bash] ---- cluster peer show -instance ---- + . *セカンダリー* ファイルシステムからの既存の SVM ピア関係を *_確認_* します。 + [source,bash] ---- vserver peer show ---- + . *プライマリー* ファイルシステムからの SVM ピア関係を *_初期化_* します。*プライマリー* のソース SVM 名、*セカンダリー* ファイルシステムのデスティネーション SVM 名、および以下のクラスター名 (例:FsxId003d1df7268e711aa) を *_置き換え_* ます。 + [source,bash] ---- vserver peer permission create -peer-cluster -vserver svm08 -applications flexcache vserver peer create -vserver svm08 -peer-vserver svm01 -peer-cluster -applications flexcache ---- + . *プライマリー* ファイルシステムのピア関係のステータスを *_確認_* します。ステータスは *_Initiated_* と表示されます。 + [source,bash] ---- vserver peer show-all ---- + . *セカンダリー* ファイルシステムの SVM ピアを *_確認_* します。ステータスは *_pending_* と表示されます。 + [source,bash] ---- vserver peer show ---- + . *セカンダリー* ファイルシステムからの保留中のピア関係を *_承認_* します。 + [source,bash] ---- vserver peer accept -vserver svm01 -peer-vserver svm08 ---- + . クラスター ピア関係が *セカンダリー* ファイルシステムから正常に作成されたことを *_確認_* します。 + [source,bash] ---- cluster peer show ---- + . SVM ピア関係が *セカンダリー* ファイルシステムから正常に作成されたことを *_確認_* します。 + [source,bash] ---- vserver peer show ---- === FlexCache の作成 TIP: FlexCache のベストプラクティスの詳細については、link:https://www.netapp.com/pdf.html?item=/media/7336-tr4743pdf.pdf[FlexCache Best Practices] を参照してください。 . *プライマリー* ファイルシステムから以下のコマンドを *_実行_* して、vserver に FlexCache 権限を追加します。ソース SVM 名(vserver)を *プライマリー* ファイルシステムの SVM に *置き換え*、peer-vserver 名を *セカンダリー* ファイルシステムの SVM に置き換えます。 + [source,bash] ---- vserver peer modify -vserver svm08 -peer-vserver svm01 -applications snapmirror,flexcache ---- + . *セカンダリー* ファイルシステムからの既存の FlexCache 関係を *_確認_* します。 + [source,bash] ---- volume flexcache show ---- + . *セカンダリー* ファイルシステムで以下のコマンドを実行して、FlexCache ボリュームを *_作成_* します。 + [source,bash] ---- volume flexcache create -vserver svm01 -volume cachevol -aggr-list aggr1 -size 100G -origin-vserver svm08 -origin-volume vol1 -aggr-list-multiplier 2 ---- + . *セカンダリー* ファイルシステムから FlexCache 関係を *_確認_* します。 + [source,bash] ---- volume flexcache show ---- + . *プライマリー* ファイルシステムから FlexCache 関係を *_確認_* します。 + [source,bash] ---- volume flexcache origin show-caches ---- + . *セカンダリー* ファイルシステムから以下のコマンドを *_実行_* して、FlexCache ボリュームの Junction Path を作成します。 + [source,bash] ---- volume mount -vserver svm01 -volume cachevol -junction-path /cachevol ---- + . 以下のコマンドを *_実行_* して、ONTAP CLI セッションを終了し、*FSx for ONTAP Workshop Linux Instance* に戻ります。 + [source,bash] ---- quit ---- + . 以下のスクリプトを *_実行_* して、FlexCache ボリュームとオリジン(ソース)ボリュームの内容を比較します。 + [source,bash] ---- CACHEMOUNT="/cache" sudo mkdir ${CACHEMOUNT} sudo mount -t nfs ${DRNFSENDPOINT}:/cachevol ${CACHEMOUNT} df -h ${MOUNTPOINT} ${CACHEMOUNT} ls -lt ${MOUNTPOINT} ${CACHEMOUNT} ---- + TIP: FlexCache ボリュームがオリジン ボリュームとまったく同じプロパティを示していることがわかります。オリジン ボリュームよりも小さい FlexCache ボリュームを作成し、ワーキング データセットに適合するのに十分なサイズにすることができます。ファイルにアクセスすると、ファイルは FlexCache ボリュームにインポートされます。 + . *FSx for ONTAP Workshop Linux Instance* の SSH 接続に *_戻り_*、*セカンダリー* ファイルシステム管理エンドポイントに SSH 接続します。 + [source,bash] ---- ssh ${ADMINUSER}@${DRMGMTENDPOINT} ---- + . 以下の ONTAP CLI コマンドを *_実行_* して、*プライマリー* ファイルシステムのソース ボリュームで使用されている *論理* 領域および *物理* 領域を確認します。 + [source,bash] ---- vol show -volume vol1 -fields logical-used,physical-used ---- + . 以下の ONTAP CLI コマンドを *_実行_* して、*セカンダリー* ファイルシステムのソース ボリュームで使用されている *論理* 領域および *物理* 領域を確認します。 + [source,bash] ---- vol show -volume cachevol -fields logical-used,physical-used ---- + . これらは同一ですか? . *セカンダリー* ファイルシステムから以下の ONTAP CLI コマンドを *_実行_* して、ファイルが事前取り込みされていることを確認します。高度な特権モードで続行するようにプロンプトから求められたら、*y* と *_入力_* します。ファイルパス *1GB/file_srcdir/ip-10-0-0-17.us-east-2.compute.internal/thrd_00/d_000/_ip-10-0-0-17.us-east-2.compute.internal_00_1_* を Linux インスタンスのパスに置き換えます。これは *${MOUNTPOINT}* ディレクトリ配下にあります。 + [source,bash] ---- set -privilege advanced flexcache prepopulate start -cache-volume cachevol -path-list 1GB/file_srcdir/ip-10-0-0-17.us-east-2.compute.internal/thrd_00/d_000/_ip-10-0-0-17.us-east-2.compute.internal_00_1_ set -privilege admin ---- + . *セカンダリー* ファイルシステムの ONTAP CLI セッションに *_戻り_*、使用されている *論理* 領域および *物理* 領域を確認します。 + [source,bash] ---- vol show -volume cachevol -fields logical-used,physical-used ---- + . 使用率は変化しましたか? == 次のセクション 下のボタンをクリックして次のセクションに移動します。 image::elastic-tiering.png[link=../10-tiering/, align="left",width=420]