1. 程式人生 > >Cobbler無人值守安裝系統安裝與使用

Cobbler無人值守安裝系統安裝與使用

二次開發 logging /dev/ tree ive 內核 避免 dhcp ket

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無人值守安裝系統安裝與使用