一、 cobbler安装准备
1. 关闭iptables与selinux
1 # chkconfig iptables off
2 # vi /etc/selinux/config
SELINUX=disabled
2. 安装源准备并安装cobbler软件
说明:基础源与epel源。
rpm –ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
(要装32位机器可以打开网页选择合适的epel源)
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 把/etc/xinetd/tftp 和/etc/xinetd/rsync 中的disable选项中的yes改成no。 |
三、配置cobbler
1. 配置httpd配置文件
# vi /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1:80
ServerName localhost:80
2. 配置cobbler主配置文件
1 sed -i ‘s/next_server: 127.0.0.1/next_server: 192.168.1.10/g‘ /etc/cobbler/settings
2 sed -i ‘s/server: 127.0.0.1/server: 192.168.1.10/g‘ /etc/cobbler/settings
3 sed -i ‘s/manage_dhcp: 0/manage_dhcp: 1/g‘ /etc/cobbler/settings
4 sed -i ‘s/manage_rsync: 0/manage_rsync: 1/g‘ /etc/cobbler/settings
修改/etc/cobbler/settings 这个配置文件里面的内容,把server:127.0.0.1 把IP改成自己的IP地址,把next_server 里面的地址也改成自己的地址。那manage_dhcp和manage_rsync后面的0改成1
3. 配置cobbler web登录认证配置文件
(1) 修改认证文件
sed -i ‘s/module = authn_denyall/module = authn_configfile/g‘ /etc/cobbler/modules.conf
module = authn_configfile /修改认证方式为密码文件类型
(2) 设置用户名密码
htdigest /etc/cobbler/users.digest "Cobbler" 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相关服务
# 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;
}
注: 不要修改/etc/dhcpd.conf 这个文件,过会我们会配置让cobbler接管启动dhcpd的任务,cobbler会把你修改的dhcp.template拷贝到/etc/dhcpd.conf
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时出现的第一条错误信息
根据提示依依排错
2. 修复debian/ubuntu系统安装选项支持包
# vi /etc/debmirror.conf
说明:前提是安装debmirror pykickstart这两个包,注释掉如下两行。
#@dists="sid";
#@arches="i386";
3. cobbler check效验环境
[[email protected] ~]# 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. 按上文校验提示操作修复
运行cobbler sync
直到出现*** TASK COMPLETE ***算成功
说明:本节在前面已经考虑过cobbler check的错误提示了,大部分处理了。
5. 重启cobblerd 与xinetd服务
service cobblerd restart
service xinetd restart
六、导入linux ISO安装镜像
1. 挂载ISO光盘镜像
# mount /dev/cdrom /mnt
2. 开始导入光盘镜像
# 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)
running: createrepo -c cache -s sha --groupfile
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文件。
用cobbler list查看
七、修改安装更改kickstart文件
1. 相关知识内容
说明:
默认kickstart文件是/var/lib/cobbler/kickstarts/sample_end.ks,需要手动为每个发行版单独指定, 或单独修改。
2. 手动创建自定义新的kickstart文件
vi /var/lib/cobbler/kickstarts/centos-5.9.ks
可以先把默认的拷贝一份改个名字。然后根据需求进行编辑
install
text
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. 配置yum源
base、updates库使用163的repo源并增加EPEL库
base
cobbler repo add --name=centos5.8-x86_64-Base --mirror=http://mirrors.163.com/centos/5/os/x86_64/
将定义的仓库大写名字Base修改为小写base
cobbler repo edit --name=centos5.8-x86_64-base --mirror=http://mirrors.163.com/centos/5/os/x86_64/ --arch=x86_64 --breed=yum
updates
cobbler repo add --name=centos5.8-x86_64-updates --mirror=http://mirrors.163.com/centos/5/updates/x86_64/ --arch=x86_64 --breed=yum
添加EPEL仓库
cobbler repo add --name=centos5.8-x86_64-epel --mirror=http://mirrors.ustc.edu.cn/epel/5/x86_64/ --arch=x86_64 --breed=yum
6.3 同步yum仓库内容到本地
时间较长,注意磁盘容量是否满足。
cobbler reposync
task started: 2013-03-26_111553_reposync
task started (id=Reposync, time=Tue Mar 26 11:15:53 2013)
hello, reposync
run, reposync, run!
creating: /var/www/cobbler/repo_mirror/centos5.8-x86_64-updates/.origin/centos5.8-x86_64-updates.repo
running: /usr/bin/reposync -l -m -d --config=/var/www/cobbler/repo_mirror/centos5.8-x86_64-updates/.origin/centos5.8-x86_64-updates.repo --repoid=centos5.8-x86_64-updates --download_path=/var/www/cobbler/repo_mirror -a x86_64
………………略…………………………
received on stdout:
received on stderr:
*** TASK COMPLETE ***
6.4 repo添加到profle,
安装系统时会自动添加仓库配置
cobbler profile edit --name=centos5.8-x86_64 --repos="centos5.8-x86_64-base centos5.8-x86_64-epel centos5.8-x86_64-updates" --distro=centos5.8-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos5u8-x64.cfg
6.4 删除仓库配置
cobbler repo remove --name=centos5.8-x86_64- updates
6.5 添加更新仓库源计划任务
cobbler reposync --tries=3 --no-fail
加入crontab 每周日更新一次即可
echo "0 2 * * 0 cobbler reposync --tries=3 --no-fail" >> /var/spool/cron/root
注意检查crond是否启动
/etc/init.d/crond status
crond is stopped
/etc/init.d/crond start
Starting crond: [ OK ]
chkconfig crond on
6.6 装机自动配置yum
如果你想安装系统时自动配置yum,请进行以下配置。
vim /etc/cobbler/settings
yum_post_install_mirror: 1
在装机脚本ks文件加入以下内容
%post
# Start yum configuration
$yum_config_stanza
# End yum configuration
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文件后,会在启动菜单中显示。
1 # cobbler profile edit --name=Centos-5.9-x86_64 --distro=Centos-5.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos-5.9.ks
2 # 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
3 # 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
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
查看cobbler server上的配置文件,对于centos5.x 的系统koan不能采用yum安装,否则会因python版本过低而报错。
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/images/Centos-5.9-x86_64/initrd.img
- reading URL: http://192.168.1.10/cobbler/images/Centos-5.9-x86_64/initrd.img
downloading kernel vmlinuz to /boot/vmlinuz
url=http://192.168.1.10/cobbler/images/Centos-5.9-x86_64/vmlinuz
- reading URL: http://192.168.1.10/cobbler/images/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