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://hbruida.cn/article/dscjohj.html