NetApp Workload Factory for Databases の構成分析について
Workload Factory for Databases は、Amazon FSx for NetApp ONTAP ストレージ上の Microsoft SQL Server および Oracle のデプロイメントに問題がないかどうかを判断するために、データベース構成を定期的に分析します。問題が検出された場合、Workload Factory は問題点を示し、データベース構成が最高のパフォーマンス、コスト効率、およびベストプラクティスへの準拠を実現するために必要な変更点を説明します。
Workload Factoryは、適切に設計されたデータベースワークロードのためのベストプラクティスと推奨事項を提供します。適切に設計された分析では、ストレージ、コンピューティング、アプリケーション、耐障害性、クローニングに関連するMicrosoft SQL ServerおよびOracle Databaseの構成と設定を評価します。
仕組み
Workload Factory は、Amazon FSx for NetApp ONTAP ファイルシステムの導入環境で実行されているワークロードを毎日分析します。この分析により、適切に設計された状態、インサイト、および推奨事項が提供されます。
日々の分析が完了すると、デプロイメントのWell-architectedダッシュボードに、構成が「最適化済み」または「最適化されていない」として表示されます。総合的な最適化スコア、カテゴリ別の構成の問題、および構成の問題と推奨事項の一覧が表示されます。構成の問題に関する推奨事項を確認できます。一部の問題はWorkload Factoryによって自動的に修正できますが、その他の問題は手動での介入が必要です。この場合、Workload Factoryは、推奨される変更を実装するのに役立つ詳細な手順を提供します。
ご自身の環境に適用されない構成の分析を無視することができます。これにより、不要なアラートや不正確な最適化結果を回避できます。
また、組織の標準および NetApp のベストプラクティスに照らして環境を検証するために、平易な言葉でカスタムルールを作成することもできます。ドライランでルールをテストし、各環境で実行するようにスケジュールを設定します。"カスタムルールについて詳しくはこちらをご覧ください"。
重要な理由
Workload Factoryは、継続的な評価と推奨事項、および修復策を組み合わせることで、大規模なストレージ、データベース、およびVMware環境にベストプラクティスを適用します。Workload Factoryコンソールで適用される自動修正により、人的ミスが削減され、統一された管理が確保され、ワークロードインフラストラクチャ全体でパフォーマンスと信頼性が維持されます。
データベース環境を分析するためのオプション
Workload Factory は、データベース環境を分析するための以下のオプションを提供します:
-
1回限りの評価:"1回限りの評価"を実行して、認証情報を保存したりリソースを登録したりすることなく、Microsoft SQL ServerインスタンスまたはOracleデータベースの適切に設計された状態を確認します。
1回限りの評価では、分析対象のMicrosoft SQL Serverインスタンスまたはオラクルデータベースに対して、認証情報を1回だけ提供するだけで済みます。
-
継続的な評価:Workload Factory は、お客様のデータベース環境を定期的に分析し、設定を最適化するための継続的な推奨事項を提供し、問題を自動的に修正します。
継続的な評価を行うには、AWSアカウントでリソースを登録し、リンクを関連付け、権限を付与する必要があります。
Microsoft SQL Server ベストプラクティス
以下のベストプラクティスと推奨事項は、Microsoft SQL Server ワークロードに適用されます。
ストレージ
パフォーマンスが重視されるSQLワークロードには、プライマリSSD層を使用してください。
Details
FSx for ONTAP ボリュームのプライマリ SSD 階層を使用して、最適なパフォーマンスを実現します。容量プール階層では、パフォーマンスが低下したり、レイテンシが増加したりする可能性があります。プライマリ SSD 階層はハイパフォーマンスワークロード向けに設計されており、容量プール階層はコスト効率を重視して最適化されているため、SQL Server ワークロードのパフォーマンス要件を満たさない場合があります。
総ボリュームサイズを超える十分な空き容量を確保してください。
Details
ファイルシステムの容量は、総ボリュームサイズよりも十分に確保しておいてください。空き容量が少なすぎるとパフォーマンスに問題が生じ、多すぎるとストレージが無駄になりコストが増加します。
ログドライブのサイズを適切に設定し、監視することで、ロールバックやシステム障害を回避します。
Details
トランザクションのロールバック、データベースの利用不能、データ破損、およびログドライブがいっぱいになることによるパフォーマンスの問題を防ぐために、SQL Server ログドライブのサイズを適切に設定し、監視してください。
ボトルネックやタイムアウトを回避するために、TempDBのサイズを適切に設定してください。
Details
パフォーマンスと安定性を維持するために、TempDBのサイズ設定と監視を行ってください。TempDBの容量が不足すると、クエリの速度低下、アプリケーションのタイムアウト、システムクラッシュを引き起こす可能性があります。
別々の `.mdf`と `.ldf`のパス。
Details
並列I/O、バックアップの柔軟性、および復元動作を向上させるため、データファイルとログファイルを別々のドライブに分離してください。小規模なデータベースの場合は、データLUNとログLUNのパスを別々のボリュームに分けることをお勧めします。
専用ドライブを使用してください。
Details
TempDBを専用ドライブに配置することで、I/O競合を回避し、SQL Serverのパフォーマンスと安定性を向上させることができます。
必要に応じてストレージを割り当てます。
Details
FSx for ONTAP ボリュームのシンプロビジョニングを設定して、ストレージをより有効活用し、コストを削減します。シンプロビジョニングを使用すると、すべての容量を一度に予約するのではなく、必要に応じてストレージを割り当てることができます。
ボリュームを自動的に拡張します。
Details
自動サイズをオンにしてモードを `grow`に設定することで、ボリュームが容量いっぱいになって読み取り専用になる前に自動的に拡張されます。
SQL Serverで使用されるLUNのブロックデバイス領域設定を構成します。
Details
Microsoft SQL Server インスタンスで使用される LUN のブロック デバイス スペース設定を構成して、書き込みエラーを防止し、FSx for ONTAP のスペース効率を向上させます。
アクティブなデータのためのスペースを確保してください。
Details
スナップショットコピーのリザーブを0%に設定し、スナップショットの自動削除を有効にして、アクティブデータのスペースを保護してください。
スナップショットコピーを削除する前に、ボリュームを拡張してください。
Details
空き容量が少なくなったら、スナップショットコピーを削除する前にボリュームを拡張してください。ボリュームを拡張することで、「ボリュームがいっぱいです」というエラーを防ぎ、書き込みエラーを減らし、スナップショットの復元ポイントを保持できます。
スナップショット専用の階層化ポリシーを使用して、スナップショットデータを階層化します。
Details
スナップショット専用の階層化ポリシーを使用すると、スナップショットデータのみを容量階層に移動し、アクティブなデータはSSD階層に保持されます。このアプローチにより、SQLワークロードの低レイテンシパフォーマンスを維持しながら、ストレージコストを削減できます。7日間のクーリング期間後にスナップショットデータを階層化します。
重複排除、圧縮、およびコンパクションを使用してください。
Details
重複排除、圧縮、およびコンパクションを有効にすることで、パフォーマンスを維持しながらストレージ使用量とコストを削減できます。
ONTAP LUN の OS タイプをホストのパーティショニングに合わせます。
Details
ONTAP LUN オペレーティングシステムの値をホストのパーティショニングスキームに合わせて、正しい I/O アライメントを維持してください。
マルチパスI/O(MPIO)ポリシー、セッション、ステータス、およびタイムアウト設定を構成します。
Details
耐障害性とスループットを向上させるために、マルチパス I/O (MPIO)を設定します。iSCSI LUN 上の SQL Server に対して、ターゲットインターフェイスごとに 5 つの MPIO セッションを使用し、パスの状態を監視し、ホストタイムアウトを 60 秒に設定します。
64K に設定します。
Details
SQL Serverワークロードにおけるディスク効率の向上と断片化の軽減のため、NTFSアロケーションユニットサイズを64Kに設定してください。
スケジュールされたスナップショットを無効にします。
Details
Microsoft SQL Server で使用される FSx for ONTAP ボリュームのスケジュールされたスナップショットを無効にします。代わりに、NetApp SnapCenter などのツールを使用して外部でスナップショットを管理します。これにより、アプリケーションと整合性のあるバックアップが作成され、リストア操作中のデータ破損を防ぐことができます。
コンピューティング
EC2インスタンスのサイズをワークロードの需要に合わせて調整してください。
Details
ワークロードの需要に基づいて、SQL Server EC2インスタンスのサイズを最適化します。コストとパフォーマンスのバランスを取るため、リソースが不足している場合はサイズを増やし、リソースが過剰の場合はサイズを縮小してください。
最新のOSパッチを適用してください。
Details
セキュリティと信頼性を向上させるため、最新のオペレーティングシステムパッチを適用してください。
受信側スケーリング(RSS)を設定します。
Details
ネットワークパフォーマンスを向上させるために、受信側スケーリング(RSS)を設定して、ネットワーク処理を複数のCPUに分散させます。本番環境への展開前に設定を検証してください。
ホストパスとストレージパス間で最大伝送単位(MTU)を一致させます。
Details
EC2 の最大伝送単位(MTU)設定を FSx for ONTAP のパスに合わせて調整し、フラグメンテーションを防ぎ、安定したスループットを維持します。
Application
有料機能のライセンス使用状況を確認してください。
Details
ホストレベルでの SQL Server ライセンスの使用状況を確認してください。有料機能が使用されていない場合、ライセンスは最適化されず、コストが増加する可能性があります。
最新のSQL Serverパッチを適用してください。
Details
セキュリティとシステムの信頼性を向上させるために、最新の SQL Server パッチを適用してください。
ワークロードテスト済みの値を使用してください。
Details
クエリのパフォーマンスを最適化するために、MAXDOPを設定してください。4、8、または16の値は一般的にうまく機能します。ワークロードをテストし、CXPACKETなどの並列処理待機タイプを監視してください。
耐障害性
アプリケーション整合性スナップショットを NetApp SnapCenter とともに使用します。
Details
アプリケーション整合性スナップショットを NetApp SnapCenter とともに使用することで、特定の時点におけるボリュームデータの正確で信頼性の高いスナップショットを取得できます。SnapCenter はバックアップを容易にし、データの迅速な復元を支援することで、ダウンタイムを削減し、重要なワークロードを保護します。
地域的な障害から保護します。
Details
SQL Server環境におけるデータ可用性とディザスタリカバリを向上させるには、リージョン間レプリケーション(CRR)を有効にしてください。CRRは、異なる拠点間でデータを複製することで、地域的な障害から保護し、事業継続性を確保します。
FSx for ONTAPバックアップまたはAWS Backupを設定します。
Details
FSx for ONTAPバックアップまたはAWS Backupを設定して、保持要件とコンプライアンス要件を満たしつつ、重複するバックアップワークフローを回避します。
フェイルオーバークラスタインスタンスのクォーラムを設定します。
Details
SQL Server フェールオーバー クラスター インスタンスのクォーラムを正しく構成して、クラスターが想定されるノード障害に耐えられるようにします。
ノード間でドライブ文字を統一してください。
Details
SQL Serverの高可用性構成では、すべてのノードで同じドライブ文字を使用してください。これにより管理が容易になり、フェイルオーバーが正しく機能するようになります。
安定したフェイルオーバー動作のためにハートビートを調整します。
Details
ハートビート設定を調整して、不要なフェイルオーバーを回避しつつ、実際の障害を迅速に検出できるようにします。
両方のノードが共有iSCSI LUNにアクセスできることを確認してください。
Details
FCI展開モデルでは、フェイルオーバーを機能させるために、すべての共有ディスク(iSCSI LUN)が両方のノードからアクセス可能である必要があります。
サービスアカウントと起動時の依存関係を検証します。
Details
信頼性の高い高可用性動作を実現するために、サービスアカウントの権限、起動タイプ、および依存関係を検証します。
クローニング
古いクローンは定期的に削除してください。
Details
ストレージコストと運用上の煩雑さを軽減するため、古くなったクローンは定期的に削除してください。古くて使われていないクローンは、高額なコストの原因となります。
Oracleのベストプラクティス
以下のベストプラクティスと推奨事項は、Oracleワークロードに適用されます。
ストレージ
総ボリュームサイズを超える十分な空き容量を確保してください。
Details
ファイルシステムの容量は、総ボリュームサイズよりも十分に確保しておいてください。空き容量が少なすぎるとパフォーマンスに問題が生じ、多すぎるとストレージが無駄になりコストが増加します。
必要に応じてストレージを割り当てます。
Details
FSx for ONTAP ボリュームのシンプロビジョニングを設定して、ストレージをより有効活用し、コストを削減します。シンプロビジョニングを使用すると、すべての容量を一度に予約するのではなく、必要に応じてストレージを割り当てることができます。
ボリュームを自動的に拡張します。
Details
自動サイズをオンにしてモードを `grow`に設定すると、ボリュームが容量いっぱいになって読み取り専用になる前に自動的に拡張されます。
SQL Serverで使用されるLUNのブロックデバイス領域設定を構成します。
Details
Oracleデータベースで使用されるLUNのブロックデバイス スペース設定を構成して、書き込みエラーを防止し、FSx for ONTAPのスペース効率を向上させます。
アクティブなデータのためのスペースを確保してください。
Details
スナップショットコピーのリザーブを0%に設定し、スナップショットの自動削除を有効にして、アクティブデータのスペースを保護してください。
スナップショットコピーを削除する前に、ボリュームを拡張してください。
Details
空き容量が少なくなったら、スナップショットコピーを削除する前にボリュームを拡張してください。ボリュームを拡張することで、「ボリュームがいっぱいです」というエラーを防ぎ、書き込みエラーを減らし、スナップショットの復元ポイントを保持できます。
スナップショット専用の階層化ポリシーを使用して、スナップショットデータを階層化します。
Details
スナップショット専用の階層化ポリシーを使用すると、スナップショットデータのみを容量階層に移動し、アクティブなデータはSSD階層に保持されます。このアプローチにより、SQLワークロードの低レイテンシパフォーマンスを維持しながら、ストレージコストを削減できます。7日間のクーリング期間後にスナップショットデータを階層化します。
重複排除、圧縮、およびコンパクションを使用してください。
Details
重複排除、圧縮、およびコンパクションを有効にすることで、パフォーマンスを維持しながらストレージ使用量とコストを削減できます。
RAMに基づいてスワップを設定します。
Details
システムがメモリ負荷に対応し、動作の遅延やクラッシュを回避できるよう、RAM 容量に基づいてスワップ領域を設定してください。
Oracleファイルの種類ごとに専用のボリュームを使用することで、I/Oパターンを分離し、パフォーマンスを向上させることができます。
Details
アーカイブ ログ、データ ファイル、制御ファイル、redo ログ、および一時ファイルを別々のドライブに配置することで、I/O パターンを分離し、耐障害性を向上させます。必要に応じて、冗長コピーを別のボリュームに保管してください。
専用ボリュームを使用してください。
Details
Oracleバイナリを専用ボリュームに配置することで、I/O競合を軽減できます。この分離により、ソフトウェアのアップデートが簡素化され、意図しない変更やデータ破損のリスクが最小限に抑えられます。
ローカルでのスケジュールされたスナップショットを無効にします。
Details
Oracle が使用する FSx for ONTAP ボリュームのスケジュールされたスナップショットを無効にすることで、容量を節約しコストを削減できます。代わりに、NetApp SnapCenter などのツールを使用して外部でスナップショットを管理してください。これらのツールはアプリケーションと整合性のあるバックアップを作成し、リストア操作中のデータ破損を防ぐのに役立ちます。
dNFSを無効にします。
Details
dNFS の ONTAP nfs-rootonly パラメータを無効にします。 nfs-rootonly NFS 接続を特権ポート(1024 未満)に制限します。NFSv4+ の dNFS プロセスは root として実行されず、より高いポートを使用するため、このパラメータを無効にすることで必要な接続が可能になります。
Oracleバイナリ専用のエクスポートポリシーに、スーパーユーザー権限とsetuid権限を含めます。
Details
Oracle バイナリが NFS 共有上に配置されている場合は、エクスポートポリシーにスーパーユーザー権限と setuid 権限が含まれていることを確認してください。スーパーユーザー(root)アクセスにより、NFS クライアントは root としてマッピングすることができ、バイナリ実行に必要となります。
FSx for ONTAP上で動作するiSCSIベースのストレージ用にOracle Automatic Storage Management(ASM)を設定します。
Details
FSx for ONTAP 上で実行される iSCSI ベースのストレージに Oracle Automatic Storage Management (ASM) を使用することで、Oracle Database 導入におけるパフォーマンスの最適化、ストレージ管理の簡素化、およびスケーラビリティの向上を実現します。
-
ASM データ ディスク グループ、ASM ログ ディスク グループ、ASM FRA ディスク グループ、および ASM アーカイブ ディスク グループ LUN
LUNをAutomatic Storage Management(ASM)ディスク グループリソース全体に分散させます。
Details
最適なパフォーマンスと冗長性を実現するために、LUNをAutomatic Storage Management(ASM)のデータ、REDOログ、およびアーカイブログのディスク グループ全体に分散させます。
-
ASM外部冗長性
Oracle ASM ディスク グループを EXTERNAL 冗長構成で設定します。
Details
FSx for ONTAP の iSCSI LUN に対して Oracle ASM ディスク グループを EXTERNAL 冗長性で構成することで、FSx for ONTAP の組み込み高可用性を活用し、ストレージ効率を最適化して、Oracle レベルのデータ ミラーリングを回避することでコストを削減できます。
-
ASMフィルタドライバとASMLibの論理ブロックサイズのアライメント
Oracle ASM Filter Driver (AFD) と ASMLib を構成して、基盤となる FSx for ONTAP ストレージの論理ブロック サイズを使用するようにします。
Details
Oracle ASM フィルタドライバ(AFD)と ASMLib を ASMLib 構成ファイルで構成して、基盤となる FSx for ONTAP ストレージの論理ブロックサイズを使用するようにします。これにより、AFD と ASMLib は I/O 操作をストレージのブロックサイズに合わせ、レイテンシを最小限に抑え、不要な I/O オーバーヘッドを削減することでパフォーマンスを最適化します。
NFSベースのOracleワークロードの場合は128に設定します。
Details
NFS上で実行されるOracleワークロードの場合、TCPスロットテーブルのカーネルパラメータを128に設定してください。この構成により、同時実行I/O操作が増加し、Oracleデータ ファイルアクセスなどの高スループットシナリオにおけるレイテンシが低減されます。カーネルパラメータは、TCP経由で処理可能なNFSリクエストの最大数を制御し、ファイバーチャネル構成におけるキューの深さのような役割を果たします。Linuxのデフォルト値(通常は16に設定)では、最適なデータベースパフォーマンスは得られません。
データベース ファイルのパフォーマンスを最適化する NFS マウント オプションを使用してください。
Details
データベース ファイルには、最適化された NFS マウント オプションを使用してください。主なパラメータには、読み取り / 書き込みアクセス用の rw、バックグラウンド マウント用の bg、障害発生時の無期限再試行用の hard、および確実な配信用の `proto=tcp`が含まれます。 `rsize`および `wsize`の値 262144 は大規模な I/O 操作を改善してスループットを向上させ、 `nointr`は長時間実行中のタスクを中断しません。この構成により、特に高スループット環境において、データベースのパフォーマンスと耐障害性が向上します。
ADRホームディレクトリのパフォーマンスを最適化するNFSマウントオプションを使用してください。
Details
Automatic Diagnostic Repository(ADR)のホーム ディレクトリまたはルート ディレクトリには、最適化されたNFSマウント オプションを使用します。ADRホームにはログとトレースが格納されます。これらはコア データベース ファイルと同様の信頼性オプションのメリットを得られますが、処理の中断に対する感度が低いため、 `nointr`マウント オプションは必要ありません。
ホストと NFSサーバ間で NFSv4 ドメイン名を一致させます。
Details
ホスト間でNFSv4ドメイン名を一致させる(/etc/idmapd.conf`または `hostname -d)とNFSサーバ(v4-id-domain(ONTAP)。
スタンドアロン環境では、ホストキャッシュを無効にしないでください。
Details
スタンドアロンの Oracle 環境において効率性と信頼性を向上させるため、ホストキャッシュを無効にする NFS マウントオプション( `actimeo=0`や `noac`など)は省略してください。これらのオプションは、キャッシュの一貫性を確保するためにクラスタ環境に適用されますが、シングルインスタンス環境では不必要にキャッシュをバイパスしてしまい、パフォーマンスを大幅に低下させる可能性があります。
dNFSを有効にします。
Details
Oracle環境でDirect NFS(dNFS)を有効にすると、NFSストレージのパフォーマンスと信頼性が向上します。
ラウンドロビン方式の名前解決は避けてください。
Details
Direct NFS (dNFS) を、DNS、DDNS、NIS、またはその他の方法を含む、あらゆる種類のラウンドロビン名前解決と組み合わせて使用することは避けてください。これには、ONTAP で利用可能な DNS ロード バランシング機能が含まれます。一貫した IP アドレス解決により、データベースの安定性が維持され、潜在的なクラッシュやデータ破損を防ぐことができます。
コンテンツを検証します oranfstab。
Details
`oranfstab`ファイルの内容を確認および更新して、Direct NFS(dNFS)が適切に使用されるようにします。 `oranfstab`ファイルは、マルチパスや特定のNFSオプションなど、高度なdNFS機能を設定するために不可欠です。適切な設定を行うことで、データへのアクセスと管理の効率が向上します。
特定のマルチマウントケースには `nosharecache`を使用してください。
Details
Direct NFS (dNFS)が有効になっている環境で、ネストされた NFS マウントを使用してソース ボリュームが単一サーバー上に複数回マウントされている場合の `nosharecache`マウント オプションを設定します。この設定により、マウント間でのキャッシュ共有が防止され、データの一貫性と最適なパフォーマンスが確保されます。
コンピューティング
最新のパッチを適用してください。
Details
セキュリティと信頼性を向上させるため、最新のオペレーティングシステムパッチを適用してください。
Transparent Huge Pages (THP)を無効にします。
Details
Oracleデータベースを実行しているデータベースホストでは、パフォーマンスの低下を防ぎ、メモリ管理を改善するために、Transparent Huge Pages(THP)を無効にしてください。
伝送制御プロトコル(TCP)の詳細オプションを有効にします。
Details
ネットワークのパフォーマンスと信頼性を最大限に高めるには、TCPタイムスタンプ、SACK、およびウィンドウスケーリングを有効にしてください。
セット filesystemio_options = setall。
Details
最適な I/O パフォーマンスを実現するために設定します filesystemio_options = setall。バッファリングされた I/O から移行する場合は、必要に応じてシステム グローバル エリア (SGA) のサイズを調整してください。
`db_file_multiblock_read_count`パラメータを削除します。
Details
Oracle データベースのパフォーマンスの問題を防止し、Oracle がこの設定を自動的に管理できるようにするために、テキストベース of FILE init.ora またはサーバ管理のバイナリ SPFILE (spfile<SID>.ora) から db_file_multiblock_read_count パラメータを削除します。
最新のCPUアップデートを適用してください。
Details
セキュリティ脆弱性に対処し、データベース環境の整合性を維持するために、最新のOracleクリティカルパッチアップデートを適用してください。潜在的な脅威から保護し、セキュリティのベストプラクティスを遵守するために、定期的にパッチをレビューして適用してください。
耐障害性
アプリケーション整合性スナップショットを NetApp SnapCenter とともに使用します。
Details
アプリケーション整合性スナップショットを NetApp SnapCenter とともに使用することで、特定の時点におけるボリュームデータの正確で信頼性の高いスナップショットを取得できます。SnapCenter はバックアップを容易にし、データの迅速な復元を支援することで、ダウンタイムを削減し、重要なワークロードを保護します。
地域的な障害から保護します。
Details
Oracleデータベースのデータ可用性と災害復旧を向上させるには、リージョン間レプリケーション(CRR)を有効にしてください。CRRは、異なる拠点間でデータを複製することで、地域的な障害から保護し、事業継続性を確保します。
FSx for ONTAPバックアップまたはAWS Backupを設定します。
Details
FSx for ONTAPバックアップまたはAWS Backupを設定して、保持要件とコンプライアンス要件を満たしつつ、重複するバックアップワークフローを回避します。
クローニング
古いクローンは定期的に削除してください。
Details
ストレージコストと運用上の煩雑さを軽減するため、古くなったクローンは定期的に削除してください。古くて使われていないクローンは、高額なコストの原因となります。