cobbler无人值守安装CentOS7

Cobbler自动化部署系统
本文详细介绍如何使用Cobbler实现Linux系统的自动化安装与配置,包括安装Cobbler、配置DHCP、同步更新等关键步骤。

cobbler介绍

cobbler是一个linux系统安装的服务,可以通过网络启动(PXE)的方式来快速安装,重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。

cobbler可以使用命令行方式管理,也提供了基于web的界面管理工具(cobbler-web),还提供了Apl接口,可以方便二次开发使用。

cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理

cobbler下载及启动

[root@Cobbler ~]# yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd python-django

[root@Cobbler ~]# systemctl start cobblerd.service
[root@Cobbler ~]# systemctl start httpd.service

根据检查配置文件来修改cobbler配置文件

[root@Cobbler ~]# cobbler check
The following are potential configuration items that you may want to fix:

1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work. This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be s to something other than 127.0.0.1, and should match the IP of the boot server on the ▽XE network.
3 : change 'disable' to 'no' in /etc/xinetd.d/tftp
4 : Some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a recent version of the syslinux package installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
5 : enable and start rsyncd.service with systemctl
6 : debmirror package is not installed, it will be required to manage debian deployments and repositories
7 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
8 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

Restart cobblerd and then run 'cobbler sync' to apply changes.

备份
[root@Cobbler ~]# cp /etc/cobbler/settings{,.ori}

快速修改配置文件

sed -i 's/server: 127.0.0.1/server: 172.16.1.202/' /etc/cobbler/settings
sed -i 's/next_server: 127.0.0.1/next_server: 172.16.1.202/' /etc/cobbler/settings
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings
sed -ri "/default_password_crypted/s#(.: ).#\1\"openssl passwd -1 -salt 'oldboy' '123456'\"#" /etc/cobbler/settings
链接:https://pan.baidu.com/s/1mjFeaes 密码:nk4l

[root@Cobbler ~]# tar xfP cobbler_load_for_CentOS7.tar.gz
[root@Cobbler ~]# ls /var/lib/cobbler/loaders
COPYING.elilo COPYING.yaboot grub-x86_64.efi menu.c32 README
COPYING.syslinux elilo-ia64.efi grub-x86.efi pxelinux.0

[root@Cobbler ~]# systemctl enable rsyncd
Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.
[root@Cobbler ~]# systemctl start rsyncd

与备份文件对比

[root@Cobbler ~]# diff /etc/cobbler/settings{,.ori}
101c101
< default_password_crypted: "$1$oldboy$Npg9Pt9k98Mlg0ZeqHAuN1"

default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."
242c242
< manage_dhcp: 1

manage_dhcp: 0
272c272
< next_server: 172.16.1.202

next_server: 127.0.0.1
292c292
< pxe_just_once: 1

pxe_just_once: 0
384c384
< server: 172.16.1.202

server: 127.0.0.1

修改dhcp配置文件

[root@Cobbler ~]# cp /etc/cobbler/dhcp.template{,.ori}
[root@Cobbler ~]# vim /etc/cobbler/dhcp.template
批量修改ip
:%s/192.168/172.16/g
21 subnet 172.16.1.0 netmask 255.255.255.0 {
22 option subnet-mask 255.255.255.0;
23 range dynamic-bootp 172.16.1.100 172.16.1.254;
24 default-lease-time 21600;
25 max-lease-time 43200;
26 next-server $next_server;

与备份文件对比

[root@Cobbler ~]# diff /etc/cobbler/dhcp.template{,.ori}
21c21,23
< subnet 172.16.1.0 netmask 255.255.255.0 {

subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.5;
option domain-name-servers 192.168.1.1;
23c25
< range dynamic-bootp 172.16.1.100 172.16.1.254;

 range dynamic-bootp        192.168.1.100 192.168.1.254;

重启服务
[root@Cobbler ~]# systemctl enable tftp.socket
Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.
[root@Cobbler ~]# systemctl start tftp.socket
[root@Cobbler ~]# systemctl restart cobblerd.service

cobbler同步

[root@Cobbler ~]# cobbler sync
task started: 2018-01-09_094453_sync
task started (id=Sync, time=Tue Jan 9 09:44:53 2018)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/grub/images
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
trying hardlink /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying images
generating PXE configuration files
generating PXE menu structure
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running: dhcpd -t -q
received on stdout:
received on stderr:
running: service dhcpd restart
received on stdout:
received on stderr: Redirecting to /bin/systemctl restart dhcpd.service

running shell triggers from /var/lib/cobbler/triggers/sync/post/
running python triggers from /var/lib/cobbler/triggers/change/

running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
TASK COMPLETE

登录cobbler的web界面

https://10.0.0.202/cobbler_web

cobbler无人值守安装CentOS7

虚拟机磁盘挂载

[root@Cobbler ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@Cobbler ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 98G 1.6G 97G 2% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.6M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 135M 880M 14% /boot
tmpfs 183M 0 183M 0% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /mnt

cobbler无人值守安装CentOS7

查看是否导入
[root@Cobbler ~]# ps -ef|grep rsync
root 11796 1 0 09:20 ? 00:00:00 /usr/bin/rsync --daemon --no-detach
root 12205 11869 27 09:58 ? 00:00:03 rsync -a /mnt/ /var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progress
root 12206 12205 0 09:58 ? 00:00:00 rsync -a /mnt/ /var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progress
root 12207 12206 32 09:58 ? 00:00:04 rsync -a /mnt/ /var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progress
root 12217 10658 0 09:58 pts/0 00:00:00 grep --color=auto rsync

cobbler无人值守安装CentOS7
镜像文件
[root@Cobbler ~]# ls /var/www/cobbler/ks_mirror/
CentOS7.4-x86_64 config

cobbler无人值守安装CentOS7

cobbler无人值守安装CentOS7

http://***@@httpserver@@***/cblr/links/CentOS7.4-x86_64 ==http://**10.0.0.202**/cblr/links/CentOS7.4-x86_64/

cobbler无人值守安装CentOS7

界面配置文件 可以修图
[root@Cobbler ~]# cat /etc/cobbler/pxe/pxedefault.template
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://cobbler.github.io/
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT $pxe_timeout_profile

LABEL local
MENU LABEL (local)
MENU DEFAULT
LOCALBOOT -1

$pxe_menu_items

MENU end

不想要local可以修改
cobbler无人值守安装CentOS7

自定义安装系统
cobbler无人值守安装CentOS7

Cobbler-CentOS-7-x86_64.cfg

#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

%packagesbr/>@^minimal
@compat-libraries
br/>@core
@debugging
br/>@development
bash-completion
chrony
dos2unix
kexec-tools
lrzsz
nmap
sysstat
telnet
tree
vim
wget
%end

%post
systemctl disable postfix.service
%end
cobbler无人值守安装CentOS7

cobbler无人值守安装CentOS7

复制测试服务器物理地址--测试机(100G内存,2块网卡eth0为NET ,eth1LAN区段为172.16.1.0/24)
cobbler无人值守安装CentOS7

MAC地址为测试机地址eth0与eth1不一样

cobbler无人值守安装CentOS7cobbler无人值守安装CentOS7
同步更新

cobbler无人值守安装CentOS7
打开测试机进行安装
cobbler无人值守安装CentOS7
cobbler无人值守安装CentOS7

批量安装的话

cobbler无人值守安装CentOS7
复制之后修改物理地址与ip,主机名

转载于:https://blog.51cto.com/13554498/2059064

<think>好的,用户想了解Cobbler无人值守安装的配置与实现方法。首先,我需要回忆Cobbler的基本概念和作用。Cobbler是一个用于快速网络安装Linux系统的工具,可以管理DHCP、TFTP、DNS等服务,还能同步镜像和配置文件。用户可能希望从零开始搭建,所以需要分步骤讲解安装和配置流程。 首先,安装相关软件包。根据引用[4],需要安装cobblercobbler-web、dhcp、tftp-server等。这一步应该没问题,但要注意依赖关系,比如可能需要EPEL仓库。然后,配置Cobbler,修改/etc/cobbler/settings文件中的服务器IP和DHCP管理选项。记得启动相关服务,如httpd和xinetd,并检查配置是否有误,使用cobbler check命令,根据提示解决问题,比如关闭SELinux和配置tftp。 接下来是导入系统镜像。用户需要将ISO镜像挂载到本地目录,使用cobbler import命令导入。这一步可能需要指定正确的路径和名称,生成对应的发行版和配置模板。然后是配置DHCP,编辑模板文件,设置子网、网关和地址池,确保客户端能获取IP地址。 创建Kickstart无人值守文件是关键部分,需要自动完成分区、软件包安装等设置。可能需要使用system-config-kickstart生成模板,并放在正确的路径下,关联到Cobbler的配置中。同步配置后,使用cobbler sync命令让更改生效。 用户可能还关心Web管理界面,引用[3]提到了默认的用户名和密码,以及访问地址。这部分需要确保cobbler-web安装正确,并且防火墙规则允许访问。 最后,验证和安装部分,检查PXE启动流程,创建虚拟机测试。常见问题可能包括TFTP超时、DHCP配置错误或Kickstart文件路径问题,需要逐一排查。 在回答中,需要引用提供的参考文献,特别是步骤中的命令和配置,确保用户能按照流程操作。同时,生成相关问题时要围绕Cobbler的配置、优化、管理命令和与其他工具的比较,帮助用户深入理解。</think>### Cobbler无人值守安装配置与实现方法 #### 一、环境准备 1. **安装基础软件** 需安装Cobbler核心组件及依赖服务: ```bash yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd rsync xinetd [^4] ``` 启动关键服务: ```bash systemctl start httpd xinetd systemctl enable cobblerd httpd ``` 2. **配置Cobbler参数** 修改配置文件`/etc/cobbler/settings`: ```bash server: 10.0.0.42 # 服务器IP地址 next_server: 10.0.0.42 manage_dhcp: 1 # 启用DHCP管理[^1] ``` #### 二、系统镜像配置 1. **挂载ISO镜像** ```bash mount -o loop /path/to/CentOS-7-x86_64-DVD.iso /mnt cobbler import --path=/mnt --name=CentOS7 --arch=x86_64 ``` 此命令会自动生成发行版(distro)和配置模板(profile)[^2] 2. **验证镜像导入** ```bash cobbler distro list # 查看已导入的发行版 cobbler profile list # 查看配置文件[^5] ``` #### 三、DHCP服务配置 编辑DHCP模板`/etc/cobbler/dhcp.template`: ```bash subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.1; option domain-name-servers 8.8.8.8; range dynamic-bootp 10.0.0.100 10.0.0.200; } ``` #### 四、Kickstart无人值守配置 1. **创建自动安装脚本** 使用`system-config-kickstart`生成基础模板,保存至`/var/lib/cobbler/kickstarts/centos7.ks` 2. **关联Kickstart文件** ```bash cobbler profile edit --name=CentOS7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.ks ``` #### 五、服务同步与验证 1. **同步所有配置** ```bash cobbler sync # 关键步骤,每次配置变更后必须执行[^5] ``` 2. **访问Web界面** 通过`https://10.0.0.42/cobbler_web`访问管理界面(默认账号:cobbler/cobbler)[^3] #### 六、客户端安装验证 1. 新建虚拟机设置PXE启动 2. 自动获取IP后进入安装流程 3. 观察是否自动执行Kickstart脚本 ### 常见问题排查 - **TFTP超时错误**:检查`/etc/xinetd.d/tftp`配置,确认`disable = no` - **DHCP分配异常**:执行`cobbler sync`后重启dhcpd服务 - **Kickstart路径错误**:使用`cobbler report`检查profile配置[^5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值