ネットワークから起動する複数のホストに継続的なネットワークインターフェイスの命名を適用するための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.rules
CentOS 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
警告:これはセキュリティリスクをさらす可能性があります。