7.9. ストレージの問題のトラブルシューティング
マルチアタッチストレージエラーは、障害が発生したノードが接続されているボリュームをアンマウントできないため、新しいノードにボリュームをマウントできない場合に発生します。クラスター管理者は、RWX ボリュームを使用して複数のアタッチメントを有効にするか、RWO ボリュームを使用している場合は障害が発生したノードを復旧/削除することで、マルチアタッチストレージの問題を解決できます。
7.9.1. 複数割り当てエラーの解決 リンクのコピーリンクがクリップボードにコピーされました!
ノードが予期せずにクラッシュまたはシャットダウンすると、割り当てられた ReadWriteOnce (RWO) ボリュームがノードからアンマウントされ、その後は別のノードでスケジュールされる Pod で使用可能になることが予想されます。
ただし、障害が発生したノードは割り当てられたボリュームをアンマウントできないため、新規ノードにマウントすることはできません。
複数割り当てのエラーが報告されます。
出力例
Unable to attach or mount volumes: unmounted volumes=[sso-mysql-pvol], unattached volumes=[sso-mysql-pvol default-token-x4rzc]: timed out waiting for the condition
Multi-Attach error for volume "pvc-8837384d-69d7-40b2-b2e6-5df86943eef9" Volume is already used by pod(s) sso-mysql-1-ns6b4
手順
複数割り当ての問題を解決するには、以下のソリューションのいずれかを使用します。
RWX ボリュームを使用して複数の添付ファイルを有効にする:
ほとんどのストレージソリューションでは、ReadWriteMany (RWX) ボリュームを使用して、複数割り当てエラーを防ぐことができます。
RWO ボリュームを使用している場合に、障害が発生したノードを復旧または削除する:
VMware vSphere などの RWX をサポートしないストレージの場合、RWO ボリュームが代わりに使用される必要があります。ただし、RWO ボリュームは複数のノードにマウントできません。
RWO ボリュームでマルチアタッチエラーメッセージが表示された場合は、シャットダウンまたはクラッシュしたノードで Pod を強制的に削除して、動的永続ボリュームがアタッチされている場合など、重要なワークロードでのデータ損失を回避してください。
$ oc delete pod <old_pod> --force=true --grace-period=0このコマンドは、シャットダウンまたはクラッシュしたノードで停止したボリュームを 6 分後に削除します。