Zookeeperを構成しているときに、CentOS 7を再起動したところ、XShellを使用してシステム(ホスト:192.168.186.128)にリモート接続するとタイムアウトになりました。
私は長い間、オペレーティングシステムのさまざまなバグや事故に慣れており、コードを作成するときに、限られた時間内にすべてを解決できることを知っているためです。
次に、システムページに直接移動し、コマンドラインを開いて次のように入力しました ifconfig
。
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.186.130 netmask 255.255.255.0 broadcast 192.168.186.255
inet6 fe80::20c:29ff:fe1a:6c13 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1a:6c:13 txqueuelen 1000 (Ethernet)
RX packets 636 bytes 48167 (47.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 237 bytes 26851 (26.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
以前のシステムスナップショットバックアップによると、以前の情報は次のように取得できます。
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.186.128 netmask 255.255.255.0 broadcast 192.168.186.255
inet6 fe80::20c:29ff:fed8:e9b9 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:d8:e9:b9 txqueuelen 1000 (Ethernet)
RX packets 1370575 bytes 1933632481 (1.8 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 360561 bytes 85054851 (81.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 19044 bytes 38146469 (36.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 19044 bytes 38146469 (36.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ホストアドレスは、再起動後に192.168.186.128から192.168.186.130に変更されました、そして元がいることがわかる eno16777736
も変更します ens33
。
次に、コマンドを実行してネットワークを再起動しようとした service network restart
か systemctl restart network
、エラーが見つかりました。
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
詳細なエラー情報を表示するには、コマンドcat /var/log/messages | grep network
を実行し てエラーを見つけます。
...
Sep 25 10:55:30 localhost network: [FAILED]
Sep 25 10:55:30 localhost NetworkManager[16202]: <info> renaming /etc/sysconfig/network-scripts/ifcfg-eno16777736 -> /etc/sysconfig/network-scripts/ifcfg-ens33
Sep 25 10:55:30 localhost network: Bringing up interface ens33: Error: no device found for connection 'eno16777736'.
...
エラーメッセージは、ネットワークカードeno16777736のロードに失敗したことです。
したがって、コマンドcd /etc/sysconfig/network-scripts/
を実行して 、ネットワーク構成が保存されているフォルダーに入ります。
ディレクトリ内のファイルを見ると、元のネットワークカードeno16777736に対応する構成ファイルifcfg-eno16777736のみが存在し、ネットワークカードens33に対応する構成ファイルは存在しないことがわかります。したがって、再起動後、システムは元のネットワークカードを削除し、新しいIPアドレスで新しいネットワークカードを有効にしたと推測されます。このための解決策は、ネットワークカード構成ファイルを置き換え、IPアドレスを古いIPアドレスに再構成して、ネットワークを再起動することです。
まず、コマンドcp ifcfg-eno16777736 ifcfg-ens33
を実行し てファイルをコピーします。
次に、コマンドを実行してファイルを編集します vim ifcfg-ens33
。ネットワークカード名を元のeno16777736からens33に変更し、IPアドレスが元のアドレスであることを確認します。
IPADDR=192.168.186.128
NAME=ens33
DEVICE=ens33
同時に、コマンドを実行して、無効なネットワークカードの構成ファイルを削除します rm ifcfg-eno16777736
。
次に、コマンドを実行してネットワークを再起動し、 systemctl restart network
それを実行 ifconfig
して、IPアドレスが元のIPアドレスに正常に置き換えられたことを確認します。
[root@localhost network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.186.128 netmask 255.255.255.0 broadcast 192.168.186.255
inet6 fe80::20c:29ff:fe1a:6c13 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1a:6c:13 txqueuelen 1000 (Ethernet)
RX packets 777 bytes 57063 (55.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 280 bytes 31690 (30.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 4 bytes 352 (352.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4 bytes 352 (352.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
再起動後にエラーが報告されないが、IPアドレスが変更されていない場合は、キャッシュの問題を防ぐためにもう一度再起動を実行します。
XShellを再利用してシステムに接続します。接続が最初にタイムアウトした場合は、接続をオフにして、キャッシュの問題を防ぐために再試行します。
最後に、システムを再起動して、IPアドレスとネットワークカードが正常で変更されていないことを確認します。XShellを使用して、CentOS7システムに正常にリモートアクセスできます。
詳細を知りたい場合は、WeChatパブリックアカウントをフォローしてください:Renda_Zhang