欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

批量安装系统软件(一次性装100台电脑的系统)

程序员文章站 2024-03-31 22:53:22
cobbler是一款linux生态的自动化运维工具,基于python2开发,用于自动化批量部署安装操作系统;其提供基于cli的管理方式和web配置界面,其中web配置界面是基于python2和djan...

cobbler是一款linux生态的自动化运维工具,基于python2开发,用于自动化批量部署安装操作系统;其提供基于cli的管理方式和web配置界面,其中web配置界面是基于python2和django框架开发。另外,cobbler还提供了api,方便二次开发。cobbler属于c/s模型(客户端/服务器模型)

1、查看系统版本

# cat /etc/redhat-release

centos linux release 7.1.1503 (core) (备注本次部署是在centos7中进行)

# uname -rm

3.10.0-229.el7.x86_64 x86_64

2、安装epel源,安装epel库

#yum install -y epel-release
#wget -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

3、安装cobbler环境所需的包

下载最新版的pip,然后安装

#wget https://bootstrap.pypa.io/get-pip.py
#python get-pip.py
#ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip2
#pip2 install django==1.8.9

4、开始安装cobbler

#yum install -y httpd dhcp tftp tftp-server rsync pykickstart xinetd 
#yum install -y cobbler

5、centos7安装cobbler-web(cobbler-web2.8版本必须用django1.8.9版本)

#yum install httpd-devel
#yum install -y cobbler-web

6、配置httpd的配置文件,更改项目存放的权限

#vim /etc/httpd/conf/httpd.conf
<directory "/usr/share/cobbler/web/">
        <ifmodule mod_ssl.c>
            sslrequiressl
        </ifmodule>
        <ifmodule mod_nss.c>
            nssrequiressl
        </ifmodule>
        setenv virtualenv
        options indexes multiviews
        order allow,deny     ##apache2.4必须改为allowoverride all
        allow from all     ##apache2.4必须改为require all granted        
</directory>

7、开启服务和加开机启动

#systemctl enable xinetd
#systemctl start xinetd
#systemctl start httpd
#systemctl start cobblerd
#systemctl enable httpd
#systemctl enable cobblerd
#systemctl enable rsyncd
#systemctl start rsyncd

8、检查cobbler

#cobbler check
批量安装系统软件(一次性装100台电脑的系统)

按照上面的提示,逐步修改配置如下:

修改cobbler的settings文件,备份

# cp /etc/cobbler/settings{,.ori}     

修改server,cobbler服务器的ip。

#sed -i 's/server: 127.0.0.1/server: 192.168.0.131/' /etc/cobbler/settings

如果用cobbler管理dhcp,修改本项

#sed -i 's/next_server: 127.0.0.1/next_server: 192.168.0.131/' /etc/cobbler/settings
#sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings

防止循环装系统,适用于服务器第一启动项是pxe启动。

#sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings

设置新装系统的默认root密码123456。random-phrase-here为干扰码,可以自行设定。

# openssl passwd -1 -salt 'cobbler' '123456'

$1$cobbler$sqddobelkjvmxtczr52/11

# vim /etc/cobbler/settings

default_password_crypted: “$1$cobbler$sqddobelkjvmxtczr52/11”

修改tftp配置,启用tftp

#vim /etc/xinetd.d/tftp  

将disable = yes改为:disable = no

配置dhcp

# vim /etc/cobbler/dhcp.template

配置修改如下:

	subnet 192.168.1.0 	netmask 255.255.255.0 {
	option routers		192.168.1.1;
	option domain-name-servers 	114.114.114.114;
	option subnet-mask	255.255.255.0;
	range dynamic-bootp	10.0.0.100 10.0.0.200;

下载boot-loaders

#cobbler get-loaders

同步配置

#systemctl restart cobblerd
#cobbler sync

9、导入镜像到cobbler中

#mount /dev/cdrom /mnt
#cobbler import --path=/mnt/ --name=centos-7-x86_64 --arch=x86_64

10、编辑kickstart文件

#cd /var/lib/cobbler/kickstarts/
#vim centos-7-x86_64.cfg

配置文件如下:

#kickstart configurator for cobbler by jason zhao
#platform=x86, amd64, or intel em64t
#system  language
lang en_us
#system keyboard
keyboard us
#sytem timezone
timezone asia/shanghai
#root password
rootpw --iscrypted $default_password_crypted
#use text mode install
text
#install os instead of upgrade
install
#use nfs installation media
url --url=$tree
#system bootloader configuration
bootloader --location=mbr
#clear the master boot record
zerombr
#partition clearing information
clearpart --all --initlabel
#disk partitioning information
part /boot --fstype xfs --size 1024 --ondisk sda
part swap --size 1024 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
#system authorization infomation
auth  --useshadow  --enablemd5
#network information
$snippet('network_config')
#network --bootproto=dhcp --device=em1 --onboot=on
# reboot after installation
reboot
#firewall configuration
firewall --disabled
#selinux configuration
selinux --disabled
#do not configure xwindows
skipx
#package install information
%pre
$snippet('log_ks_pre')
$snippet('kickstart_start')
$snippet('pre_install_network_config')
# enable installation monitoring
$snippet('pre_anamon')
%end
 
%packages
@ base
@ core
sysstat
iptraf
ntp
lrzsz
ncurses-devel
openssl-devel
zlib-devel
openipmi-tools
mysql
nmap
screen
%end
 
%post
systemctl disable postfix.service
%end

11、更改centos6和centos7的ks文件位置

#cobbler profile edit --name=centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-7-x86_64.cfg

12、cobbler 常用命令

cobbler check #检查cobbler配置

cobbler sync #同步配置到dhcp/pxe和数据目录

cobbler list #列出所有的cobbler元素

cobbler import #导入安装的系统镜像

cobbler report #列出各元素的详细信息

cobbler distro #查看导入的发行版系统信息

cobbler profile #查看配置信息

cobbler system #查看添加的系统信息

cobbler reposync #同步yum仓库到本地

13、查看详细配置信息,这里把centos7配置信息都显示了

# cobbler profile report
# cobbler sync

14、配置绑定mac地址和ip地址 ,开机自动选择

# cobbler system add --name=centos711 --mac=00:0c:29:70:e8:a3 --profile=centos-7-x86_64  
--ip-address=192.168.0.40 --subnet=255.255.255.0 --gateway=192.168.0.1 --interface=eth0 
--static=1 --hostname=centos711 --name-servers="223.5.5.5"
# cobbler sync

到此cento7系统的也可以装机了