#author("2019-05-24T14:44:33+00:00","default:sysosa","sysosa") #author("2019-05-24T14:58:27+00:00","default:sysosa","sysosa") CentOS7のネットワーク回り [[Bonding>CentOS/Bonding]] [[Teaming>CentOS/Teaming]] ***eth0を使いたい [#kd841e87] 「/etc/default/grub」ファイルの&color(magenta){GRUB_CMDLINE_LINUX};行に下記を追加する 「/etc/default/grub」ファイルの&color(magenta){GRUB_CMDLINE_LINUX};行に下記を追加して #code(nonumber){{ biosdevname=0 net.ifnames=0 }} そして、MACアドレス毎にデバイス名を指定する 下記をコマンドを実行します #code(nonumber){{ (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」ファイルを作る #code(nonumber){{ 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" }} ***iperf [#t04cbbd2] ネットワーク部分だけで速度調査。ファイル転送、コピーが遅い現象は実感として分かるのだが、 システム的な側面から考慮すると、ネットワーク部分での遅延なのか、ファイルシステム側の遅延なのかの区分がある。 ここでは、2つのマシン間でネットワークの遅延があるのかを調べてみる。 調査対象の2つのマシンに iperf3 をインストールする。 #code(nonumber){{ [root@s ~]# yum --enablerepo=epel install iperf3 [root@e ~]# yum --enablerepo=epel install iperf3 }} サーバー側と仮定するマシンで下記を実行して、待ち受け状態にする #code(nonumber){{ [root@s ~]# iperf3 -s ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- }} これでマシンsは、5201でクライアントの速度調査を待ち構える状態になる。 そしてクライアントマシンと仮定するマシンから下記コマンドを実行する &color(red){*};&size(10){クライアントからサーバsに対して、10秒間の測定を行った}; #code(nonumber){{ [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でネットワーク部分の遅延があるかを調べてみる ***ip [#yf9eb3fa] ifconfigコマンドが存在しない....「ip」コマンドを使うそうな #code(nonumber){{ [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 ~]# }} ***デバイス名 [#e57eda0c] eth0とかの名称から変更したみたい。内部的にはeth0と認識されたが、systemd-udevdによって付け替えられたみたい。 dmesgから #code(nonumber){{ [266]: renamed network interface eth0 to ens192 }} ens192のenはethernetを示すそうな。 詳しくは[[http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c>+http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c]] ***ipアドレス変更 [#mcefa43b] 「system-config-network-tui」コマンドもないみたい。その同等品は「NetworkManager-tui」パッケージの&color(magenta){nmtui};コマンドみたい。 コマンドライン操作で行うのなら「NetworkManager」パッケージの&color(orangered){nmcli};で、これはCentOS6でもあるみたい。 ここでは&color(orangered){nmcli};で操作してみる インターフェイスデバイス一覧(ethernetとかwifiとか) #code(nonumber){{ [root@c105 ~]# LANG=C nmcli device status DEVICE TYPE STATE CONNECTION eth0 ethernet connected eth0 lo loopback unmanaged -- [root@c105 ~]# }} 接続がなされているインターフェイスデバイス一覧 #code(nonumber){{ [root@c105 ~]# LANG=C nmcli connection show NAME UUID TYPE DEVICE ens192 d1d7fbea-274b-497e-9d78-e380e5d53851 802-3-ethernet ens192 [root@c105 ~]# }} ens192の接続設定一覧 #code(nonumber){{ [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 ~]# }} 必要な分だけ表示したいなら #code(nonumber){{ [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変更は #code(nonumber){{ [root@c105 ~]# LANG=C nmcli connection modify eth0 ipv4.address 192.168.0.205/24 192.168.0.3 }} っと示したが、、、単純に nmtui を使うべきかも....そっちの方が楽 *** nmtui [#w58aba16] nmtuiと起動します。 #code(nonumber){{ [root@c105 ~]# LANG=C nmtui }} &ref(2014y07m22d_024722183.png,nolink); 次に「Edit a connection」を選択して、Tabキーで「<OK>」リンクに移って選択 編集可能なプロファイルが表示され、Ethernetの「eth」プロファイルを選択します。そしてTabキーで「<Edit...>」リンクに移って選択 &ref(2014y07m22d_025142376.png,nolink); 必要な個所に修正を加えて、Tabキーで「<OK>」リンクに移って選択。これで修正は完了。「OK」で終了させる。 &ref(2014y07m22d_025401359.png,nolink); &color(red){*};「Automatically connect」と「Available to all users」は選択しておきましょう 次に、調整した値を反映させます。 またnmtuiを起動します。「Activate a connection」を選択して、Tabキーで「<OK>」リンクに移って選択 &ref(2014y07m22d_025619096.png,nolink); 次の画面で「Eth」を一度「Deactivate」にして、再度「Activate」にする。 &ref(2014y07m22d_025826423.png,nolink); この作業はコンソール上で行う事。ネットワーク上だと切断が起こる。 &color(red){*};「Set system hostname」を実行するとNetworkManagerが停止したままフリーズする... http://bugs.centos.org/print_bug_page.php?bug_id=7424 #code(nonumber){{ [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 ~]# }} とコマンドラインから実行すべきかも。