Linuxは停電時の破損に対して脆弱ですか?


10

私の会社のシステム管理者は、停電によってLinuxが無力になる傾向があると言っています。彼らは、Windowsマシンは常に停電後も生き残るが、Linuxボックスは回復不能になることが多い(つまり、マシンを起動できなくなる)と言います。これは、電力会社が私たちのオフィスへの電力供給を長期間遮断しているとのことで、管理者は私が停止する前に私だけがアクセスできるすべてのLinuxボックスをシャットダウンするように求めたためです。

Linuxは堅牢であるはずだと思いましたか?
私の質問-停電によってLinuxボックスが無力になるのを防ぐために実行する必要があるプロセスはありますか?


2
まあ、さまざまなOSの問題を無視して、停電はどのマシンにも影響します。それは、実行中のすべてのプロセスが停止するためです。すべてのプロセスが正常に停止することが許可されるため、マシンを停止させることが常に望ましいです。
Doktoro Reichard 2013

ドー、私はこれを知っています。問題は、何らかの理由でLinuxがWindowsよりも壊れやすいかどうかです。もしそうであれば、その堅牢性を高めるために何かできることはありますか(たとえば、ディスクキャッシュをより頻繁にフラッシュするように強制するなど)。
タイラーダーデン2013

2
私の答えは、一般的で包括的であることを意味します。何をしても、どこかで障害が発生するリスクが常にあります。Linuxがよりもろい場合は、具体的に回答できる人に任せます。私の個人的な経験(WindowsとOSXを使用)では、出力(たとえばシミュレーション)を気にしていない限り、簡単に跳ね返ることがわかりました。多分あなたが追加する必要があるのは、マシンがどのように使用されるかです。
Doktoro Reichard 2013

「停電によってLinuxボックスが無力になるのを防ぐために実行する必要があるプロセスはありますか?」問題は、あなたが、あなたがこのことについて懸念している場合しまうのヘルプは、「シャットダウンコンピュータ」であることをここで実行可能なコマンド(あなたは多数のコンピュータを持っている場合、これは高価な速いを取得しますが)、私はUPSをお勧めします、ハードウェアレベルであります
デビッド

7
常に大きな言葉ですが、それもまた誤りです。停電中にウィンドウが破損する可能性があります。なぜバッテリーバックアップがあり、システムをシャットダウンするように設定しないのですか?「常に」と言っている人は、間違いなく99.99999%の確率で間違いを犯すと言えます。
ラムハウンド2013

回答:


14

LinuxはWindowsよりも脆弱ですか?
答えは次のとおりです

この状況で誰かが「起動できません」と言ったとき、それを「ファイルシステムの破損」に変換し、元の質問に対する[はい]または[いいえ]の答えはすべて、使用しているファイルシステムによって異なります。

Windowsでは、Linuxボックスで許可されているファイルシステムのすべての選択肢を利用できません。NTFS以外のWindowsシステムはほとんどありません。NTFSには、障害が発生したときにロールバックできるジャーナリングファイルトランザクションなど、電源が失われた場合に役立つものが組み込まれています

Linuxボックスはこれを持つことができましたが、できませんでした。それはすべて、サーバーの設定方法に依存します。サーバーがext2 1を使用した場合、停電時にファイルが破損する可能性が非常に高くなります。NTFSよりも多くのデータ整合性機能を備えたBtrfsのようなものを使用したシステムと比較してください。

したがって、システム管理者がext2システムでしか機能していない場合、彼は非常に適切である可能性がありますが、別のファイルシステムを使用している場合は、誤りである可能性があります。


1:Ext2は、長い間、DebianとRed Hat Linuxの両方のデフォルトでした。これは現在、データの整合性のための機能に関してNTFSと同等のExt3でほとんど置き換えられています。


NTFS以外のジャーナリングとファイルトランザクションを備えたファイルシステムについてはどうですか?私はWindowsの完全かつ完全なパワーの欠如が何かが中断された場合でもより良い安定性につながる可能性があることに異論はありません。
ラムハウンド2013

3
下のメモで、Ext3はNTFSと同じレベルであることを述べました。私は、システム管理者はExt2ファイルシステムしか経験していない可能性があり、彼の観点からは彼は正しいと思います。それは、Fat32ファイルシステムにのみさらされ、NTFSを見たことがない場合のようです(Fat32上のWindowsのバージョンには、停電時のファイル破損の恐ろしい履歴があった)
Scott Chamberlain

私は脚注を完全に見逃しました:-(
ラムハウンド2013

+1は、使用中のさまざまなファイルシステムとジャーナリングを参照します。
Doktoro Reichard 2013

ここでのベストアンサー+1
Pimp Juice IT

3

いいえ、突然の停電に関しては、Linuxは本質的にWindowsほど堅牢ではありません。発生する可能性があるのは、どちらのOSの場合も、電源が失われた瞬間にハードドライブ上のファイルシステムにデータが書き込まれ、これが(歴史的に)ファイルシステムを破損する可能性があることです。

この問題の解決策は、情報の書き込み方法に基づいてこの問題の影響を受けないジャーナリングファイルシステムを使用することです。ほとんどの新しいファイルシステム-Ext3とExT4(Linuxで最も一般的なファイルシステム)を含みます。NTFSも同様です。したがって、ジャーナリングファイルシステムを使用している限り、この問題は発生しません。

ブートプロセスの後の方で、データベースがある場合(私はMYSQLを調べており、Postgresはこれに悩まされていません)、MYSQLデータベースに類似の問題がある可能性があります-MYSQLは特に堅牢ではないことがよくあります(Google ACIDコンプライアンスMYSQL forこの話)。MySQLの設定がACIDに準拠していない場合は、再起動時にインデックスのチェックを強制することで、この問題を回避できます。

別の(多少ジェイドがあり、おそらくWindowsに不公平である)ビューはこれかもしれません-Linuxボックスの方がWindowsボックスより信頼性が高い(アップタイムと再起動の必要性で測定)-したがって、Linuxボックスが再起動に失敗した場合、ソフトウェアの問題ではなく、古い時代のハードウェアの問題-頻繁に再起動するため、故障したWindowsボックスがより早く検出される場合があります)


1

ディストリビューションや使用しているファイルシステムによっては、多かれ少なかれ脆弱になる可能性があります。予定された停電について知っている場合は、必ず手動でシャットダウンする必要があります(そして、システムの掃除機や再配線などのメンテナンスに時間を使用してください...予定外の停電の場合は、Linuxシャットダウンソフトウェアを備えたUPSシステムを入手してください。心配する必要があります。とにかくこれを実行する必要があります。ほとんどのLinuxディストリビューションで使用できるAPCUPSDファイルがあります。それがない場合は、ディストリビューションに問い合わせて、内部にあるものまたは使用できるものを確認してください。シャットダウンされることを確認してください。システムに依存する前に、システムをクリーンに保ちます。


-9

私はこの質問についていくつか調査しましたが、私のIT部門が言っていることは本質的に正しいことがわかりました。停電に対して、LinuxはWindowsよりもはるかに脆弱です。Linux / unixでのiノードテーブルの動作方法が理由です。これは順不同のリストであり、常に変更されているため、カーネルバイナリなどの重要な静的ファイルと、一時ファイルなどの価値のないファイルは区別されません。これが意味することは、重要なシステムファイルへのiノードエントリが常に書き換えられていることです。これは明らかに非常に悪い設計です。実際、重要なシステムファイルは、実際には、重要でないファイルよりもいつでもiノードエントリが書き込まれる可能性が高くなります。電源が切れると、書き込まれているiノードテーブルのどの部分も吹き飛ばされる傾向があり、システムファイルへのポインタが含まれていない可能性があります。システムファイル自体は問題なくそのままですが、それらを見つけるためのディレクトリが破損しています。この状況は、inodeテーブルの損傷した領域のサイズを増加させる効果を持つディスクキャッシュによって悪化します。

Windowsでは、古いFATファイルシステムでさえ、これよりもはるかに堅牢です。FATにもテーブルがありますが、これは順序付けされたテーブルであるため、システムファイルと一時ファイルが混在していません。通常、システムファイルはディレクトリの1つの領域にまとめられており、この領域に頻繁に書き込まれることはほとんどありません。また、FATにはバックアップディレクトリがあるため、ディレクトリが破損していても、バックアップに戻るだけです。これは、FATを使用すると、電源障害が発生した場合、一時ファイルであっても、ユーザーがファイルリンクを失う可能性が低いことを意味します。ただし、Linuxでは、inodeテーブルが常に書き込まれているため、停電時にファイルへのアクセスが失われることが実質的に保証されます。

これを軽減するために実行できる唯一のことは、ディスクキャッシュをオフにすることです。


2
-1。リンク、記事、ソースなどであなたの主張をサポートしてください。そうすれば、私の反対票を取り消すことになります。どのLinuxファイルシステムを参照しますか?
Kamil Maciorowski 2017

タイラー-あなたは質問に投稿したスコット・チェンバレンの答えを読みましたよね?OSシステムファイルを含むLinuxファイルのポインタを格納するこれらのiノードテーブルを説明する方法は、現在のすべてのLinuxファイルシステムでこれが機能する方法であることを100%確信していますか?説明されているようにNTFSよりも強力なものを含む他のものよりも堅牢なファイルメタデータのinode /ジャーナリング/トランザクション制御?多分あなたはシステムであるか、あなたが書いたものは古いLinuxファイルシステムを使用しているためであり、したがって賢明に選択しますか?
Pimp Juice IT

私がこの答えを見つけた主な理由(そして質問全体)が冗談であることは、Linuxではなく、UNIXがWindowsでなくインターネットを利用しているためです。停止によってLinux / Unixシステムが簡単に破壊されてしまうと、インターネットは機能しなくなります。さらに、Linuxを使用するルーターは、日常的に素早く電源を入れたり切ったりすると役に立たなくなります。
JakeGould 2018

この答えは悪いだけではありません。それは単にナンセンスです。この回答で述べられている事実はどれも、遠隔でさえ正確ではありません
duskwuff -inactive-
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.