近いうちにDebianインストールをあるディスクから別のディスクに移行する予定です。その一環として、将来のコントラストのためにファイルシステムを異なる方法で設定し、設定を簡素化することを検討しています。
現在の設定は、SSDのパーティションに単一のデバイスRAID1 LVMを設定することです(元のシステムディスクのミラーを設定しようとしましたが、実際には実行できませんでした)。このRAID1には、/ optと/ usrと/ varの一部がZFSストレージに分離されているext4ルートファイルシステムが含まれています。特に/bootはルートファイルシステムの一部であり、GRUB 2を使用して古いMBRを使用して起動します。
アイデアは、*nixに似たファイルシステム(おそらくext4)を持つ大規模なルートファイルシステムを持ち、特別な要件がある部分を分離することです。
何も移動せずに、GPTへの移行を含め、後でUEFIブートに移行する可能性を維持したいと思います。 (バックアップ/再パーティション/復元は別の話であり、MBRからGPTに移行するにはバックアップ/再パーティション/復元が必要になるかもしれませんが、問題が発生する前におそらく新しいディスクを取り戻すでしょう。)
また、後でルートファイルシステムをZFSに移行したり、少なくともデータの整合性を確認するためにdm-verityを設定したりするオプションがあります。 (はい、すべてを正しく、特に半分だけ正しい位置に合わせるのは面倒なことです。それは後のためです。
これはすべて、ルートファイルシステムからすでに分離されているファイルを除いて、FAT32とFAT32(最後のファイルは最初は空になる可能性があります)を分離する必要がある明白な理由を提供する/
ようです。しかし、/boot
/boot/efi
他の人はいますか?
- どのシステム永続ストレージでサポートされているファイルシステムは、ルートファイルシステムから分離する必要があります。そしてなぜ最新のLinuxインストールでは?
- 次のファイルシステムのいずれかを実行します。必要MBRを使用すると、特定のパーティションの場所に移動しますか、それともその場所はランダムですか?たとえば、/boot/efi は最初のプライマリパーティションまたは同様のパーティションに移動する必要がありますか?
答え1
少なくともパッケージ管理ディレクトリは、管理されていないディレクトリとは別のままにしてください。
私の経験によると、管理されていないディレクトリは通常(しかし必ずしも一意ではない)、、/opt
そして/usr/local
もちろんです/home
。
(また、手動で編集したパッケージホスティングディレクトリのファイルにタグを付けて、後でいつでも簡単に識別できるようにしました。)
答え2
まず、これは非常に意見に基づいています。何十人もの人々に尋ねれば、少なくとも3〜4つの異なる答えを聞くことができるでしょう。
つまり、これに対する私の意見は次のとおりです。
/home
そして分離/
。ここでの主な推論は本質的に以前と同じです。これにより、ユーザーが誤ってコンピュータのすべてのスペースを使用することがより困難になり、再/
インストールが必要なときにユーザーデータを保存するのが簡単になります。また、ほとんどのシステムで最大の部分の1つをシステムの残りの部分から切り離すため、バックアップ管理に特に役立ちます。/tmp
とは/var/tmp
別に保管してください/
。どちらの領域も一時ストレージとして使用され、ルートファイルシステムで発生する可能性がある混乱の程度はパフォーマンスに長期的な影響を与える可能性があります。さらに、データは一時的で寿命が比較的短い。つまり、バックアップしないでください(単にスペースを無駄にする)、新しいディスクに移動してもコピーされない可能性があります。つまり、通常はインスタンスである必要があり、/tmp
RAMに存在できるものをすべて入れることができる場合は、通常はそうです。tmpfs
/var/tmp
- もう少し議論の余地がありますが、より邪魔になりますが、通常は常駐するファイルシステムからグローバルキャッシュディレクトリを隔離します。典型的な例はです
/var/cache
。しかし、特定のシステムによって異なるものがあるかもしれません(/var/cache
Debianでは完全に扱われると思います)。これは、分離/tmp
と/var/tmp
同様の利点がありますが、/home
バックアップする必要はない明示的な領域も提供します(アプリケーションがそこにデータが見つからず中断された場合はキャッシュです)。書き込みアプリケーションなので、新しいディスクに移動するときにコピーする必要はありません。 - データセットをと比較してください
/
。これには、意図的に抽象的ですが、システムでホストされているすべてのWebサイトのページとデータ、システムが提供するデータベース、またはディレクトリサービスのバックエンドストアなどが含まれます。このデータを分離することには2つの主な利点があります。まず、/home
別の状態を維持するのと同じ一般的な利点を提供します/
。次に、ルートファイルシステムのパフォーマンスとデータボリュームのパフォーマンスを部分的に分離します。これにより、システムの残りの部分に直接影響を与えることなく、これらのデータセットを別のストレージ構成に切り替えることができます。これは、オンラインメンテナンス期間(サービスはダウングレードされますが完全には終了しません)とオフラインメンテナンスの違いを意味します。期間1. - 他のデータから簡単に再生成または再取得できる「ワンタイム」データを分離します。たとえば、インターネット上でパブリックにアクセスできるデータ(gitリポジトリ、パッケージリポジトリインデックス、ISOイメージなど)だけでなく、あまりにもマイナーでバックアップしないデータも含まれます。これは主にバックアップ計画を簡素化するためのものですが、新しいディスクに切り替えるときにも役立ちます。持つ必要に応じて再インポートまたは再生成できるため、ほとんどまたはすべてのデータをコピーしてください。
- パッケージマネージャが管理していないディレクトリ構造と管理対象ディレクトリ構造を区別してください。これは必須ではありませんが、アップグレードと再インストールを大幅に簡素化できます。技術的には、上記の内容が含まれていますが、この場合はおよびを
/opt
より具体的に言及します/usr/local
。気づく/opt
可能パッケージマネージャが管理するデータが含まれています(たとえば、DropboxとGoogle Chromeの両方がここにインストールされています)。