タグ付けされた質問 「filesystems」

ファイルシステム(またはファイルシステム)は、データの保存、取得、更新の手順を提供することにより、プログラムの終了後に保持されることが予想されるデータを整理し、データを含むデバイスの利用可能なスペースを管理する手段です。

10
サブディレクトリの数は、Linuxのドライブの読み取り/書き込みパフォーマンスにどのように影響しますか?
Linux CentOSサーバーにEXT3フォーマットのドライブがあります。これはウェブアプリのデータドライブであり、すべてのユーザーアカウントのディレクトリが含まれています(ユーザー数は25,000人です)。各フォルダには、そのユーザーがアップロードしたファイルが含まれています。全体として、このドライブには約250GBのデータが含まれています。 これらすべてのディレクトリを使用してドライブを構成すると、ドライブの読み取り/書き込みパフォーマンスに影響がありますか?それは私が気付いていない他のパフォーマンスの側面に影響を与えますか? このように構造化することで本質的に悪い点や悪い点はありますか?おそらくファイルシステムの間違った選択でしょうか? 私は最近2つのデータドライブをマージしてみましたが、EXT3は32,000のサブディレクトリに制限されていることに気付きました。これはなぜだろうと思いました。データベース内のIDに対応する一意のIDが各ファイルにあることを考えると、この方法で作成したのはばかげているようです。ああ...

1
ext3 / 4でfsブロックサイズを選択するためのベストプラクティス
私は実際にブロックサイズにあまり注意を払っていませんが、デフォルト以外のものを選択することには明らかにメリットがあります。ブロックサイズの選択に関する優れた「ベストプラクティス」ペーパーを探しています。また、LVMの上で使用すると、パフォーマンスの見返りや重要性が何らかの形で打ち消されますか?TIA

5
インターネット経由でファイルシステムをマウントする
ある顧客のために、仮想サーバー上で実行するWebアプリケーションを構築しました。これには、ファイルをアップロードするための機能が含まれていますが、オフィスのサーバーにそれらのファイルを保存したいと考えています。 これを行う最も簡単な方法は、インターネット経由でファイルシステムを仮想サーバーに直接マウントすることです。私は内部ネットワークを介してNFSをマウントした経験がありますが、このシナリオで機能するかどうかはわかりません。 何かご意見は?私はいつでも新しいソフトウェアを作成してファイルを転送できますが、これは簡単な修正です。 注:オフィスのサーバーは、Windows Hyper-V環境の仮想サーバーで実行されているUbuntu 12サーバーです。WebアプリのVPSはUbuntu 11.04です。

1
何百万もの小さなファイルのブロックサイズ
Debian WheezyのハードウェアRAID1(LSI MegaRaidの可能性があります)に2x 4TBディスクがあります。物理ブロックサイズは4kBです。1億から2億の小さなファイル(3〜10kB)を保存します。私はパフォーマンスを求めているのではなく、ストレージを節約するための最適なファイルシステムとブロックサイズを求めています。8200バイトのファイルをブロックサイズ4kBのext4にコピーしました。これには32kBのディスクが必要でした!?その理由はジャーナリングですか?では、そのような小さなファイルのためにほとんどのストレージを節約するには、どのようなオプションがありますか?


3
どのようにしてzfsクローンの親スナップショットを見つけることができますか?
いくつかのスナップショットを持つzfsファイルシステムのクローンを作成しました。また、ファイルシステムの複製されたコピーがいくつかあります。 クローンがアタッチされているファイルシステム/スナップショットを見つけるにはどうすればよいですか? (docs / googlableにあるはずのようですが、何も見つかりません)
10 filesystems  zfs 

1
小さなファイルがたくさんあるシステムでは、EXT4のパフォーマンスが本当に悪くなった
RAMが128MBしかない小さな組み込みデバイスがあります このデバイスに接続されているのは2TB USB2ハードディスクです 最近まで、デバイスのパフォーマンスに非常に満足しており、ファイルの数がディスクの容量のしきい値を超えたときに、しきい値を超えました(どちらかわかりません)。 書き込みの性質上、ディスク上には多数の小さなファイルがあります。アプリケーションファイルは非常にバランスのとれた方法で編成されています。リーフノードディレクトリには200を超えるファイルはなく、800,000を超えるファイルしかありません。 私は調査するためにリードを得たいと思っています。ディスクのパフォーマンスが大幅に低下しました。デバイスは順調に動いていたため、突然のパフォーマンスはすべて岩のように低下​​しました。 私の仮定では、ディスク上でファイル用に選択した組織構造が、iノードキャッシュの機能を損なうために何らかの形で害を及ぼしていると思います。 実験として、ディスクのマウントを解除しました(キャッシュのフラッシュ、無料で確認済み)。次に、コマンドプロンプトからディレクトリ構造の深いところに移動しました。すべてがこのディレクトリ(およびその子)にはその下に含まれるファイルが約3200しかないことを伝え、この時点で 'free'は117MBを超える空きメモリを示しました この時点で、コマンド「find」に続けて「free」を入力しました 「検索」は約3000ファイルを示しましたが、メモリ使用量は約117MBから約2MBになりました キャッシュと空きメモリのバランス、およびカーネルが空のページを不良ページと見なす方法を理解しています。ただし、3000ファイルのディレクトリから115MBのキャッシュされたコンテンツは、私の理解に重大なギャップがあることを示しています。誰かが起こっていることを理解するのに役立つことを願っています バランスの取れたツリーが多くのファイルを持つための方法だと思いますか?

2
開いていて常に書き込まれているファイルをローテーションする
ロギング情報をログファイルに継続的に書き込むLinuxアプリケーションがあります。/var/log/application.log。アプリケーションがファイルを自動的にローテーションしないため、このログファイルは数週間でギガバイトのサイズに達する可能性があるため、このファイルを適切にローテーションできるようにしたい ここでの主な懸念は、アプリケーションによって常に開かれているファイルをローテーションするには、おそらく次のことを行う必要があるということです。 ファイルを回転された形式に移動します /var/log/application.log -> /var/log/application.log.2013-01-28 空のを作成します/var/log/application.log。Obs:この時点で、申請プロセスはまだ書き込み中です/var/log/application.log.2013-01-28 アプリケーションプロセスのファイル記述子を変更して、再びポイントするようにします。 /var/log/application.log それで、私は正しいですか?もしそうなら、どうすればこれを行うことができますか?(主にファイル記述子部分の変更) そうでない場合、正しい方法とその方法を教えてください。

3
Linux:ファイルを読み取るのにいくつのディスクI / Oが必要ですか?それを最小化するには?[重複]
この質問にはすでに回答があります: Linux:ファイルを読み取るのにいくつのディスクI / Oが必要ですか?それを最小化するには? (5つの答え) 5か月前に閉鎖。 FacebookのHaystackに関するこの論文によると、 「NASアプライアンスがディレクトリメタデータを管理する方法が原因で、ディレクトリのブロックマップが大きすぎてアプライアンスで効果的にキャッシュできないため、ディレクトリに数千のファイルを配置することは非常に非効率でした。その結果、10以上のディスク操作が発生して、単一のイメージ。ディレクトリサイズをディレクトリあたり数百のイメージに減らした後でも、結果のシステムでは、通常、イメージをフェッチするために3つのディスク操作が発生します。ファイルの内容を読む。」 私はファイルシステムディレクトリのメタデータとiノードが常にOSによってRAMにキャッシュされ、ファイルの読み取りには通常1つのディスクIOしか必要としないと想定していました。 この論文で概説されている「複数のディスクIOが単一のファイルを読み取る」という問題はNASアプライアンスに固有のものですか、それともLinuxにも同じ問題がありますか? イメージを提供するためにLinuxサーバーを実行する予定です。何らかの方法でディスクIOの数を最小限に抑えることができます。理想的には、OSがすべてのディレクトリとiノードデータをRAMにキャッシュし、各ファイルの読み取りに必要なディスクIOは1つだけであることを確認します。

4
ファイルが物理的にディスク上のどこにあるか(ブロック番号)を確認するにはどうすればよいですか?
これはあいまいな質問だと思います。Linuxボックスでいくつかのディスクのパフォーマンステストを実行しようとしています。同じディスクで同じテストを実行すると、一貫性のない結果が得られます。ディスクのどの部分にアクセスするかによって、ディスクのパフォーマンスが異なることは知っています。特に、データ密度がほぼ一定で回転速度が一定であるため、ディスクの外側への読み取りと書き込みは、ディスクの内側への読み取りと書き込みよりもスループットがはるかに高くなります。 私の不整合が、このジオメトリに起因するスループットの変動に起因する可能性があるかどうかを確認したいと思います。既存のツールを使用して、ディスク上のファイルが配置されている場所を見つけることは可能ですか? そうでない場合は、ファイルシステムをバイパス(および破棄)して、デバイスファイル自体に直接シーク、読み取り、および書き込みを行う何かを書き込むことができると思いますが、それを回避したいと考えています。現在、3.0カーネル(Arch Linux、重要な場合)でext4を使用していますが、他のファイルシステムの手法にも興味があります。

6
開発者ビルドの最速のファイルシステムは何ですか?
私は、継続的インテグレーションビルドサーバーとして機能するLinuxボックスをまとめています。主にJavaのものを構築しますが、この質問はコンパイルされたすべての言語に当てはまると思います。 どのファイルシステムと構成設定を使用する必要がありますか?(たとえば、私はこれに時間をかける必要がないことを知っています!)ビルドサーバーは、小さなファイルの読み取りと書き込み、およびディレクトリのスキャンを行って、変更されたファイルを確認します。 更新:この場合、データの整合性は優先度が低くなります。それは単なるビルドマシンです...最終的なアーティファクトは圧縮され、別の場所にアーカイブされます。ビルドマシンのファイルシステムが破損してすべてのデータが失われた場合は、ワイプしてイメージを再作成するだけです。ビルドは以前と同様に実行され続けます。

5
ext4は本番環境で使用する準備ができていますか?
ロックされています。この質問とトピックへの回答はロックされています。質問はトピックから外れていますが、歴史的に重要です。現在、新しい回答や相互作用を受け入れていません。 本番環境でのext4ファイルシステムについてどう思いますか?数千万もの非常に頻繁に更新される非常に大きなファイルを使用するプロジェクトの立ち上げに非常に近いため、使用するFSを決定する必要があります。 しばらくの間、他のLinux FSに関する考慮事項は次のとおりです。 Ext3は非常に安定していますが、数百万の小さなファイルの処理にはあまり適していません XFSは非常に見栄えがよく、おそらくそれを使用します ReiserFS ...まあ...漠然とした将来、誰がバグを修正するのですか?

8
これはファイルサーバーのアクセス許可に推奨される/有効な方法ですか?
ファイルサーバーはIT業界では当たり前のことであり、グループを作成してクライアント上の共有フォルダーへのクライアントアクセスを管理するためのアクセス許可を適用する方法について、一般に受け入れられている慣行(ここでは「ベスト」という言葉を使うのをためらいます)があるかどうか知りたいです。ファイルサーバー。 私の現在の仕事では、ACLの数十のグループから個々のユーザーを直接ファイルシステムに置くだけに至るまで、これを行うためのさまざまな方法をかなり混乱させてしまいました。私の仕事は、混乱を解消し、会社全体でこれに対処するためのある種の標準化された方法(大規模な環境、15万人の従業員、9万人のクライアントコンピューター、数百のファイルサーバー)を考案することでした。 この問題についての私の理解から、保護されたリソースごとに必要なアクセスレベルごとに少なくとも1つのグループが必要であるようです。このモデルは、別のアクセスレベルをサポートする必要がない限り、ファイルシステムのアクセス許可に再度触れる必要がないという点で、最も柔軟性が高いようです。欠点は、複数の共有リソースで同じグループを再利用するよりも多くのグループを作成することです。 ここに私が何を意味するかを示す例があります: FILE01という名前のファイルサーバーに "Test Results"という共有があり、読み取り専用アクセス、読み取り/書き込みアクセス、およびフルコントロールが必要なユーザーがいます。1つの保護されたリソース* 3つのアクセスレベル= 3つのセキュリティグループ。AD環境では、これらをユニバーサルグループとして作成するため、フォレスト内の任意のドメインからユーザー/グループを簡単に追加できます。各グループは共有フォルダとアクセスレベルを一意に参照するため、グループ名にはこれらの「主要な」データが組み込まれ、権限は次のようになります。 "FILE01-Test Results-FC" -- Full Control "FILE01-Test Results-RW" -- Read & Write "FILE01-Test Results-RO" -- Read Only 通常、ビルトインSYSTEMアカウントと、フルコントロールアクセス権を持つビルトインAdministratorsも含まれます。この共有へのアクセス権を実際に誰が取得するかに対する変更は、ACLに触れる必要なく、グループメンバーシップを使用して処理できるようになりました(マネージャー、技術者、QAアナリストなどの特定のビジネスロールを表す「ロール」グループを追加するか、または個人のみ) 1回限りのアクセスのユーザー)。 2つの質問: 1)これは実際にアクセス許可を処理するための推奨または有効なアプローチですか、それともより単純でエレガントなソリューションが欠けていますか?私は特に、継承を使用するソリューションに興味がありますが、物事が変わったときにファイルシステムの大部分を再ACLする必要がないという柔軟性を保持しています。 2)環境内でファイルサーバーのアクセス許可とグループ構造をどのように処理していますか?大規模な環境でも作業している人にはボーナスポイント。

8
外付け(USB)ハードドライブ/ USBメモリメディアに最適なファイルシステム
現在、ほとんどすべての外付けUSBハードドライブとUSBメモリメディア/スティックは、FAT32でフォーマット済みです。 私が知る限り、ファイルシステムの唯一の利点は、OSとデバイス間の互換性です。 exFATまたはNTFSで再フォーマットするのは妥当ですか?これはパフォーマンスとセキュリティにどのように影響しますか?

5
Ubuntu 12.04以降、/ dev / urandomはrootのみが読み取り可能であり、「修正」できるのはなぜですか?
以前は、多くのサーバーでUbuntu 10.04テンプレートを使用していました。12.04に変更してから、現在は問題を切り分けています。 / dev / urandomデバイスはrootのみがアクセスできます。 これにより、少なくともPHPではSSLエンジン、たとえばfile_get_contents(https:// ...)が失敗しました。 また、レッドマインを壊しました。 chmod 644の後は正常に動作しますが、再起動しても残りません。 だから私の質問。 どうしてこれなの?セキュリティリスクはないので...ランダムデータを盗むのですか? どうすれば「修正」できますか?サーバーは分離され、1つのアプリケーションだけで使用されるため、openvzを使用しています。ランレベルスクリプトなどのことを考えていますが、どうすれば効率的に実行できますか?dpkgまたはaptのMaby? / dev / shmでも同様です。この場合、なぜアクセスできないのかを完全に理解していますが、/ dev / urandomを修正するのと同じ方法で「修正」できると思います

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.