pxelinuxネットワーク経由で起動すると、systemd-networkdは起動しません。

pxelinuxネットワーク経由で起動すると、systemd-networkdは起動しません。

ネットワークから起動する複数のホストに継続的なネットワークインターフェイスの命名を適用するためのsystemdリンカファイルを作成しました。 MACはシステムによって異なるため、インターフェイスを一致させるためにPCIパスを使用する必要があります。

[Match]
Path=pci-0000:02:00.0-0

[Link]
Name=eth0

これは仮想マシンまたは物理マシンに適用されます。ただし、ネットワークブートホストでは、次のメッセージで失敗します。

Failed at step NAMESPACE spawning /usr/lib/systemd/system/systemd-networkd: Invalid Argument

リンクされたファイルを削除して再起動してみましたが、結果は同じでした。したがって、私のリンクされたファイルとは何の関係もありません。

netbootホストはCentos 7.2で作成されました。

以前は、CentOS 6では永続的なネットワークルールを使用していましたが、/etc/udev.rulesCentOS 7では失敗しました。

ベストアンサー1

Systemdには、ファイルシステムの特定のディレクトリを保護するためにサービスの単位ファイルに設定できるさまざまなオプションがあります。これはファイルシステムの名前空間を使用して行われます。

PXEブートホストはこの機能をサポートしていないように見えるため、この機能を必要とするサービスは開始されません。

systemd-networkdの場合、名前空間を必要とするすべてのオプションを無効にすると、この問題を解決できます。

まず、サービスファイルのコピーを作成します。のファイルは、/etc/systemd次のデフォルト値を上書きします/usr/lib/systemd

cp /usr/lib/systemd/system/networkd-systemd.service /etc/systemd/systemd/

次に、/etc/systemd/system/systemd-networkd.service名前空間保護を削除するように編集します。

ProtectSystem=no
ProtectHome=no

最後にデーモンを再起動します。

systemctl restart networkd-systemd

警告:これはセキュリティリスクをさらす可能性があります。

おすすめ記事