オンラインシステムにbtrfsルートファイルシステムがあるとします。ファイルシステムをスナップショットのある以前の状態に復元しようとしています。
remount /dev/sdaX / -o remount,subvol=snapshots/Y
ちなみに私はテストシステムでこれを行いましたが、実際にはそうです。いいえ働くコマンドはエラーなしで返されますが、マウントされたサブボリュームは同じです。
この場合した仕事をしたら、結果はどうなりますか?私の意見では、開かれたファイル記述子はまだ古いサブボリュームを指しているので、注意しないと、新しいサブボリュームで「データ損失」が発生する可能性があるようです。開いているすべてのファイル記述子を閉じて再度開く問題が発生すると仮定すると、これは実現可能でしょうか?それとも別の種類の質問がありますか?
答え1
いいえ、できません。すべてのIOを新しいサブボリュームにリダイレクトできますが、アプリケーションへのアクセス中にアプリケーションでファイルを変更すると、必然的にファイルが破損し、アプリケーションが混乱します。問題のファイルがプログラムの場合、プログラムは制御不能状態になり、運が続くと競合が発生します。