天天看點

Cobbler全自動安裝CentOS(整理)

環境:    

OEL6.3 x64 (CentOS6.3 x64)     

網絡環境中無其它DHCP伺服器 

本文出自:http://koumm.blog.51cto.com

一、 cobbler安裝準備 

1. 關閉iptables與selinux 

# chkconfig iptables off
# vi /etc/selinux/config
SELINUX=disabled      
# sestatus  重新開機後檢視      

2. 安裝源準備并安裝cobbler軟體 

說明:基礎源與epel源。 

rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y install cobbler cobbler-web httpd rsync tftp-server xinetd dhcp python-ctypes debmirror pykickstart fence-agents      

二、 配置tftp-server與rsync 

開啟tftp與rsync服務 

sed -i '/disable/c disable = no' /etc/xinetd.d/tftp
sed -i -e 's/= yes/= no/g' /etc/xinetd.d/rsync      

三、配置cobbler 

1. 配置httpd配置檔案 

# vi /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1:80      

2. 配置cobbler主配置檔案 

sed -i 's/next_server: 127.0.0.1/next_server: 192.168.1.10/g' /etc/cobbler/settings
sed -i 's/server: 127.0.0.1/server: 192.168.1.10/g' /etc/cobbler/settings
sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings
sed -i 's/manage_rsync: 0/manage_rsync: 1/g' /etc/cobbler/settings      

3. 配置cobbler web登入認證配置檔案 

(1) 修改認證檔案

sed -i 's/module = authn_denyall/module = authn_configfile/g' /etc/cobbler/modules.conf      

(2) 設定使用者名密碼:

htdigest /etc/cobbler/users.digest "Cobbler" cobbler      

4. 生成Cobbler安裝系統root初始密碼 

(1)這裡生成密鑰和配置預設密鑰,ks檔案引用 

# openssl passwd -1 -salt 'random-phrase-here' '111111'
$1$random-p$WbZ3JxhRzCS/1Ne4S9g4Z.      

(2) 将上面的加密串加入cobbler配置檔案中。 

# vi /etc/cobbler/settings
# 修改為如下配置
default_password_crypted: "$1$random-p$WbZ3JxhRzCS/1Ne4S9g4Z."      

四、配置DHCP與啟動cobbler相關服務 

1. 配置dhcp配置檔案 

# mv /etc/cobbler/dhcp.template /etc/cobbler/dhcp.template.bak
# vi /etc/cobbler/dhcp.template
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option domain-name-servers 202.100.192.68;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.120 192.168.1.254;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
}      

2. 需要啟動的服務 

chkconfig httpd on
chkconfig xinetd on
chkconfig dhcpd on
chkconfig cobblerd on
service httpd start
service xinetd start
service dhcpd start
service cobblerd start      

五、效驗cobbler安裝條件 

1. 修複cobbler check時出現的第一條錯誤資訊 

[root@pxe ~]# cobbler get-loaders
task started: 2013-12-15_191305_get_loaders
task started (id=Download Bootloader Content, time=Sun Dec 15 19:13:05 2013)
downloading http://www.cobblerd.org/loaders/README to /var/lib/cobbler/loaders/README
downloading http://www.cobblerd.org/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo
downloading http://www.cobblerd.org/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot
downloading http://www.cobblerd.org/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux
downloading http://www.cobblerd.org/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi
downloading http://www.cobblerd.org/loaders/yaboot-1.3.14-12 to /var/lib/cobbler/loaders/yaboot
downloading http://www.cobblerd.org/loaders/pxelinux.0-3.61 to /var/lib/cobbler/loaders/pxelinux.0
downloading http://www.cobblerd.org/loaders/menu.c32-3.61 to /var/lib/cobbler/loaders/menu.c32
downloading http://www.cobblerd.org/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi
downloading http://www.cobblerd.org/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi
*** TASK COMPLETE ***
[root@pxe ~]#      

2. 修複debian/ubuntu系統安裝選項支援包 

# vi /etc/debmirror.conf
說明:前提是安裝debmirror pykickstart這兩個包,注釋掉如下兩行。
#@dists="sid";
#@arches="i386";      

3. cobbler check效驗環境 

[root@pxe ~]# cobbler check
The following are potential configuration items that you may want to fix:
1 : service dhcpd is not running
Restart cobblerd and then run 'cobbler sync' to apply changes.      

4. 按上文校驗提示操作修複 

[root@pxe ~]# cobbler sync
task started: 2013-12-15_192432_sync
task started (id=Sync, time=Sun Dec 15 19:24:32 2013)
running pre-sync triggers
cleaning trees
mkdir: /var/lib/tftpboot/pxelinux.cfg
mkdir: /var/lib/tftpboot/grub
mkdir: /var/lib/tftpboot/s390x
mkdir: /var/lib/tftpboot/ppc
mkdir: /var/lib/tftpboot/etc
removing: /var/lib/tftpboot/grub/p_w_picpaths
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
trying hardlink /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying p_w_picpaths
generating PXE configuration files
generating PXE menu structure
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
cleaning link caches
rendering Rsync files
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running: dhcpd -t -q
received on stdout:
received on stderr:
running: service dhcpd restart
received on stdout: 正在啟動 dhcpd:[确定]
received on stderr:
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***
[root@pxe ~]#      

說明:本節在前面已經考慮過cobbler check的錯誤提示了,大部分處理了。 

5. 重新開機cobblerd 與xinetd服務 

[root@pxe ~]# service cobblerd restart
Stopping cobbler daemon:                                   [确定]
Starting cobbler daemon:                                   [确定]
[root@pxe ~]# service xinetd restart
停止 xinetd:                                              [确定]
正在啟動 xinetd:                                          [确定]      

六、導入linux ISO安裝鏡像 

1. 挂載ISOCD光牒鏡像 

# mount /dev/cdrom /mnt      

2. 開始導入CD光牒鏡像 

# cobbler import --path=/mnt --arch=x86_64 --name=Centos-5.9
task started: 2013-12-15_193916_import
task started (id=Media import, time=Sun Dec 15 19:39:16 2013)
Found a candidate signature: breed=redhat, version=rhel5
Found a matching signature: breed=redhat, version=rhel5
Adding distros from path /var/www/cobbler/ks_mirror/Centos-5.9-x86_64:
creating new distro: Centos-5.9-x86_64
trying symlink: /var/www/cobbler/ks_mirror/Centos-5.9-x86_64 -> /var/www/cobbler/links/Centos-5.9-x86_64
creating new profile: Centos-5.9-x86_64
creating new distro: Centos-5.9-xen-x86_64
trying symlink: /var/www/cobbler/ks_mirror/Centos-5.9-x86_64 -> /var/www/cobbler/links/Centos-5.9-xen-x86_64
creating new profile: Centos-5.9-xen-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/Centos-5.9-x86_64 for Centos-5.9-x86_64
processing repo at : /var/www/cobbler/ks_mirror/Centos-5.9-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/Centos-5.9-x86_64
looking for /var/www/cobbler/ks_mirror/Centos-5.9-x86_64/repodata/*comps*.xml
running: createrepo -c cache -s sha --groupfile /var/www/cobbler/ks_mirror/Centos-5.9-x86_64/repodata/comps.xml
/var/www/cobbler/ks_mirror/Centos-5.9-x86_64
received on stdout: Spawning worker 0 with 3579 pkgs
Worker 0:
..........
... 略....
..........
Worker 0:
Workers Finished
Gathering worker results
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
received on stderr:
starting descent into /var/www/cobbler/ks_mirror/Centos-5.9-x86_64 for Centos-5.9-xen-x86_64
processing repo at : /var/www/cobbler/ks_mirror/Centos-5.9-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/Centos-5.9-x86_64
looking for /var/www/cobbler/ks_mirror/Centos-5.9-x86_64/repodata/*comps*.xml
*** TASK COMPLETE ***      

說明: cobbler将鏡像拷貝一份放在/var/www/cobbler/ks_mirrors/CentOS-5.9-x86_64目錄下。   

同時會建立一個名字為CentOS-5.9-x86_64的一個釋出版本,以及一個名字為CentOS-5.9-x86_64的profile檔案。 

[root@pxe kickstarts]# cobbler list
distros:
Centos-5.9-x86_64
Centos-5.9-xen-x86_64
profiles:
Centos-5.9-x86_64
Centos-5.9-xen-x86_64
systems:
repos:
p_w_picpaths:
mgmtclasses:
packages:
files:      

七、修改安裝更改kickstart檔案 

1. 相關知識内容 

說明:   

預設kickstart檔案是/var/lib/cobbler/kickstarts/sample.ks,需要手動為每個發行版單獨指定, 或單獨修改。 

# cobbler distro list
Centos-5.9-x86_64
Centos-5.9-xen-x86_64
#      

2. 手動建立自定義新的kickstart檔案 

vi /var/lib/cobbler/kickstarts/centos-5.9.ks      
install
text
cdrom
lang zh_CN.UTF-8
keyboard us
reboot
url --url=http://192.168.1.10/cobbler/ks_mirror/Centos-5.9-x86_64
network --device eth0 --bootproto dhcp --noipv6 --hostname oa
rootpw --iscrypted $1$H0bnNoWM$HE1R/mWv6LqbhUGI8Xw/t.
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all --initlabel
part /boot --fstype ext3 --size=200 --asprimary
part swap --size=2048
part / --fstype ext3 --size=200 --grow
%packages
@admin-tools
@base
@chinese-support
@core
@development-libs
@development-tools
@dialup
@editors
@gnome-desktop
@games
@graphical-internet
@graphics
@java
@legacy-software-development
@legacy-software-support
@office
@printing
@sound-and-video
@text-internet
@base-x
system-config-kickstart
kexec-tools
iscsi-initiator-utils
fipscheck
squashfs-tools
device-mapper-multipath
sgpio
imake
emacs
libsane-hpaio
xorg-x11-utils
xorg-x11-server-Xnest
xorg-x11-server-Xvfb
%post
service sendmail stop      

3. 修改profile指定新的KS啟動檔案,按角色進行分類 

說明   

1. 選擇Centos-5.9-x86_64,将采用Centos-5.9-x86_64安裝源,并通過/var/lib/cobbler/kickstarts/centos-5.9.ks檔案進行全自動安裝。    

2. 如有其它發行版,導入完鏡像後,可以通過以下方式進行修改,否則将采用預設KS進行安裝系統。    

3. 也可以采用不同的ks檔案來實作個性能自動安裝,如下面第三條add指令,添加一個半自動的ks檔案。    

4. 如果沒有按下面内容修改指定ks檔案的話,引導菜單隻顯示Centos-5.9-x86_64預設一項。指定ks檔案後,會在啟動菜單中顯示。 

# cobbler profile edit --name=Centos-5.9-x86_64 --distro=Centos-5.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-5.9.ks      

示例:   

# cobbler profile edit --name=Centos-5.9-xen-x86_64 --distro=Centos-5.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-5.9-xen.ks
# cobbler profile add --name=Centos-5.9-half-auto --distro=Centos-5.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-5.9-halfauto.ks      

如圖所示: 

Cobbler全自動安裝CentOS(整理)

4. 更改profile名稱

# cobbler profile rename --name=Centos-5.9-x86_64 --newname=CentOS-5U9-x64      

5. 删除profile配置,需要删除的profile名稱為Centos-5.9-x86_64,删除後,安裝啟動菜單相關項消失。

# cobbler profile remove --name=Centos-5.9-x86_64      

八、添加指定客戶機系統配置到Cobbler

1. 指定一個網段使用特定的裝機配置

cobbler system add --name=test_000 --ip=192.168.1.0/24 --profile=Centos-5.9-x86_64      

2. 添加一個指定伺服器的裝機配置

指定伺服器的mac位址,并設定好主機名、IP位址等資訊,需要提示知道伺服器MAC位址,根據MAC應用到具體機器上。    

還可以指定ks參數。--kickstart=/var/lib/cobbler/kickstarts/webserver.ks
cobbler system add --name=test_001 --hostname=test_001 --mac=00:0C:29:E3:81:32 --interface=eth0 --ip-address=192.168.1.123 --subnet=255.255.255.0 --gateway=192.168.1.1 --static=1 --profile=Centos-5.9-x86_64      

3. 修改system配置 

機器IP位址變更為192.168.10.110    

cobbler system add --name=test_001 --ip=192.168.1.110      

變更system配置名稱   

cobbler system rename --name=test001 --newname=abc      

4. 删除system配置 

需要删除的profile名稱為test_001   

cobbler system remove --name=test_001      

5. 檢視定義的系統清單

cobbler system list
test_001      

九、安裝用戶端作業系統 

(1) 通過網卡pxe啟動

(2) 自動完成安裝 

十、重裝用戶端作業系統 

wget ftp://rpmfind.net/linux/epel/5/i386/koan-1.6.6-1.el5.noarch.rpm
rpm -ivh koan-1.6.6-1.el5.noarch.rpm      
# koan --server=192.168.1.10 --list=profiles      
- looking for Cobbler at http://192.168.1.10/cobbler_api
- reading URL: http://192.168.1.10/cblr/svc/op/ks/profile/Centos-5.9-x86_64
install_tree: http://192.168.1.10/cobbler/ks_mirror/Centos-5.9-x86_64
downloading initrd initrd.img to /boot/initrd.img
url=http://192.168.1.10/cobbler/p_w_picpaths/Centos-5.9-x86_64/initrd.img
- reading URL: http://192.168.1.10/cobbler/p_w_picpaths/Centos-5.9-x86_64/initrd.img
downloading kernel vmlinuz to /boot/vmlinuz
url=http://192.168.1.10/cobbler/p_w_picpaths/Centos-5.9-x86_64/vmlinuz
- reading URL: http://192.168.1.10/cobbler/p_w_picpaths/Centos-5.9-x86_64/vmlinuz
- ['/sbin/grubby', '--add-kernel', '/boot/vmlinuz', '--initrd', '/boot/initrd.img', '--args', '"ks=http://192.168.1.10/cblr/svc/op/ks/profile/Centos-5.9-x86_64 ksdevice=link kssendmac lang= text "', '--copy-default', '--make-default', '--title=kick1387098833']
- reboot to apply changes      
# reboot      

繼續閱讀