CentOS7のネットワーク回り Bonding Teaming
「/etc/default/grub」ファイルのGRUB_CMDLINE_LINUX行に下記を追加して
biosdevname=0 net.ifnames=0
下記をコマンドを実行します
(UEFIなら)
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
(BIOSなら)
grub2-mkconfig -o /boot/grub2/grub.cfg
次に、MACアドレス毎にデバイス名を指定する
「/etc/udev/rules.d/70-persistent-ipoib.rules」を参考に
下記の様な「/etc/udev/rules.d/70-persistent-ethx.rules」ファイルを作る
ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="00:0c:29:b5:ee:8c", NAME="eth0"
ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="00:0c:29:b5:ee:96", NAME="eth1"
ネットワーク部分だけで速度調査。ファイル転送、コピーが遅い現象は実感として分かるのだが、
システム的な側面から考慮すると、ネットワーク部分での遅延なのか、ファイルシステム側の遅延なのかの区分がある。
ここでは、2つのマシン間でネットワークの遅延があるのかを調べてみる。
調査対象の2つのマシンに iperf3 をインストールする。
[root@s ~]# yum --enablerepo=epel install iperf3
[root@e ~]# yum --enablerepo=epel install iperf3
サーバー側と仮定するマシンで下記を実行して、待ち受け状態にする
[root@s ~]# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
これでマシンsは、5201でクライアントの速度調査を待ち構える状態になる。
そしてクライアントマシンと仮定するマシンから下記コマンドを実行する
*クライアントからサーバsに対して、10秒間の測定を行った
[root@e ~]# iperf3 -c s -t 10
Connecting to host s, port 5201
[ 4] local 192.168.0.6 port 55604 connected to 192.168.0.7 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 113 MBytes 951 Mbits/sec 0 363 KBytes
[ 4] 1.00-2.00 sec 112 MBytes 937 Mbits/sec 0 363 KBytes
[ 4] 2.00-3.00 sec 112 MBytes 936 Mbits/sec 0 363 KBytes
[ 4] 3.00-4.00 sec 112 MBytes 936 Mbits/sec 0 363 KBytes
[ 4] 4.00-5.00 sec 112 MBytes 936 Mbits/sec 0 363 KBytes
[ 4] 5.00-6.00 sec 112 MBytes 937 Mbits/sec 0 363 KBytes
[ 4] 6.00-7.00 sec 112 MBytes 936 Mbits/sec 0 363 KBytes
[ 4] 7.00-8.00 sec 112 MBytes 936 Mbits/sec 0 363 KBytes
[ 4] 8.00-9.00 sec 112 MBytes 936 Mbits/sec 0 363 KBytes
[ 4] 9.00-10.00 sec 112 MBytes 936 Mbits/sec 0 363 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 1.09 GBytes 938 Mbits/sec 0 sender
[ 4] 0.00-10.00 sec 1.09 GBytes 936 Mbits/sec receiver
iperf Done.
[root@e ~]#
giga-bit帯域を十分に活用されていると見れる。
epelリポジトリで提供されているiperfでネットワーク部分の遅延があるかを調べてみる
ifconfigコマンドが存在しない....「ip」コマンドを使うそうな
[root@c105 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:fc:e8:61 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.105/24 brd 192.168.0.255 scope global ens192
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fefc:e861/64 scope link
valid_lft forever preferred_lft forever
[root@c105 ~]#
eth0とかの名称から変更したみたい。内部的にはeth0と認識されたが、systemd-udevdによって付け替えられたみたい。
dmesgから
[266]: renamed network interface eth0 to ens192
ens192のenはethernetを示すそうな。
詳しくはhttp://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c
「system-config-network-tui」コマンドもないみたい。その同等品は「NetworkManager-tui」パッケージのnmtuiコマンドみたい。
コマンドライン操作で行うのなら「NetworkManager」パッケージのnmcliで、これはCentOS6でもあるみたい。
ここではnmcliで操作してみる
インターフェイスデバイス一覧(ethernetとかwifiとか)
[root@c105 ~]# LANG=C nmcli device status
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
lo loopback unmanaged --
[root@c105 ~]#
接続がなされているインターフェイスデバイス一覧
[root@c105 ~]# LANG=C nmcli connection show
NAME UUID TYPE DEVICE
ens192 d1d7fbea-274b-497e-9d78-e380e5d53851 802-3-ethernet ens192
[root@c105 ~]#
ens192の接続設定一覧
[root@c105 ~]# LANG=C nmcli connection show ens192
connection.id: ens192
connection.uuid: d1d7fbea-274b-497e-9d78-e380e5d53851
connection.interface-name: --
connection.type: 802-3-ethernet
connection.autoconnect: yes
connection.timestamp: 1423622977
connection.read-only: no
(中略)
GENERAL.MASTER-PATH: --
IP4.ADDRESS[1]: ip = 192.168.0.105/24, gw = 192.168.0.1
IP4.DNS[1]: 192.168.0.3
IP6.ADDRESS[1]: ip = fe80::20c:29ff:fefc:e861/64, gw = ::
[root@c105 ~]#
必要な分だけ表示したいなら
[root@c105 ~]# LANG=C nmcli --fields ipv4 connection show ens192
ipv4.method: manual
ipv4.dns: 192.168.0.3
ipv4.dns-search:
ipv4.addresses: { ip = 192.168.0.105/24, gw = 192.168.0.1 }
ipv4.routes:
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.never-default: no
ipv4.may-fail: yes
[root@c105 ~]#
ip変更は
[root@c105 ~]# LANG=C nmcli connection modify eth0 ipv4.address 192.168.0.205/24 192.168.0.3
っと示したが、、、単純に nmtui を使うべきかも....そっちの方が楽
nmtuiと起動します。
[root@c105 ~]# LANG=C nmtui
次に「Edit a connection」を選択して、Tabキーで「<OK>」リンクに移って選択
編集可能なプロファイルが表示され、Ethernetの「eth」プロファイルを選択します。そしてTabキーで「<Edit...>」リンクに移って選択
必要な個所に修正を加えて、Tabキーで「<OK>」リンクに移って選択。これで修正は完了。「OK」で終了させる。
*「Automatically connect」と「Available to all users」は選択しておきましょう
次に、調整した値を反映させます。
またnmtuiを起動します。「Activate a connection」を選択して、Tabキーで「<OK>」リンクに移って選択
次の画面で「Eth」を一度「Deactivate」にして、再度「Activate」にする。
この作業はコンソール上で行う事。ネットワーク上だと切断が起こる。
*「Set system hostname」を実行するとNetworkManagerが停止したままフリーズする...
http://bugs.centos.org/print_bug_page.php?bug_id=7424
[root@c105 ~]# hostnamectl set-hostname ad.chaperone.jp
[root@c105 ~]# hostnamectl status
Static hostname: ad.chaperone.jp
Icon name: computer-vm
Chassis: vm
Machine ID: 41c3da04c08c7853666cdd6778316f74
Boot ID: 720b3f20aafe48e6a709231ea5996b54
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-123.el7.x86_64
Architecture: x86_64
[root@c105 ~]#
とコマンドラインから実行すべきかも。