设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
快捷导航
发布信息
搜索
搜索
首页
优惠促销
云服务器
独立服务器
站群服务器
母鸡服务器
服务器托管
全球云服务器
技术文档
联系
每日签到
本版
文章
帖子
用户
主机测评网
»
论坛
›
技术文档
›
其他教程
›
使用Cluster SSH同时管理多个Linux服务器
返回列表
发新帖
使用Cluster SSH同时管理多个Linux服务器
[复制链接]
|
主动推送
21
|
0
|
2024-9-11 14:57:27
|
显示全部楼层
|
阅读模式
Cluster SSH (cssh)是一个实用程序,它允许你从一个管理控制台通过SSH管理多个服务器。它最初的设计是为了与组成HPC(高性能计算)集群的多个节点一起工作。这些节点通常配置相同,因此需要在每个节点上运行相同的管理命令。使用Cluster SSH允许管理员在一个控制台中键入一个命令,并将其复制到许多系统上。
作为一个SysAdmin,这个工具可以大大节省时间。在本文中,我们将讨论如何安装、配置和使用Cluster SSH。
如何安装Cluster SSH
Cluster SSH的安装非常简单,并且在大多数Linux发行版上都可以使用。使用您的软件包管理器使安装变得简单和快速。
Fedora安装Cluster SSH
sudo dnf install clusterssh -y
CentOS/Red Hat安装Cluster SSH。
sudo yum install clusterssh -y
Ubuntu/Debian安装的集群SSH
sudo apt-get install clusterssh
如何配置Cluster SSH
HPC集群管理员经常会有非常复杂的配置,涉及多个不同的文件、标签和选项。这样复杂的配置不在本文的讨论范围内(见资源部分)。
Cluster SSH可以通过它的全局配置文件,或者用户特定的配置文件进行配置。这两个文件使用相同的格式,唯一的区别是一个影响所有用户,另一个是特定于一个用户。在本教程中,我们将对用户配置进行全部修改。
为了保证本文的精确性,我们将重点介绍最常用的配置,以便让您快速上手和运行。
全局配置文件
有三个全局配置文件。其中两个更像是映射文件(如/etc/hosts或/etc/auto.master),而不是实际的配置文件。
/etc/clusters - 包含一个标签(群集名称)和映射到指定标签的主机的列表。
/etc/tags - 与 /etc/clusters 的逻辑相反。这允许您指定一个主机作为多个标记(群集)的成员。
/etc/csshrc - 此文件包含默认配置覆盖。
用户特定的配置文件: /etc/csshrc - 这个文件包含默认的配置覆盖。
还有三个用户特定的文件直接映射到全局文件。
$HOME/.clusterssh/clusters - 用户特定版本的/etc/clusters。
$HOME/.clusterssh/tags - 用户特定版本的/etc/tags。
$HOME/.clusterssh/config - 用户对/etc/csshrc的特定版本。
配置群集文件
/etc/clusters (全局) 或 $HOME/.clusterssh/clusters (用户专用)
群集文件的格式只是一个标签(群集名称),后面是所述群集中的主机名称,每个名称之间用空格隔开。
举个例子,比如说我们有六台服务器,其中两台是开发服务器,四台是生产服务器。两台是开发服务器,四台是生产服务器。我们可以指定标签 "dev",然后列出开发服务器。然后对生产服务器进行同样的操作。
下面是一个例子集群文件。
# Development servers
dev savona@centosdev savona@fenrir
# Production Servers
prod savona@putorweb1 savona@putorweb2 savona@putorweb3 savona@putorweb4
注意:添加用户名(user@host)是可选的。你可以在命令行中指定用户名。如果你的用户名在所有系统上都是一样的,你可以完全排除它。
现在我们已经创建了Cluster文件,我们只需使用标签为列出的两台开发服务器打开终端即可。
[savona@putor ~]$ cssh dev
上面的命令将打开两个XTerm窗口,每个开发服务器在dev标签后列出一个。
配置标签文件
/etc/tags (全局) 或 $HOME/.clusterssh/tags (用户专用)
如上所述,标签文件使用簇文件的相反格式。在标签文件中,您有一个主机,后面跟着一个或多个标签,每个标签之间用空格分隔。这允许对集群进行更精细的控制。
在这个例子中,假设我们想按服务器的操作系统和位置来分组。我们可以用一个主机开始行,然后列出该主机应该关联的标签(Cluster)。这样,我们就可以轻松地指定一个主机为多个标记(Cluster)的成员。
下面是一个按操作系统和位置来划分主机的例子。
savona@putorweb1 centos phila
savona@putorweb2 redhat denver
savona@putorweb3 redhat phila
savona@putorweb4 centos denver
我们有效地让主机putorweb1成为两个集群的成员。一个叫 centos,另一个叫 phila。现在我们可以通过这样的标签连接到数据中心的所有主机。
[savona@putor ~]$ cssh phila
Opening to: savona@putorweb1 savona@putorweb3
同样,我们也可以使用 centos 标签连接到所有的 CentOS 系统。
[savona@putor ~]$ cssh centos
Opening to: savona@putorweb1 savona@putorweb4
集群SSH配置文件
/etc/csshrc (全局)或$HOME/.clusterssh/config (用户专用)
主配置文件提供了一种覆盖程序默认行为的方法,其格式与其他配置文件类似,每行一个选项和值。其格式与其他配置文件类似,每行一个选项和值。下面是一个配置文件的例子。
# Close terminal window after 3 seconds
auto_close = 3
# Set initial console position
console_position = +0+200
# Hide console menu
hide_menu = 1
有关选项的完整列表,请参见资源部分的man页面。
Cluster SSH的基本用法
使用Cluster SHH很简单,完全可以不用配置。
如您在上面的屏幕快照中所见,我们通过运行以下命令登录了两台服务器:
cssh savona@fenrir savona@centosdev
也可以这样缩短:
cssh -l savona fenrir centosdev
然后,Cluster SSH打开两个XTerm窗口,对于作为参数提供的每个主机,一个窗口。它还打开了一个管理控制台,您可以在其中输入将在XTerm窗口中重复的命令。
如果您只想在特定主机中输入内容,就像单击该窗口一样简单。您可以单击返回管理控制台以继续将击键发送到所有终端窗口。
使用标签连接到服务器组
我们已经在配置部分谈到了使用标签(集群名称)。要连接到集群文件或标签文件中定义的系统,只需调用cssh和标签名称。
[ savona @ putor?] $ cssh prod
注意:使用前,必须在集群文件或标签文件中配置标签。(请参阅上面的配置Cluster SSH)
Cluster SSH的管理控制台
管理控制台顶部有几个菜单项。它们具有一些有用的选项,可以提高您的Cluster SSH效率。
在文件菜单中,您将找到显示历史记录。目的很明显,但位置却不显眼。这将放下一个小窗口,并向您显示键入命令的历史记录。
“主机”菜单提供诸如“重新平铺窗口”之类的选项,如果您移动,添加或删除了主机,它们将重新平铺窗口。它还具有使某些窗口(或会话)处于活动状态或非活动状态的选项。在此菜单的最底部,还列出了当前打开的主机,您可以将它们切换为活动或不活动。将主机设置为非活动状态可保持会话打开,但是您在管理控制台中键入的任何内容都不会发送到该会话。
使用“发送”菜单可以发送诸如远程主机名,用户名,随机数等之类的内容。这些项目在每个会话中可能有所不同,因此可以简化此操作。(可选)可以通过添加$HOME/.clusterssh/send_menu文件来更改此菜单。
使用cssh命令行选项
您可以使用命令行选项进一步个性化您的连接。以下是一些受欢迎的选项:
根据主机指定用户
您可以使用-l(–username)选项指定要使用的用户。
cssh -l username host1
当您要使用不同的用户帐户快速连接到多个系统时,这非常方便。简单地多次提供基本的SSH语法[用户名] @ [主机],如下所示:
cssh savona@putorius ninja@putordb dax@defiant
注意:某些群集或标记文件配置可能会破坏此功能。如果它没有按预期工作,请检查您的文件。
登录后运行命令
您可以使用-a(-action)选项在登录时运行命令。例如,运行who命令以查看是否还有其他人登录。
cssh -a 'who' host1 host2
调整终端窗口的大小以填充屏幕
您可以使用–fillscreen选项来调整窗口大小以使用整个屏幕。
cssh --fillscreen host1 host2 host3
您可以使用下面的资源部分中的链接找到命令行选项的完整列表。
编辑配置文件时应格外注意。即使您认为所有系统上的文件都是相同的,也可以使用单个注释或空白行来删除行号。
注意,在提交之前,请仔细检查您的输入和配置。很容易陷入麻烦。
Cluster SSH是用于系统管理的功能强大的工具。即使现在,当我们继续使用诸如Puppet和Ansible之类的工具进行配置管理时,我仍然可以找到很好的ole cssh的用途。
在本文中,我们涵盖了您入门所需的大部分内容。我们讨论了安装和配置Cluster SSH以及一些用法示例。如果您有任何评论,问题或恐怖故事,我们很乐意在评论中听到。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
冀苍鸾
99
主题
0
回帖
10
积分
新手上路
新手上路, 积分 10, 距离下一级还需 40 积分
新手上路, 积分 10, 距离下一级还需 40 积分
积分
10
加好友
发消息
回复楼主
返回列表
网络技术教程
软件使用教程
Windows教程
Centos教程
Ubuntu教程
Linux其他教程
综合教程
其他教程
其他文档
服务器商家推荐
华夏互联
蓝速云
米图云
全球云
文章
1
苹果电脑MAC系统登录Windows远程桌面
2
Debian拓展硬盘工具。cloud-utils-growpart、xfsprogs
3
安卓Android手机怎么使用V2rayNG?
4
WINDOWS系统电脑怎么使用WINXRAY?
5
notepad++.8.5.7编辑器,代码编辑器
6
DirectX修复工具增强版_V4.3.0.40864版本DLL修复工具C++安装
7
Visual C++运行库合集包完整版VisualCppRedist_AIO_x86_x64
8
ChromeSetup谷歌浏览器一键安装