Linux / systemdを使用して読み取り/書き込みディスクを分割せずにFHS読み取り専用ディレクトリと読み取り/書き込みディレクトリを2つのディスクに分割するにはどうすればよいですか?

Linux / systemdを使用して読み取り/書き込みディスクを分割せずにFHS読み取り専用ディレクトリと読み取り/書き込みディレクトリを2つのディスクに分割するにはどうすればよいですか?

私の目標は、Linux FHS読み取り/書き込みディレクトリ(、、、、、/home)の物理ストレージを、潜在的に読み取り専用であるルートファイルシステムの残りの部分以外の(論理的または物理的な)ディスクに配置することです。/srv/tmp/var

2番目のディスクに4つのパーティションを作成し、各パーティションを上記のディレクトリの1つとして使用できることを知っていますmount。ただし、後で(論理的または物理的な)パーティションのサイズを変更できますが、4つのディレクトリに必要なストレージ容量を事前に決定したくありません。

これは可能ですか?達成する方法?

答え1

以前も同様の質問がありました。一番近いようです。同じパーティションに複数のディレクトリをマウントする方法は?どこ現在承認されている回答アドバイスは2つの方法で来ることができます。

  • 4つの_symbolicリンクを使用してください。ルートファイルシステムでは、2番目のディスク上の4つの別々のサブツリーを指し、ディスク自体は一度に4つの独立したマウントポイントにマウントされます。

  • 使用バンドルのインストール(Linux 2.4以降)2番目のディスクが4つのディレクトリの別のマウントポイントに最初にマウントされ、次に2番目のディスクの4つの別々のサブツリーが4つのディレクトリにマウントされます。

同じ回答に興味深いコメントがあります。このQ&Aでは、長所と短所について説明します。シンボリックリンクそしてバンドルのインストール。これにより、次のような結論を下すことができます。シンボリックリンク表示とメンテナンスが簡単で、既存のソフトウェアに問題を引き起こさないため、優先する必要があります。

ただし、systemdという明示的な依存関係設定機能がありますRequiresMountsFor。たとえば、標準のDebian 8(Jessie)はそれを使用して、特定のサービスが/varそのサービスで利用可能でなければならない潜在的なインストールを待つようにします。

systemdRequiresMountsFor以下と組み合わせて使用​​できます。バンドルのインストール;同意しないシンボリックリンク

少なくともsystemd問題のDebian 8サービス設定ファイルがここにあるので、/lib/systemd修正しないでください。これは次のことを示します。バンドルのインストールsystemdこれらの依存関係を導入するLinuxディストリビューションを使用している場合は、これが優先されます。。 Linuxディストリビューションの設定を変更すると、systemdシステムのメンテナンスが悪夢になる可能性があります。

systemd一方、その存在自体が選択の理由や逆の理由を構成しません。シンボリックリンクそしてバンドルのインストール

答え2

1つのオプションは、mergeでディストリビューションを使用することです。その後、ROと残りのRWを/usrマウントし、ほとんどのRO関連エントリを持つことができます。しかし、これはおそらくあなたが望むものを/usr捉えません。/etc完全な解決策ではなく、解決策に近いです。

別のアプローチは、必要なすべてのマウントのサブボリュームを持つBTRFSボリュームを作成してから使用することです-osubvol=<whatever>。これらのマウントには個別のマウントオプションがありますが、デフォルト設定(割り当て量設定なし)ではすべて空間的に計算されます。 BTRFSボリューム全体にスペースが残っている限り、必要な場所に新しいデータを配置できます。

関連情報