オプションが指定されていない場合、ext3がファイルシステムチェックを実行する頻度を決定する方法は?

オプションが指定されていない場合、ext3がファイルシステムチェックを実行する頻度を決定する方法は?

1.5TBドライブに2つのパーティションを作成しました。最初のパーティションは1TB、後者は残りの0.5TBです。どちらもext3としてフォーマットされています。自動ファイルシステムチェックが頻繁に発生することを気にしないため、頻度を設定することには気にしません。私が奇妙に思うのは、1TBパーティションに対して39個のマウントごとに自動チェックを実行し、0.5TBパーティションに対して27個のマウントごとに自動チェックを実行することです。マニュアルページとさまざまなフォーラムを見てきましたが、ファイルシステムをどのくらい頻繁にチェックするかを決定する方法についての言及はありません。簡単な公式のようですが、何かご存知の方はいらっしゃいますか?

ベストアンサー1

Linuxの良いところは、ソースコードが常にどこかにあることです。あなたはできますダウンロードまたはよりkernel.orgのデフォルトのe2fsprogsソースコード。これは、特定のバージョンとディストリビューションによって異なる場合があります。

enable_periodic_fsck = 1現在のコードがmke2fs.confにある場合、パーティションのUUIDに基づいて20にいくつかの値が追加されているようです。

mke2fs.c

if (get_bool_from_profile(fs_types, "enable_periodic_fsck", 0)) {
    fs->super->s_checkinterval = EXT2_DFL_CHECKINTERVAL;
    fs->super->s_max_mnt_count = EXT2_DFL_MAX_MNT_COUNT;
    /*
     * Add "jitter" to the superblock's check interval so that we
     * don't check all the filesystems at the same time.  We use a
     * kludgy hack of using the UUID to derive a random jitter value
     */
     for (i = 0, val = 0 ; i < sizeof(fs->super->s_uuid); i++)
         val += fs->super->s_uuid[i];
     fs->super->s_max_mnt_count += val % EXT2_DFL_MAX_MNT_COUNT;
 } else
     fs->super->s_max_mnt_count = -1;

mke2fs.h

:#define EXT2_DFL_MAX_MNT_COUNT              20

コードで「kludgy」と「hack」という言葉を見ると嬉しいです=)

おすすめ記事