問題の説明
OverlayfsをECSインスタンスにアタッチできません。 この問題が発生したECSインスタンスには、次の特徴があります。
- イメージ: すべてのAlibaba Cloud Linux 2イメージバージョン。
- カーネル: クラウド内のすべてのAlibaba Cloud Linux 2カーネル。
dmesgコマンドを実行します。 カーネルログには、次のエラーログが表示されます。- kernel-4.19.67-16.al7早く。
overlayfs: lowerdirはupperdir/workdirとして使用中です overlayfs: 使用中のupperdir/workdirに重なるlowerdirパス overlayfs: upperdirは別のマウントで使用中です。「-o index=off」でマウントして、排他的なupperdir保護をオーバーライドします。 overlayfs: workdirは別のマウントで使用中です。「-o index=off」でマウントして、排他的なworkdir保護をオーバーライドします。
- kernel-4.19.67-16.al7早く。
-
- kernel-4.19.67-16.al7以降のバージョン。
overlayfs: lowerdirは別のマウントのupperdir/workdirとして使用されており、「-o index=off」でマウントして排他的なupperdir保護をオーバーライドします。 overlayfs: workdirは別のマウントのupperdir/workdirとして使用されており、「-o index=off」でマウントして排他的なupperdir保護をオーバーライドします。 overlayfs: upperdirは別のマウントのupperdir/workdirとして使用されており、「-o index=off」でマウントして排他的upperdir保護をオーバーライドします。
- kernel-4.19.67-16.al7以降のバージョン。
原因
OverlayfsのMountパラメーターlowerdir、upperdir、またはworkdirは、他のマウントポイントのupperdirまたはworkdirの両方にすることはできません。 そうしないと、未知のリスクが発生する可能性があります。 つまり、カーネルがマウントプロセス中に前述の問題のいずれかを検出すると、-etrafficエラーが返され、エラーログが出力されます。
解決策
説明
以下の点にご注意ください。
- インスタンス設定やデータの変更など、リスクを引き起こす可能性のある操作を実行する前に、データのセキュリティを確保するために、インスタンスのディザスタリカバリ機能とフォールトトレランス機能を確認することを推奨します。
- ECS (Elastic Compute Service) およびRDS (Relational Database Service) インスタンスを含むインスタンスの設定およびデータを変更できます。 変更前に、スナップショットを作成するか、RDSログバックアップを有効にすることを推奨します。
- Alibaba Cloud管理コンソールでログインアカウントやパスワードなどの機密情報を承認または送信した場合は、そのような情報をタイムリーに変更することを推奨します。
一時的な解決策
説明
注:
- この一時的な解決策を使用することは未知のリスクです。 それを使用する前に注意深く評価して下さい。
- Overlayfsは主にコンテナサービスで使用されます。 コンテナーサービスの複数のマウントポイントは、常に同じupperdirまたはworkdirを共有します。 ただし、この問題を回避するには、
index機能 (index=offパラメーターを指定) を無効にできます。
- カーネルバージョンのエラーメッセージを確認してください。
- kernel-4.19.67-16.al7早く。
dmesgコマンドを実行した後、次のエラーログが発生した場合は、次の手順を参照して問題のトラブルシューティングを行います。説明注: 他の2つのエラーが発生した場合、このソリューションでは問題を解決できません。
overlayfs: upperdirは別のマウントで使用中です。「-o index=off」でマウントして、排他的upperdir保護をオーバーライドします。 overlayfs: workdirは別のマウントで使用中です。「-o index=off」でマウントして、排他的なworkdir保護をオーバーライドします。 - kernel-4.19.67-16.al7以降のバージョン。 次の手順を実行して、エラーログおよびそれ以降のバージョンのkernel-4.19.67-16.al7を処理できます。
- kernel-4.19.67-16.al7早く。
- コマンドを実行してOverlayfsファイルシステムをマウントし、
index=offmountパラメーターを指定すると、上記のエラーを回避するためにOverlayfsファイルをマウントできます。 この時点で、カーネルは次のいずれかのログを出力します。 overlayfs: lowerdirが別のマウントのupperdir/workdirとして使用されている、両方のマウントからファイルにアクセスすると、未定義の動作が発生します。 overlayfs: upperdirは別のマウントのupperdir/workdirとして使用されているため、両方のマウントからファイルにアクセスすると、未定義の動作が発生します。 overlayfs: workdirは別のマウントのupperdir/workdirとして使用されているため、両方のマウントからファイルにアクセスすると未定義の動作が発生します。
基本的なソリューション
- Overlayfsファイルシステムをマウントする前に、
mountコマンドを実行して、各マウントポイントのlowerdir、upperdir、workdirなどのパラメーターを表示する必要があります。 コマンド出力は次のとおりです。overlay on /.../merged type overlay (rw,relatime,lowerdir=...,upperdir=...,workdir=...) - マウントするlowerdir、upperdir、またはworkdirディレクトリが、他のマウントポイントのupperdirまたはworkdirパラメーターと同じでないことを確認します。
適用対象
- Elastic Compute Service