使用cobbler批量安装CentOS7

一、cobbler介绍

    关于cobbler的介绍,引用了一段来自百度百科的文字:

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

  源文档:http://baike.baidu.com/link?url=NVSmEjZOmtmeL2l9NN6ygP3pAN1PBY2UDpbE_WO2P7859wFI7XqlxZ7EA_yGbzzksW4dRxFeBS49OD16NNGXOq

二、环境准备

  1、关闭防火墙和SElinux

    为了让cobbler的安装及其依赖更加直观,我在VMware上安装了一个CentOS6.7系统,关闭防火墙和SElinux

  [root@zhen ~]# iptables-F

  [root@zhen ~]# ntsysv

  [root@zhen ~]# vi /etc/selinux/config        SELINUX=disabled

  [root@zhen ~]# setenforce 0

  2、配置ip

在部署过程中需要上网下载一些安装包,要配置系统的ip,可以上网。

  3、配置epel

  (1)可以使用yum来安装cobbler,但是系统镜像自带的yum源内不包含cobbler的安装包。需要在系统上安装epel源。下面列出几个常用epel源:

  浙江大学:http://mirrors.lifetoy.org/

    中科大:http://mirrors.ustc.edu.cn/

    阿里云:http://mirrors.aliyun.com/

http://mirrors.ustc.edu.cn/fedora/epel/5/SRPMS/epel-release-5-4.src.rpm

http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

http://mirrors.ustc.edu.cn/centos/6/extras/x86_64/Packages/epel-release-6-8.noarch.rpm

http://mirrors.lifetoy.org/centos/6/extras/x86_64/Packages/epel-release-6-8.noarch.rpm

http://mirrors.ustc.edu.cn/fedora/epel/epel-release-latest-7.noarch.rpm

2epel源安装

wget阿里云的epel源:

[root@zhen ~]# wget http://mirrors.ustc.edu.cn/centos/6/extras/x86_64/Packages/epel-release-6-8.noarch.rpm

rpm命令安装:

[root@zhen ~]# rpm -ivh epel-release-6-8.noarch.rpm

三、安装软件包

  cobbler的运行需要 xinet dhcp httpd,直接使用yum安装即可。

  [root@zhen ~]# yum -yinstall cobbler

  [root@zhen ~]# yum -yinstall xinetd dhcp httpd

四、修改配置文件

   cobbler的配置文件是:/etc/cobbler/settings

  在配置文件中需要注意的地方如下:

1default_kickstart: /var/lib/cobbler/kickstarts/default.ks

//这行内容定义了默认使用ks文件,即用system-config-kickstart生成的文件,一般不用修改。

2default_password_crypted:"$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."

  //这行定义了批量安装的系统默认的root密码。

     在命令行执行:[root@zhen ~]# openssl passwd -1 -salt `openssl rand -hex 6`

  Password:         (在此输入密码)

  $1$8f3d273d$dtl/D8sAbEU06dWGkr1vA0

  [root@zhen ~]#

     然后将生成的密码复制到配置文件该位置

  3 manage_dhcp: 0

//0代表独立管理dhcp1代表由cobbler管理dhcp。如果单独管理dhcp,在实际环境中会与路由器本身的dhcp发生冲突,为了减少客户机重试次数,需要暂时关闭路由器的dhcp。为了避免关闭路由器的dhcp造成的影响,在这里将参数设为1。这样就需要用到/etc/cobbler/dhcp.template

4 manage_tftpd: 1

  //这里要将参数改为0

5next_server: 127.0.0.1

   server: 127.0.0.1 

  //这两个参数都需要设置为cobbler服务端的ip地址。

五、配置dhcp

   cobblerdhcp需要用到/etc/cobbler/dhcp.template

   打开配置文件做如下修改:

    21 subnet 192.168.198.0netmask 255.255.254.0 {

    22      optionrouters              192.168.199.1;

    23      optiondomain-name-servers  8.8.8.8;

     24      optionsubnet-mask         255.255.254.0;

    25      rangedynamic-bootp        192.168.199.100 192.168.199.254;

    26     default-lease-time           21600;

    27      max-lease-time             43200;

    28      next-server                $next_server;

六、启动服务

  1cobbler:执行cobbler check检查cobbler运行环境,根据提示信息修改。

 部分提示如下:

 ①somenetwork boot-loaders are missing from /var/lib/cobbler/loaders, you may run'cobbler get-loaders' to download them, or, if you only want to handlex86/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 tosupport all architectures, should include pxelinux.0, menu.c32, elilo.efi, andyaboot. The 'cobbler get-loaders' command is the easiest way to resolve theserequirements.

 若仅为x86/x86_64架构的服务器提供服务,安装syslinux即可

     [root@zhen~]# yum install syslinux

 ②debmirror packageis not installed, it will be required to manage debian deployments andrepositories

 这一项可以忽略

 ③ksvalidator was notfound, install pykickstart

 安装ksvalidator

   [root@zhen~]# yum install -y pykickstart

   The defaultpassword 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

 default_password_crypted参数设置新密码

[root@zhen ~]#chkconfig --add cobblerd

[root@zhen ~]#chkconfig cobblerd on

[root@zhen ~]#service cobblerd start

2httpd

[root@zhen ~]# chkconfig --add httpd

[root@zhen ~]# chkconfig httpd on

[root@zhen ~]# service httpd start      

3xinetd

[root@zhen ~]# vi /etc/xinetd.d/tftp      disable=no

[root@zhen ~]# chkconfig xinetd on

[root@zhen ~]# service xinetd start

七、配置镜像

  1、先将有系统镜像的光盘挂载到本地系统:

  [root@zhen ~]# mkdir/mnt/cdrom

  [root@zhen ~]# mount /dev/sr0 /mnt/cdrom/

2、导入镜像:cobbler  import --name=CentOS-7-x86_64 --path=/mnt/cdrom

--name:自定义名称

--path:指定系统镜像的位置

在导入之前最好重启cobblerd。若镜像文件很大,导入过程会很长。导入完成后,       在/var/www/cobbler/ks_mirror目录下会生成一个--name指定的名称的目录。导入完成后可以使用cobbler distrolist

3、生成ks文件

需要使用yum安装system-config-kickstart

   执行system-config-kickstart需要图形界面支持。下面是一个ks文件模版,可以修改使用:

#platform=x86,AMD64, or Intel EM64T

#System  language

lang en_US

#Systemkeyboard

keyboard us

#Sytemtimezone

timezoneAsia/Shanghai

#Rootpassword

rootpw--iscrypted $default_password_crypted

#Use textmode install

text

#Install OSinstead of upgrade

install

#Use NFSinstallation Media

url--url=$tree

#Systembootloader configuration

bootloader--location=mbr

#Clear theMaster Boot Record

zerombr

#Partitionclearing information

clearpart--all --initlabel

#Disk partitioninginformation

part /boot--fstype xfs --size 1024 --ondisk sda

part swap--size 16384 --ondisk sda

part /--fstype xfs --size 1 --grow --ondisk sda

#Systemauthorization infomation

auth  --useshadow --enablemd5

#Networkinformation

$SNIPPET('network_config')

#network--bootproto=dhcp --device=em1 --onboot=on

# Rebootafter installation

reboot

#Firewallconfiguration

firewall--disabled

#SELinuxconfiguration

selinux--disabled

#Do notconfigure XWindows

skipx

#Packageinstall information

%pre

$SNIPPET('log_ks_pre')

$SNIPPET('kickstart_start')

$SNIPPET('pre_install_network_config')

# Enableinstallation monitoring

$SNIPPET('pre_anamon')

%end

 

%packages

@ base

@ core

sysstat

iptraf

ntp

lrzsz

ncurses-devel

openssl-devel

zlib-devel

OpenIPMI-tools

mysql

nmap

screen

%end

 

%post

systemctldisable postfix.service

%end

  4、导入ks文件

  [root@zhen ~]# cobblerprofile edit --name=CentOS-7-x86_64 --distro=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg

   执行这条命令前,需要将ks文件拷贝到/var/lib/cobbler/kickstarts/目录下

  5、同步配置

  cobbler sync

  关于cobbler命令的具体使用方法,执行cobbler --help查看

  6ps

  第3、4步可以合为一步:cobbler import --name=CentOS-7-x86_64--path=/mnt/cdrom/ --kickstart=/root/CentOS-7.1-    x86_64.cfg一条命令执行。

  7、到此,cobbler的所有配置已经完成,接下来新建测试机来测试下。

八、注意事项

  1、在实际的服务器上安装时,在刚开机时按F12进入PXE装机即可自动开始安装;

  2、本文使用到的ks模版用来安装CentOS7系统,安装7以下版本需要做一些修改,否则会报错。

  3、每次做完修改要使用cobbler sync同步配置

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