资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

linux集群批量命令,Linux批量部署

Linux多台主机批量执行命令

指定一台主机作为信任主机,这样从这台主机登录其他机器就不需要密码了。

创新互联公司服务项目包括克州网站建设、克州网站制作、克州网页制作以及克州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,克州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到克州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

设置信任主机:

假设有四台机器:192.168.2.1~192.168.2.4,其中192.168.2.1为信任机,那么在192.168.2.1上运行如下命令:

$ssh-keygen -t rsa //此处一路回车,生成秘钥

$scp .ssh/id_rsa.pub 192.168.2.2:~/ //把秘钥拷贝到其他远程机器

$ssh 192.168.2.2 ‘cat id_rsa.pub .ssh/authorized_keys’ //(远程执行命令)在远程机器上生成认证文件

经过这几步,从192.168.2.1 ssh登陆192.168.2.2时,就不会再需要输入密码了。同样的步骤再执行3、4的极其。

文本文件hostlist可以如下

192.168.2.2

192.168.2.3

192.168.2.4

#!/bin/shdoCommand(){    

hosts=`sed -n'/^[^#]/p'hostlist`

for   host  in   $hosts

do

echo ""

echo  HOST$host

ssh  $host  "$@" 

done

return 0

}

if  [  $# -lt 1 ]

then

echo "$0cmd" exit 

fi

do  Command "$@"

echo "return from doCommand"

执行命令(记得先对doCommand.s

h增加执行权限 chmod u+x doCommand.sh)

./doCommand.sh “ls -al /root/”

这样该脚本就会在每台机器上执行”ls -al /root/”这个命令,并返回结果在信任主机上。

Linux集群常用指令

姓名:张昊楠   学号:21021210691

存储NAS 文件操作

df -h查看空间使用情况

警惕超大 nohup.out

ls   当前路径下的文件列表

pwd  查看当前路径

cd    进入某个文件夹

任务提交

任务提交前

qhost--查看集群负载状态

qsub / qsub-sge.pl--提交任务

qstat--查看任务状态

qdel / qmod--任务控制

任务查看

qhost -j---列出所有用户在每个节点上的任务

qhost -q---列出每个节点上每个队列的任务数

qhost -u username---列出某个用户在每个节点上的任务

提交命令

qsub -cwd -q queue.q test.sh

qsub-sge.pl --maxproc 50 --resource vf=5G --queue queue.q test.sh

任务查看2

qstat -u username---查看某个用户的任务

qstat -u *,---查看所有用户的任务

qstat –j jobs_ID---查看某个任务的详细信息

查看.e和.o文件

.e:错误信息

.o:标准输出

任务控制

qdel jobID---删除某个任务

qdel -u username---删除某个用户的所有任务

qmod -s jobID--挂起某个任务

qmod -us jobID---继续运行某个挂起的任务

按任务占用内存大小选择相应的队列

查看队列 qstat -g c

QUEUE

PE.q--并行

cloud.q--云平台

general.q--96G节点

middle.q--96G节点

great.q--大内存节点

plus.q--大内存节点

single.q--Trinity组装

single._p.q---Trinity组装(占用内存较大)

如何为linux集群批量装机

如果是REDHAT或者Centos操作系统,可以使用Cobbler软件来进行批量安装。

可以使用以下方法部署CObbler

Cobbler是一个开源项目,用来部署和安装系统。Cobbler不仅仅是一个pxe服务器,他还可以管理dns和dhcp。一般数据中心里或者生产环境,是不允许dhcp, 但是pxe需要使用dhcp,所以我们这里根据mac地址来分配IP,这样dhcp就不会影响现有网络了。

1. 首先关闭selinux

sudo sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

重新启动linux系统

2. 关闭防火墙iptables

sudo chkconfig iptables off

sudo chkconfig ip6tables off

sudo /etc/init.d/iptables stop

sudo /etc/init.d/ip6tables stop

3. 安装 epel 包

sudo yum install

4. 安装 Cobbler 和它需要的第三方工具包

sudo yum install cobbler cobbler-web xinetd pykickstart cman dhcp tftp-server bind

安装完成后需要设置几个服务自动启动

sudo chkconfig httpd on

sudo chkconfig dhcpd on

sudo chkconfig cobblerd on

sudo service httpd start

sudo service cobblerd start

注:此时dhcpd应该启动失败,因为还没有对dhcp做配置。

5. 配置

5.1 修改/etc/xinetd.d/tftp

disable = yes

=

disable = no

5.2 修改/etc/xinetd.d/rsync

disable = yes

=

disable = no

5.3 编辑 /etc/cobbler/settings 文件,设置以下各项,其中 192.168.145.102 是当前机器IP。

server: 192.168.145.102

next_server: 192.168.145.102

pxe_just_once: 1

manage_rsync: 1

manage_dhcp: 1

5.4 设置默认 root 用户的秘密

$ sudo openssl passwd -1 -salt 'random-phrase-here' 'Letmein'

然后将结果替换 /etc/cobbler/settings 文件中的

default_password_crypted:

5.5 设置 Cobbler Web访问的密码

sudo htdigest /etc/cobbler/users.digest "Cobbler" cobbler

5.6 编辑 /etc/cobbler/dhcp.template 文件,下面是我改动部分的配置信息

...

subnet 192.168.145.0 netmask 255.255.255.0 {

option routers 192.168.145.102;

option domain-name-servers 192.168.145.1;

option subnet-mask 255.255.255.0;

#range dynamic-bootp 192.168.145.150 192.168.145.200;

default-lease-time 21600;

max-lease-time 43200;

next-server $next_server;

filename "/pxelinux.0";

host test { # 为指定机器指定ip地址

hardware ethernet 08:00:27:2C:30:8C;

fixed-address 192.168.145.155;

}

}

...

注意:如果在现有网段内已经有DHCP服务器,需要把 range dynamic-bootp 注释掉,否则会有冲突。这个地方需要特别注意,要根据自己的网络情况来设置。

5.7 重启服务

sudo service xinetd restart

sudo service httpd restart

sudo service cobblerd restart

5.8 启动和检测 cobbler

sudo cobbler get-loaders

sudo cobbler check

此时如果有错误,cobbler会提示,可以根据提示来修复。但是对参数的任何修改都需要使用下面的命令来使其生效

sudo cobbler sync

5.9 Web 测试

访问

用户名/密码:cobbler/Letmein

6. 导入系统镜像

这里假定使用CentOS-6.6-x86_64来测试

sudo mount -t auto -o loop /home/kongxx/share/os/CentOS-6.6-x86_64-bin-DVD1.iso /mnt

sudo cobbler import --path=/mnt --name=CentOS-6.6 --arch=x86_64

运行这两条命令后,可以使用下面的命令来查看了

$ sudo cobbler distro list

$ sudo cobbler profile list

也可以通过 Web 界面的 Distros 和 Profiles 来查看。

7. 自动安装系统

由于是在家里的虚拟机里做测试,所以没法使用 IPMI 来管理物理机。这里就只测试一下新的虚拟机可以通过PXE来自动安装系统。

使用VirtualBox创建一个虚拟机,网络设置使用和上面同样的桥接模式。但是在 "虚拟机设置- 系统 - 启动顺序" 里把网络勾上并上移到第一位,然后启动虚拟机。此时就可以进入 Cobbler 的网络安装界面,选择上面创建的 CentOS-6.6-x86_64 然后就可以自动安装了。装完后,记得把虚拟机启动顺序改回到硬盘启动优先,然后就可以启动新安装的虚拟机了。

如何在linux下批量执行命令?

把你的命令写入一个shell脚本就行了啊。

新建一个文本文件,然后给他赋予可执行权限就行了。

文本内容为

#/bin/bash

。。。你的命令

Linux集群使用命令

存储NAS 文件操作

df -h查看空间使用情况

警惕超大 nohup.out

任务提交

任务提交前

qhost--查看集群负载状态

qsub / qsub-sge.pl--提交任务

qstat--查看任务状态

qdel / qmod--任务控制

任务查看

qhost -j---列出所有用户在每个节点上的任务

qhost -q---列出每个节点上每个队列的任务数

qhost -u username---列出某个用户在每个节点上的任务

提交命令

qsub -cwd -q queue.q test.sh

qsub-sge.pl --maxproc 50 --resource vf=5G --queue queue.q test.sh

任务查看2

qstat -u username---查看某个用户的任务

qstat -u *,---查看所有用户的任务

qstat –j jobs_ID---查看某个任务的详细信息

查看.e和.o文件

.e:错误信息

.o:标准输出

任务控制

qdel jobID---删除某个任务

qdel -u username---删除某个用户的所有任务

qmod -s jobID--挂起某个任务

qmod -us jobID---继续运行某个挂起的任务

按任务占用内存大小选择相应的队列

查看队列 qstat -g c

QUEUE

PE.q--并行

cloud.q--云平台

general.q--96G节点

middle.q--96G节点

great.q--大内存节点

plus.q--大内存节点

single.q--Trinity组装

single._p.q---Trinity组装(占用内存较大)

TOP监视

编辑于 2017-04-21


文章标题:linux集群批量命令,Linux批量部署
浏览路径:http://cdkjz.cn/article/dscjohj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220