一度のRDSトラブルシューティングを記録--RDS容量の増加
2612 ワード
お客様は午後7時に故障を申告します.
4時の時点でRDS容量が500 Gから900 Gに急上昇し、すべてのスペースを占有し、業務が正常に運行できなくなった
原因の分析、表示
1、MySQLテンポラリファイルによるインスタンスディスクの空き容量の解決方法
問題の原因
MySQLインスタンスは、クエリ文のソート、グループ化、関連テーブルによって生成されたテンポラリ・テーブル・ファイル、または大きなトランザクションがコミットされない前に生成されたbinlog cacheファイルによって、インスタンスのスペースがいっぱいになる可能性があります.データ損失を回避するために、RDSはインスタンスを自動的にロックし、ディスクがロックされた後、書き込み操作ができません.
ソリューション
インスタンスストレージスペースをアップグレードすると、インスタンスをロック解除できます.
プロセスの処理状況を見ることができ、timeの遅延を排除するのは比較的に大きく、ずっと解決していないので、問題が発生する可能性が高い.
2、MySQLシステムファイルによるインスタンスディスクの空き容量の解決方法
問題の原因
MySQLインスタンスは、長い間クエリが終了しないためibdata 1ファイルが大きすぎて収縮できず、インスタンススペースがいっぱいになる可能性があります.データ損失を回避するために、RDSはインスタンスを自動的にロックし、ディスクがロックされた後、書き込み操作ができません.
インスタンスストレージスペースをアップグレードすると、インスタンスをロック解除できます.
注意事項一時ファイルのクリーンアップに遅延があります.インスタンスの使用スペースの低下を辛抱強く待ってください. MySQL 5.7は独立した一時表領域ibtmp 1を採用し始めたため、インスタンスを再起動することで空間を解放することができる.MySQL 5について.5/5.6例では、ディスク領域をアップグレードしない前提で、同じ地域で同じ構成のRDSインスタンスを購入し、DTSツールを使用して新しいインスタンスにデータを移行することが好ましい.
3、MySQL Binlogファイルによってインスタンスの空間がいっぱいになる解決方法
問題の原因
MySQLインスタンスは、大きなトランザクションによってBinlogファイルが迅速に生成され、インスタンスの空き容量がいっぱいになる可能性があります.データの損失を回避するために、RDSはインスタンスを自動的にロックし、ディスクがロックされた後、書き込み操作ができません.
注意事項 Binlogファイルはインスタンスのトランザクション情報を記録します.MySQLインスタンスの高可用性、リカバリ性の基礎です.閉じないことをお勧めします.BinlogをアリクラウドOSSにアップロードすることで、ディスク領域を解放したり、ローカルBinlog設定を変更したりすることができます. Binlogファイルのクリーンアップに遅延があります.インスタンスが使用されているスペースの低下を辛抱強く待ってください. ワンタッチでBinlogをアップロードするとバックグラウンドで非同期でクリーンアップタスクがコミットされ、クリーンアップタスクは書き込み済みのBinlogをOSS(ユーザーが購入していないOSS)にアップロードし、インスタンス空間からBinlogファイルを削除します.現在書き込み中のBinlogファイルは書き込みが完了していないためクリーンアップできません.そのため、クリーンアッププロセスには一定の遅延があります.Binlogをアップロードするには、クリックしてしばらく待つことをお勧めします.このボタンを何度もクリックしないでください.基本情報ページで使用済みスペースが減少しているかどうかを確認できます. DMLなどの操作(例えば大きなフィールドに関するDML操作)によりBinlogが迅速に生成され、Binlogファイルがバックアップスペースにアップロードされ、インスタンススペースから削除された処理速度がインスタンスからBinlogファイルが生成される速度に追いつかない場合、ディスクスペースのアップグレードを検討し、Binlogが迅速に生成される原因を調べる.
4、ySQLデータファイルによるインスタンスの空間がいっぱいになる解決方法
問題の原因
MySQLインスタンスは、データファイルが長時間整理されていないため、インスタンスのスペースがいっぱいになる可能性があります.データ損失を回避するために、RDSはインスタンスを自動的にロックし、ディスクがロックされた後、書き込み操作ができません.
注意事項
テーブルを削除する前に、損失を回避するためにデータバックアップがあることを確認してください.
dropまたはtruncateコマンドを使用してスペースを解放することを推奨します.
optimize操作はテーブルをロックし、ビジネスの低ピーク時に操作することを推奨します.
データファイルのクリーンアップに遅延があります.インスタンスの使用スペースの低下を辛抱強く待ってください.
分析データの表示
故障原因を分析したところ、4時にお客様が誤ったSQL文を実行して混雑していた
再起動後のリカバリ
4時の時点でRDS容量が500 Gから900 Gに急上昇し、すべてのスペースを占有し、業務が正常に運行できなくなった
原因の分析、表示
1、MySQLテンポラリファイルによるインスタンスディスクの空き容量の解決方法
問題の原因
MySQLインスタンスは、クエリ文のソート、グループ化、関連テーブルによって生成されたテンポラリ・テーブル・ファイル、または大きなトランザクションがコミットされない前に生成されたbinlog cacheファイルによって、インスタンスのスペースがいっぱいになる可能性があります.データ損失を回避するために、RDSはインスタンスを自動的にロックし、ディスクがロックされた後、書き込み操作ができません.
ソリューション
インスタンスストレージスペースをアップグレードすると、インスタンスをロック解除できます.
show processlist
プロセスの処理状況を見ることができ、timeの遅延を排除するのは比較的に大きく、ずっと解決していないので、問題が発生する可能性が高い.
2、MySQLシステムファイルによるインスタンスディスクの空き容量の解決方法
問題の原因
MySQLインスタンスは、長い間クエリが終了しないためibdata 1ファイルが大きすぎて収縮できず、インスタンススペースがいっぱいになる可能性があります.データ損失を回避するために、RDSはインスタンスを自動的にロックし、ディスクがロックされた後、書き込み操作ができません.
インスタンスストレージスペースをアップグレードすると、インスタンスをロック解除できます.
注意事項
3、MySQL Binlogファイルによってインスタンスの空間がいっぱいになる解決方法
問題の原因
MySQLインスタンスは、大きなトランザクションによってBinlogファイルが迅速に生成され、インスタンスの空き容量がいっぱいになる可能性があります.データの損失を回避するために、RDSはインスタンスを自動的にロックし、ディスクがロックされた後、書き込み操作ができません.
注意事項
4、ySQLデータファイルによるインスタンスの空間がいっぱいになる解決方法
問題の原因
MySQLインスタンスは、データファイルが長時間整理されていないため、インスタンスのスペースがいっぱいになる可能性があります.データ損失を回避するために、RDSはインスタンスを自動的にロックし、ディスクがロックされた後、書き込み操作ができません.
注意事項
テーブルを削除する前に、損失を回避するためにデータバックアップがあることを確認してください.
dropまたはtruncateコマンドを使用してスペースを解放することを推奨します.
optimize操作はテーブルをロックし、ビジネスの低ピーク時に操作することを推奨します.
データファイルのクリーンアップに遅延があります.インスタンスの使用スペースの低下を辛抱強く待ってください.
分析データの表示
SELECT file_name, concat(TOTAL_EXTENTS,'M') as 'FIle_size' FROM INFORMATION_SCHEMA.FILES order by TOTAL_EXTENTS DESC
故障原因を分析したところ、4時にお客様が誤ったSQL文を実行して混雑していた
再起動後のリカバリ