Cobbler無人值守安裝系統安裝與使用
什麽是Cobbler
Cobbler是一個Linux系統安裝的服務,可以通過網絡啟動(PXE)的方式來快速安裝、重裝物理服務器和虛擬機,同時還可以管理DHCP。DNS等
Cobbler的管理方式
Cobbler可以使用命令行方式管理,也提供了基於Web的界面管理工具(cobbler-web),還提供了API接口,也可以方便二次開發使用(因為cobbler還不算太完美,有很多不足之處,希望有py的大佬們可以繼續完善,致敬大佬。)
歷史
Cobbler是較早錢的kickstart的升級版,優點是比較容易配置,還自帶web界面比較易於管理。
官網
http://cobbler.github.io/
安裝cobbler
使用昨日利用Kickstart安裝的系統來繼續實驗。
更新Base源
curl -o /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo
更新epel源
curl -o /etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-7.repo
註釋:這兩條命令可以添加進Xshell的快速命令中,避免更新還要重新輸入的麻煩
清除yum緩存:
yum clean all
為了以後方便安裝軟件可以做個yum安裝保存本地的配置
grep keepcache /etc/yum.conf keepcache=1
安裝軟件
yum -y install cobbler cobbler-web dhcptftp-server pykickstart httpdpython-django
啟動服務
systemctl start cobblerd.service systemctl start httpd.service
優化
cobbler check ##按照提示一個個修正
備份文件
cp /etc/cobbler/settings{,.ori}
解壓文件
tar xfP cobbler_load_for_CentOS7.tar.gz ls /var/lib/cobbler/loaders
啟動推送rsync
systemctl enable rsyncd systemctl start rsyncd
編寫密碼文件
openssl passwd -1 -salt ‘oldboy’ ’123456’
進行文件比對
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
快速執行命令
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
配置DHCP配置文件
備份:
cp /etc/cobbler/dhcp.template{,.ori}
vim替換
%s/192.168/172.16/g
---後面提供了一個sed替換,為了防止出錯執行vim替換命令
防止誤重裝
sed -i's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings
配置Cobbler統一管理DHCP
sed -i's/manage_dhcp: 0/manage_dhcp: 1/' /etc/cobbler/settings
配置DHCP Cobbler模版 *
sed -i.ori's#192.168.1#172.16.1#g;22d;23d' /etc/cobbler/dhcp.template
啟動服務&同步配置
systemctl start rsyncd systemctl enable rsyncd systemctl enable tftp.socket systemctl start tftp.socket systemctl restart cobblerd.service
執行同步
cobbler sync
WEB操作Cobbler
https://10.0.0.202/cobbler_web ##註意一定要加https
默認帳號密碼均為cobbler
Web界面操作
將鏡像同步到本機
執行掛載命令:
mount /dev/cdrom /mnt/
配置default文件
cat /vat/lib/tftpboot/pxelinux.cfg/default cat /etc/cobbler/pxe/pxedefault.template [object Object]
註釋:將local替換為CentOS7.4-x86_64是指定安裝這個系統
Ks文件配置
# Cobbler for Kickstart Configurator for CentOS 7 by MsyLinux 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
網頁添加安裝要求
內核優化命令
net.ifnames=0 biosdevname=0
註意:save是保存!!
進行同步
CentOS6.9的Ks文件
# Cobbler for Kickstart Configurator for CentOS 6.9 by MsyLinux 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
如果有需要裝Centos6系統的可以參照上文的Ks文件配置,也可以參照老男孩老師的博客進行安裝配置;
老男孩老師-Centos6環境cobbler配置與使用
Cobbler無人值守安裝系統安裝與使用