我有两台集群 solaris 机器( machine1 , machine2 )两台机器之间的连接 ping 和 ssh 工作正常(集群正常)
more /var/tmp/mesg
TEST
我执行以下命令:
wall –a /var/tmp/mesg on machine1 ( on machine1 )
在机器 1 上,我看到消息“测试”
但是当我在 machine2 上检查消息“TEST”时,我没有看到消息“TEST”
请指教可能是什么问题——在机器2上我没有收到广播消息“测试”
来自 machine1 和 machine2 的详细信息
machine1 - details
[root@machine1 /var/tmp]#ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.20.24.137 netmask ffffff80 broadcast 10.20.24.255
groupname Data_ipmp
ether 0:21:28:d2:31:3e
e1000g0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.20.24.141 netmask ffffff80 broadcast 10.20.24.255
nxge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
groupname Data_ipmp
ether 0:21:28:e1:1:aa
machine2 – details
[root@machine2 /var/tmp]# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.20.24.140 netmask ffffff80 broadcast 10.20.24.255
groupname Data_ipmp
ether 0:21:28:4f:e9:1e
nxge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255
groupname Data_ipmp
ether 0:21:28:e0:15:8a
netstat -rn
Routing Table: IPv4
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ---------- ---------
default 10.20.24.129 UG 1 0
10.20.24.128 10.20.24.137 U 1 160 e1000g0
10.20.24.128 10.20.24.141 U 1 0 e1000g0:1
224.0.0.0 10.20.24.137 U 1 0 e1000g0
127.0.0.1 127.0.0.1 UH 40 373257 lo0
答案1
按设计工作。
wall
向当前登录的任何用户的终端写入一条消息本地机器。
它没有“集群”的概念,也没有与其他机器通信的能力(即使有,在大多数情况下,将这种行为作为默认行为也是非常不可取的)。
如果您想向多台机器上的用户写消息,您需要连接到每台机器并广播该消息(或者使用您的集群软件提供的消息传递工具,如果这样的工具存在的话)。
答案2
你可能正在考虑rwall
服务。
描述
rwall 命令将消息发送给网络上的所有用户。为此,rwall 命令从标准输入读取消息,直到到达文件结束符。rwall 命令接收此消息(以 Broadcast Message... 行开头),并将其广播给登录到指定主机的所有用户。用户只有在运行由 inetd 守护程序启动的 rwalld 守护程序时才会收到消息。
注意:超时时间相当短。这使得 rwall 命令能够在合理的时间内向一大组机器(其中一些机器可能已关闭)发送消息。因此,消息可能无法到达负载过重的机器。