当前位置:首页 » 操作系统 » 批量部署linux

批量部署linux

发布时间: 2022-08-18 17:38:20

1. 如何使用cobbler实现批量自动部署linux

Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便,使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP,DNS,以及yum包镜像。下面一步步来实现吧.
实验平台:rhel 6.3 x86_64
cobbler.laoguang.me 192.168.1.23
一.环境准备
1.1 安装dhcp
yum -y install dhcp 1.2 安装其它所需服务如:tftp xinetd httpd ##靠tftp传输文件,tftp依赖xinetd,httpd这个我暂时不清楚
yum -y install tftp xinetd httpd 1.3 关闭selinux iptables
setenforce 0 service iptables stop
二.安装cobbler
2.1 下载安装cobbler与依赖的包python-yaml
下载地址:http://www.kuaipan.cn/file/id_33139203151758501.html ,其它平台的可以去 http://rpm.pbone.net/找,这个网站你一定不能忘记
yum -y --nogpgcheck localinstall cobbler-2.2.2-1.el6.rf.noarch.rpm \python-yaml-3.09-3.el6.rf.x86_64.rpm
2.2 启动cobbler
service cobblerd start
2.3 启动httpd
service httpd start
2.4 启用xinetd
service xinetd start
2.4 cobbler 检查配置
cobbler check

2.5 重启cobbler
service cobblerd restart
三.cobbler的配置
3.1 导入欲安装的系统的镜像文件
将redhat 6.3 x86_64 的ISO挂载/cdrom
mount /dev/cdrom /cdrom
导入需要的安装文件到cobbler的/var/www/cobbler/ks_mirrors下,并生成一profile,此过程需要一段时间,耐心等待
cobbler import --path=/cdrom --name=RedHat-6.3-x86_64 3.2
配置dhcp服务,让cobbler来管理
vi /etc/cobbler/settings
manage_dhcp: 1
3.3 修改/etc/cobbler/dhcp.template模板文件中的配置,其它的默认即可

3.4 同步cobbler配置
cobbler sync cobbler会自动进行初始化工作,移除已经存在的启动项,然后根据模板拷贝loader文件。之后再生成pxe的配置文件,生成dhcp的配置文件,最后再重启dhcp服务。关键查看dhcp,tftp有没有启动成功。
四.测试安装系统
4.1 新建个虚拟机,网络记的是brige哦,新建的虚拟机网络默认是nat的,我就因为这个怎么都安装不上,启动虚拟机,调整启动顺序从网络启动(我用的是vmware,如果你没有挂cd的iso,也虚拟机是新建的直接启动应该是可以的)

五.定制自己的kickstart文件
定制自己的kickstart文件而不是使用默认的,kickstart文件cobbler放在了/var/lib/cobbler/kickstarts/中,查看cobbler默认使用的哪个
vi /etc/cobbler/settings
default_kickstart: /var/lib/cobbler/kickstarts/default.ks ##看到了吧,用的是default.ks
5.1 自定义kickstart文件。
如果你对kickstart文件理解透彻,直接修改或新建即可,如果还是很精通就用gui工具吧
yum -y install system-config-kickstart
安装完毕后打开软件。
system-config-kickstart
根据自己的需要修改即可,修改完毕后保存,修改settings中的设置,重启cobbler即可
原文出处:http://laoguang.blog.51cto.com/6013350/1097874/

2. 写python脚本把上述步骤打包成安装包,把安装包通过批量部署工具(puppet等)安装到windows/linux电脑。

用python调用系统命令吗?


importos
os.system('netuseraddtest123456')

这样?

3. linux下的批量上传文件到部署服务器,有哪些好用的命令或者工具

其实我觉得,部署首选 git 。
因为这是同步软件,你修改后提交,服务器那边收到的是修改信息,数据量小很多。
而且因为修改都是基于 log 记录,如果被该错了,也能发现问题。
当然具体看你的数据都是什么。
其次就是 scp 。这东西是基于 ssh 的文件传输。加密的。用起来基本和 ftp 一样,而且你可以设置服务器只允许证书登录,这样黑客就不能通过破解服务器的登录密码实现,必须先黑了你的机器拿到证书文件他才能登录。
另外 git 也支持使用加密的 ssh 方式传输数据。

4. 在虚拟机里模拟批量部署linux系统,在安装过程中出现这个问题,怎么解决啊

无法加载此目录,你选择了什么文件系统?使用默认的文件系统就好了。

5. 如何为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 http://mirrors.ustc.e.cn/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
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 测试
访问 http://192.168.145.102/cobbler_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 然后就可以自动安装了。装完后,记得把虚拟机启动顺序改回到硬盘启动优先,然后就可以启动新安装的虚拟机了。

6. 100台服务器 服务器硬盘都是空的 什么都没有 计划都安装linux7.2 关于快速安装的问题

  1. 首先,我不理解,你其余99台都做格式化然后拷贝已经装过系统的硬盘这点要怎么实现,你都没有操作系统,怎么拷贝,硬件级别的直接拷吗。

  2. 其次,即使你成功了,应该也会有隐患,譬如网络mac地址这种全球唯一的字符,你到时候配置文件里100台主机的mac地址应该是完全一样的,要全部手动修改,还有你的主机名,ip地址等等有可能需要唯一的,更不用说底层那些你修改不了的硬件地址了。

  3. 就物理机而言,你说的PXE+kickstart批量安装应该是我所知的便捷的方式了。

7. linux 如何快速给500 台机器 执行同一条命令

要实现批量部署,前提是标准化,和自动化
1.自动化可以完成大量重复性工作
2.标准化是部署对象必须有一定的标准
比如:账号user1密码是usr1,user2密码是usr2.。。

如题:
假设那500台机子IP为 192.168.1.1-250,192.168.2.1-250
第一种情况(简单):
管理节点已经ssh公钥传所有主机
[root@master ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)?
[root@master ~]# ssh--id /root/.ssh/id_rsa.pub 192.168.1.1
我们只要执行两个循环就能完成需求
for i in {1..250}; do ssh 192.168.1.$i "echo 1 > /etc/a.txt ";done
for i in {1..250}; do ssh 192.168.2.$i "echo 1 > /etc/a.txt ";done

第二种情况只能用密码登陆
要求是IP,密码必须满足标准化
我这边只有一个ssh捕捉信号的脚本(完成非交互式输入密码),虽然没有针对需求,但楼主可以参考下。结合第一种方法完成需求。
vim /ssh.sh
#!/usr/bin/expect
# 设置超时时间为 60 秒
set timeout 60
# 设置要登录的主机 IP 地址
set host 192.168.0.4
# 设置以什么名字的用户登录
set name root
# 设置用户名的登录密码
set password 123456
#spawn 一个 ssh 登录进程
spawn ssh $host -l $name
# 等待响应,第一次登录往往会提示是否永久保存 RSA 到本机的 know hosts 列表中;等到回答后,在提示输出密码;之后就直接提示输入密码
expect {
"(yes/no)?" {
send "yes\n"
expect "assword:"
send "$pasword\n"
}
"assword:" {
send "$password\n"
}
}
expect "#"
# 下面测试是否登录到 $host
send "uname\n"
expect "Linux"
send_user "Now you can do some operation on this terminal\n"
# 这里使用了 interact 命令,使执行完程序后,用户可以在 $host 终端进行交互操作。
Interact

8. 多台linux服务器的集中统一批量布署管理,用什么工具最好

目前python脚本用于linux服务器主要是实现自动化的中文书只有这本《Python UNIX 和Linux 系统管理指南》本书介绍了Python语言如何为管理uNIx和Linux服务器提供各种更加有效的任务处理方式。书中各章都提出了具体的管理问题,如并发或数据备份,...

9. 如何使用Kickstart自动批量安装Linux客户端

Kickstart 光盘部署实例:

----------------------ks.cfg start-------------------------------
install
cdrom
key 2515dd4e215225dd
lang en_US.UTF-8
keyboard us
xconfig --startxonboot
network --device eth0 --bootproto static --ip 192.168.100.8 --netmask 255.255.255.0 --gateway 192.168.100.2 --nameserver 122.70.138.10 --hostname test.huabo.org
rootpw --iscrypted $1$BPHqwNav$CjjfBezv5OuecU3rNkdDb/
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone Asia/Chongqing
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
clearpart --drives=sda,sdb,sdc,sdd --initlabel
part /boot --fstype ext3 --size=100 --ondrive=sda
part / --fstype ext3 --size=4000 --ondrive=sda
part swap --size=512 --ondrive=sda
part raid.11 --size=1 --grow --asprimary --ondrive=sdb
part raid.21 --size=1 --grow --asprimary --ondrive=sdc
part raid.31 --size=1 --grow --asprimary --ondrive=sdd
raid pv.01 --device=md0 --level=RAID5 raid.11 raid.21 raid.31
volgroup vgname pv.01
logvol /home --fstype=ext3 --vgname=vgname --size=4000 --name=home
%packages
@gnome-desktop
@core
@base-x
@chinese-support
xorg-x11-utils

xorg-x11-server-Xnest
--------------------ks.cfg end-----------------------------
把ks.cfg放到光盘根目录,然后修改系统光盘中的/isolinux/isolinux.cfg配置文件,实现光盘启动后自动安装。
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.1.8/ks.cfg
制作启动安装盘:
mkisofs -r -T -J -V "make iso " -b /isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -v -o myiso.iso ./myCD

10. Linux里面自动化部署工具有哪些

1. Puppet
Puppet是一款开源工具,旨在为系统管理员大大简化自动化和报告工作。它基本上是款配置管理软件,有助于配置和维护企业网络中的服务器及其他系统。系统管理员通常每天要花大量时间重复做同样的任务。他们总是想要使这些任务实现自动化,以便有更多的时间来处理其他项目或学习新的概念和脚本语言。管理员可以通过编写脚本使任务实现自动化,但是在拥有大型网络的公司,脚本不是很方便。这时候,Puppet就大有用场,因为借助Puppet,你可以:

为网络上的每个主机定义独特的配置设置;
不断监测网络,查找任何变动;
帮助高效地创建和管理用户;
帮助管理每个开源工具的配置设置。
2. CHEF
Chef是另一款可供Linux系统管理员使用的流行的自动化工具。它用Ruby和Erlang编写,对于配置和维护公司的服务器大有帮助,无论贵公司拥有十台服务器还是上百台。它还可以帮助你将云端服务器与亚马逊EC2、OpenStack、RackSpace或谷歌云整合起来。Chef可以将你的基础设施转变成代码,那样借助代码,你只要更改几行代码,就能轻松撤下一台服务器,从而让你轻松管理服务器。物理节点还意味着:将变更内容部署到生产环境之前,可以对它轻松进行测试,你还可以轻松控制针对代码的每次更新的版本。Chef DK为你提供了测试和管理配置的所有工具,Chef Server充当你所有“菜谱”(recipe)的存储库,可以管理与服务器连接的每个节点。Chef客户软件在每个客户端上运行,时不时收到服务器方面的信息,从而更新其配置设置。

3. CFEngine

面向Linux系统管理员的下一款自动化工具是CFEngine,这是另一个领先的自动化系统,可帮助你轻松管理整套基础设施,并使之实现自动化。一旦你使用CFEngine为网络中的系统定义了配置,那么CF Engine就会自动确保配置符合规范。不用说,如果你的网络中有10个或100个节点,可以在短短几秒内更新或改动任何一个节点或所有节点。CFEngine之所以受到许多Linux系统管理员的青睐,是由于它运行成本低、响应速度快、具有自愈合功能。
4. Ansible

Ansible是Red Hat提供的一款开源配置管理和IT企业自动化软件,随带一种简单的编程语言,让系统管理员能够高效地处理自动化和配置过程。Ansible由控制机器和控制机器控制的节点组成。节点是通过SSH来加以控制的。Ansible的主要特点之一是代理并不是部署到节点 ,但是完全借助SSH来进行通信。易学易用、具有一致性、高可靠性和安全性是让Ansible脱颖而出的其他特性。Ansible的唯一局限就是无法配置裸机和虚拟机。
5. Foreman
Foreman是另一种用于取证分析的开源配置管理工具。Foreman提供了仪表板,我们可以通过仪表板来配置裸机服务器和虚拟机。默认情况下,无论我们何时安装Foreman,它都使用Puppet作为配置工具。不过借助插件,Foreman还支持与其他配置管理工具整合起来,比如Chef、Puppet、Ansible、Salt及其他众多工具。Foreman自动化工具还随带各种各样的接口,包括命令行接口、Web前端以及REST API。Foreman的其他一些显着功能包括如下:

通过仪表板,管理Puppet模块和puppet类方面的改动;
很容易从Foreman仪表板来管理Puppet环境;
由于仪表板,创建主机群(Hosts Group)以及为主机群添加puppet模块变得很轻松;
可以从Foreman仪表板,轻松添加Puppet模块或推送到节点。
6. Katello
Katello是另一种开源自动化工具。换而言之,我们可以说Katello是一种开源版的Red Hat satellite Server;如果我们不想花钱在企业产品及其支持上,就可以用它来代替Red Hat satellite Server。Katello已被Foreman收购,Foreman中的大部分功能在Katello中也得到了支持。Katello Server的主要功能如下:

给基于Linux的服务器(RHEL和CentOS )打补丁;
使用Pulp Service来同步代码库;
使用Foreman进行各种配置;
它还可以处理订阅内容管理,并审计所有已部署的软件包;
借助Katello,你可以为所有主机创建主机群,另外还可以在单一主机或一群主机上批量执行操作。
7. Nagios
Nagios现在名为Nagios Core,它是一种开源自动化和监控工具,可以管理基础设施中的所有系统。它还提供警报服务,一旦察觉到你的网络中哪里有问题,就会提醒系统管理员。借助SNMP以及Nagios,系统管理员还可以控制并管理打印机、路由器和交换机。Nagios让我们得以创建事件处理工具,一旦某个应用程序及其服务停运,就可以自动重启出现故障的那个应用程序及其服务。

热点内容
java捕捉异常 发布:2025-01-18 17:05:18 浏览:265
lob存储器 发布:2025-01-18 16:49:36 浏览:145
c语言统计字符串出现次数 发布:2025-01-18 16:47:56 浏览:930
androidpcmamr 发布:2025-01-18 16:45:02 浏览:775
南昊成绩查询的密码是多少 发布:2025-01-18 16:44:53 浏览:88
雷克萨斯nx哪个配置最保值 发布:2025-01-18 16:07:41 浏览:463
怎么改加密密码 发布:2025-01-18 16:06:48 浏览:125
通过域名访问内网 发布:2025-01-18 16:01:39 浏览:275
md5加密后的密码是什么意思 发布:2025-01-18 15:50:16 浏览:193
如何qq空间访问权限 发布:2025-01-18 15:49:30 浏览:532