Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
8.10. コマンドラインを使用したネットワークチームの設定
8.10.1. nmcli を使用したネットワークチーミングの設定
システムで利用可能な接続を表示するには、以下のコマンドを実行します。
~]$ nmcli connection show
NAME UUID TYPE DEVICE
enp2s0 0e8185a1-f0fd-4802-99fb-bedbb31c689b 802-3-ethernet --
enp1s0 dfe1f57b-419d-4d1c-aaf5-245deab82487 802-3-ethernet --
システムで利用可能なデバイスを表示するには、以下のコマンドを実行します。
~]$ nmcli device status
DEVICE TYPE STATE CONNECTION
virbr0 bridge connected virbr0
ens3 ethernet connected ens3
新しいチームインターフェースを、ServerA という名前で作成するには、以下のコマンドを実行します。
~]$ nmcli connection add type team ifname ServerA
Connection 'team-ServerA' (b954c62f-5fdd-4339-97b0-40efac734c50) successfully added.
NetworkManager が内部パラメーター connection.autoconnect
を yes
に設定し、IP
アドレスが与えられないので ipv4.method
が auto
に設定されます。また NetworkManager は /etc/sysconfig/network-scripts/ifcfg-team-ServerA
に設定ファイルを書き込みます。ここでは、対応する ONBOOT が yes
に、BOOTPROTO が dhcp
に設定されます。
ifcfg ファイルへの手動の変更は、そのインターフェースが次に起動するまで、NetworkManager により認識されません。設定ファイルの使用方法は「sysconfig ファイルによる NetworkManager の使用」を参照してください。
割り当てた別の値を表示するには、以下のコマンドを実行します。
~]$ nmcli con show team-ServerA
connection.id: team-ServerA
connection.uuid: b954c62f-5fdd-4339-97b0-40efac734c50
connection.interface-name: ServerA
connection.type: team
connection.autoconnect: yes…
ipv4.method: auto[出力は省略されています]
JSON 設定ファイルが指定されていないので、デフォルト値が適用されます。チーム JSON パラメーターとそれらのデフォルト値についての詳細情報は、teamd.conf(5)
man ページを参照してください。名前は、インターフェース名の前に種類を追加したものになっていることに留意してください。あるいは、以下のように con-name
オプションを使って名前を指定することもできます。
~]$ nmcli connection add type team con-name Team0 ifname ServerB
Connection 'Team0' (5f7160a1-09f6-4204-8ff0-6d96a91218a7) successfully added.
設定したチームインターフェースを表示するには、以下のコマンドを実行します。
~]$ nmcli con show
NAME UUID TYPE DEVICE
team-ServerA b954c62f-5fdd-4339-97b0-40efac734c50 team ServerA
enp2s0 0e8185a1-f0fd-4802-99fb-bedbb31c689b 802-3-ethernet --
enp1s0 dfe1f57b-419d-4d1c-aaf5-245deab82487 802-3-ethernet --
Team0 5f7160a1-09f6-4204-8ff0-6d96a91218a7 team ServerB
チームに割り当てられている名前を変更するには、以下の形式のコマンドを実行します。
nmcli con mod old-team-name connection.id new-team-name
既存のチームのチーム設定ファイルを読み込むには、以下のコマンドを実行します。
nmcli connection modify team-name team.config JSON-config
チーム設定は JSON 文字列として指定するか、設定を含んでいるファイル名を提供できます。ファイル名にはパスを含めることができます。どちらの場合でも、team.config
プロパティーに保存されるのは、JSON 文字列です。JSON 文字列の場合は、文字列を単一引用符で囲み、文字列全体をコマンドラインにペーストします。
team.config
プロパティーを確認するには、以下のコマンドを実行します。nmcli con show team-name | grep team.config
team.config
プロパティーを設定すると、それに合わせて、その他のチームプロパティーがすべて更新されます。
対応する JSON 文字列を直接変更せずに、特定のチームオプションを公開して設定するより柔軟な方法も可能になります。これは、利用可能なその他のチームプロパティーを使用して、必要な値に 1 つずつ関連するチームオプションを設定できます。その結果、新しい値に一致するように
team.config
プロパティーが更新されます。
たとえば、1 つまたは複数の
link-watchers
を指定できる team.link-watchers
プロパティーを設定するには、以下の形式でコマンドを実行します。nmcli connection modify team-name team.link-watchers
"name=ethtool delay-up=5, name=nsna_ping target-host=target.host"
必要な link-watchers
はコンマで区切り、同じ link-watcher
に所属する属性はスペースで区切ります。
team.runner
プロパティーおよび team.link-watchers
プロパティーを設定するには、以下の形式でコマンドを入力します。nmcli connection modify team-name team.runner
activebackup team.link-watchers
"name=ethtool delay-up=5, name=nsna_ping target-host=target.host"
これは、対応する JSON 文字列に
team.config
プロパティーを設定するのと同じです。nmcli connection modify team-name team.config
'{"runner": {"name": "activebackup"}, "link_watch": [{"name": "ethtool", "delay_up": 5},{"name": "nsna_ping", "target_host ": "target.host"}]'
Team0
に Team0-port1 の名前でインターフェース enp1s0 を追加するには、以下のコマンドを実行します。
~]$ nmcli con add type ethernet con-name Team0-port1 ifname enp1s0 master Team0
Connection 'Team0-port1' (ccd87704-c866-459e-8fe7-01b06cf1cffc) successfully added.
同様に Team0-port2 の名前で別のインターフェース enp2s0 を追加するには、以下のコマンドを実行します。
~]$ nmcli con add type team-slave con-name Team0-port2 ifname enp2s0 master Team0
Connection 'Team0-port2' (a89ccff8-8202-411e-8ca6-2953b7db52dd) successfully added.
nmcli は、イーサネットポートだけをサポートします。
チームを有効にするには、以下のように最初にポートをアップにする必要があります。
~]$ nmcli connection up Team0-port1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
~]$ nmcli connection up Team0-port2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
以下のようにポートをアクティブ化することで、チームインターフェースがアップになっていることを確認できます。
~]$ ip link
3: Team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT
link/ether 52:54:00:76:6f:f0 brd ff:ff:ff:ff:ff:f
あるいは、以下のようにチームを有効にするコマンドを実行します。
~]$ nmcli connection up Team0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
nmcli の概要は、「nmcli を使用する IP ネットワークの設定」を参照してください。
8.10.2. teamd を使用したネットワークチームの作成
注記
teamd を使って作成された設定には永続性がありません。このため、「nmcli を使用したネットワークチーミングの設定」または「ifcfg ファイルを使用したネットワークチームの作成」で定義されているステップを使ってチームを作成する必要がある場合があります。
ネットワークチームを作成するには、ポートまたはリンクのチームに対するインターフェースとして作動する仮想インターフェースの設定ファイルが JSON 形式で必要になります。簡単な方法は、設定ファイルの例をコピーして、
root
権限でエディターを使用してこれを編集するというものです。利用可能な設定例を一覧表示するには、以下のコマンドを実行します。
~]$ ls /usr/share/doc/teamd-*/example_configs/
activebackup_arp_ping_1.conf activebackup_multi_lw_1.conf loadbalance_2.conf
activebackup_arp_ping_2.conf activebackup_nsna_ping_1.conf loadbalance_3.conf
activebackup_ethtool_1.conf broadcast.conf random.conf
activebackup_ethtool_2.conf lacp_1.conf roundrobin_2.conf
activebackup_ethtool_3.conf loadbalance_1.conf roundrobin.conf
ここに含まれるファイル、たとえば activebackup_ethtool_1.conf
を表示するには、以下のコマンドを実行します。
~]$ cat /usr/share/doc/teamd-*/example_configs/activebackup_ethtool_1.conf
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {"name": "ethtool"},
"ports": {
"enp1s0": {
"prio": -10,
"sticky": true
},
"enp2s0": {
"prio": 100
}
}
}
teamd
設定ファイルを保存する作業設定ディレクトリーを作成します。たとえば通常ユーザーの場合、以下の形式のコマンドを実行します。
~]$ mkdir ~/teamd_working_configs
選択したファイルを作業ディレクトリーにコピーし、必要に応じて編集します。以下の形式のコマンドを使用できます。
~]$ cp /usr/share/doc/teamd-*/example_configs/activebackup_ethtool_1.conf \ ~/teamd_working_configs/activebackup_ethtool_1.conf
ネットワークチームのポートとして使用するインターフェースを変更する場合など、使用中の環境に適合するようにファイルを編集するには、以下のように編集するファイルを開きます。
~]$ vi ~/teamd_working_configs/activebackup_ethtool_1.conf
必要な変更を加えて、ファイルを保存します。vi の使用方法については、vi(1)
man ページを参照してください。お好みのエディターを使用しても構いません。
チーム内でポートとして使用するインターフェースをチームデバイスに追加する際には、それがアクティブになっていない、つまり「down」になっている必要があることに注意してください。インターフェースのステータスを確認するには、以下のコマンドを実行します。
~]$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 52:54:00:d5:f7:d4 brd ff:ff:ff:ff:ff:ff
3: em2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 52:54:00:d8:04:70 brd ff:ff:ff:ff:ff:ff
この例では、使用する予定のインターフェースはどちらも「UP」になっていることが分かります。
インターフェースをダウンにするには、
root
で以下の形式のコマンドを実行します。
~]# ip link set down em1
必要に応じて各インターフェースでこれを繰り返します。
設定ファイルに基づいてチームインターフェースを作成するには、
root
ユーザーで作業設定ディレクトリー (この例では teamd_working_configs ) に移動します。
~]# cd /home/userteamd_working_configs
それから、以下の形式のコマンドを実行します。
~]# teamd -g -f activebackup_ethtool_1.conf -d
Using team device "team0".
Using PID file "/var/run/teamd/team0.pid"
Using config file "/home/user/teamd_working_configs/activebackup_ethtool_1.conf"
-g
オプションはデバッグメッセージをオンにし、-f
オプションは読み込む設定ファイルを指定します。-d
オプションは、起動後に実行するプロセスをデーモン化します。他のオプションについては、teamd(8)
man ページを参照してください。
チームのステータスを確認するには、
root
で以下のコマンドを実行します。
~]# teamdctl team0 state
setup:
runner: activebackup
ports:
em1
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
em2
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
runner:
active port: em1
ネットワークチームインターフェース team0 にアドレスを適用するには、
root
で以下の形式のコマンドを実行します。
~]# ip addr add 192.168.23.2/24 dev team0
チームインターフェースの IP アドレスを確認するには、以下のコマンドを実行します。
~]$ ip addr show team0
4: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 16:38:57:60:20:6f brd ff:ff:ff:ff:ff:ff
inet 192.168.23.2/24 scope global team0
valid_lft forever preferred_lft forever
inet6 2620:52:0:221d:1438:57ff:fe60:206f/64 scope global dynamic
valid_lft 2591880sec preferred_lft 604680sec
inet6 fe80::1438:57ff:fe60:206f/64 scope link
valid_lft forever preferred_lft forever
チームインターフェースをアクティブ化する、または「up」にするには、
root
で以下の形式のコマンドを実行します。
~]# ip link set dev team0 up
チームインターフェースを一時的に非アクティブ化、つまり「down」にするには、
root
で以下の形式のコマンドを実行します。
~]# ip link set dev team0 down
チームデーモンのインスタンスを強制終了、kill、するには、
root
で以下の形式のコマンドを実行します。
~]# teamd -t team0 -k
-k
オプションは、デバイス team0 に関連するデーモンのインスタンスを強制終了、kill、することを指定します。他のオプションについては、teamd(8)
man ページを参照してください。
teamd
のコマンドラインオプションでヘルプを表示するには、以下のコマンドを実行します。
~]$ teamd -h
また、teamd(8)
man ページも参照してください。
8.10.3. ifcfg ファイルを使用したネットワークチームの作成
ifcfg
ファイルを使ってネットワークチームを作成するには、以下のようなファイルを /etc/sysconfig/network-scripts/
ディレクトリー内に作成します。
DEVICE=team0 DEVICETYPE=Team ONBOOT=yes BOOTPROTO=none IPADDR=192.168.11.1 PREFIX=24 TEAM_CONFIG='{"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}'これでチームへのインターフェースが作成されます。つまり、これがマスターになります。
team0 のメンバーとなるポートを作成するには、以下のようなファイルを
/etc/sysconfig/network-scripts/
ディレクトリー内に作成します。
DEVICE=enp1s0 HWADDR=D4:85:64:01:46:9E DEVICETYPE=TeamPort ONBOOT=yes TEAM_MASTER=team0 TEAM_PORT_CONFIG='{"prio": 100}'必要に応じてポートインターフェースを同様に追加します。追加する各ポート (ネットワークデバイス) に応じて、DEVICE と HWADDR のフィールドを変更します。ポートの優先度が
prio
で指定されない場合はデフォルトで 0
となり、-32,767
から +32,767
までの範囲の値 (プラスとマイナスの両方) を受け付けます。
HWADDR
ディレクティブを使用してハードウェアまたは MAC アドレスを指定すると、デバイス命名手順に影響が出ます。これは11章ネットワークデバイス命名における一貫性で説明しています。
ネットワークチームを有効にするには、
root
で以下のコマンドを実行します。
~]# ifup team0
ネットワークチームを表示するには、以下のコマンドを実行します。
~]$ ip link show
8.10.4. iputils を使用したネットワークチームへのポートの追加
ip ユーティリティーを使ってポート em1 をネットワークチーム team0 に追加するには、
root
で以下のコマンドを実行します。
~]#必要に応じてさらにポートを追加します。チームドライバーが自動的にポートをアップにします。ip link set dev em1 down
~]#ip link set dev em1 master team0
8.10.5. teamnl を使用したチームのポートの一覧表示
teamnl ユーティリティーを使ってネットワークチーム内のポートを一覧表示するには、
root
で以下のコマンドを実行します。
~]# teamnl team0 ports
em2: up 100 fullduplex
em1: up 100 fullduplex
8.10.6. teamnl を使用したチームのオプション設定
teamnl ユーティリティーを使って現在利用可能なオプションすべてを一覧表示するには、
root
で以下のコマンドを実行します。
~]# teamnl team0 options
チームがアクティブバックアップモードを使用するように設定するには、root
で以下のコマンドを実行します。
~]# teamnl team0 setoption mode activebackup
8.10.7. iputils を使用したネットワークチームへのアドレス追加
ip ユーティリティーを使ってアドレスをチーム team0 に追加するには、
root
で以下のコマンドを実行します。
~]# ip addr add 192.168.252.2/24 dev team0
8.10.8. iputils を使用したネットワークチームへのインターフェースの有効化
ip ユーティリティーを使ってネットワークチーム team0 へのインターフェースをアクティブ化または「有効」にするには、
root
で以下のコマンドを実行します。
~]# ip link set team0 up
8.10.9. teamnl を使用したチームのアクティブポートオプション表示
teamnl ユーティリティーを使ってネットワークチーム内の
activeport
オプションを一覧表示するには、root
で以下のコマンドを実行します。
~]# teamnl team0 getoption activeport
0
8.10.10. teamnl を使用したチームのアクティブポートオプション設定
teamnl ユーティリティーを使ってネットワークチーム内の
activeport
オプションを設定するには、root
で以下のコマンドを実行します。
~]# teamnl team0 setoption activeport 5
チームポートオプションの変更を確認するには、root
で以下のコマンドを実行します。
~]# teamnl team0 getoption activeport
5
このページには機械翻訳が使用されている場合があります (詳細はこちら)。