本文共 8383 字,大约阅读时间需要 27 分钟。
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/tftp4 : 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 systemctl6 : debmirror package is not installed, it will be required to manage debian deployments and repositories7 : 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 one8 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use themRestart 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/settingssed -i 's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settingssed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settingssed -ri "/default_password_crypted/s#(.: ).#\1\"openssl passwd -1 -salt 'oldboy' '123456'
\"#" /etc/cobbler/settings链接: 密码:nk4l [root@Cobbler ~]# tar xfP cobbler_load_for_CentOS7.tar.gz
[root@Cobbler ~]# ls /var/lib/cobbler/loadersCOPYING.elilo COPYING.yaboot grub-x86_64.efi menu.c32 READMECOPYING.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: 1manage_dhcp: 0
272c272< next_server: 172.16.1.202next_server: 127.0.0.1
292c292< pxe_just_once: 1pxe_just_once: 0
384c384< server: 172.16.1.202server: 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.socketCreated 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.servicecobbler同步
[root@Cobbler ~]# cobbler sync
task started: 2018-01-09_094453_synctask started (id=Sync, time=Tue Jan 9 09:44:53 2018)running pre-sync triggerscleaning treesremoving: /var/lib/tftpboot/grub/imagescopying bootloaderstrying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboottrying hardlink /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisktrying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efitrying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.eficopying distros to tftpbootcopying imagesgenerating PXE configuration filesgenerating PXE menu structurerendering DHCP filesgenerating /etc/dhcp/dhcpd.confrendering TFTPD filesgenerating /etc/xinetd.d/tftpcleaning link cachesrunning post-sync triggersrunning python triggers from /var/lib/cobbler/triggers/sync/post/*running python trigger cobbler.modules.sync_post_restart_servicesrunning: dhcpd -t -qreceived on stdout: received on stderr: running: service dhcpd restartreceived on stdout: received on stderr: Redirecting to /bin/systemctl restart dhcpd.servicerunning shell triggers from /var/lib/cobbler/triggers/sync/post/running python triggers from /var/lib/cobbler/triggers/change/
running python trigger cobbler.modules.scm_trackrunning shell triggers from /var/lib/cobbler/triggers/change/* TASK COMPLETE登录cobbler的web界面
虚拟机磁盘挂载
[root@Cobbler ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only[root@Cobbler ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 98G 1.6G 97G 2% /devtmpfs 903M 0 903M 0% /devtmpfs 912M 0 912M 0% /dev/shmtmpfs 912M 8.6M 904M 1% /runtmpfs 912M 0 912M 0% /sys/fs/cgroup/dev/sda1 1014M 135M 880M 14% /boottmpfs 183M 0 183M 0% /run/user/0/dev/sr0 4.3G 4.3G 0 100% /mnt查看是否导入
[root@Cobbler ~]# ps -ef|grep rsync root 11796 1 0 09:20 ? 00:00:00 /usr/bin/rsync --daemon --no-detachroot 12205 11869 27 09:58 ? 00:00:03 rsync -a /mnt/ /var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progressroot 12206 12205 0 09:58 ? 00:00:00 rsync -a /mnt/ /var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progressroot 12207 12206 32 09:58 ? 00:00:04 rsync -a /mnt/ /var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progressroot 12217 10658 0 09:58 pts/0 00:00:00 grep --color=auto rsync 镜像文件[root@Cobbler ~]# ls /var/www/cobbler/ks_mirror/CentOS7.4-x86_64 config==
界面配置文件 可以修图
[root@Cobbler ~]# cat /etc/cobbler/pxe/pxedefault.template DEFAULT menuPROMPT 0MENU TITLE Cobbler | TIMEOUT 200TOTALTIMEOUT 6000ONTIMEOUT $pxe_timeout_profileLABEL local
MENU LABEL (local)MENU DEFAULTLOCALBOOT -1$pxe_menu_items
MENU end
不想要local可以修改
自定义安装系统
Cobbler-CentOS-7-x86_64.cfg
#Cobbler for Kickstart Configurator for CentOS 7 by yao zhang
install
url --url=$treetextlang en_US.UTF-8keyboard uszerombrbootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"#Network information$SNIPPET('network_config')#network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS7timezone --utc Asia/Shanghaiauthconfig --enableshadow --passalgo=sha512rootpw --iscrypted $default_password_cryptedclearpart --all --initlabelpart /boot --fstype xfs --size 1024part swap --size 1024part / --fstype xfs --size 1 --growfirstboot --disableselinux --disabledfirewall --disabledlogging --level=inforeboot%pre
$SNIPPET('log_ks_pre')$SNIPPET('kickstart_start')$SNIPPET('pre_install_network_config')#Enable installation monitoring$SNIPPET('pre_anamon')%end%packages
%post
systemctl disable postfix.service%end复制测试服务器物理地址--测试机(100G内存,2块网卡eth0为NET ,eth1LAN区段为172.16.1.0/24)
MAC地址为测试机地址eth0与eth1不一样
同步更新 打开测试机进行安装转载于:https://blog.51cto.com/13554498/2059064