Cobbler無人值守安裝linux系統
簡介
Cobbler是一個Linux伺服器安裝的服務,可以通過網路啟動(PXE)的方式來快速安裝、重裝物理伺服器和虛擬機,同時還可以管理DHCP,DNS等。
Cobbler可以使用命令行方式管理,也提供了基於Web的界面管理工具(cobbler-web),還提供了API介面,可以方便二次開發使用。
Cobbler是較早前的kickstart的升級版,優點是比較容易配置,還自帶web界面比較易於管理。
Cobbler內置了一個輕量級配置管理系統,但它也支持和其它配置管理系統集成,如Puppet,暫時不支持SaltStack。
kickstart基本原理拓撲圖
cobbler和kickstart原理是一致的,只是個人認為cobbler比較好用
搭建
直接給命令了,紅字(不包括前邊的#,#只是代表命令行)
環境準備
系統版本CentOS7.2
# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
關閉selinux
# getenforce
Disabled
關閉防火牆
# systemctl status firewalld.service
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
# hostname -I #本機IP地址
192.168.110.18
yum源
# curl -o /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo
# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
使用yum安裝cobbler
# yum -y install cobbler cobbler-web dhcp tftp-serverpykickstart httpd
啟動http和cobbler
# systemctl start httpd.service
# systemctl start cobblerd.service
進行語法檢查
# cobbler check
出現8個錯,英文的讓你修改配置
解決報錯
# cp /etc/cobbler/settings{,.ori}
# sed -i "s/server: 127.0.0.1/server: 192.168.110.18/"/etc/cobbler/settings
# sed -i "s/next_server: 127.0.0.1/next_server: 192.168.110.18/"/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 #修改dhcp模板
# sed -ri "/default_password_crypted/s#(.*:).*#1" `openssl passwd -1 -salt cobbler "123456"` "#"/etc/cobbler/settings ###123456是root密碼
# sed -i "s#yes#no#" /etc/xinetd.d/tftp
配置dhcp 照著改吧
# vim /etc/cobbler/dhcp.template
subnet 192.168.110.0 netmask 255.255.255.0 {
optionrouters 192.168.110.1; #網關
optionsubnet-mask 255.255.255.0; #子網掩碼
rangedynamic-bootp 192.168.110.33 192.168.110.99; ##自動分配的ip段
default-lease-time 21600;
max-lease-time 43200;
:wq #改完了保存退出
重啟
# systemctl restart rsyncd tftp.socket cobblerd
# systemctl enable rsyncd tftp.socket cobblerd
啟動rsync服務
# systemctl start rsyncd.service
# systemctl enable rsyncd.service
同步 (每次改完配置都要同步)
# cobbler sync
下載包所需的軟體包(cobbler下載自己所需要的文件)
#cobbler get-loaders
#ls /var/lib/cobbler/loaders
COPYING.elilo elilo-ia64.efi menu.c32 yaboot
COPYING.syslinux grub-x86_64.efi pxelinux.0
COPYING.yaboot grub-x86.efi README
debian相關無需修改(不用debian就不需要管了)
再次檢查
# cobbler check
The following are potential configurationitems that you may want to fix:
1 : debmirror package is not installed, itwill be required to manage debian deployments and repositories
2 : fencing tools were not found, and arerequired to use the (optional) power management features. install cman orfence-agents to use them
Restart cobblerd and then run "cobblersync" to apply changes.
重啟所有服務
systemctl restart httpd cobblerd dhcpd rsyncdtftp.socket
cobbler安裝完成,下面進行web界面的操作。
cobbler的web及界面操作
瀏覽器訪問https://192.168.110.18/cobbler_web
注意CentOS7中cobbler只支持https訪問。
賬號密碼默認均為cobbler
操作說明--導入鏡像
在虛擬機上添加上鏡像
vmware:
掛載上鏡像
# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected,mounting read-only
# df -h grep mnt
/dev/sr0 4.3G 4.3G 0 100% /mnt
進行導入鏡像
選擇ImportDVD輸入Prefix(命名),Arch(架構),Breed(版本),Path(鏡像的路徑)
# ls /var/www/cobbler/ks_mirror/
CentOS7x86_64 config
導入過程使用rsync進行導入,三個進程消失表示導入完畢
# ps -ef greprsync
創建一台空白虛擬機,進行測試網路安裝
注意:虛擬機的內存不能小於2G,網卡的配置要保證網路互通
啟動虛擬機
啟動虛擬機即可發現會有cobbler的選擇界面
此界面修改
# more /etc/cobbler/pxe/pxedefault.template
DEFAULT menu
PROMPT 0
TIMEOUT 100
TOTALTIMEOUT 6000
ONTIMEOUT $pxe_timeout_profile
MENU DEFAULT
$pxe_menu_items
LABEL local
MENU LABEL(local)
LOCALBOOT -1
MENU end
定製化安裝操作系統
添加內核參數
查看導入的鏡像,點擊edit
在內核參數中添加net.ifnames=0biosdevname=0
能夠讓顯示的網卡變為eth0,而不是CentOS7中的ens33
編寫ks文件
參考
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 2048
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
lsof
net-tools
%end
%post
systemctl disable postfix.service
%end
路徑為/var/lib/cobbler/kickstarts/
小技巧:如果想定義開機執行命令在倒數第二行添加
設置profile
選擇剛才創建的cfg文件
自定義安裝系統
選擇systems創建一個新的系統
以上的所有配置完成後,點擊Save進行保存
開啟虛擬機
回車~
一鍵裝機到此結束
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
TAG:Linux運維小強 |