単一の NFS イメージから複数のサーバーを PXE ブートするにはどうすればよいですか?

単一の NFS イメージから複数のサーバーを PXE ブートするにはどうすればよいですか?

PXE ブート経由で複数のサーバーを起動する必要があります。それらはすべて同じ RAM ディスク (つまり、pxelinux.cfg ディレクトリの "default") を実行し、NFS 経由でルート ファイル システムをマウントします。次に、その NFS ルート イメージに対して switch_root コマンドを実行します。この NFS イメージを読み取り専用にして、すべてのサーバーで同じものを使用したいのですが、/tmp さえも読み取り専用なので、サーバーはほとんど役に立たなくなります。

/tmp、/home、および NFS イメージから永続的な一意のストレージを必要とするその他のものを残し、代わりにローカル ハード ディスクからマウントすることを考えています。これは機能しますか? 機能する場合、init スクリプトでどのように実行しますか?

業界では、これをどのように行っているのでしょうか。ラックに何台ものサーバーがあり、すべてを単一のソースから管理および更新する必要があることは確かです。これを望んでいるのは私だけではないはずです。単一のサーバーに固有のすべての「ユーザー」データをローカル ハード ディスク上に置き、すべての OS ファイル (定期的な更新などが必​​要) を PXE ブートおよび NFS イメージから取得したいと考えています。

このタイプのサーバー管理に関する豊富なドキュメントへのリンクがあると便利です。

答え1

あなたが欲しいのは、ある種のユニオンファイルシステムここで、NFS エクスポートは読み取り専用ベースとして機能し、読み取り/書き込みオーバーレイはデルタを表します。デルタは、ディスク、USB スティック、揮発性メモリ、書き込み可能な NFS エクスポートなど、他の任意のファイルシステムに保存できます。

Linux はいくつかのユニオン ファイルシステムの実装をサポートしています。

最近では aufs3 が好まれているようです。

LinuxライブCDも同様の戦略を採用しており、そのinitスクリプトがどのように動作するかを学ぶことができます。さらに良い例としては、ファイ読み取り専用の NFS 共有と tmpfs イメージで構成される aufs ルート ファイルシステムに PXE ブートします。

関連情報