cobbler 自动化安装系统

    网络安装服务器套件 Cobbler(补鞋匠)从前,我们一直在做装机民工这份很有前途的职业。自打若干年前 Red Hat 推出了 Kickstart,此后我们顿觉身价倍增。不再需要刻了光盘一台一台地安装 Linux,只要搞定 PXE、DHCP、TFTP,还有那满屏眼花缭乱不知所云的 Kickstart 脚本,我们就可以像哈里波特一样,轻点魔棒,瞬间安装上百台服务器。这一堆花里胡哨的东西可不是一般人都能整明白的,没有大专以上学历,通不过英语四级, 根本别想玩转。总而言之,这是一份多么有前途,多么有技术含量的工作啊。很不幸,Red Hat 最新(Cobbler项目最初在2008年左右发布)发布了网络安装服务器套件 Cobbler(补鞋匠),它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。对于我们这些在装机领域浸淫多年,经验丰富,老骥伏枥,志在千里的民工兄弟们来说,不啻为一个晴天霹雳。

下面演示cobbler的安装

[root@cobbler ~]# yum install cobbler cobbler-web dhcp tftp-server pykickstart httpd -y

重新启动apache

[root@cobbler ~]#/etc/init.d/httpd restart

启动cobbler

[root@cobbler ~]# /etc/init.d/cobblerd start
[root@cobbler ~]# /etc/init.d/cobblerd restart

检查安装条件

[root@cobbler ~]#cobbler check
1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
3 : change 'disable' to 'no' in /etc/xinetd.d/tftp
4 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
5 : change 'disable' to 'no' in /etc/xinetd.d/rsync
6 : file /etc/xinetd.d/rsync does not exist
7 : debmirror package is not installed, it will be required to manage debian deployments and repositories
8 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
9 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

以上问题基本上需要解决了才能安装

vi /etc/cobbler/settings

server: 10.89.1.15     (修改为你这台安装cobbler的机器)

next_server: 10.89.1.15 (修改为你这台安装cobbler的机器)

manage_dhcp: 1          (“0”修改为“1”)

default_password_crypted: "$1$oldboy$fXF8f078vI9J/q9XyXA8e/"

注意:以上密码是使用下面的命令生成的

[root@cobbler ~]# openssl passwd -1 -salt 'oldboy' 'oldboy'
$1$oldboy$fXF8f078vI9J/q9XyXA8e/
[root@cobbler ~]#cobbler get-loaders

vim /etc/xinetd.d/rsync

disable                 = no


vim /etc/xinetd.d/tftp

disable                 = no

重新启动一下服务

[root@cobbler ~]# /etc/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

[root@cobbler ~]# /etc/init.d/cobblerd restart
Stopping cobbler daemon:                                   [  OK  ]
Starting cobbler daemon:                                   [  OK  ]
[root@cobbler ~]# vim /etc/cobbler/dhcp.template

  此处修改为你的cobbler服务器所在的网段信息

 subnet 10.89.1.0 netmask 255.255.255.0 {

     option routers             10.89.1.254;   (网关地址)

     option domain-name-servers 10.7.10.1;      (DNS地址)

     option subnet-mask         255.255.255.0;   (子网掩码)

     range dynamic-bootp        10.89.1.100 10.89.1.119;(DHCP自动给机器分配的ip范围)

     default-lease-time         21600;

     max-lease-time             43200;

     next-server                $next_server;

[root@cobbler ~]#cobbler check

1.service dhcpd is not running

解决办法

Restart cobblerd and then run 'cobbler sync' to apply changes.

#/etc/init.d/cobblerd restart

#cobbler sync

2.file /etc/xinetd.d/rsync does not exist 

这个问题可以不用管,最后在检查一下安装环境

[root@cobbler kickstarts]# cobbler check
The following are potential configuration items that you may want to fix:

1 : file /etc/xinetd.d/rsync does not exist
2 : debmirror package is not installed, it will be required to manage debian deployments and repositories
3 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

出现上面的信息就可以安装了

以下以安装一台虚拟机为例

本机先挂载镜像包

[root@cobbler ~]#mount /dev/cdrom /mnt

导入镜像包

[root@cobbler ~]#cobbler import --path=/mnt/ --name=CentOS-7.3-x86_64 --arch=x86_64

导入后镜像包位于

[root@cobbler ~]# cd /var/www/cobbler/ks_mirror/
[root@cobbler ks_mirror]# ll
total 8
drwxr-xr-x 8 root root 4096 Dec  5 21:20 CentOS-7.3-x86_64
drwxr-xr-x 2 root root 4096 Apr  5 15:20 config配置

KS文件放置位置

[root@cobbler ks_mirror]# cd /var/lib/cobbler/kickstarts/

上传KS配置文件 CentOS-7.3-x86_64.cfg   (**文件中的登录用户名:root 密码:oldboy**)

 #cat CentOS-7.3-x86_64.cfg
#Kickstart Configurator by Alvin
#platform =x86, AMD64, or Inter EM64T
#System language
lang en_US
#System keyboard
keyboard us
#System timezone
timezone Asia/Shanghai
#Root password
rootpw --iscrypted $default_password_crypted
#rootpw --iscrypted $1$ops-node$7hqdpgEmIE7Z0RbtQkxW20
#Use text mode install
text
#Install OS instead of upgrade
install 
#User NFS installation Media
url --url=$tree
#url --url=http://192.168.8.22/CentOS-7.1-x86_64
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype xfs --size 1024 --ondisk sda
part /swap --size 16384 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
#System authorization information
auth --useshadow --enablemd5
#Network information
$SNIPPET('network_config')
#network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Firewall configuration
firewall --disabled
#SELinux configuration
selinux --disabled
#Do not configure XWindows
skipx

%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
#Enable installation monitoring
$SNIPPET('pre_anamon')
%end

#Package install information
%packages
@ base
@ core
sysstat
iptraf
ntp
lrzsz
openssl-devel
zlib-devel
OpenIPMI-tools
nmap
screen
%end

%post
systemctl disable postfix.service
%end
[root@cobbler kickstarts]# cobbler profile edit --name=CentOS-7.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.3-x86_64.cfg 
[root@cobbler kickstarts]# cobbler profile edit --name=CentOS-7.3-x86_64 --kopts='net.ifnames=0 biosdevname=0'

[root@cobbler ~]# cobbler sync

设置待安装机器的ip,网关,dns 等信息

[root@cobbler ~]# cobbler system add --name=alvin --mac=00:50:56:32:4E:C7 --profile=CentOS-7.3-x86_64 --ip-address=10.89.1.113 --subnet=255.255.255.0 --gateway=10.89.1.254 --interface=eth0 --static=1 --hostname=kk.com --name-servers="8.8.8.8"

注意:网卡地址mac是待安装机器

下面开始安装客户端电脑

  1. 待安装的机器开机

  2. 进入bios设置待安装的电脑从网卡启动

  3. 开始自动安装

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章