セットアップ
私はかなり長い間プログラマーでしたが、深い内部的なものについてはまだ少し曖昧です。
今。次のいずれかを行うことはお勧めできません。
- kill -9プロセス(悪い)
- 実行中のコンピューターまたはサーバーの電源プラグを自発的に引きます(さらに悪い)
ただし、必要な場合もあります。プロセスが何をしても反応しない場合もあれば、コンピューターが何をしても反応しない場合もあります。
mod_wsgiを介してApache 2、MySQL 5、PHP 5、およびPython 2.6.5を実行しているシステムを想定します。
注:ここではMac OS Xに最も興味がありますが、UNIXシステムに関係する答えがあれば役立ちます。
私の懸念
これらのいずれか、特に2番目のいずれかを行う必要があるたびに、何かが壊れていることをしばらく心配しています。どこかのファイルが破損している可能性があります。誰がどのファイルを知っているのでしょうか?コンピューターには1,000,000以上のファイルがあります。
OS Xを頻繁に使用しているため、ディスクユーティリティを使用して「ディスクの検証」操作を実行します。問題は報告されませんが、私はまだこれについて心配しています。
構成ファイルがどこかでめちゃくちゃになった場合はどうでしょう。さらに悪いことに、どこかのバイナリファイルが破損している場合はどうでしょう。または、スクリプトファイルがどこかに破損しています。一部のハードウェアが破損した場合はどうなりますか?
破損または損傷が大惨事を引き起こす重大なシナリオで、来月までそれを見つけられない場合はどうなりますか?
または、貴重なデータがすでに失われている場合はどうなりますか?
私の希望
私の希望は、これらの懸念と心配に根拠がないことです。結局、これを何度も繰り返した後、本当に悪いことは何も起きていません。最悪の場合、いくつかのMySQLテーブルを修復する必要がありますが、データを失っていないようです。
しかし、私の心配が根拠がなく、実際の損害が状況1または2のいずれかで発生する可能性がある場合、それを検出してそれを防ぐ方法があることを望みます。
私の質問
これは、最新のオペレーティングシステムがこれらのシナリオで何も失われないように設計されているためでしょうか?これは、最新のソフトウェアが何も失われないように設計されているためでしょうか?最新のハードウェア設計はどうですか?電源プラグを抜くとき、どのような対策がとられていますか?
私の質問は、これらのシナリオの両方のために、何をされて正確に間違って行くことができ、そしてどのような手順は、それを修正するために取られるべきですか?
私が間違っている可能性があるのは、いくつかのプログラムがデータをディスクにフラッシュしていない可能性があるため、ディスクに書き込まれるはずの非常に最近のデータ(たとえば、電源を切る数秒前) )失われる可能性があります。しかし、それ以上はどうですか?そして、5秒のデータ損失というまさにこの問題がシステムを台無しにしてしまうのでしょうか?
ハードドライブ上の巨大なファイルフォレストのどこかに隠れているランダムファイルの破損はどうですか?
ハードウェアの損傷はどうですか?
私に最も役立つもの
プロセスを強制終了するか、システム全体の電源を入れると、内部で何が起こるかについての詳細な説明。(インスタントのようですが、誰かがそれを遅くすることはできますか?)
これらのシナリオでうまくいかない可能性のあるすべての説明と、(もちろん)確率(つまり、これは非常にまれですが、これはそうです)
これらのシナリオが発生した場合の損傷または破損を防ぐための、最新のハードウェア、オペレーティングシステム、およびソフトウェアで実施されている対策の説明。(私を慰めるために)
「ディスクの検証」を超えて、キル-9または電源を切った後、ドライブのどこかに何も破損または損傷がないことを本当に確認するための手順。
コンピューターのセットアップを強化して、何かを殺したり、電源を抜かなければならない場合に発生する可能性のある損害を軽減するために講じることができる対策。
バイナリファイルに関する情報-apacheバイナリファイルまたはライブラリの途中でランダムなバイトまたはランダムなバイトが破損している可能性がありますが、それは後になって問題を引き起こすことはありませんか?これがパワープルまたはキルの結果として発生したのではないことをどのように確認できますか?
本当にありがとう!