Linux系统批量安装---Cobbler

系统安装介绍

安装系统的方法:
	光盘---需要有外置驱动器
	U盘安装
	网络安装---自动化的安装,无人值守、批量安装

PXE,全名Pre-boot Execution Environment,预启动执行环境;
  通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统;
  由Intel和Systemsoft公司于1999年9月20日公布的技术;
  Client/Server的工作模式;
  PXE客户端会调用网际协议(IP)、用户数据报协议(UDP)、动态主机设定协议(DHCP)、小型文件传输协议(TFTP)等网络协议;
  PXE客户端(客户端)这个术语是指机器在PXE启动过程中的角色。一个PXE客户端可以是一台服务器、笔记本电脑或者其他装有PXE启动代码的机器(我们电脑的网卡)

网络安装软件:
	kickstart
	cobbler

在这里插入图片描述

使用 Cobbler 批量安装

Cobbler 介绍

cobbler概念
    Cobbler是一个Linux服务器快速网络安装的服务,由python开发,小巧轻便(15k行python代码),可以通过PXE的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS,TFTP、RSYNC以及yum仓库、构造系统ISO镜像。
    Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。

Cobbler集成的服务
PXE服务支持
DHCP服务管理
DNS服务管理(可选bind,dnsmasq)
电源管理
Kickstart服务支持
YUM仓库管理
TFTP(PXE启动时需要)
Apache(提供kickstart的安装源,并提供定制化的kickstart配置)

配置文件目录:
/etc/cobbler
/etc/cobbler/settings			#cobbler 主配置文件
/etc/cobbler/iso/				#iso模板配置文件
/etc/cobbler/pxe				#pxe模板文件
/etc/cobbler/power              #电源配置文件
/etc/cobbler/user.conf          #web服务授权配置文件
/etc/cobbler/users.digest		#web访问的用户名密码配置文件
/etc/cobbler/dhcp.template		#dhcp服务器的的配置末班
/etc/cobbler/dnsmasq.template	#dns服务器的配置模板
/etc/cobbler/tftpd.template		#tftp服务的配置模板
/etc/cobbler/modules.conf		#模块的配置文件
数据目录:
/var/lib/cobbler/config/        #用于存放distros,system,profiles 等信
息配置文件:
/var/lib/cobbler/triggers/      #用于存放用户定义的cobbler命令
/var/lib/cobbler/kickstart/     #默认存放kickstart文件
/var/lib/cobbler/loaders/       #存放各种引导程序  镜像目录
/var/www/cobbler/ks_mirror/     #导入的发行版系统的所有数据
/var/www/cobbler/images/        #导入发行版的kernel和initrd镜像用于
远程网络启动:
/var/www/cobbler/repo_mirror/   #yum 仓库存储目录
日志目录:
/var/log/cobbler/installing     #客户端安装日志
/var/log/cobbler/cobbler.log    #cobbler日志

命令介绍
cobbler commands介绍
cobbler check					#核对当前设置是否有问题
cobbler list					#列出所有的cobbler元素
cobbler report					#列出元素的详细信息
cobbler sync					#同步配置到数据目录,更改配置最好都要执行下
cobbler reposync				#同步yum仓库
cobbler distro					#查看导入的发行版系统信息
cobbler system					#查看添加的系统信息
cobbler profile					#查看配置信息

Cobbler 安装

命令行配置

#关闭防火墙、selinux
#安装cobbler等基础软件
[root@cobbler ~]# yum -y install cobbler cobbler-web dhcp tftp-server httpd  pykickstart  python-django
#启动 cobbler、httpd 服务
[root@cobbler ~]# systemctl start httpd cobblerd
#使用命令进行检查会发现8个需要修改的地方
[root@cobbler ~]# cobbler check

1、cobbler配置文件中server参数信息要改为相应的指定信息,不能使用默认localhosts
vim +390 /etc/cobbler/settings
server: 172.16.1.90

2、cobbler配置文件中next_server参数信息要改为相应指定的tftp服务器地址信息,不能使用默认的127.0.0.1
vim +278 /etc/cobbler/settings
next_server: 172.16.1.90

3、让tftp服务可以被xinetd服务管理
vim +8 /etc/xinetd.d/tftp
disable                 = no

4、使用cobbler get-loaders这个命令下载一些软件
[root@cobbler ~]# cobbler get-loaders
[root@cobbler ~]# ll /var/lib/cobbler/loaders/
total 1128
-rw-r--r-- 1 root root    631 2020-03-09 21:27 COPYING.elilo
-rw-r--r-- 1 root root  18007 2020-03-09 21:27 COPYING.syslinux
-rw-r--r-- 1 root root    626 2020-03-09 21:27 COPYING.yaboot
-rw-r--r-- 1 root root 356493 2020-03-09 21:27 elilo-ia64.efi
-rw-r--r-- 1 root root 243679 2020-03-09 21:27 grub-x86_64.efi
-rw-r--r-- 1 root root 237224 2020-03-09 21:27 grub-x86.efi
-rw-r--r-- 1 root root  54964 2020-03-09 21:27 menu.c32
-rw-r--r-- 1 root root  16794 2020-03-09 21:27 pxelinux.0
-rw-r--r-- 1 root root   1054 2020-03-09 21:27 README
-rw-r--r-- 1 root root 198236 2020-03-09 21:27 yaboot

5、rsync服务需要启动和加入开机自启动
systemctl start rsyncd
systemctl enable rsyncd

6、Debian系统需要安装一些软件【忽略】

7、不能使用默认的密码,
[root@cobbler ~]# openssl passwd -1 -salt 'qls' '123456'
$1$qls$TH9CU3PjIQ3sSDmk9ATyW0
[root@cobbler ~]# vim +101 /etc/cobbler/settings
default_password_crypted: "$1$qls$TH9CU3PjIQ3sSDmk9ATyW0"
#配置文件修改后重启服务
systemctl restart cobblerd.service

8、智能电源管理工具没有找到【因为是虚拟机,忽略】

9、配置DHCP【将21-29行改为下面的样式】,注意按实际的环境修改IP
[root@cobbler ~]# vim +30 /etc/cobbler/dhcp.template 
subnet 172.16.1.0 netmask 255.255.255.0 {
#     option routers             172.16.1.5;
#     option domain-name-servers 172.16.1.1;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        172.16.1.100 172.16.1.200;
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server;

[root@cobbler ~]# vim +242 /etc/cobbler/settings
manage_dhcp: 1

#重启服务
systemctl restart httpd.service tftp.socket cobblerd.service
#同步配置到数据目录
[root@cobbler ~]# cobbler sync
*** TASK COMPLETE ***		#这样结尾表示配置成功

#挂载镜像
[root@cobbler ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@cobbler ~]# du -sh /var/www/cobbler/ks_mirror/CentOS-7.6-x86_64 
4.3G	/var/www/cobbler/ks_mirror/CentOS-7.6-x86_64

页面安装系统

访问 web 页面
https://10.0.0.90/cobbler_web
用户名:cobbler   密码:cobbler
导入镜像

在这里插入图片描述

#命令行检查导入的镜像文件
[root@cobbler ~]# du -sh  /var/www/cobbler/ks_mirror/CentOS-7.6-x86_64 
4.3G	/var/www/cobbler/ks_mirror/CentOS-7.6-x86_64
查看日志
日志=Events 查看导入情况【State=状态:running=运行中 complete=完成】

在这里插入图片描述

修改配置

在这里插入图片描述
在这里插入图片描述

创建应答文件

在这里插入图片描述
在这里插入图片描述

应答文件内容
# Cobbler for Kickstart Configurator for CentOS 7 by yao zhang
install
url --url=$tree
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
#Network information
$SNIPPET('network_config')
#network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS7
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $default_password_crypted
clearpart --all --initlabel
part /boot --fstype xfs --size 1024
part swap --size 1024
part / --fstype xfs --size 1 --grow
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot

%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end

%packages
@^minimal
@compat-libraries
@core
@debugging
@development
bash-completion
chrony
net-tools
lrzsz
nmap
sysstat
telnet
tree
vim
wget
%end

%post
systemctl disable postfix.service
%end
应答文件内容说明
install #告知安装程序,这是一次全新安装,而不是升级
url --url="http://172.16.1.201/Centos-7/" #通过http下载安装镜像
text #以文本格式安装
lang en_US.UTF-8 #设置字符集格式
keyboard us #设置键盘类型
zerombr #清除mbr引导
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" #指定引导记录被写入的位置
#Network information
 $SNIPPET('network_config') #配置网卡
#network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS7
 timezone --utc Asia/Shanghai #可以使用dhcp方式设置网络
authconfig --enableshadow --passalgo=sha512 #设置密码格式
rootpw --iscrypted $default_password_crypted #密文密码
clearpart --all --initlabel #清空分区
part /boot --fstype xfs --size 1024 #/boot分区
part swap --size 1024 #swap分区
part / --fstype xfs --size 1 --grow #/分区
firstboot --disable #负责协助配置redhat一些重要的信息
selinux --disabled #关闭selinux
 firewall --disabled      #关闭防火墙
logging --level=info #设置日志级别
reboot #安装完成重启

%packages #包组段 @表示包组
@^minimal
 @compat-libraries
 @debugging
 @development
 tree
 bash-completion
 %end

%post #脚本段,可以放脚本或命令
%end
配置应答文件

在这里插入图片描述
在这里插入图片描述

配置新系统信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完成后点 Save
在这里插入图片描述
在这里插入图片描述

准备一台主机2G内存,2个网卡
需要安装系统的主机开机,如果是虚拟机就点 是
注意:安装系统的过程中如果失败了,就检测以上步骤
1. 应答文件问题
2. 网络问题   内网
3. 内存问题

命令行安装系统

#添加eth0网卡信息
cobbler system add --name=cobbler02 --mac=00:50:56:3B:8B:00 --profile=Centos-7.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos-7.6.cfg --ip-address=10.0.0.102 --subnet=255.255.255.0 --gateway=10.0.0.254 --interface=eth0 --static=1 --hostname=cobbler02 --name-servers="223.5.5.5"
##添加eth0网卡信息
cobbler system edit --name=cobbler02 --mac=00:50:56:32:FA:E8 --profile=Centos-7.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos-7.6.cfg --ip-address=172.16.1.102 --subnet=255.255.255.0 --interface=eth1 --static=1
#同步数据
cobbler sync

#以上3个步骤可以用shell脚本批量操作,接下来打开需要安装的主机进行安装系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值