使用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同步配置

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