RHEL 7 における Network Initscript と NetworkManager の違い
Environment
Red Hat Enterprise Linux 7
Issue
- RHEL 7 では NetworkManager へのサポートが改善されました。どちらの使用が推奨されますか?
- Network Initscript ではなく NetworkManager の利用が高まっていますか?
- どのような状況で、Network Initscript または NetworkManager の使用が推奨されますか?
Resolution
RHEL 7 では、2 つのネットワーキング方法が利用できます。ここでは、各方法の紹介、選択する際のヒント、そして今後の予定を説明します。
Network Initscript と NetworkManager とは
NetworkManager ではネットワーク設定ファイルを手動で編集する手間を省き、ネットワーキングを簡単に設定できるように連携して動作するネットワーク管理ツールです。NetworkManager は、ローカルまたはリモートシステム、もしくはモニターを使用しないシステムでも管理できるように、GUI、CLI、および TUI オプションを持つ柔軟な管理インターフェイスを提供します。Ethernet、InfiniBand IPoIB、VLAN、Bridges、Bonds、Teams、WiFi、WiMAX、WWAN、Bluetooth、VPN など様々なネットワークインターフェイスのブロードアレイがサポートされます。
Network initscript は initscripts パッケージの一部で、基本的なネットワークインターフェイスの開始または停止フレームワークです。
Network Initscript の使用が推奨される状況
現在、NetworkManager は以下のデバイスをサポートしません。
- ISDN
- 56k モデム
- Open vSwitch
- IPSec
- IPv6 トンネル (SIT)
- VXLAN カプセル化
ただし、 RHEL 7 における今後の NetworkManager リリースでサポートが予定されているデバイスもあります。
NetworkManager の使用が推奨される状況
-
InfiniBand IPoIB インターフェイスを管理する場合
network initscript も使用することはできますが、システムの起動時間が非常に遅くなる可能性が高くなります。 -
ネットワーク設定および管理インターフェイスを簡単に使用できる場合は、ネットワークデバイスを設定することが要求または推奨されます。
network initscript を使用する場合は ifcfg ファイルフォーマットの知識が必要です。インターフェイスを設定、または設定を変更するにはファイルを直接編集する必要があり、これにより設定エラーが発生する場合があります。NetworkManager は network initscript とは異なり、ネットワーク設定を簡素化し、GUI、CLI、または TUI インターフェイスを使用して、柔軟なインターフェイスオプションを提供します。
RHEL 5 または 6 にはデバイスのホットプラグサポート (新規に作成したデバイスに ifup スクリプトを実行する udev ) がありますが、デバイスを新たに検出する際に競合問題が発生する場合があるため RHEL 7 では無効になっています。
追加情報および既知の問題
-
NetworkManager は現在、RHEL 7 でデフォルトで使用されています。NetworkManager を無効すると、ネットワークインターフェイス管理には代わりに initscripts が使用されます。
-
systemd は、すでに停止しているサービスを停止することはできません。したがって、ネットワークサービスを停止できなくなり、1 つまたは数個のネットワークインターフェイスしか起動しなくなります。network initscript を使用すれば、これらのアクティブなインターフェイスを削除または停止する必要がある場合に実施されます。たとえば、"service network stop; ifup eth0; service network stop" は有効ではなくなりました。
-
NetworkManager から network initscript に移行する場合、インターフェイスの ifcfg ファイルのデフォルトゲートウェイパラメーターは 'GATEWAY0' となります。ifcfg ファイルを network initscript と互換性を持たせるには、このパラメーターの名前を 'GATEWAY' に変更する必要があります。この制限は、RHEL7 の今後のリリースで対応されます。
-
インターフェイスの ifcfg ファイルの BONDING_OPTS パラメーターに定義されたインターフェイスボンディング設定オプションは、NetworkManager と互換性があるとは限りません。詳細は Solution 1249593 を参照してください。
今後の展望
NetworkManager の使用が増えてきているため、今後のメジャーリリースで Network Initscript が廃止になる可能性があります。したがって、新しい機能または RFE は、RHEL 7 タイムフレームの Network Initscript では対応されません。一方、NetworkManager に対する新しい機能または RFE は対応されます。ただし、不具合およびバグ修正については Network Initscript でも引き続き対応していきます。
network initscript は同時にロードされるように設定されています。これは、サービスが 1 つずつ起動する RHEL 5 または 6 では問題ではないため、システムは予期された通りにロードします。しかし、RHEL 7 で systemd が導入されたため、サービスが起動プロセスを並行に処理し、システムの変更に動的に反応できます。したがって、network initscript はこのようにロードするために設計されているわけではないため、システムの起動後にネットワークデバイスが起動しないといったタイミング問題については対応していません。
network initscript を使用する場合に、速度を遅らせ、サービスを順番に起動してこれらのデバイスを確実に起動することが唯一の解決策となります。ただし、これにより systemd で一番大きな利点の 1 つが利用できなくなるため、システムの起動時に大きな影響を及ぼします。したがって、起動時に、特定のデバイスが立ち上がるのを待っている間、システムが応答不能または停止しているように見える場合があります。
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments