我正在尝试编写一个使用 ssh 连接进行“心跳”的 shell 脚本。我想在某个超时后(连接断开后)终止该连接的客户端和服务器端。
到目前为止我发现了什么:
要更改“ClientAliveCountMax”,我必须修改每台目标计算机上的 sshd_config(默认情况下禁用此选项)。
所以我的问题是 - 我是否也可以将“TCPKeepAlive”用于我的目的(无需更改源/目标机器上的任何其他内容)?
目标操作系统是 SLES11 SP2 - 但我认为这与此处无关。
我需要下载一个大文件(1GB)。我也可以访问多台运行 Linux 的计算机,但每台计算机的下载速度都受到管理员策略的限制,下载速度为 50kB/s。
如何在多台计算机上分发下载此文件并在下载所有段后合并它们,以便我可以更快地接收它?
我们的节点在我们的集群中被命名为node001
...。node0xx
我想知道,是否可以使用 Slurm 的sbatch
命令将作业提交到特定节点?如果是这样,有人可以为此发布示例代码吗?
使用 运行 SLURM 作业时sbatch
,slurm 会生成一个标准输出文件,看起来像 slurm-102432.out (slurm-jobid.out)。我想将此自定义为 (yyyymmddhhmmss-jobid-jobname.txt)。我该怎么做?
或者更一般地说,我如何在sbatch
参数中包含计算变量-o
?
我在我的 script.sh 中尝试了以下内容
#SBATCH -p core
#SBATCH -n 6
#SBATCH -t 1:00:00
#SBATCH -J indexing
#SBATCH -o "/home/user/slurm/$(date +%Y%m%d%H%M%S)-$(SLURM_JOB_ID)-indexing.txt"
Run Code Online (Sandbox Code Playgroud)
但这没有用。文件在新目录中的位置是正确的,但文件名只是文字 line $(date +%Y%m%d%H%M%S)-$(SLURM_JOB_ID)-indexing.txt
。
所以,我正在寻找一种方法来将标准输出文件保存在/home/user/slurm/
一个文件名如下的目录中:20160526093322-10453-indexing.txt
几年来我一直在使用NFS
(它是我在网络文件中唯一熟悉的)。但是还是查不出来..
NFS
在集群设计(或负载平衡?)主要目标是不要让我的单个运行 NFS 服务器出现单点故障。
由于我不知道如何正确制作,到目前为止我自己发明的是:
Shell Script
以检查 NSF-Master 服务器挂载点的健康状态。然后如果需要,从它自动卸载(离开),然后从第二个自动挂载。nfsstat -m
.. 检查挂载点的健康状况。(我正在使用红帽)
但无论如何,我仍然不认为这是安全和标准的方式。
我是一名高中生,试图为一个项目构建一个 linux 集群(今年夏天我有一堆不错的计算机准备重新映像,所以技术部门基本上说只要我不破坏它们,我就可以做任何事。
无论如何,我对构建集群一无所知,但我对 Linux 非常熟悉。
我需要知道这些事情: - 我应该使用什么发行版?它甚至重要吗?- 什么软件可以配置集群?- 机载或分布式 FS?- 任何可以提供体面指南或操作方法的网站?
我可以访问我所在机构的 Ubuntu Linux 节点。节点在组之间共享,但通常我是唯一使用此特定节点的人。
我正在此节点上的所有 8 个 CPU 上并行运行计算。我的计算运行,但是当我使用 来查看活动进程时top
,我看到了一个附加的进程,上面写着 userman
和 command mandb
。这个mandb
命令似乎运行的每一个我看看时间top
,而且它似乎占用CPU功率(一个相当可观的量6 %CPU
)和内存(2.5 %MEM
),根据top
。
当我在互联网上环顾四周时,似乎:
mandb
用于初始化或手动更新通常由人工维护的索引数据库缓存。
那么,为什么mandb
一直在这个节点上运行呢?(根据top
其他节点的说法,我机构集群内的其他节点上没有这个问题。)为什么mandb
需要一直运行,因为我目前不看手册?
这个过程可能是一个我可以安全终止的幻影过程kill
吗?
市场上有几种小型 Linux/Android 设备,配备 1 GHz ARM 处理器、512 MB RAM 和 cca。4 GB 存储,价格为 35-40 美元。如果我买 5 件,只需 200 美元左右。
比方说,我们有 5-10 台,我们已经解决了基本问题,例如它们运行一些不太罕见的 Linux 发行版(例如 Debian),我们有 root 访问权限,并且它们连接在本地网络上,与IP。因此,一切都已准备好进行集群(我认为)。
我们有一台台式计算机或笔记本电脑(大约 2 GHz x86 处理器,1-2 GB 的 RAM,几 GB 的 HDD/SSD 空间),它也运行标准的 Linux 发行版。它有键盘、鼠标、显示器,我们想用它作为集群的“前端”。
所以,问题是:利用几台小型计算机和台式计算机的马力的最简单方法是什么?
桌面程序不是为在那个环境中工作而设计的,所以我不想建立一个真正的集群,该项目只是从台式机/上网本计算机推送一些作业,并在小程序中尽可能最佳地共享它.
比如说,我应该在一台小型计算机上启动浏览器,使用X11,它不会占用我台式机的内存。如果我打开了很多页面,我可以在另一台小机器上开始另一个。
我也可以在一台小型计算机上启动我的文本编辑器,我只需要共享我正在使用的文件夹。它有一个小问题:我正在使用 Geany,我按 F8 启动编译器,所以小型机器应该在台式机上启动编译器。我不介意,如果我必须为它写一个小脚本。
你有什么建议,它会飞吗?
我正在使用 Amazon 云自动缩放功能(文档)后面的一组 Linux 服务器。每个服务器上都有累积的文件,它们是应用程序的缓存文件。我正在寻找一种让服务器在它们之间同步该文件夹的自动化方法。
Rsync
如果有人有一种聪明的方法来进行对等检测,它将起作用。Unison
。理想情况下,当一个新服务器启动时,它会发现它的对等点并开始同步文件夹。从那时起,最新的文件戳赢得了 P2P 同步。
有什么可以做到这一点的吗?
我有一个运行一些服务(邮件、网络、git、mysql...)的 debian 服务器。但它是单独的,这意味着如果它坏了,我必须修理它才能访问我的服务。
我想放置第二台服务器,以便如果第一台服务器死机,第二台服务器会自动准备好工作。我不希望这些服务器中的任何一个是主服务器,而另一个是从服务器。这个想法是为了防止两台服务器中的任何一台发生硬件故障。
我找到了很多关于如何创建一些大型集群的信息,但我没有发现任何暗示只有两台服务器的东西。