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

ファイルシステムは、コンピューターのファイルをデータとともに整理して保存する方法です。

4
どうすればbtrfsをext4に見せかけることができますか?
Dropboxは、Linuxクライアントが将来的にはext4のみをサポートすることを発表しました。私は現在btrfsパーティションでDropboxを使用しています(問題はありません)。どうやらxattrサポートは不可欠です。ext4とbtrfsの両方がこれをサポートしており、実際、btrfsもサポートしていないext4の機能は知りません。 Dropboxがファイルシステムを検出する方法がわかりませんが、btrfsにext4のふりをさせる方法はありますか?

2
8ブロックが割り当てられていてもファイルサイズが0である可能性はありますか?
誰かがこの質問について他のサイトで私に尋ねます、すなわち、「abc.dat」という名前のファイルはファイルサイズが0で8ブロックです。これは私が彼に私に尋ねる出力です(一部のテキストは中国語から英語に翻訳されています): $ cp abc.dat abc2.dat; ls -ls abc2.dat #try to copy, it still 8 blocks but 0 byte 8 -rw-rw-r-- 1 rokeabbey rokeabbey 0 Feb 27 19:39 abc2.dat 8 -rw-rw-r-- 1 rokeabbey rokeabbey 0 Sep 18 19:11 abc.dat#申し訳ありませんが、これは彼が追加した余分な間違った出力である可能性があります $ stat abc.dat File: 'abc.dat' Size: 0 Blocks: 16 IO Block: 4096 …


2
btrfsはバックアップファイルシステムとして適していますか?
現在、ext4の上にかなり伝統的なバックアップファイルシステム構造があります。バックアップがbackup-DATE作成されるたびに、ファイルがrsyncされる新しいフォルダーが作成されます(rsyncの--link-destオプションを使用してハードリンクが作成されます)。 bitrotについて読んだので、すべてのファイルのチェックサムを透過的にしたいと思います。どうやらext4はそれができないようですが、btrfsはデータチェックサム(さらには組み込みのRAID1モード)のサポートを提供します。まず、btrfsRAID、サブボリュームスナップショット、送受信などの高度な機能を使用せずにデータチェックサムをサポートする「ダム」ファイルシステムとして使用したいと思います。 しかし、彼らのウィキは、バックアップの目的でファイルシステムへの信頼を実際に刺激するものではありません。 「多くの人が信頼してそれを使用していますが、まだ問題が発見されています。データのバックアップを保持してテストし、それらを使用する準備をする必要があります。」- はじめに 「btrfsは安定していますか?長い答え:[..]何をする場合でも、テスト済みの適切なシステム外(およびサイト外)のバックアップを保持することをお勧めします。」- よくある質問。 私の使用例は、オフラインバックアップを使用することです。そのため、ディスクはほとんど使用されず(時間単位など)、頻繁にプラグ/アンプラグされます(eSATAまたはUSB 3.0)。信頼できるファイルシステムを持つことは必須です。ext4 wrtよりも悪くなってはいけません。停電、汚れたシャットダウンなど バックアップのためにファイルシステムとしてbtrfsを使用することが実際に推奨されますか?btrfsの適切性を低下(または向上)させる可能性のある他のプロパティはありますか?

4
ext4およびxfsで実際にジャーナル処理されるファイルシステムメタデータ操作は何ですか?
どのファイルシステムメタデータ操作が実際にext4およびxfsファイルシステムジャーナルに永続化されるかについて、単純でストレートな答えを見つけることができません。私はことに注意してくださいません POSIXが「アトミック」であることを宣言して何を問い合わせます。ジャーナルを有効にして実行することにより、アトミックファイルシステム操作のどのサブセットが逆方向に曲がることなく常に実行できるため、どのようなサブセットが効果的に耐久性があるかについて、さらに心配しますfsync(2)。 私はかなり確かな数の操作: creat(2) link(2) unlink(2) rename(2) mkdir(2) rmdir(2) 私は完全にはわかりません: symlink(2) シンボリックリンクのコンテンツを格納するsymlink(2)簡単な方法fsync(2)やfdatasync(2)基になるデータブロックがないため、このケースが最も厄介です 。ジャーナルが私のためにこれを処理することを知ることは、安心です。

2
破損しないファイルシステム(データ損失は許容可能)
この問題を中心に展開している既存のトピックがいくつかありますが、私が求めることは少し異なります。組み込みLinuxにSDカードを使用していますが、電力損失に悩まされています。いつかハードウェアを変更したり、適切に終了したりすることができるかもしれません。しかし、今のところ、大騒ぎすることなく停電に耐えられるファイルシステムを見つけたいと思っています。データの損失は許容されます。私は現在書いているファイルより多くを失いたくないのですが、「マウントできません」、「この10分間fsckを待つ」、または「新しいファイルを作成できません」に直面するよりも、むしろそれを失いたいこのiノードが原因で何かエラーが発生しました。プログラムは続けなければなりません! 私はこれを確実にするために多くの努力をしています。私は工業用グレードのコンポーネントを使用しています。ハードウェアウォッチドッグ、ソフトウェアウォッチドッグ、内部、外部、initによるプログラムの再起動、デーモンによるメモリ、ファイル記述子の常時チェックなど、ウォッチドッグがウォッチドッグを監視し、ウォッチドッグが他のウォッチドッグによって監視されています。 ...しかし、SDカードがマウントされて機能することを保証できないようです。 今の私の最善の策は、SDカードでJFSを使用することです。私のインストールにfsckとfsck.jfsを含めます。(私のRAMと私のフラッシュを食べる600kb +を追加します。これは悪いことです。)そして、毎回の起動時にfsckを実行します(ブート時間が長くなる可能性があります。これはやや悪いことです)。それは少し悲しいようですが。 誰かがより良い方法やより良いファイルシステムを知っていますか? 更新:e2fsprogs-libs(jfsutilsへの依存)は、私のディストリビューションでコンパイルするのが非常に難しいようです。ZFSを調べます(私のディストリビューションにはネイティブではありません。そして、私が必要としないことはたくさんあるようです)。 UPDATE2:私のシステムとテストに関するいくつかの詳細:SDカードストレージは、セカンダリのオプションのストレージです。SDカードは、2Gb-8Gbの工業グレードのmicroSDです。SDカードは、mount -tコマンドでrcを介してマウントされます。オプション「noatime」ではなく「sync」。私のディストリビューションは、3.10カーネルと1.21 busyboxを備えたカスタムAnalog Device風味のuClinuxです。私のプライマリストレージはjffs2を使用したspiフラッシュです。私はそれに関して何の問題も経験したことがありません。利用可能なfsck.jffs2があるかどうかさえわかりません。一方でナンドフラッシュ...しかし、それは別の話です。SDカードの目的は、測定データを保存することです。'monitor'プログラムは結果をファイルに追加し、戦略的な同期配置を備えています。ファイルが所定のサイズを超えると、新しいファイルが作成されます。指定した数のファイルに達すると、最も古いファイルが削除されます。停電が原因で現在の測定ファイルが失われた場合でも、問題はありません。ファイルは通常50〜100 kbで、1つの結果は通常1 kbです。これは初期の開発段階にすぎません。何も修正されていません。組み込みシステムでフラッシュ以外のファイルシステムを扱ったのはこれが初めてです。(x86サーバーでext4を取得しました。) 私はvfatから始めました。デフォルトのファイルシステム。(私は、工場がそれを選択する理由があるかもしれないと考えました。そして、物事がうまくいくならば、私はそれほど気にしません。)私は、組み込みvfatデバイスで電力損失の問題を見たことはありません。WinCEでFATの問題を経験しました。しかし、私の「モニター」プログラムが100-200ファイルに達したとき、それ以上作成することを拒否しました。FATにはルートに特別なファイル制限の問題があり、サブディレクトリに少し大きい問題があるようです。1つのディレクトリに500〜1000個のファイルを作成できるようにする必要があります。したがって、vfatは機能しません。 その後、ext2に切り替えました。起動時にfsckを挿入しませんでした。(私がそうしなければならなかったことを知りませんでした。)1日以内に、「モニター」プログラムは、「iノード何か何か」エラーのためにそれ以上のファイルを作成できませんでした。災害! 私の現在のソリューションは、起動時に「e2fsck -y」を使用したext2です。これまでのところ、それは有望なようです。しかし、e2fsckと「起動時のfsck」の概念全体が私を悩ませています。それ自体によるe2fsckは、私のプライマリフラッシュとRAMの350kb以上を費やしています。(実行されていない場合)これは、これが私の最大のプログラムであることを意味します。それはbusyboxよりも大きいです。それは私のカーネルにほとんど匹敵しています。 私はext3を検討してきました。メタデータをジャーナル化しているので、害はありません。それがどれほど役立つかについては疑問です。私の小さなファイルと制御された同期で、私はカバーされるべきだと思いますか?順序付けされた書き込みシーケンスがあります。データもある程度ジャーナル化されていることを意味します。ただし、これにより非決定的なラグが発生する可能性があります。これは私の状況では悪いです。(それはおそらく問題ではありません。)また、スケジュールされた同期機能があります。例えば。5秒ごとにコミットします。自分の同期を妨げていると思います。SDカードの場合、書き込みが多すぎると良くありません。産業用のものでも。これを無効にする方法に関するドキュメントは見つかりません。そして、ext3はまだ、すべての起動時に実行されるように、fsckを要求します!しかし、ext3はまだ可能性があります。 Ext4。ext3のパフォーマンス問題の多くを修正します。本当にパフォーマンスは必要ありません。そして、私のディストリビューションには組み込みのmkfs.ext4とfsck.ext4がないようです。おそらくそれは問題ではありません。それはそうかもしれません。例えば。e2progs-libs(jfsutilsへの依存関係)には、コンパイルに関する多くの問題があるようです。 JFS、XFS、BRFSS。すべて私のカーネルでサポートされています。現在、ユーザースペースのツールボックスには含まれていません。すべてがかなり大きく複雑なシステムのようです。そして、それらはすべて起動時に「fsck」と同等のものを必要とするようです? 自分のファイルシステムをスローすることも検討しました。常にファイルテーブルのコピーを2つ書き込みます。トラバースするとき、正しいCRCと最新のシーケンス番号を持つものを選択します。2段階の書き込みシーケンスを作成します。一時的に割り当て、コミット時に修正します。fsckは必要ありません。少しナイーブかもしれませんが。 UPDATE3:ところで、組み込みシステム(少なくとも1つ)の性質は、それらが自律的で、無人で、手の届かないところにあり、何年も実行する必要があるということです。fsckのようなプログラムも人間の相互作用を必要とするには、私を這います。

6
ext4ファイルシステムのオフセットを見つけるにはどうすればよいですか?
ディスクの最初のセクターを読み書きできない、故障したハードドライブがあります。I / Oエラーが発生するだけです。ディスク上には(ほとんど)正常に見える他の領域があります。パーティション(ext4)をマウントして、回復したいファイルにアクセスできるかどうかを確認しています。このmountコマンドはoffsetオプションをサポートしているので、パーティションテーブルが読み取り不可で書き込み不可であっても、ファイルシステムをマウントできるはずです。問題は、オフセットの見つけ方です。ext4ツールのどれもこの特定の機能を持っていないようです。

1
ファイルシステムを走査せずにファイルのすべてのハードリンクを見つける
私が見ているこのページでは、iノードが持っているリンクカウンタをポイントこのiノードへ:どのように多くのファイル(「ディレクトリエントリ」を読んで)知っています。ファイルシステム全体を走査せずに、どのディレクトリにそのようなエントリが含まれているかを知る方法はありますか?この情報はどこかに保存されていますか? struct inode { kdev_t i_dev; unsigned long i_ino; umode_t i_mode; nlink_t i_nlink; uid_t i_uid; gid_t i_gid; … };

1
特定のファイルのLVMエクステント数を決定する
私は現在、仕事以外の宿題の練習に従事しています。私はext4ファイルシステムを論理ボリューム上に置いています。私はさまざまなパフォーマンスチューニング戦略をテストしていますが、このアイデアは思いつきました。pvmoveはエクステントの個別および範囲を移動できるため、特定のファイルを保持している物理エクステント(理論的には、データベースのバッキングファイル、または一般的にアクセスされる大規模なファイル共有)をマッピングして特定の場所に移動する方法はありますかストレージデバイス(たとえば、同じLVMボリュームグループに通常のHDDとSSDドライブがある)? 私は「filefrag」を使用することを考えましたが、エクステント番号が必ずしもシーケンシャルな順序で使用されるかどうかについて100%ではないことに気付きましたファイルが物理的にどのエクステント番号/ボリュームに配置されているかがわかります。 何か案は?

4
電力損失による破損からデータを保護するための最良の保護を提供するファイルシステムはどれですか。
私はx86デバイス上で小型uClibcでbusyboxベースの組み込みシステムを実行しています。私はinitramfsを使用していext3ますが、カスタムのc ++アプリケーションで作成された永続的な測定ログデータを保存するために使用しているIDEモードのコンパクトフラッシュデバイスにカスタムディレクトリをマウントしています。私ext3が読んだいくつかの本(Building Embedded Linux SystemsによるKarim YaghmourとEmbedded Linux PrimerによるChristopher Hallinan)でCFドライブをIDEモードで使用するときの電力損失に対する安全性のために推奨されているので、ファイルシステムを選択しました。これは特に重要であり、データは重要です。 ただし、以前の質問のコメントの一部が原因で、ファイルの書き込み中に停電が発生した場合に破損したext3ファイルを復元する方法と混同しているため、このファイルシステムは、電源によるデータの破損に対する安全性を保証していないようです損失。だから私は知りたいのですが でext3、実際にこのセットアップのために最良の選択? ディスク書き込み操作中の停電は、定期的にファイルに追加しているデータの一部のみを破壊しますか、それともファイル全体を破壊しますか? 停電時に書き込まれていないデータは完全に安全ですか?特に、initramfs.cpioファイルが破損するリスクはありますか? アプリケーションコードでデータを保護するために使用できる方法はありますか(つまり、追加のパーティションを作成し、データをミラーイメージに書き込んで常に2つのコピーが存在するようにします)-アプリケーションにとって速度は実際の問題ではないため、高価なコピー操作です許容されます。 私はこの関連する質問に対する回答を見て読んだことがあります。ジャーナリングファイルシステムは、停電後の破損を保証しますか?、しかしそれは私を混乱させるいくつかのことを完全にはカバーしていません。 私は多くの質問をしていることを認識していますが、多くの資料を読んだにもかかわらず、停電時のデータへのリスクを理解するのに根本的な失敗があったようです。

4
Unixファイルシステム構造の利点は何ですか
Debian / Gnu LinuxなどのLinuxにアプリケーションをインストールすると、アプリケーションのファイルがファイルシステムのさまざまなディレクトリにコピーされます。 一部のスクリプトは/ usr / share .. / usr / localにあり、その他のファイルは/ var .. / log .. etc /などにあります。 私にとっては問題ありません。ファイルシステムについて何かを学び、ほとんどのディレクトリは特定の目的でファイルを保持するためにそこにあるからです。これは、Unixの理念である「1つのことをうまく実行する」に非常によく適合します。 しかし、私の質問は、そのようなディレクトリ構造の利点は何ですか?それとも単に、昔のUNIXの遺産なのか。(たとえば、アプリケーションのすべてのファイルが1つの特定の「フォルダ」にある1つのウィンドウの使用と比較して)

1
dd: '/ dev / null'を書き込んでいます:デバイスにスペースが残っていません
/ dev / nullに550MBのファイルを読み込んでいます。 dd: writing '/dev/null': No space left on device 私はびっくりしました。/ dev / nullは、あなたが好きなだけ送信できるブラックホールだと思いました(仮想fsのため)。 はい、このエラーが発生すると、ディスクがほぼいっぱいになります。ディスクからコンテンツを削除する以外に何ができますか? ls -l /dev/null -rw-r--r-- 1 root root 0 July 7 21:58 /dev/null の代わりに crw-rw-rw- 1 root root 1, 3 July 7 02:58 /dev/null 私が使用しているコマンド: time sh -c "dd if=$filename of=/dev/null"

3
ファイルブロックサイズ-statとlsの違い
私がするとき、私はそれに気づきました: ls -ls file それは、ブロック数、たとえば8ブロックを提供します。 私がする時: stat file ブロック数が16で、lsで指定された数の2倍であることに気づきました。 私のファイルシステムのブロックサイズは4096です。lsで使用されるブロックの任意の単位は1024であることがわかりました。ブロックを報告するときに、statが512バイトの任意の単位を使用すると言って間違いありませんか? もしそうなら、矛盾の理由はありますか? 私はext4ファイルシステムでUbuntu 11.10を実行しています。

5
ramfsをユーザーとしてマウント
私のfstabエントリ: none /home/jreinhart/ramdisk ramfs defaults,user 0 0 マウント前のディレクトリ: drwxrwxr-x 2 jreinhart jreinhart 4096 Oct 17 11:31 ramdisk 後のディレクトリmount ramdisk: drwxr-xr-x 2 root jreinhart 4096 Oct 17 11:31 ramdisk だから、あなたは問題を見ることができます。マウントすると、所有者がrootに変わり、グループのアクセス権が移動するr-xため、このramdiskを使用できなくなります。何ができますか? 私はそうすることなくこれをやろうとしているsu。

1
ファイルテーブルはファイルシステムまたはメモリにありますか?
オペレーティングシステムの制御テーブルのコンテキストで、「ファイルテーブル」という用語は、ファイルシステムの一部であるか、メインメモリ内にあるデータ構造を指しますか(この場合、開いているファイルへの参照しか持たないと想定しています)。 ?私の教科書1は、 これらの表は、ファイルの存在、2次メモリ上のファイルの場所、現在のステータス、およびその他の属性に関する情報を提供します。すべてではないにしても、この情報の多くはファイル管理システムによって維持および使用される場合があります。その場合、OSはファイルに関する知識がほとんどないか、まったくありません。 また、ファイル管理システムとは何ですか?それはファイルシステムを意味しますか? 1ストール、オペレーティングシステム、第 7 版、p。127

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