一. Cobbler的安裝和使用
參考鏈接:
http://blog.oldboyedu.com/autoinstall-cobbler/
1.Cobbler的安裝:
yum install cobbler cobbler-web dhcp tftp-server pykickstart httpd
2.啓動cobbler:
/etc/init.d/httpd restart
/etc/init.d/cobblerd start
3.驗證安裝:
# cobbler check #沒有報錯代表正常,如果報錯可以重啓下cobbler服務
4.配置cobbler相關:
# openssl passwd -1 -salt 'wmj' 'root123'
生成加密密碼,“root123”代表密碼,“wmj”爲密碼鹽值。
vim /etc/cobbler/settings
next_server: 172.16.1.211
server: 172.16.1.211
manage_dhcp: 1 #開啓dhcp管理
default_password_crypted: "$1$wmj$D1MqqKx/3GopacEK/m9U4." #填入上面生成的密碼
# cobbler get-loaders #下載所需庫文件
vim /etc/xinetd.d/rsync
disable = no #開啓rsync服務
vim /etc/xinetd.d/tftp
disable = no #開啓tftp服務
5.重啓服務並檢查:
/etc/init.d/xinetd restart
/etc/init.d/cobblerd restart
cobbler check #檢查是不是剩下3-4個步驟了
6.配置cobble-dhcp:
# vim /etc/cobbler/dhcp.template
subnet 172.16.1.0 netmask 255.255.255.0 {
option routers 172.16.1.254; #網關
option domain-name-servers 223.5.5.5; #DNS
option subnet-mask 255.255.255.0;
range dynamic-bootp 172.16.1.240 172.16.1.243; #網址段
# cobbler sync #生成DHCP服務配置
二. Cobbler製作PXE鏡像
1.上傳和掛載CentOS7鏡像:
scp CentOS-7-x86_64-Minimal-1611.iso 172.16.1.211:/root/ #上傳鏡像到cobbler服務器
mount -o loop CentOS-7-x86_64-Minimal-1611.iso /mnt #掛載鏡像到mnt目錄
2.Cobbler導入CentOS7鏡像:
cobbler import --path=/mnt/ --name=CentOS-7-x86_64-Minimal --arch=x86_64
# --path 鏡像路徑
# --name 爲安裝源定義一個名字
# --arch 指定安裝源是32位、64位、ia64, 目前支持的選項有: x86│x86_64│ia64
3.創建cobbler的ks文件:
# cd /var/lib/cobbler/kickstarts/ # Cobbler的ks.cfg文件存放位置
ps: 如果不創建,默認使用這個文件夾下的“sample_end.ks”
# vim CentOS-7-x86_64.cfg
# Cobbler for Kickstart Configurator for CentOS 7 by wang min jie
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 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
@base
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
iptraf
ncurses-devel
openssl-devel
zlib-devel
OpenIPMI-tools
screen
%end
%post
systemctl disable postfix.service
%end
# 上面這些$開頭的變量都是調用配置文件裏的值。
4.查看安裝鏡像文件信息:
# cobbler list
# cobbler profile report --name CentOS-7-Minimal-x86_64
5.編輯profile,修改關聯的ks文件:
cobbler profile edit --name=CentOS-7-Minimal-x86_64 \
--kickstart=/var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg
6.編輯profile,添加內核參數:
cobbler profile edit --name=CentOS-7-Minimal-x86_64 --kopts='net.ifnames=0 biosdevname=0'
# 修改安裝系統的內核參數,讓CentOS7的網卡名變成eth0格式。
7.每次修改完都要同步一次:
cobbler sync
8.修改啓動菜單:
vim /etc/cobbler/pxe/pxedefault.template
cobbler sync
三. Cobbler實現定製化安裝
cobbler架構圖
1.根據MAC地址來自定義主機的IP地址等信息:
cobbler system add --name=wmj --mac=00:50:56:88:63:57 --profile=CentOS-7-Minimal-x86_64 \
--ip-address=172.16.1.243 --subnet=255.255.255.0 --gateway=172.16.1.254 \
--interface=eth0 --static=1 --hostname=SH_T_cobblercli_01 \
--name-servers="233.5.5.5 114.114.114.114"
# --name 自定義,但不能重複
2.查看自定義主機:
cobbler system list
到這裏就可以裝機了!
3.訪問cobbler的web界面:
https://172.16.1.211/cobbler_web/
賬號密碼都是:cobbler
4.修改web密碼:
/etc/cobbler/users.conf # Web服務授權配置文件
/etc/cobbler/users.digest # 用於web訪問的用戶名密碼配置文件
[root@linux-node1 ~]# cat /etc/cobbler/users.digest
cobbler:Cobbler:a2d6bae81669d707b72c0bd9806e01f3
# 設置Cobbler web用戶登陸密碼
# 在Cobbler組添加cobbler用戶,提示輸入2遍密碼確認
[root@linux-node1 ~]# htdigest /etc/cobbler/users.digest "Cobbler" cobbler
Changing password for user cobbler in realm Cobbler
New password: 123456
Re-type new password:123456
[root@linux-node1 ~]# cobbler sync
[root@linux-node1 ~]# /etc/init.d/httpd restart
[root@linux-node1 ~]# /etc/init.d/cobblerd restart