第1章 什麼是Cobbler
1.1 物理網卡MAC地址獲取方式
1、服務器錶殼標籤;
2、軟件自動掃描網絡獲取;
1.2 Cobbler介紹
Cobbler是一個Linux系統安裝的服務,可以通過網絡啓動(PXE)的方式來快速安裝、重裝物理服務器和虛擬機,同時還可以管理DHCP,DNS等。
•Cobbler可以使用命令行方式管理,也提供了基於Web的界面管理工具(cobbler-web),還提供了API接口,可以方便二次開發使用。
•Cobbler是較早前的kickstart的升級版,優點是比較容易配置,還自帶web界面比較易於管理。
第2章 Cobbler安裝部署
2.1 所使用的軟件
yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd python-django
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.2 啓動服務
systemctl start cobblerd.service
systemctl start httpd.service
2.3 檢查配置
cobbler check
2.4 修改Cobbler配置
操作前先備份文件
cp /etc/cobbler/settings{,.ori}
vim /etc/cobbler/settings
292 pxe_just_once: 1
242 manage_dhcp: 1
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 'Mikey' '123456'`\"#" /etc/cobbler/settings
2.5 啓動服務
systemctl enable tftp.socket
systemctl start tftp.socket
systemctl restart cobblerd.service
2.6 修改DHCP文件
[root@Cobbler ~]# vim /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.254;
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
說明:客戶端的獲取(:%s/192.168/172.16/g) 修改的nohi
2.7 重啓服務tftp cobbler
[root@Cobbler ~]# systemctl enable tftp.socket
[root@Cobbler ~]# systemctl start tftp.socket
[root@Cobbler ~]# systemctl restart cobblerd.service
2.8 同步數據信息
[root@Cobbler ~]# cobbler sync
task started: 2018-01-09_094526_sync
task started (id=Sync, time=Tue Jan 9 09:45:26 2018)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/grub/images
注意:同步後不要修改此目錄。
[root@Cobbler ~]# cat /etc/dhcp/dhcpd.conf
# ******************************************************************
# Cobbler managed dhcpd.conf file
# generated from cobbler dhcp.conf template (Tue Jan 9 01:45:27 2018)
# Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes
# in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be 修改這個文件
# overwritten.
# ******************************************************************
這樣就可以通過web界面操作了
第3章 WEB界面操作
https://10.0.0.202/cobbler_web
登錄的密碼和賬號是cobbler cobbler
3.1 掛載光盤
[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.8M 903M 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
3.1.1 設置步驟:
Actions----àlmportDVD--à填寫鏡像的一些信息(下圖顯示詳細信息)
說明:Arch必須選擇X86_64(其他的不是很穩定,容易出錯)
Path選擇的是鏡像掛載的路徑;(必須確定,出錯一直掛載導致磁盤空間浪費)
3.1.2 查看是否在/mnt/目錄下掛載的
[root@Cobbler ~]# ps -ef|grep rsync
root 12817 1 0 09:20 ? 00:00:00 /usr/bin/rsync --daemon --no-detach
root 13308 12962 15 09:58 ? 00:00:07 rsync -a /mnt/ /var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progress
root 13309 13308 0 09:58 ? 00:00:00 rsync -a /mnt/ /var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progress
root 13310 13309 12 09:58 ? 00:00:05 rsync -a /mnt/ /var/www/cobbler/ks_mirror/CentOS7.4-x86_64 --progress
root 13338 12429 0 09:59 pts/1 00:00:00 grep --color=auto rsync
3.1.3 同步完成後的顯示
[root@Cobbler ~]# ps -ef|grep rsync
root 12817 1 0 09:20 ? 00:00:00 /usr/bin/rsync --daemon --no-detach
root 13925 12429 0 10:17 pts/1 00:00:00 grep --color=auto rsync
Distros 鏡像
Profiles 配置屬性
3.2 客戶端安裝
/var/lib/tftpboot/pxelinux.cfg/default默認配置文件
只能修改此目錄 /etc/cobbler/pxe/pxedefault.template
說明:默認是選擇本地的。
3.3 自定義安裝系統
修改默認的KS文件
3.4 Create New Kickstart File 配置文件
# Cobbler for Kickstart Configurator for CentOS 7 by Mikey
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
dos2unix
kexec-tools
lrzsz
nmap
sysstat
telnet
tree
vim
wget
%end
%post
systemctl disable postfix.service
%end
3.5 創建安裝
第二塊網卡設置同上(注意添加網卡的MAC地址)
配置完後同步,客戶端開始無人值守安裝開始。
3.6 Cent OS 6.9的配置文件
# Cobbler for Kickstart Configurator for CentOS 6.9 by Mikey
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')
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $default_password_crypted
clearpart --all --initlabel
part /boot --fstype=ext4 --asprimary --size=200
part swap --size=1024
part / --fstype=ext4 --grow --asprimary --size=200
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
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
%end
%post
chkconfig postfix off
%end